FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Суббота, 18.11.2017, 13:21
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: support, Сергей, Anydy, Олег 
Форум » Основной » Железо (контроллеры, шилды, датчики и др.) » Помогите разобраться с модулем тока 1-30А ACS7
Помогите разобраться с модулем тока 1-30А ACS7
jonik22sm Дата: Пятница, 08.01.2016, 00:34 | Сообщение # 1
Подполковник
Группа: Проверенные
Сообщений: 245
Награды: 0
Репутация: 1
Статус: Offline
Помогите разобраться с модулем измерения силы тока 1-30А ACS712 для Arduino
Постоянно прыгают цифры никакой сглаженности
и такая жи беда с делителем напряжения для измерения напряжения
как можно сделать так чтоб цифры не скакали?


Спектр Бытовых Услуг в Краснодаре
http://sbu23.ru
 
Сергей Дата: Пятница, 08.01.2016, 00:48 | Сообщение # 2
Модератор
Группа: Модераторы
Сообщений: 502
Награды: 17
Репутация: 7
Статус: Offline
jonik22sm, если вы измеряете переменный ток, то цифры будут прыгать. Ваша программа (точнее АЦП в МК) измеряет ток (или напряжение) с какой то дискретностью (неважно какой) и в переменных будет постоянно меняться значения. Потому что в каждый момент времени программа считывает и оцифровывает текущую величину сигнала. И записывает в переменную. Если эту переменную вывести на экран, то постоянного числа Вы не увидите
Вам необходимо из этого потока данных отобрать максимальное значение. Это будет амплитуда сигнала. Поделив его на корень из двух получите действующее значение тока или напряжения. Корень из двух применим к синусоидальным величинам. К остальным видам сигнала (не синус) не помню как узнать действующее значение.
В ФЛПрог это сделать можно. Если у Вас не получится программно определить максимум напишите, я поищу у себя (когда то уже сталкивался с этим) пример проекта.


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
jonik22sm Дата: Пятница, 08.01.2016, 00:59 | Сообщение # 3
Подполковник
Группа: Проверенные
Сообщений: 245
Награды: 0
Репутация: 1
Статус: Offline
Уважаемый Модератор я делаю себе зарядку для автомобильного  аккумулятора и цифры всё время скачут как добиться  чтоб показывало как на мультиметре?

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


Спектр Бытовых Услуг в Краснодаре
http://sbu23.ru
 
Сергей Дата: Пятница, 08.01.2016, 10:49 | Сообщение # 4
Модератор
Группа: Модераторы
Сообщений: 502
Награды: 17
Репутация: 7
Статус: Offline
jonik22sm, мультиметр показывает действующее значение. А вы пытаетесь вывести на экран мгновенное значение тока. Во-первых сделайте вывод на экран периодически, примерно раз в секунду, а во-вторых высчитывайте среднее значение измеренного тока. Возьмите 10 переменных. По тактовому генератору через мультиплексор, в промежутке между выводами на экран, в эти переменные записываете мгновенные значения тока. Потом находите среднее и выводите на экран.
Неплохо было бы на осциллографе посмотреть почему у вас вообще скачки показаний. Может дело не в программе, а в самой схеме зарядки. Могут же быть пульсации напряжения после выпрямителя, а их как раз ардуинка и захватывает. А может конденсатор слабый и ардуина выпрямленные полуволны измеряет. Вам понятней будет если посмотреть осциллографом что там с напряжением происходит, а потом делать вывод как с этим бороться. Но в любом случае это проще программно решить не усложняя схему.
И опишите подробнее что вы делаете, а то советы наугад даю. или видео скиньте.


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
XENOMAN Дата: Пятница, 08.01.2016, 10:52 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 24
Награды: 1
Репутация: 0
Статус: Offline
Дак Вы меряете постоянку или переменку? Я однажды тестил такой датчик на 5А постоянным током, значения и вправду скакали, я вроде высчитывал среднее значение из 100 выборок. Получалось правдоподобно. Для переменки наверное надо среднеквадратичное значение считать.

Сообщение отредактировал XENOMAN - Пятница, 08.01.2016, 11:02
 
jonik22sm Дата: Пятница, 08.01.2016, 12:09 | Сообщение # 6
Подполковник
Группа: Проверенные
Сообщений: 245
Награды: 0
Репутация: 1
Статус: Offline
Я буду дома и скину видео вечером а измеряю постоянку

Спектр Бытовых Услуг в Краснодаре
http://sbu23.ru
 
Grafsaxar Дата: Суббота, 16.01.2016, 09:38 | Сообщение # 7
Майор
Группа: Проверенные
Сообщений: 148
Награды: 2
Репутация: 2
Статус: Offline
Нужно использовать сглаживающий филтер.

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

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

поставьте значение 0.01
Прикрепления: 4607748.ubi(78Kb)


У кошки четыре ноги: вход, выход, земля и питание.
> Но трогать её не моги: получится замыкание.
 
