непонятки с датчиком тока 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 и ардуиной - мерять бессмысленно: надо либо датчик другой, либо внешний АЦП с более высокой разрядностью использовать.