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

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

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

Сообщение Astro_Graf »

Добрый день!

Делаю проект связанный с измерением силы тока (и мощности) выдаваемыми солнечными панелями. Панели небольшие, 6-вольтовые, токи до 1 ампера. Использую 4 панели и 4 датчика ACS712 на 5А. Для начала собрал стенд с 1 панелью и 1 датчиком. Столкнулся с тем, что выдаваемые данные сильно скачут, не помогает даже фильтр "скользящее среднее".
Решил усложнить и подключить все 4 панели и 4 датчика с разными настройками фильтра. И тут столкнулся с тем, что программа не загружается в Ардуино. Пробовал 3 контроллера и 2 компьютера. В чем может быть дело?
Может кто-то подскажет как лучше использовать вышеуказанные датчики.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Astro_Graf 21 ноя 2017, 18:14, всего редактировалось 1 раз.
KSP
Лейтенант
Сообщения: 305
Зарегистрирован: 18 сен 2015, 14:00
Откуда: Саратов
Имя: Сергей
Поблагодарили: 1 раз

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

Сообщение KSP »

Насколько я помню эти датчики очень чувствительны к магнитному полю, для эксперемента попробуй поднести к датчику отвертку , показания начнут прыгать. Так, что проблема не в программе а в наводках, и в проводах, точнее в их длине.
S
Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

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

Сообщение eugeneb »

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

To Astro_Graf:

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

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

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

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

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

Давайте пойдём от простого к сложному. Добьёмся измерений в одном канале. Посмотрим что у вас на входе. Я тут прикрепил тестовую программку. Запустите её и покажите нам выход монитора при разном освещении панели.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
С уважением,
Евгений Бобков
Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23 июн 2017, 13:43
Откуда: Калининград

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

Сообщение Astro_Graf »

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

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

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

Сообщение Astro_Graf »

eugeneb,
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23 июн 2017, 13:43
Откуда: Калининград

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

Сообщение Astro_Graf »

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

Какие будут предложения?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

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

Сообщение eugeneb »

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

И, начну давать некоторые советы:
1. Блок RTrig не нужен вообще - выкинуть.
2. Вы установили частоту записи показаний 500 Гц. Хватило бы и 1 Гц. Пока. Потом может вообще выкинем.
С уважением,
Евгений Бобков
Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

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

Сообщение eugeneb »

Вот тут производитель рекомендует для малых токов увеличить крутизну ампер-вольтной характеристики.
И кстати, фильтрующий конденсатор я бы по-любому увеличил в вашем случае до 0,1 мкФ. (потому-что у вас постоянный, медленно меняющийся ток)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось eugeneb 22 ноя 2017, 22:18, всего редактировалось 1 раз.
С уважением,
Евгений Бобков
Аватара пользователя
cmept-27
Сержант
Сообщения: 292
Зарегистрирован: 08 дек 2016, 15:51
Поблагодарили: 7 раз

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

Сообщение cmept-27 »

Мимо ((
Последний раз редактировалось cmept-27 22 ноя 2017, 23:11, всего редактировалось 1 раз.
OK
Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23 июн 2017, 13:43
Откуда: Калининград

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

Сообщение 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милливольт/ампер они просто не распознают такие токи. 
Можно ли как-то поднять чувствительность этих модулей???
Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

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

Сообщение 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 во втором посте - они чересчур чувствительны к магнитным помехам. Что здесь посоветовать - большой конденсатор в измеритель (как я писал в восьмом посте) и цифровая фильтрация. Надеюсь получится. Удачи.
С уважением,
Евгений Бобков
Astro_Graf
Рядовой
Сообщения: 43
Зарегистрирован: 23 июн 2017, 13:43
Откуда: Калининград

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

Сообщение Astro_Graf »

eugeneb, спасибо, завтра попробую вариант с усилением.
KulibinOrsk
Лейтенант
Сообщения: 516
Зарегистрирован: 25 фев 2018, 08:48
Откуда: Оренбург
Имя: Александр

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

Сообщение KulibinOrsk »

Так и не понятно - есть ли рабочий блок на этот датчик или нет. Выложите у кого есть. Есть потребность мерить переменный ток 5А.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

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

Сообщение pan »

[ref]KulibinOrsk[/ref], читаем даташит
для него не нужен блок. на выходе датчика просто напряжение пропорциональное току. просто измеряем аналоговым пином и масштабируем
на нужные показания
KulibinOrsk
Лейтенант
Сообщения: 516
Зарегистрирован: 25 фев 2018, 08:48
Откуда: Оренбург
Имя: Александр

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

Сообщение KulibinOrsk »

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

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

Сообщение pan »

KulibinOrsk писал(а): 14 мар 2018, 10:37Нужен блок СКЗ (среднеквадратичное)
нужно нормальное опорное напряжение а не СКЗ... это как минимум. если нужны более менее точные показания.
Аватара пользователя
benic
Сержант
Сообщения: 175
Зарегистрирован: 07 янв 2018, 13:47

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

Сообщение 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);
}

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя