Помогите разобраться с модулем тока 1-30А ACS7

Использование прочих датчиков и энкодеров и пользовательских блоков к ним
Ответить
Аватара пользователя
jonik22sm
Лейтенант
Сообщения: 639
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 1
Откуда: Краснодар
Имя: Евгений
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#1

Сообщение jonik22sm » 08.01.2016{, 00:34}

Помогите разобраться с модулем измерения силы тока 1-30А ACS712 для Arduino
Постоянно прыгают цифры никакой сглаженности
и такая жи беда с делителем напряжения для измерения напряжения
как можно сделать так чтоб цифры не скакали?
Можно сделать ВСЁ. Было бы желание.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#2

Сообщение Сергей » 08.01.2016{, 00:48}

jonik22sm, если вы измеряете переменный ток, то цифры будут прыгать. Ваша программа (точнее АЦП в МК) измеряет ток (или напряжение) с какой то дискретностью (неважно какой) и в переменных будет постоянно меняться значения. Потому что в каждый момент времени программа считывает и оцифровывает текущую величину сигнала. И записывает в переменную. Если эту переменную вывести на экран, то постоянного числа Вы не увидите
Вам необходимо из этого потока данных отобрать максимальное значение. Это будет амплитуда сигнала. Поделив его на корень из двух получите действующее значение тока или напряжения. Корень из двух применим к синусоидальным величинам. К остальным видам сигнала (не синус) не помню как узнать действующее значение.
В ФЛПрог это сделать можно. Если у Вас не получится программно определить максимум напишите, я поищу у себя (когда то уже сталкивался с этим) пример проекта.

Аватара пользователя
jonik22sm
Лейтенант
Сообщения: 639
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 1
Откуда: Краснодар
Имя: Евгений
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#3

Сообщение jonik22sm » 08.01.2016{, 00:59}

Уважаемый Модератор я делаю себе зарядку для автомобильного  аккумулятора и цифры всё время скачут как добиться  чтоб показывало как на мультиметре?

Добавлено (08.01.2016, 00:59)
---------------------------------------------
Может конденсатор нужно куда впаять?
Можно сделать ВСЁ. Было бы желание.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#4

Сообщение Сергей » 08.01.2016{, 10:49}

jonik22sm, мультиметр показывает действующее значение. А вы пытаетесь вывести на экран мгновенное значение тока. Во-первых сделайте вывод на экран периодически, примерно раз в секунду, а во-вторых высчитывайте среднее значение измеренного тока. Возьмите 10 переменных. По тактовому генератору через мультиплексор, в промежутке между выводами на экран, в эти переменные записываете мгновенные значения тока. Потом находите среднее и выводите на экран.
Неплохо было бы на осциллографе посмотреть почему у вас вообще скачки показаний. Может дело не в программе, а в самой схеме зарядки. Могут же быть пульсации напряжения после выпрямителя, а их как раз ардуинка и захватывает. А может конденсатор слабый и ардуина выпрямленные полуволны измеряет. Вам понятней будет если посмотреть осциллографом что там с напряжением происходит, а потом делать вывод как с этим бороться. Но в любом случае это проще программно решить не усложняя схему.
И опишите подробнее что вы делаете, а то советы наугад даю. или видео скиньте.

XENOMAN
Рядовой
Сообщения: 33
Зарегистрирован: 05.10.2015{, 18:03}
Репутация: 2

Помогите разобраться с модулем тока 1-30А ACS7

#5

Сообщение XENOMAN » 08.01.2016{, 10:52}

Дак Вы меряете постоянку или переменку? Я однажды тестил такой датчик на 5А постоянным током, значения и вправду скакали, я вроде высчитывал среднее значение из 100 выборок. Получалось правдоподобно. Для переменки наверное надо среднеквадратичное значение считать.
Последний раз редактировалось XENOMAN 08.01.2016{, 11:02}, всего редактировалось 1 раз.

Аватара пользователя
jonik22sm
Лейтенант
Сообщения: 639
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 1
Откуда: Краснодар
Имя: Евгений
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#6

Сообщение jonik22sm » 08.01.2016{, 12:09}

Я буду дома и скину видео вечером а измеряю постоянку
Можно сделать ВСЁ. Было бы желание.

Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06.09.2015{, 16:04}
Репутация: 6
Откуда: Маркс-Энгелс
Имя: Alexander

Помогите разобраться с модулем тока 1-30А ACS7

