Wi-Fi программируемое ЗУ на Ардуино - Уклон (микро)

Автор SapienzSPB, 04 Апр. 2020 в 00:29

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

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

Alex_Soroka

Цитата: SapienzSPB от 25 Апр. 2020 в 11:39
Алекс, а с чего Вы решили что я пользуюсь TCP?
O_O опа... неожиданно...  B-)
расскажите тогда как вы собираетесь "через Интернет" работать без поддержки стека протокола ТСР/IP, мне это очень интересно,
как можно быть в Сети без айпи адреса и поддержки RFC :hello:
Если вы про "блутусы" всякие, которые имитируют "длинный радио-СОМ-порт на 115200", то да, это нормально, там Сеть на надо, там "точка-точка" работает. Но при этом ошибки пакетов и задержки тоже никуда не деваются.
Если вы ВайФай собраетесь как транспорт использовать БЕЗ Сети то это тоже будет "точка-точка" "длинный радио-СОМ-порт на 115200", в пределах комнаты, не более  :hello:
разместить ЗУ в гараже и на автобусе поехать домой, и из дома посмотреть "как дела" - уже не получится, придется сидеть рядом с гаражом, глядя в свой телефон  ;-D

ЦитироватьТо что Вы подразумеваете под реалтаймом - я понимаю как время реакции системы. В моем случае оно достаточно низкое - ибо железное.
Это вы и Касс так думаете  :hello: а в Учебниках совсем не так.
и напомню - при процедурном программировании, если вы зашли в процедуру (вызов функции) и в этой процедуре что-то не сложилось (условия выхода) то весь ваш МК, не важно какой крутизны, так и останется "ждать решения", при этом все остальное ПОСЛЕ процедуры будет просто на паузе. А "табун прерываний" , если разрешен, может легко поломать стек МК и привести к чему угодно - от просто зависания, которое передернет вачдог, до более серьезных проблем, когда "лошадь понесла" и в ЗУ начнутся перескоки по программе туда куда никто не думал что прыгнет и какие данные поставит.
Так что задумайтесь что и как вы там пишете.

ЦитироватьТак что ПО не контролирует ток и напряжение от слова совсем.
а зачем тогда весь этот сыр-бор?
ЗУ это "зарядное устройство", которое должно управлять ПРОЦЕССАМИ ЗАРЯДА АКБ, то есть управлять током и напряжением подводимым к АКБ по своим каким-то алгоритмам, либо по "задано пользователем".
Я не прав ?  :-)
А просто "ограничить ток сверху и напряжение сверху" - это любой лабораторный блок питания сам может  :hello: никакие "внешние МК" ему при этом не нужны.

UriBas

Цитата: Alex_Soroka от 25 Апр. 2020 в 11:53.. А просто "ограничить ток сверху и напряжение сверху" - это любой лабораторный блок питания сам может  :hello: 
Там же не просто ограничить, а ограничить до определенного значения в определенное время и т.д.  и все это исходя из таких параметров как напряжение на АКБ, скорость изменения напряжения, вн. сопр и т.д.   Можно подавать и импульсами длительностью от долей секунды и выше..    Единственно, ШИМ возможно нельзя будет применять..
Восточная мудрость - "Шакал воет - караван идет"  Эл.вел. 350Вт.   Верую в Иисуса Христа, НЛО.  тема "продвинутой моргалки" https://electrotransport.ru/index.php?msg=1669651

SapienzSPB

Цитата: Alex_Soroka от 25 Апр. 2020 в 11:53опа... неожиданно... 
расскажите тогда как вы собираетесь "через Интернет" работать без поддержки стека протокола ТСР/IP, мне это очень интересно,
На более низком уровне. Потерпите, скоро покажу.
Цитата: Alex_Soroka от 25 Апр. 2020 в 11:53и напомню - при процедурном программировании, если вы зашли в процедуру (вызов функции) и в этой процедуре что-то не сложилось (условия выхода) то весь ваш МК, не важно какой крутизны, так и останется "ждать решения", при этом все остальное ПОСЛЕ процедуры будет просто на паузе.
У вас в Вашем Зу есть подобные тупики? У меня только один и намеренный - для перегрузки по вачдогу. В остальном таких мест просто нет. Так что и проблем таких никогда не было.  Я задумываюсь что и как я там пишу.

Цитата: Alex_Soroka от 25 Апр. 2020 в 11:53а зачем тогда весь этот сыр-бор?
ЗУ это "зарядное устройство", которое должно управлять ПРОЦЕССАМИ ЗАРЯДА АКБ, то есть управлять током и напряжением подводимым к АКБ по своим каким-то алгоритмам,
Я думаю если Вы развернете спойлер со схемой и прочтете описание - сами ответите на свой вопрос. ))

SapienzSPB