rf80 Дата: Понедельник, 01.02.2016, 22:39 | Сообщение # 8
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 1
Репутация: 0
Статус: Offline
Сергей, Вы писали:
о записи в мультиплексор по тактовому генратору и нахождении среднего. последнее есть блок а как с мультиплексорм работать есть пример для разбора
 
DWD Дата: Понедельник, 01.02.2016, 23:53 | Сообщение # 9
Подполковник
Группа: Проверенные
Сообщений: 299
Награды: 14
Репутация: 5
Статус: Offline
Цитата jonik22sm ()
...как добиться  чтоб показывало как на мультиметре?

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

Программный фильтр в виде блока пользователя уже советовали.




Сообщение отредактировал DWD - Понедельник, 01.02.2016, 23:54
 
jonik22sm Дата: Среда, 10.05.2017, 00:35 | Сообщение # 10
Подполковник
Группа: Проверенные
Сообщений: 245
Награды: 0
Репутация: 1
Статус: Offline
подскажите пожалуйста формулу расчёта
а то в неподключённом состоянии выводит 520
я вот нашёл но там нету данных для 30 амперного датчика


Спектр Бытовых Услуг в Краснодаре
http://sbu23.ru


Сообщение отредактировал jonik22sm - Среда, 10.05.2017, 01:12
 
starshoy81 Дата: Среда, 10.05.2017, 20:37 | Сообщение # 11
Подполковник
Группа: Проверенные
Сообщений: 213
Награды: 1
Репутация: 0
Статус: Offline
jonik22sm, в самом блоке написано: A=(5/1024*units-2.5)/K. К=0.66 для 30 А, units это значение АЦП.
 
ussrtk Дата: Четверг, 03.08.2017, 17:20 | Сообщение # 12
Рядовой
Группа: Проверенные
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Цитата 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 амперного датчика.
В чем дело?
 
Сергей Дата: Четверг, 03.08.2017, 23:35 | Сообщение # 13
Модератор
Группа: Модераторы
Сообщений: 502
Награды: 17
Репутация: 7
Статус: Offline
jonik22sm, я переменный ток измерял так

Измерял потребляемый ток однофазного канализационного насоса. Данные по клещам - работа с заклиненным ротором ток 15 А, нормальная работа - пуск 15А далее 4-5 А потребления насоса. На холостом ходу ток был окола 1 А. Подопытный "Sprut"

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


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Сергей Дата: Четверг, 03.08.2017, 23:43 | Сообщение # 14
Модератор
Группа: Модераторы
Сообщений: 502
Награды: 17
Репутация: 7
Статус: Offline
Цитата Сергей ()
Далее переменную "Ток КНС" мы масштабируем (Значение на входе от 0 до 1024 - на выходе от -300 до 300)
на выходе датчика тока половина его напряжения питания при отсутствии через него тока. При положительной полуволне, на его выходе напряжение растет к Vcc, а при отрицательной напряжение падает к GND. Таким образом на аналоговом входе будем иметь диапазон от 0 до 1024 при измеряемом токе в 30 А (если датчик на 30 А). Если измеряемый ток будет например 15 А, то на аналоговом входе будет значение примерно от 256 до 756. То есть 512 это 0 А. Соответственно измеряя максимум на аналоговом входе мы измеряем максимум положительной полуволны. Отрицательная (и минимум на аналог. входе нас не интересует) потому что они будут по амплитуде почти одинаковые. Далее математикой обрабатываем это значение и приводим в читаемый вид.


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Сергей Дата: Пятница, 04.08.2017, 00:04 | Сообщение # 15
Модератор
Группа: Модераторы
Сообщений: 502
Награды: 17
Репутация: 7
Статус: Offline
Цитата Сергей ()
задача была грубо измерить ток, с ценой деления в 1А. Выявить заклинивание насоса по максимальному току в 15А.
Проект сигнализация переполнения канализационного люка. Отдельным поплавком получали сигнал переполнения люка сточными водами, а данной методикой определяли момент, когда насос забивается, заклинивает. Далее не дожидаясь повышения уровня воды (говна в люке) и срабатывания дополнительного поплавка насос отключается через пускатель, а дежурному отправляется СМС об аварии. Насос раз в 30 сек включается, если ротор так и не закрутился, измеряем ток насоса, видим 15 А и опять отключаем. Из практики обслуживания систем водоотвода в гостиничном комплексе скажу что, бывает достаточно отключить насос и несколько раз включить и он начинает дальше качать, проталкивая те гондоны и тряпки что выбрасывают в унитаз гости. Но чаще это не получается. Вот эти попытки включить насос делает ардуина раз в 30 сек. Теплуха в насосе за время измерения (3 сек.) не успевает сработать.


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Форум » Основной » Железо (контроллеры, шилды, датчики и др.) » Помогите разобраться с модулем тока 1-30А ACS7
Страница 1 из 212»
Поиск:

FLProg © 2017
Яндекс.Метрика