#7

Сообщение Grafsaxar » 16.01.2016{, 09:38}

Нужно использовать сглаживающий филтер.

Вот пожалуйста.

Блок пользователя 

поставьте значение 0.01
Для скачивания вложений Вы должны быть зарегистрированы.
Качество — это делать что-либо правильно, даже когда никто не смотрит

rf80
Рядовой
Сообщения: 76
Зарегистрирован: 26.11.2015{, 20:29}
Репутация: 0

Помогите разобраться с модулем тока 1-30А ACS7

#8

Сообщение rf80 » 01.02.2016{, 22:39}

Сергей, Вы писали:
о записи в мультиплексор по тактовому генратору и нахождении среднего. последнее есть блок а как с мультиплексорм работать есть пример для разбора

DWD
Лейтенант
Сообщения: 349
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

Помогите разобраться с модулем тока 1-30А ACS7

#9

Сообщение DWD » 01.02.2016{, 23:53}

jonik22sm писал(а):...как добиться  чтоб показывало как на мультиметре?
В мультиетре на входе АЦП стоит интегрирующая цепочка (НЧ фильтр) с постоянной времени порядка 0,1 секунды.
Да ещё сам АЦП делает 3 измерения в секунду...

Программный фильтр в виде блока пользователя уже советовали.
Последний раз редактировалось DWD 01.02.2016{, 23:54}, всего редактировалось 1 раз.
Изображение

Аватара пользователя
jonik22sm
Лейтенант
Сообщения: 639
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 1
Откуда: Краснодар
Имя: Евгений
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#10

Сообщение jonik22sm » 10.05.2017{, 00:35}

подскажите пожалуйста формулу расчёта
а то в неподключённом состоянии выводит 520
я вот нашёл но там нету данных для 30 амперного датчика
Последний раз редактировалось jonik22sm 10.05.2017{, 01:12}, всего редактировалось 1 раз.
Можно сделать ВСЁ. Было бы желание.

starshoy81
Лейтенант
Сообщения: 504
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Помогите разобраться с модулем тока 1-30А ACS7

#11

Сообщение starshoy81 » 10.05.2017{, 20:37}

jonik22sm, в самом блоке написано: A=(5/1024*units-2.5)/K. К=0.66 для 30 А, units это значение АЦП.

Аватара пользователя
ussrtk
Рядовой
Сообщения: 29
Зарегистрирован: 06.01.2017{, 12:25}
Репутация: 13

Помогите разобраться с модулем тока 1-30А ACS7

#12

Сообщение ussrtk » 03.08.2017{, 17:20}

starshoy81 писал(а):jonik22sm, в самом блоке написано: A=(5/1024*units-2.5)/K. К=0.66 для 30 А, units это значение АЦП.
Смотрите, я подставил числа для максимального тока 30 амперного датчика:
Думаю, вместо 0,66 вы имели в виду все-таки 0,066.  Итак:

A=(5/1024*1024-2.5)/0.066  = 37,878787 Ампер

Или я ошибаюсь или коэффициент должен быть 0,083333 для 30 амперного датчика.
В чем дело?

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#13

Сообщение Сергей » 03.08.2017{, 23:35}

jonik22sm, я переменный ток измерял так

Измерял потребляемый ток однофазного канализационного насоса. Данные по клещам - работа с заклиненным ротором ток 15 А, нормальная работа - пуск 15А далее 4-5 А потребления насоса. На холостом ходу ток был окола 1 А. Подопытный "Sprut"
Изображение
Использовал 2 переменных: "Выход датчика тока" и "ток КНС"
Начнем. В переменной "Выход датчика тока" значение 0. Начинается положительная полуволна (полупериод) тока через насос. Данные с датчика тока (число) начинает расти. В это время эти данные сравниваются с переменной. Пока идет рост полуволны до максимального значения на выходе компаратора в каждом цикле программы будет появляться 1. И новое значение (которое увеличивается) перезаписывается в переменную "Выход датчика тока".  В момент, когда полуволна пойдет на спад, каждые последующее измерения будут меньше чем в переменной, на компараторе будет ноль, а в переменной "Выход датчика тока" будет максимальное значение (амплитуда) тока. Потом раз в 3 секунды с генератора идет импульс и это значение переписывается в другую переменную "Ток КНС" для дальнейших расчетов, и через один цикл программы переменная "Выход датчика тока" обнуляется и в нее опять начинает писаться максимальное значение следующего цикла измерений... Далее переменную "Ток КНС" мы масштабируем (Значение на входе от 0 до 1024 - на выходе от -300 до 300) и делим на коэффициент. Коэффициент я подбирал опытным путем так, что бы число на выходе деления соответствовало показанием мультиметра (токовые клещи). Вот и все.
Получаем изменение данных на экране раз в 3 секунды. А значение будет соответствовать максимальному току насоса в течении этих трех секунд.
Этот метод наверно не очень точный. На точность измерения будет влиять напряжение питания датчика, и т. п. У меня задача была грубо измерить ток, с ценой деления в 1А. Выявить заклинивание насоса по максимальному току в 15А. Программа работала успешно, тестили на рабочем насосе. Издевались над ним как могли. Даже крыльчатки ломом клинили не на долго, что бы добиться увеличенного потребления.
Более точные (цена деления 0,1  0,01А) измерения не проводил.
Для скачивания вложений Вы должны быть зарегистрированы.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#14