Цитата: UriBas от 25 Апр. 2020 в 12:03Единственно, ШИМ возможно нельзя будет применять..
На самом деле в у xl4016 есть режим диммирования. Я его еще не изучал, но подозреваю что исключив интеграторы, выходные фильтры и переведя контроллер в режим динамического PWM - можно шимить зарядку импульсами. На прошлой неделе вроде обкатал режим динамического PWM. Все работает относительно так как задумано.
Также отрисовал гибридный модуль питания контроллера. На этой неделе постараюсь закончить заводскую плату и закажу её в Китае.

Alex_Soroka

Цитата: SapienzSPB от 25 Апр. 2020 в 12:19
На более низком уровне. Потерпите, скоро покажу.
O_O %-) /:-)
Уважаемый. вы пишете полный бред!
Невозможно работать в Интернет БЕЗ применения протоколов стека ТСР и без Айпи Адреса!
А "низкий уровень" работы в Инете подразумевает то что вы сами должны формировать пакеты и быть сами себе клиентом или сервером, со всеми вытекающими.
я с 1992 года занимаюсь связью и пакетной передачей данных, так что ваши "откровения" не надо мне рассказывать :hello:

ЦитироватьУ вас в Вашем Зу есть подобные тупики?
у меня нет тупиков :hello: потому что я не использую процедурное программирование и "в цепочку"(как у вас), и вообще.
Удачи в написании "своего ТСР стека"  :hello:  ;-D

SapienzSPB

Цитата: Alex_Soroka от 25 Апр. 2020 в 21:07"низкий уровень" работы в Инете подразумевает то что вы сами должны формировать пакеты и быть сами себе клиентом или сервером, со всеми вытекающими
Именно так )))
Цитата: Alex_Soroka от 25 Апр. 2020 в 21:07Удачи
Удачи)))

SapienzSPB

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

В результате работы кода в "Мониторе порта" Ардуино IDE можно видеть такую картину
Спойлер
Каждая из этих строчек может быть выявлена компьютером(с помощью знака переноса строки) и разобрана на части. Затем полученные значения могут быть отрисованы на графике и сохранены на жестком диске в файл лога, для дальнейшего анализа. Этим занимается моя программа(для Windows), которую я уже описывал тут: https://electrotransport.ru/index.php?msg=1548474

Конечно же вместо компьютера строчки может принимать другой микроконтроллер.  После этого он может переправлять их дальше по WiFi или BT сети, на MQTP серверы или куда душе угодно. Чуть позже покажу как это сделано у меня.


SapienzSPB

Всем привет.  Лето. Совсем стопорится работа по Уклону. Отрисовка платы движется совсем медленно. Связано с тем что вспомогательные модули проектируются совместимыми для трех уже имеющихся устройств и для будущих разработок. Плюс работа, дача. Решил добавить все же (опционально) в качестве вольтамперметра ADS1115 (15бит). Добавил (опционально) термодатчик и модуль охлаждения.
И на днях мне пришла в голову мысль по качественному снижению шумов от DC-DC преобразователя. Это позволит работать заряднику в качестве блока питания. Проверил в симуляторе - работает!!! Пульсации напряжения на выходе снизились с 150 мВ до 1,9 мВ.
Спойлер

В железе пока не проверял. Буду обкатывать тогда когда доделаю текущий вариант.   
Медленно, но движемся к цели.

SapienzSPB

#26
Спойлер
Веб морда.

Внешний вид чернового чистовика

График тока и напряжения лампочки 22 Вт

Колебания выходного напряжения до и после коррекции АЧХ XL4016 



Всем привет.
Собрал зарядник в кучу, для того чтобы проверить работоспособность всех узлов и правильность трассировки.
Работает! Силовую часть еще чуть подкрашу и отправлю Китайцам на приготовление.  С субмодулями еще поколдую чуть, и тоже закажу.
С данного момента железо есть.  Наступает время выводить софт из чернового варианта.  Встроить данные с ADS1115 в алгоритмы и подготовить материалы к выкладке.
Думаю через месяц - другой будет чистовой вариант зарядника.  Спасибо что следите за разработкой. Всем удачи!

Necromant

ADS1115 из опыта использования больше похож на обычный 10 бит ацп, 15 бит получается только на скорости 8 преобразований в сек, вероятно или оверсемплинг или реально медленный ацп. Рулить им быстрые процессы импульсного преобразователя я уж точно не стал бы
. Следить за аккумулятором даже 8 выборок в секунду вполне достаточно, а если использовать в режиме триггера, то вообще сказочный реалтайм получится, можно аппаратно вырубать силовой ключ, неважно чем занят микроконтроллер, пусть хоть висит. Все бы хорошо, но периодически у меня этот АЦП отваливается, приходится городить костыли с повторной инициализацией, причину не знаю, просто начинают идти нули по шине, АЦП в режиме непрерывного преобразования. И завелся он на низкой скорости только с этой библиотекой https://github.com/baruch/ADS1115 . Которая тоже с глюком, преобразования начинаются только после первого вызова adc.trigger_sample() .  Скоро выложу схему и скетч своей финальной трансформаторной моргалки на этой АЦП.

