непонятки с датчиком тока ACS712 5A
- Войдите на сайт для отправки комментариев
Чт, 07/08/2014 - 12:57
Здравствуйте. Собрал проект солнечного трекера. Хотел я померить ток солнечной батареи через ACS712 , но моя программа выдаёт ахинею. Измеряю мультиметром получается 70мА , а serial monitor ардуины показывает мне 160-170 мА. Подскажите люди добрые , где мой косяк??
const int sensorPin = A5; double Current = 0; double OutputSensorVoltage = 0; double total = 0; int counter = 0; double avgCurrent =0; void setup() { pinMode(sensorPin, INPUT); Serial.begin(9600); } void loop() { OutputSensorVoltage = analogRead(sensorPin)*5.0/1023.0; /* Serial.print("Voltage = "); Serial.println (OutputSensorVoltage); Serial.print("\n"); */ Current = (OutputSensorVoltage-2.52)/0.185; /* Serial.print("Current = "); Serial.println (Current); Serial.print("\n"); */ total = total + Current; counter = counter + 1; if (counter >= 50){ counter = 0; double avgCurrent = total/50.0; Serial.print("avgCurrent = "); Serial.println (avgCurrent); Serial.print("\n"); total =0; delay(30); } delay(50); }
Схема по которой цеплял датчик (для примера в качестве нагрузки использовал резистор):
Мне кажется, что Вы один раз меряете ток, и 50 раз прибавляете одно и то же значение...
Засуньте все измерения в цикл и таймауты где-нибудь между измерениями поставьте, т.к., ацп у ардуины не мгновенно работает...
Константы пересчета можно посчитать заранее, а перевод значения АЦП в вольты - делать один раз перед выводом на экран, т.к. всем остальным оно не надо...
По ваше совету перекроил код , но все равно беда. В общем при включенной батареи замеряю ток , далее отключаю её , но всё равно ток не уходит в ноль(
1. А зачем диод Шоттки?
2.Измерьте вольтметром выходное напряжение датчика при определённом токе ( и определённой полярности) и убедитесь, что датчик даёт правильные показания.
3. Измените формулу расчёта: суммируйте показания АЦП 50 раз, а уж затем занимайтесь делениями, умножения- т.е. не накапливайте ошибки.
бедный человек. давно бы купил резистор, например такой (выбирать исходя из тока максимального)
http://ru.aliexpress.com/item/10Pcs-0-1ohm-0-1R-0-1-ohm-R-5W-Horizontal-...
собрал диф усилитель, подключился на аналоговый пин и радовался жизни
а скорее всего сюда даже hx711 подойдет
У человека есть гальваническая разрязка, плюс защита микроконтроллера при превышения тока в нагрузке, плюс минимальные потери на токоизмерителе. Да и датчик веса здесь как то неуместен.
ага
1. гальваническая развязка от солнечной батареи где напряжение невысокое, а смысл
2. а чем увеличение тока опасно микроконтроллеру? поставить например hx711 там выход цифровой. вообще ничего не будет
да и с диф усилителем ничего не будет. ставится параллельно диф. усилителю диод и все
3. 1,3мОм против 100 конечно разница есть, но если применять HX711 сопротивление можно уменьшить до 0,01ом. к тому же hx711 содержит кроме усилителя еще и 24битный ацп. выход цифровой, а не аналоговый как AC712
да и еще. кусок из даташита AC712
получается от 0 до 5А меньше 1В
опорное только 5В, ну еще можно 3.3В с небольшими оговорками
посчитаем для 5В. ацп 10бит, 1024 точки, 5В/1024=0,0049 В на еденицу ацп
0 А соответствует 2.5в выходного, что соответствует 2,5/0,0049 = 510 едениц ацп
5А соответствует грубо 3.5В выходного, что 3,5/0,0049=714 едениц ацп
и того весь диапазон 5А соответствует участку от 510 до 714, ширина равна 714-510=204 еденицы
разделим весь диапазон на количество ещениц ацп ему соответствующие
5А/204= 0,0245 А на еденицу ацп, грубо 25мА на еденицу ацп
так как последний разряд ацп (или первый ) самый шумный, на эту точно особо расчитывать не стоит. в лучшем случае сделать усреднение или еще что то, то увеличивает разрядность. забыл как называется
это так чтобы человек знал что получает от этого датчика +- 25ма с датчика в связке с ардуиной. и еще если при 0 тока (выход около 2.5В) будет плавать, 0 тока вы никода не получите измеряя с ардуины или чего нибудь еще, как и точных измерений
я никого не отговариваю, рассматриваем плюсы и минусы решений
У человека УЖЕ есть этот датчик. Пусть осваивает. А достаточно ли его - он во временем разберётся.
я знаю. поэтому и написал
я никого не отговариваю, рассматриваем плюсы и минусы решений
У человека УЖЕ есть этот датчик. Пусть осваивает. А достаточно ли его - он во временем разберётся.
Тут уже показали, что токи порядка 75 миллиампер датчиком ACS-712 и ардуиной - мерять бессмысленно: надо либо датчик другой, либо внешний АЦП с более высокой разрядностью использовать.