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

Использование прочих датчиков и энкодеров и пользовательских блоков к ним
Ответить
Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23.06.2017{, 13:43}
Репутация: 0
Откуда: Калининград

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

#1

Сообщение Astro_Graf » 21.11.2017{, 18:12}

Добрый день!

Делаю проект связанный с измерением силы тока (и мощности) выдаваемыми солнечными панелями. Панели небольшие, 6-вольтовые, токи до 1 ампера. Использую 4 панели и 4 датчика ACS712 на 5А. Для начала собрал стенд с 1 панелью и 1 датчиком. Столкнулся с тем, что выдаваемые данные сильно скачут, не помогает даже фильтр "скользящее среднее".
Решил усложнить и подключить все 4 панели и 4 датчика с разными настройками фильтра. И тут столкнулся с тем, что программа не загружается в Ардуино. Пробовал 3 контроллера и 2 компьютера. В чем может быть дело?
Может кто-то подскажет как лучше использовать вышеуказанные датчики.
Вложения
9545706.flp
(415.43 КБ) 194 скачивания
Последний раз редактировалось Astro_Graf 21.11.2017{, 18:14}, всего редактировалось 1 раз.

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

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

#2

Сообщение KSP » 22.11.2017{, 08:00}

Насколько я помню эти датчики очень чувствительны к магнитному полю, для эксперемента попробуй поднести к датчику отвертку , показания начнут прыгать. Так, что проблема не в программе а в наводках, и в проводах, точнее в их длине.
S

Аватара пользователя
eugeneb
Лейтенант
Сообщения: 481
Зарегистрирован: 15.08.2016{, 11:20}
Репутация: 21
Откуда: Нижний Новгород
Имя: Евгений

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

#3

Сообщение eugeneb » 22.11.2017{, 10:07}

Возможно. Также здесь критична стабильность напряжения питания контроллера.
Но, думаю дело не в этом.
Тут программа - полная каша.

To Astro_Graf:

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

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

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

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

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

Давайте пойдём от простого к сложному. Добьёмся измерений в одном канале. Посмотрим что у вас на входе. Я тут прикрепил тестовую программку. Запустите её и покажите нам выход монитора при разном освещении панели.
Вложения
Tok1.flp
(377.14 КБ) 174 скачивания

Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23.06.2017{, 13:43}
Репутация: 0
Откуда: Калининград

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

#4

Сообщение Astro_Graf » 22.11.2017{, 12:47}

eugeneb, спасибо, я смогу попробовать вечером.

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

Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23.06.2017{, 13:43}
Репутация: 0
Откуда: Калининград

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

#5

Сообщение Astro_Graf » 22.11.2017{, 18:58}

eugeneb,
Вложения
2355605.png

Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23.06.2017{, 13:43}
Репутация: 0
Откуда: Калининград

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

#6

Сообщение Astro_Graf » 22.11.2017{, 20:39}

В общем запустил я код, похоже дело было в микросекундах, заменил на миллисекунды. Но теперь стало очевидно, что данные, выдаваемые датчиками - не более чем шум. 

Какие будут предложения?
Вложения
0161556.png
6693777.flp
(390.5 КБ) 122 скачивания

Аватара пользователя
eugeneb
Лейтенант
Сообщения: 481
Зарегистрирован: 15.08.2016{, 11:20}
Репутация: 21
Откуда: Нижний Новгород
Имя: Евгений

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

#7

Сообщение eugeneb » 22.11.2017{, 21:15}

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

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

Аватара пользователя
eugeneb
Лейтенант
Сообщения: 481
Зарегистрирован: 15.08.2016{, 11:20}
Репутация: 21
Откуда: Нижний Новгород
Имя: Евгений

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

#8

Сообщение eugeneb » 22.11.2017{, 22:13}

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

Аватара пользователя
cmept-27
Сержант
Сообщения: 270
Зарегистрирован: 08.12.2016{, 15:51}
Репутация: 76

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

#9

Сообщение cmept-27 » 22.11.2017{, 23:10}

Мимо ((
Последний раз редактировалось cmept-27 22.11.2017{, 23:11}, всего редактировалось 1 раз.
OK

Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23.06.2017{, 13:43}
Репутация: 0
Откуда: Калининград

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

#10

Сообщение Astro_Graf » 23.11.2017{, 10:06}

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милливольт/ампер они просто не распознают такие токи. 
Можно ли как-то поднять чувствительность этих модулей???

Аватара пользователя
eugeneb
Лейтенант
Сообщения: 481
Зарегистрирован: 15.08.2016{, 11:20}
Репутация: 21
Откуда: Нижний Новгород
Имя: Евгений

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

#11

Сообщение eugeneb » 23.11.2017{, 15:53}

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

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

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

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

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

Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23.06.2017{, 13:43}
Репутация: 0
Откуда: Калининград

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

#12

Сообщение Astro_Graf » 23.11.2017{, 17:54}

eugeneb, спасибо, завтра попробую вариант с усилением.

KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

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

#13

Сообщение KulibinOrsk » 13.03.2018{, 08:45}

Так и не понятно - есть ли рабочий блок на этот датчик или нет. Выложите у кого есть. Есть потребность мерить переменный ток 5А.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

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

#14

Сообщение pan » 13.03.2018{, 08:56}

KulibinOrsk, читаем даташит
для него не нужен блок. на выходе датчика просто напряжение пропорциональное току. просто измеряем аналоговым пином и масштабируем
на нужные показания

KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

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

#15

Сообщение KulibinOrsk » 14.03.2018{, 10:37}

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

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

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

#16

Сообщение pan » 14.03.2018{, 10:40}

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

Аватара пользователя
benic
Сержант
Сообщения: 175
Зарегистрирован: 07.01.2018{, 13:47}
Репутация: 4

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

#17

Сообщение benic » 15.03.2018{, 09:42}

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);
}

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

Ответить

Вернуться в «Прочие датчики и энкодеры»