avatar_UriBas

Моргалка на Arduino. Этюды для начинающих.

Автор UriBas, 08 Март 2017 в 16:08

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Leprechaun

С делителем вроде проблем нет.
Я у себя делал при внутреннем опорном 2.56V (ATmega32u4) 30 кОм + 220 кОм Коэффициент делителя: 8.33 При 19V = 2.28V на делителе.
  float Vbat = (analogRead(A1) * 2.56) / 1023.0;
  float Vin = Vbat / (30.0 / (216.5 + 30)); // R2/(R1+R2) 
Так как это "float" спокойно подгоняем при калибровке.
Это если без похода в магазин :)
Вариант с датчиком в 100500 раз лучше.
Мы имеем показания тока заряд/разряд.
Разряд можем делать любой нагрузкой.
Ну и 21 век чувствуется :)



Leprechaun

О! Вспомнил почему я пообещал себе больше не выкладывать в паблик то что я наг**нокодил :)
Всегда найдется какой-нибудь "Лепрекон" и все обос**т :)
Так что заранее прошу прощения у ТС.
Я не по злобе. Честно!

Кass

Кстати случайно узнал, что в платформе Ардуино начали появляться приличные контроллеры, к примеру DEU. Хотел купить попробовать, заехал в Чип и Дип, не оказалось. Но есть о чем подумать. На такой платформе можно уже что то делать. Правда нужно использовать С++ и подгружать сишные библиотеки, ибо код IDE Ардуины шибко не оптимален.

Пока DUE не купил, взял какой то простой UNO, и начал пробовать сишными методами работать с ШИМом и обрабатывать датчики. В принципе для домашнего применения пойдет. Для регулирования ШИМ 32 кГц уже пойдет. Разрядность конечно никакая что у ШИМа, что у АЦП, но у DEU уже все прилично. Там и АЦП 12 бит, и ШИМ 16 бит.

Главное нужно делать не только моргание, но и регулирование и тока и напряжения, что бы включить в алгоритм и полноценные профили заряда. В общем в качестве хобби поковыряю и этот вариант. Если удастся поднять в Ардуине Modbas RTU, то можно и к АРМу прицепить. Но в отличие от промышленных ПЛК будет довольно бюджетным и народным решением.
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Яков93

Цитата: Кass от 26 Нояб. 2017 в 22:08
Кстати случайно узнал, что в платформе Ардуино начали появляться приличные контроллеры, к примеру DEU.
Что за DEU, DUE может? Так они давным давно появились и стоят дорого.
Пробуйте сразу на STM32, пишут что гораздо круче чем Atmega328, а стоит примерно столько же.

Leprechaun

