Вариант подключения токового датчика ACS712

RomanG95
Offline
Зарегистрирован: 18.10.2016

Всем доброго времени суток. Пришла в голову идея подключения немалоизвестного датчика тока ACS712 и прошу ее оценить. Вообще основная проблема использования этого датчика для измерения постоянного тока состоит в том что напряжения на его выходе изменяется в пределах от 2.5 (если питаем от 5) до 5 вольт, следовательно если напрямую подключать к Ардуино то использовать сможем только половину разрядности вроенного АЦП. А что если ток через микросхему напрявить в обратную сторону, ACS712 ведь предназначена для изменения переменного тока, и тогда напрядение на выоде будет изменяться от 2.5 до 0 вольт. Дальше делителем уменьшаем 2.5 до 1.1 и на вход АЦП Ардуино с всроенным источником опорного 1.1 В. Будет ли так работать или ошибаюсь?

evgta
Offline
Зарегистрирован: 02.09.2016

а зачем это надо? куда такая точность? может проще ADS1115 использовать, да и вообще от ACS712 отказаться и шунт использовать если надо ток только в одну сторону измерять?

 

RomanG95
Offline
Зарегистрирован: 18.10.2016

ACS712 есть несколько штук, да и компактнее. Ну и я ж просто вариант предложил) а то люди еще к нему дополнительно ОУ городят чтобы сдвинуть напряжение до 0.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Я остановился на INA219, считаю, что это лучшая микросхема на сегодняшний день, по ценам сопоставимо

RomanG95
Offline
Зарегистрирован: 18.10.2016

ну ina219 по сути тот же ОУ с шиной I2C, т.е надо шунт. Да и купить отдельно микруху сложновато

 

Волшебник
Offline
Зарегистрирован: 22.12.2016

Какой то смысл есть масштабировть на 1.1В, Но не забывайте что входной 'полезный' сигнал тоже промасштабируется-поделится как 2.5/1.1, т.е результат не 5-кратный а 2-х в лучшем случае.  Второй недостаток, что изменении питания референса ацп меняется с питанием датчика - следящий, а при использовании 1.1 это не так и любая просадка по питанию вылезет как ошибка.

Какая ардуина, если мега или леонарда там можно использовать дифференциальный ацп и отнять 2.5

RomanG95
Offline
Зарегистрирован: 18.10.2016

не понял про полезный сигнал и кратность. Объясните по другому пожалуйста

Волшебник
Offline
Зарегистрирован: 22.12.2016

Если вы ставите делитель напряжения с 2.5 на 1.1 вольта , то он делит всё. Пример, ток меняется от 0 до 5-ти ампер, датчик тока меняет выход с 2.5 на скажем 1.8 вольта, т.е. напряжение изменилось на 2.5 - 1.8 = 0.7В, в ардуиновских 'тиках' сами посчитайте, тик по 4.9 мВ. Примерно 140 штук.

Если поделить , то 1.1 изменится до 1.8/2.272727273 = 0.792, т.е. дельта 1.1 ( 0 ампер) -0.792 (5 ампер) =  0.308 В, меньше стала во столько же раз как и делитель. И хотя 'тики' ардуиновского ацп стали меньше, 1 мВ , то натикает 3 сотни всего, а не 700 как могло бы показаться из простого сравнения 5В и 1.1 В

 

_SergeY_
Offline
Зарегистрирован: 29.07.2015

Я попробывал встречное включение 2 ACS712- а сигнал выходной мерил диф. АЦП 1115 между выходов. Чувствительность в 2 раза выше. В диапазоне -5 до +5 ампер вполне реально 0.01 ампера мерить. Если поколдовать с калибровкой и подавлением шумов то и 0.001А ловим. Этот вариант измерения меня лично больше всего устроил. Датчиков на 20А нету попробывать

вот пример моего теста https://youtu.be/8OwlpeJyiGw

nik182
Offline
Зарегистрирован: 04.05.2015

А если телефон поднести к ACS712 или ещё какое магнитное поле, то кой точности можно достичь? Датчик реагирует на магнитное поле тока. Защищён не очень. Даже поворот земли вокруг оси влияет. Мерить точно постоянный ток им это ещё то извращение. Так плюс - минус лошадиное копытцо. Какие 0.01 А? Переменный проще. Там смещение от постороннего магнитного поля не играет роли. Правда есть другие проблемы. Но точность всё равно не очень. Шунт много точнее.

serjiok
Offline
Зарегистрирован: 30.04.2017

_SergeY_ пишет:

Я попробывал встречное включение 2 ACS712- а сигнал выходной мерил диф. АЦП 1115 между выходов.

Тоже пришел к мысли применить встречно-параллельное подключение двух датчиков. Диапазон возрастает в два раза (до 10 А для 2 ACS712-5)при изменении дифф.сигнала от 0 до 5В. Еще на ихнем сайте есть аппноты где такой датчик цепляют параллельно шунтам мощным. Этот датчик требует стабильного 5 В питания? или можно использовать аккумулятор 18650?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

RomanG95 пишет:

ну ina219 по сути тот же ОУ с шиной I2C, т.е надо шунт. Да и купить отдельно микруху сложновато

нет, намного сложнее, там шина I2C и собственная математика

 monitor.begin(64); // i2c address 64=0x40
 // monitor.configure(0, 2, 10, 10, 7); // 4S -2.13ms
 // monitor.configure(0, 2, 11, 11, 7); // 8S -4.26ms
  monitor.configure(0, 2, 12, 12, 7); // 16S -8.51ms
 // monitor.configure(0, 2, 13, 13, 7); // 32S -17.02ms
 // monitor.configure(0, 2, 14, 14, 7); // 64S -34.05ms
 // monitor.configure(0, 2, 15, 15, 7);  // 128S - 68.10ms
 // monitor.configure(0, 2, 8, 8, 7);
                           // range, gain, bus_adc, shunt_adc, mode
                           // range = 1 (0-32V bus voltage range)
                           // gain = 3 (1/8 gain - 320mV range)
                           // bus adc = 3 (12-bit, single sample, 532uS conversion time)
                           // shunt adc = 3 (12-bit, single sample, 532uS conversion time)
                           // mode = 7 (continuous conversion)
   monitor.calibrate(0.100, 0.32, 16, 3.2); 
                           // R_шунта, напряж_шунта, макcнапряж, максток