SapienzSPB

[user]Necromant[/user], я чесскать работал с этим датчиком мало. Несколько десятков аптаймов по четверо суток в среднем. Отвалов не было. Встроил его в ЗУ только в качестве показометра. Быстродействующие реакции садить на него не буду. Незачем, ибо моргалками не увлекаюсь. Только документированные производителями АКБ режимы, описанные в даташитах.
Пока только начал осваивать этот датчик. Через пару месяцев будет мнение о нем. Мне нужно чтобы на графиках рисовались красивые и точные кривые. 8 семплов в секунду для этого вполне достаточно. В общем пока опыта нет. Поднакоплю - отпишусь как он повел себя в данной реализации.

Darkweder

Цитата: Necromant от 10 Июль 2020 в 12:59
И завелся он на низкой скорости только с этой библиотекой https://github.com/baruch/ADS1115 . Которая тоже с глюком, преобразования начинаются только после первого вызова adc.trigger_sample() .  Скоро выложу схему и скетч своей финальной трансформаторной моргалки на этой АЦП.
Так отследите дебагером что там происходит
или вы не сами код писали?
«Невежество – мать злобы, зависти, алчности и всех прочих низких и грубых пороков, а также грехов»- /Галилео Галилей/.

Necromant

Библиотека не моя, естественно. Глянул в исходник, там автор запихнул в функцию проверки записи управляющего регистра, саму процедуру записи параметров преобразования.

Alex_Soroka

Цитата: Necromant от 14 Июль 2020 в 22:33
Библиотека не моя, естественно. Глянул в исходник, там автор запихнул в функцию проверки записи управляющего регистра, саму процедуру записи параметров преобразования.
рука-лицо...  :facepalm:
И вы с этим в реалтайм лезете ? Управлять зарядом АКБ, не зная что творится внутри "библиотека не моя" ?
O_O
:facepalm:

Necromant

Ну да, только ассемблер, только хардкор! Вообще-то ключевое слово в теме "Ардуино", как бы кэп намекает на использование среды Arduino IDE, со встроенными и сторонними библиотеками. При правильном построении алгоритма, сочетании аппаратной и программной защиты реалтайм без труда реализуется при процедурном программировании.

SapienzSPB

[user]Necromant[/user],  не обращайте внимания. Алекс анализирует ВАХ АКБ и ловит фронты и падения при воздействиях прерывающимся током. Даже целую свою теорию выдумал. Жаль практика ее не подтверждает. Ну а мне изначально все эти моргающие штуки были не интересны. А вот поглядеть графики заряда, разряда и внутреннего сопротивления - весьма полезно и полностью укладывается в закон Ома. Потому устройство представляет из себя "умный кипятильник" а по сути самое крутое ЗУ на рынке, ибо почти любой промышленный или исследовательский алгоритм может быть продублирован в нем с любыми дополнениями.

Добавлено 16 Июл 2020 в 00:24

Цитата: Alex_Soroka от 15 Июль 2020 в 09:15рука-лицо... 
И вы с этим в реалтайм лезете ?
Ну , Алекс, вам ведь до реалтайма  тоже ой как далеко!!! ))))

Alex_Soroka

Цитата: Necromant от 15 Июль 2020 в 10:52
Ну да, только ассемблер, только хардкор!
зачем хардкор?
"С" позволяет писать реалтайм, особенно когда соблюдать "рекомендации НАСА" по писанию кода  :hello:
и понимать КАК РАБОТАЕТ сам МК и вообще схема.
ЦитироватьВообще-то ключевое слово в теме "Ардуино"
и что? Там какие-то не такие МК внутри ? :)
Ардуино подразумевает упрощенную разработку но не требует отсутствия мозга у разработчика.  B-)
Писание "в линейку" процедурного программирования - это моветон для систем реалтайм. Книги бы почитали шоле про "системы управляемые событиями"  :hello:

Цитироватькак бы кэп намекает на использование среды Arduino IDE, со встроенными и сторонними библиотеками.
замечательно.
Процедурное программирование в чистом виде. Для игрушки наколенной - пойдет. Для серьезной устойчивой разработки - нет.
ЦитироватьПри правильном построении алгоритма, сочетании аппаратной и программной защиты реалтайм без труда реализуется при процедурном программировании.
Ой :) да что вы говорите ? Наверное сами писали такое ? и глюки сторонних библиотек тоже волшебно испарятся сами "при правильном алгоритме" ? да ?  ;-D :-D

Все - умолкаю.  B-) не мешаю писать "правильный алгоритм на чужих неизведанных библиотеках".  :hello:

Necromant

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