Цитата: Яков93 от 26 Нояб. 2017 в 22:13
Цитата: Кass от 26 Нояб. 2017 в 22:08
Кстати случайно узнал, что в платформе Ардуино начали появляться приличные контроллеры, к примеру DEU.
Что за DEU, DUE может? Так они давным давно появились и стоят дорого.
Пробуйте сразу на STM32, пишут что гораздо круче чем Atmega328, а стоит примерно столько же.
Тогда уж ESP 8266 . Ну его на фиг все "Кулоны" :)
И будет свой луна-парк... С блэк-джеком и шлюхами! ...
Только ТС  пропал даже с Atmega328 :(

Кass

Цитата: Яков93 от 26 Нояб. 2017 в 22:13
они давным давно появились и стоят дорого.
Пробуйте сразу на STM32, пишут что гораздо круче чем Atmega328, а стоит примерно столько же.

Да вроде не дорого, что то 1500-2000 рублей в Москве, и менее 900 рублей с доставкой на Али. Это разве дорого? И там АРМ Кортекс ядро, а не Атмега328. Но ядро не так важно для микроконтроллера. Там важнее периферия, какие АЦП и ЦАП. Там и два ЦАПа есть.

Добавлено 26 Нояб. 2017 в 23:38

Цитата: Leprechaun от 26 Нояб. 2017 в 23:17
Тогда уж ESP 8266 . Ну его на фиг все "Кулоны" :)
И будет свой луна-парк... С блэк-джеком и шлюхами! ...
Только ТС  пропал даже с Atmega328 :(

Да видимо затроллили ТС. Но в принципе Ардуино довольно простая платформа, и если использовать полноценно С++ там где нужно, можно сделать много чего на нижнем уровне. Верхний уровень конечно не поднять, но я так подумал, что если что, можно зацепить или по модбасу или через ОРС сервер.

Можно конечно быстро слепить и на Атмеге 328, но у нее ЦАПы никакие, и ШИМ 8 битный. Ну на безрыбье можно как эконом вариант сделать, если забить на точность измерений и метрологию.
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Яков93

Цитата: Кass от 26 Нояб. 2017 в 23:34
Да вроде не дорого, что то 1500-2000 рублей в Москве, и менее 900 рублей с доставкой на Али. Это разве дорого?
Конечно дорого и размер большой, иногда размер имеет значение. Вот это действительно "недорого" - 140 рублей с доставкой.

ЦитироватьИ там АРМ Кортекс ядро, а не Атмега328.
Поэтому так дорого.

ЦитироватьНо ядро не так важно для микроконтроллера. Там важнее периферия, какие АЦП и ЦАП. Там и два ЦАПа есть.
У STM32 АЦП 12-бит, ШИМ 16-бит. ЦАП хорошая штука, но совершенно необязательная. Поставьте на ШИМ сглаживающий RC фильтр  и будет на выходе любое требуемое постоянное напряжение.

ЦитироватьМожно конечно быстро слепить и на Атмеге 328, но у нее ЦАПы никакие, и ШИМ 8 битный.
Не то что "никакие", а их вообще нет

Кass

В общем посидел еще между постами, и научил Ардуину замерять температуру с NTC. Точность конечно...  :facepalm:  Даже с кондером в 1 мкФ болтается...  Сделал среднее из 10 значений, стало  ±0,01°С. Но погрешность есть. Может быть с опорным нужно будет покумекать, или фильтр писать. Но уже что то.

Итак, за сегодняшний вечер:

1. ВЧ ШИМ для регулирования тока и напряжения есть.
2. Измерение температур есть.
3. Собрал на макетке ключ на фете с гальванической развязкой. Работает.

В следующий раз попробую сделать CCCV.
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Leprechaun

[user]Кass[/user], Да, на всём можно . Надо только время :)
Я сейчас больше о периферии думаю.
То ли вариант [user]UriBas[/user],  с INA219 то ли шунт и ОУ.
Если я правильно понял [user]ИС-Х[/user], пришёл к выводу что фронт импульса не важен.
Так что по фигу что в цепи к АКБ.
Осциллографа нету. А так было бы любопытно глянуть что будет если пинать через шунт ампер на 50.

Кass

Цитата: Яков93 от 26 Нояб. 2017 в 23:48
Вот это действительно "недорого"- 140 рублей с доставкой.

А какая там среда разработки? Я как то не очень по различным конструкторам. По промышленным многие платформы знаю, а тут как бы руки не доходили.
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Яков93

Цитата: Кass от 26 Нояб. 2017 в 23:52
Цитата: Яков93 от 26 Нояб. 2017 в 23:48
Вот это действительно "недорого"- 140 рублей с доставкой.

А какая там среда разработки? Я как то не очень по различным конструкторам. По промышленным многие платформы знаю, а тут как бы руки не доходили.
Почитайте статейку, все подробно описано. Можно в Arduino IDE программировать, т.е. через обычную среду Ардуино.
У  меня эти платки уже пару месяцев лежат, но пока ими не занимался, вроде все должно быть несложно.

Кass

Цитата: Leprechaun от 26 Нояб. 2017 в 23:51
Я сейчас больше о периферии думаю.
То ли вариант [user]UriBas[/user],  с INA219 то ли шунт и ОУ.

У меня на ПЛК датчик тока стоит. Вполне устраивает для таких целей. Правда требуется автоматическую калибровку периодически делать или хорошее опорное делать. Я пока калибровкой отделался. Тут думаю такой же датчик поставить. Я их 4 штуки купил.

Цитата: Leprechaun от 26 Нояб. 2017 в 23:51Если я правильно понял [user]ИС-Х[/user], пришёл к выводу что фронт импульса не важен.
Так что по фигу что в цепи к АКБ.

Это нужно проверять на стенде с ПЛК. Там все в разы быстрее сделать, и снять все данные. Тут все же все очень на примитивном уровне. Поэтому там нужно проверять, а сюда готовые решения только тащить.

Цитата: Leprechaun от 26 Нояб. 2017 в 23:51Осциллографа нету. А так было бы любопытно глянуть что будет если пинать через шунт ампер на 50.

Ну это я могу снимать и выкладывать. Но у меня пара датчиков на 20А и пара на 30А. Поэтому 50А пока нечем измерять. Если взять на 100А датчики, то АЦП нужен 14-16 бит.
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Кass

