Страница 1 из 1

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 21.11.2017{, 18:12}
Astro_Graf
Добрый день!

Делаю проект связанный с измерением силы тока (и мощности) выдаваемыми солнечными панелями. Панели небольшие, 6-вольтовые, токи до 1 ампера. Использую 4 панели и 4 датчика ACS712 на 5А. Для начала собрал стенд с 1 панелью и 1 датчиком. Столкнулся с тем, что выдаваемые данные сильно скачут, не помогает даже фильтр "скользящее среднее".
Решил усложнить и подключить все 4 панели и 4 датчика с разными настройками фильтра. И тут столкнулся с тем, что программа не загружается в Ардуино. Пробовал 3 контроллера и 2 компьютера. В чем может быть дело?
Может кто-то подскажет как лучше использовать вышеуказанные датчики.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 22.11.2017{, 08:00}
KSP
Насколько я помню эти датчики очень чувствительны к магнитному полю, для эксперемента попробуй поднести к датчику отвертку , показания начнут прыгать. Так, что проблема не в программе а в наводках, и в проводах, точнее в их длине.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 22.11.2017{, 10:07}
eugeneb
Возможно. Также здесь критична стабильность напряжения питания контроллера.
Но, думаю дело не в этом.
Тут программа - полная каша.

To Astro_Graf:

Во-первых. У вас в генераторах стоит длительность импульса одна микросекунда. На Уно в ФЛПроге лучше не работать с микросекундными интервалами. Он может превратиться в десятки микросекунд.

Во-вторых. Генераторы у вас включены в режиме одновибратора. То есть они на пару с R-триггером выдадут по одному импульсу при старте программы.
И всё. Заполнится только один элемент каждого массива. Дальше ситуация заморозится и никаким скачкам показаний здесь взяться неоткуда.

В-третьих. Блок "Датчик тока" какой-то подозрительный. Потом с ним разберёмся. 

Решение с фильтрацией  - зачёт. Но не факт что она нужна. Солнечные панели - ну очень медленные.

Дальше опять каша.

Давайте пойдём от простого к сложному. Добьёмся измерений в одном канале. Посмотрим что у вас на входе. Я тут прикрепил тестовую программку. Запустите её и покажите нам выход монитора при разном освещении панели.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 22.11.2017{, 12:47}
Astro_Graf
eugeneb, спасибо, я смогу попробовать вечером.

Добавлено (22.11.2017, 12:47)
---------------------------------------------
Но хотел обратить внимание, что проблема возникла именно с загрузкой кода в Ардуино. В процессе загрузки или подвисание или непонятные ошибки. Проверено на разных контроллерах и компьютерах. Возможно это связано с "полной кашей",  возможно что-то еще.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 22.11.2017{, 18:58}
Astro_Graf
eugeneb,

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 22.11.2017{, 20:39}
Astro_Graf
В общем запустил я код, похоже дело было в микросекундах, заменил на миллисекунды. Но теперь стало очевидно, что данные, выдаваемые датчиками - не более чем шум. 

Какие будут предложения?

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 22.11.2017{, 21:15}
eugeneb
Я тут почитал про эти датчики.
У меня ещё вопросы:
1. У вас отдельная микросхема или в составе готового модуля? Если отдельная, то возможно нет фильтрующего конденсатора (1 нФ) и по питанию (0,1 мкФ), которые рекомендует производитель. 
2. При нулевом токе датчик должен выдавать 2,5В или
в отсчётах АЦП - 511,5. Можете это проверить?
3. У контроллера и у датчиков общее питание? Может быть у Уны свой стабилизатор (линейный), а у измериловки свой (импульсный)?

И, начну давать некоторые советы:
1. Блок RTrig не нужен вообще - выкинуть.
2. Вы установили частоту записи показаний 500 Гц. Хватило бы и 1 Гц. Пока. Потом может вообще выкинем.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 22.11.2017{, 22:13}
eugeneb
Вот тут производитель рекомендует для малых токов увеличить крутизну ампер-вольтной характеристики.
И кстати, фильтрующий конденсатор я бы по-любому увеличил в вашем случае до 0,1 мкФ. (потому-что у вас постоянный, медленно меняющийся ток)

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 22.11.2017{, 23:10}
cmept-27
Мимо ((

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 23.11.2017{, 10:06}
Astro_Graf
eugeneb писал(а):У меня ещё вопросы:
1. У меня модуль
2. Скриншот выдаваемых показаний на холостом ходу в сообщении №5, за 2 секунды данные скачут от 506 до 516
3. Датчики запитаны от Ардуины
eugeneb писал(а):некоторые советы:
1. С точки зрения логики Rtrig не нужен, но из опыта работы очень даже не лишний.
2. Для 4-го датчика предусмотрено усреднение на 100 считываний, а вывод данных у меня с частотой 4 Герца так что 500 Гц на считывание не лишние.

Подозреваю, что эти датчики не могут измерить малые токи от панелей. Вчера пытался нагружать панели микроэлектродвигателем и мерил силу тока прибором. К сожалению шкала прибора была дурацкая - 200 миллиампер и следующий режим уже 10 ампер. Без досвечивания, при штатном искусственном освещении панели давали 3,5 вольта и примерно 150 миллиампер. При включении прожектора напряжение поднималось до 6,5 вольт, а сила тока зашкаливала 200 миллиампер, но вряд ли была более 300.  И это от 4-х панелей! А датчики стоят на каждой панели! 
Другое дело, что НИКАКОГО осмысленного изменения показаний при данном эксперименте  не происходило вообще. 
eugeneb, согласен, что скорее всего, с характеристикой 185милливольт/ампер они просто не распознают такие токи. 
Можно ли как-то поднять чувствительность этих модулей???

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 23.11.2017{, 15:53}
eugeneb
Чувствительность поднять можно - см. мой пост №8. Крутизна характеристики - это и есть чувствительность. Там привешен усилитель на ОУ. Его коэффициент передачи K=R3/Rf, то есть 3,3. Так крутизна 0,185 В/А превращается в 0,61 В/А. Кроме того напряжение на выходе уже притянуто к нулю. Это расширяет динамический диапазон напряжения , подаваемомго на АЦП. Вы можете сами себе задать любую удобную крутизну.

RTrig просто превращает ваш сколь угодно длинный импульс в короткий, на один цикл выполнения всей программы. А накопитель стека работает только по фронту. Ему пофигу длина импульса.

По поводу частот. Вы просто непривыкли ещё к FLProg (к FBD). Вы не обязаны выводить каждое измеренное или усреднённое значение. Измерять вы можете сколь угодно часто. А вот выводить данные можно неторопясь. Усреднять я вам советую не миллиамперы, а отсчёты АЦП. Потом переведёте их в ток.

Кстати о фильтрах. Здесь на форуме есть замечательная колллекция цифровых фильтров: http://forum.flprog.ru/viewtopic.php?f=82&t=3098
Там есть и скользящее среднее. Рекомендую.

И всё же, мне непонятны такие скачки АЦП при нулевом токе. Видимо прав был уважаемый KSP во втором посте - они чересчур чувствительны к магнитным помехам. Что здесь посоветовать - большой конденсатор в измеритель (как я писал в восьмом посте) и цифровая фильтрация. Надеюсь получится. Удачи.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 23.11.2017{, 17:54}
Astro_Graf
eugeneb, спасибо, завтра попробую вариант с усилением.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 13.03.2018{, 08:45}
KulibinOrsk
Так и не понятно - есть ли рабочий блок на этот датчик или нет. Выложите у кого есть. Есть потребность мерить переменный ток 5А.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 13.03.2018{, 08:56}
pan
KulibinOrsk, читаем даташит
для него не нужен блок. на выходе датчика просто напряжение пропорциональное току. просто измеряем аналоговым пином и масштабируем
на нужные показания

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 14.03.2018{, 10:37}
KulibinOrsk
Не все так просто. Показания гуляют даже на постоянке, не говоря про переменный ток. Нужен блок СКЗ (среднеквадратичное) и возможно еще какие то обработки. Потому и спрашиваю - может у кого есть доведенный до рабочего состояния вариант использования.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 14.03.2018{, 10:40}
pan
KulibinOrsk писал(а):
14.03.2018{, 10:37}
Нужен блок СКЗ (среднеквадратичное)
нужно нормальное опорное напряжение а не СКЗ... это как минимум. если нужны более менее точные показания.

Измерение силы тока, с помощью датчиков ACS712

Добавлено: 15.03.2018{, 09:42}
benic
HI!
Поюзал 30амперный, дрейф не более чем с триммера. Проблема при измерении тока импульсного шим и 50гц без фильтра. Данные скачут. Нужен П-блок для измерения макс-мин сигнала. Вот этотблок дал положительные результаты при шим но при 50гц не очень.

Код: Выделить всё

// Filtr_wind_int
if (en)
{

	temp16 = temp15;
	temp15 = temp14;
	temp14= temp13;
	temp13 = temp12;
	temp12 = temp11;
	temp11 = temp10;
	temp10 = temp9;
	temp9 = temp8;
	temp8 = temp7;
	temp7 = temp6;
	temp6 = temp5;
	temp5 = temp4;
	temp4 = temp3;
	temp3 = temp2;
	temp2 = temp1;
	temp1 = in;
	out = int ((temp1+temp2+temp3+temp4+temp5+temp6+temp7+temp8+temp9+temp10+temp11+temp12+temp13+temp14+temp15+temp16) / 16);
}

Не нашёл спойлер. В общем подскажите, как добавить красоты в код, т.е. фиксировать макс или мин сигнала.