Сообщение Сергей » 03.08.2017{, 23:43}

Сергей писал(а):Далее переменную "Ток КНС" мы масштабируем (Значение на входе от 0 до 1024 - на выходе от -300 до 300)
на выходе датчика тока половина его напряжения питания при отсутствии через него тока. При положительной полуволне, на его выходе напряжение растет к Vcc, а при отрицательной напряжение падает к GND. Таким образом на аналоговом входе будем иметь диапазон от 0 до 1024 при измеряемом токе в 30 А (если датчик на 30 А). Если измеряемый ток будет например 15 А, то на аналоговом входе будет значение примерно от 256 до 756. То есть 512 это 0 А. Соответственно измеряя максимум на аналоговом входе мы измеряем максимум положительной полуволны. Отрицательная (и минимум на аналог. входе нас не интересует) потому что они будут по амплитуде почти одинаковые. Далее математикой обрабатываем это значение и приводим в читаемый вид.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#15

Сообщение Сергей » 04.08.2017{, 00:04}

Сергей писал(а):задача была грубо измерить ток, с ценой деления в 1А. Выявить заклинивание насоса по максимальному току в 15А.
Проект сигнализация переполнения канализационного люка. Отдельным поплавком получали сигнал переполнения люка сточными водами, а данной методикой определяли момент, когда насос забивается, заклинивает. Далее не дожидаясь повышения уровня воды (говна в люке) и срабатывания дополнительного поплавка насос отключается через пускатель, а дежурному отправляется СМС об аварии. Насос раз в 30 сек включается, если ротор так и не закрутился, измеряем ток насоса, видим 15 А и опять отключаем. Из практики обслуживания систем водоотвода в гостиничном комплексе скажу что, бывает достаточно отключить насос и несколько раз включить и он начинает дальше качать, проталкивая те гондоны и тряпки что выбрасывают в унитаз гости. Но чаще это не получается. Вот эти попытки включить насос делает ардуина раз в 30 сек. Теплуха в насосе за время измерения (3 сек.) не успевает сработать.

Аватара пользователя
Sancho
Полковник
Сообщения: 3877
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 546
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#16

Сообщение Sancho » 04.08.2017{, 09:02}

Сергей писал(а):На точность измерения будет влиять напряжение питания датчика,
Не волнуйся, Сергей, не будут, при условии запитывания датчика от стабилизатора ардуино - при изменении напряжения будет менятся и опорное, но одинаково! и на измерителе и на АЦП контролера.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#17

Сообщение Сергей » 04.08.2017{, 12:43}

Sancho писал(а):Не волнуйся, Сергей, не будут, при условии запитывания датчика от стабилизатора ардуино
суть вопроса это не меняет, методика не очень точная (на мой взгляд). Кроме питания, еще разрядность АЦП, скорость выполнения программы, измерений...

Аватара пользователя
Sancho
Полковник
Сообщения: 3877
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 546
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите разобраться с модулем тока 1-30А ACS7

#18

Сообщение Sancho » 04.08.2017{, 12:52}

Сергей писал(а):суть вопроса это не меняет, методика не очень точная (на мой взгляд)
Для описанного Вами решения с контролем состояния дренажного насоса данной точности более, чем достаточно.
На комерческий учёт использование "ардуино-методик" не претендует, а вот для себя, любимого, и решения несложных задач - вполне.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Ответить

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