Цитата: Яков93 от 26 Нояб. 2017 в 23:55
Почитайте статейку, все подробно описано. Можно в Arduino IDE программировать, т.е. через обычную среду Ардуино.
У  меня эти платки уже пару месяцев лежат, но пока ими не занимался, вроде все должно быть несложно.

Почитал про них. Ну это как бы если аналог Нано, то может быть. Но я почитал про среду разработки, пишут что проект скорее мертв чем жив, библиотеки сырые, почти ничего нет. Придется писать все с нуля, все библиотеки. А это все время. Если делать какое то серийное изделие, то вполне себе нормальный камень для каких то мелочей, но портов очень мало. АЦП всего два. У меня на ПЛК уже 5 АЦП используется. Если делать еще и побаночное ЗУ-балансир, то точно не хватит там периферии. Но главное сейчас для меня время. Я думаю, что 500 рублей разницы в цене мне точно погоды не сделает. Да и собственно плата Ардуины только для разработки и отладки. Потом все равно заказывать плату под проц и периферию. Процы стоят вообще не дорого. Заказать платы тоже не проблема. Можно на плату поставить синезуб для ДУ управления через смарфон.
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Яков93

Цитата: Кass от 27 Нояб. 2017 в 00:19
но портов очень мало. АЦП всего два. У меня на ПЛК уже 5 АЦП используется. Если делать еще и побаночное ЗУ-балансир, то точно не хватит там периферии.
Не буду переубеждать, хотите делать "народное решение" на редкой и дорогой DUE - безусловно Ваше решение.
Просто чтоб развеять очевидные заблуждения.
У той платки на STM32 о которой я говорю не 2 порта АЦП, а 8
Спойлер

Dunkel

Немного поэкспериментировал с критерием уменьшения паузы по dU/dT, вместо этого сделал простое сравнение НРЦ в паузе с контрольным значением перед пачкой импульсов. По адаптивности алгоритма результат получается такой же, но при этом существенно снижаются требования к аппаратной части. Обычного ардуиновского АЦП вполне достаточно.

В качестве примера стандартный Nano, питание юсб, внешнее опорное - батарейка, оверсемплинг 4 измерения:

Спойлер






Многофункциональная облачная моргалка/логгер:
https://morgalka78.wordpress.com/

ИС-Х

Цитата: Яков93 от 27 Нояб. 2017 в 09:36У той платки на STM32 о которой я говорю не 2 порта АЦП, а 8
Именно коммутируемых портов (9 штук, судя по фото), а не самих модулей АЦП, которых один.
Ну а у крутого спеца, понятное дело, 5 живых модулей: "У меня на ПЛК уже 5 АЦП используется;-D
Моя первая моргалка: https://electrotransport.ru/index.php?msg=588520
Вторая моргалка: https://electrotransport.ru/index.php?topic=31184.0
Третья моргалка: https://electrotransport.ru/index.php?msg=1130718
Еще в багажнике валяется BL1204 на всякий пожарный...

Яков93

[user]ИС-Х[/user], да, даже 9.
Уважаемый Kass, я думаю, писал все-таки о портах, а не о модулях АЦП.
Цитироватьно портов очень мало. АЦП всего два.

Кass

Цитата: Яков93 от 27 Нояб. 2017 в 09:36
Просто чтоб развеять очевидные заблуждения.
У той платки на STM32 о которой я говорю не 2 порта АЦП, а 8
Спойлер

Я не смотрел, что на плате, а смотрел, что в самом процессоре есть. Там именно 2 АЦП, которые мультиплексируются на каналы. Вот тут можно посмотреть в левом нижнем углу:

http://catalog.gaw.ru/index.php?id=11657&page=component_detail

Как в такой схеме обрабатывать такую связку, я еще не очень представляю. Потом я обязательно хочу добавить дисплей с тачскрином, и скорее всего дисплей съест все свободные порты. Поэтому мне показалось, что тогда уж лучше использовать Мега 2560. Все же там 54 порта хватит на все. Но так как DUE всего 800 рублей с копейками, то чего мелочиться? :)

Тут то дело какое. В МК мне как то редко не хватало производительности, если код довольно таки оптимальный. Обычно не хватает входов/выходов, и приходится лепить еще один МК и писать межсетевой обмен, или реже не хватает памяти, когда что то довольно таки обширное пытаешься впихнуть в малую память. Причем как памяти для кода, так и оперативки для переменных. Так вот 32 разрядное ядро кушает память с бОльшим аппетитом, нежели 8 бит. Поэтому разница по памяти как по флэш, так и по оперативке в 4 раза, довольно таки существенная.

А так для небольших приложений, вполне прикольная штука. У тебя есть на нее среда разработки и библиотеки?
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)