avatar_UriBas

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

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

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

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

UriBas

Цитата: geometr от 18 Дек. 2017 в 20:32...Я не претендую на оригинальность, но уменьшение заполнения ШИМ в режиме "добивки" вроде бы никто еще не реализовывал. Как показали мои испытания, этот вариант очень даже хорошо отрабатывает. АКБ вполне адекватно реагирует на уменьшение скважности даже на единицу, принимая ток в таком состоянии достаточно долго до следующего превышения порога в 14,4В. Да, время периода заряда и паузы выбрано практически основываясь на опыте этого форума, а кто скажет какое оно должно быть и по какому закону меняться? Ведь, насколько я смог понять, читая форум, знают его только несколько избранных
Да, я просмотрел в коде начало основного заряда,  на будущее - надо поподробнее описывать алгоритм, ведь здесь мы все учимся и поэтому  ,  чем больше информации тем быстрее можно разобраться, экономится время и т.д.
На счет алгоритма - на третьей странице ответ №44 там есть основные моменты, как регулируется пауза, длительность импульса, туда же еще можно включить и регулирование среднего тока ШИМом.    Если регулировать только ШИМом, то думаю, что этого будет не достаточно.. слишком большой диапазон ПОРЦИИ заряда надо регулировать -  в начале, в основном и в добивке..   
На странице 24 ответ №423 от Дункель есть скетч, в котором реализованы основные моменты адаптивного заряда..
Восточная мудрость - "Шакал воет - караван идет"  Эл.вел. 350Вт.   Верую в Иисуса Христа, НЛО.  тема "продвинутой моргалки" https://electrotransport.ru/index.php?msg=1669651

Кass

Цитата: UriBas от 18 Дек. 2017 в 19:04Адаптивным зарядом это называть рановато, поскольку адаптивный предполагает подбор ПОРЦИИ ЗАРЯДА  - т.е.  таких параметров как ток заряда или его среднего значения, а также паузы, длит импульса и пр.,  на всех этапах.

Все это есть в ШИМ. Если вы поддерживаете определенный ток или напряжение в среднем значении путем изменения заполнения, то это и есть подбор "порций заряда".
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

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

UriBas

Цитата: Кass от 18 Дек. 2017 в 21:44..Все это есть в ШИМ. Если вы поддерживаете определенный ток или напряжение в среднем значении путем изменения заполнения, то это и есть подбор "порций заряда".
Шим лишь регулирует средний ток..  и этого не достаточно.  Пауза и длительность импульса, сами по себе, являются своего рода стимуляторами заряда и каждый параметр оказывает уникальное воздействие на химию..  вот чего трудно понять ортодоксам от постоянного заряда.
Восточная мудрость - "Шакал воет - караван идет"  Эл.вел. 350Вт.   Верую в Иисуса Христа, НЛО.  тема "продвинутой моргалки" https://electrotransport.ru/index.php?msg=1669651

Dunkel

Цитата: geometr от 18 Дек. 2017 в 20:32Я не претендую на оригинальность, но уменьшение заполнения ШИМ в режиме "добивки" вроде бы никто еще не реализовывал.

Обкатываю сейчас нечто похожее, только у меня не совсем ШИМ, а просто одиночные импульсы с фиксированной паузой. Длительность этих импульсов уменьшается при уменьшении длительности пачки импульсов. А пачка укорачивается при достижении 14,4 либо дельты 0,6В.
В целом все работает неплохо,  вот только на коротких импульсах мосфеты начинают пищать.  Пробовал делать драйверы на рассыпухе - не помогло,  придется в лавку идти за нормальным драйвером.
Многофункциональная облачная моргалка/логгер:
https://morgalka78.wordpress.com/

Кass

Цитата: UriBas от 18 Дек. 2017 в 21:49Шим лишь регулирует средний ток..  и этого не достаточно. 

Так среднее значение тока и есть «порция заряда». ШИМ это импульсы, где каждый импульс и есть порция. Разная длительность импульса это и есть разные порции. :)
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

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

UriBas

Цитата: Кass от 18 Дек. 2017 в 23:32..Так среднее значение тока и есть «порция заряда». ШИМ это импульсы, где каждый импульс и есть порция. Разная длительность импульса это и есть разные порции. :)
Ну а если длительность паузы и импульса (модулирующих имп, а не заполняющих) постоянные и регулировка только по ШИМ заполняющих имп.  (как в случае у geometr) ?  - Об этом речь.  Да, регулировка порций будет, но такой регулировки будет недостаточно, диапазон порций слишком велик..  средний ток нужно поддерживать на определенном уровне, потому что это влияет как на качество заряда, так и на КПД.  Поэтому регулировка должна быть как по длит. имп. так и ШИМ.   Пауза тоже участвует в формировании порции, слишком длинная - теряется КПД, слишком короткая - тоже самое.   
Восточная мудрость - "Шакал воет - караван идет"  Эл.вел. 350Вт.   Верую в Иисуса Христа, НЛО.  тема "продвинутой моргалки" https://electrotransport.ru/index.php?msg=1669651

geometr

Цитата: UriBas от 18 Дек. 2017 в 21:35На счет алгоритма - на третьей странице ответ №44 там есть основные моменты, как регулируется пауза, длительность импульса, туда же еще можно включить и регулирование среднего тока ШИМом.    Если регулировать только ШИМом, то думаю, что этого будет не достаточно.. слишком большой диапазон ПОРЦИИ заряда надо регулировать -  в начале, в основном и в добивке..   
На странице 24 ответ №423 от Дункель есть скетч, в котором реализованы основные моменты адаптивного заряда..
Да, я прочитал всю ветку и видел эти посты. Если с отслеживанием дельты я могу согласится (в режиме основного заряда), то отследить скорость падения напряжения в 2-4 мВ/с на Ардуино возможно только усреднив измеренную скорость за достаточно длинную паузу.  Скетч Дункеля у меня вообще вызвал недоумение. Откуда у него там вызов чтения 16-бит АЦП? Если у него MassDuino, то и вызов будет [b-b]analogRead_16bits()[/b-b], а так у него в коде вызов обычного 10-битного АЦП? Да и как можно измерять напряжение каждую миллисекунду, если чтение значения 16-бит АЦП на MassDuino занимает 7 мс? В общем одни вопросы.
Цитата: Dunkel от 18 Дек. 2017 в 21:59Обкатываю сейчас нечто похожее, только у меня не совсем ШИМ, а просто одиночные импульсы с фиксированной паузой. Длительность этих импульсов уменьшается при уменьшении длительности пачки импульсов. А пачка укорачивается при достижении 14,4 либо дельты 0,6В.
В целом все работает неплохо,  вот только на коротких импульсах мосфеты начинают пищать.  Пробовал делать драйверы на рассыпухе - не помогло,  придется в лавку идти за нормальным драйвером.
У меня не пищат, хоть и использовал простейший драйвер

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

UriBas

Цитата: geometr от 19 Дек. 2017 в 01:27.. Если с отслеживанием дельты я могу согласится (в режиме основного заряда), то отследить скорость падения напряжения в 2-4 мВ/с на Ардуино возможно только усреднив измеренную скорость за достаточно длинную паузу.  Скетч Дункеля у меня вообще вызвал недоумение. Откуда у него там вызов чтения 16-бит АЦП? Если у него MassDuino, то и вызов будет [b-b]analogRead_16bits()[/b-b], а так у него в коде вызов обычного 10-битного АЦП? Да и как можно измерять напряжение каждую миллисекунду, если чтение значения 16-бит АЦП на MassDuino занимает 7 мс? В общем одни вопросы..
Да, так и мерится 2-4мВ/с через усреднение от 10 до 250 считываний.  Пауза длится достаточно долго - несколько секунд, чтобы измерить.  Скорости считывания вполне хватает, в том числе и на дельту, уже проверено в нескольких проектах..  у Дункеля ардуино мини на Меге328, у нее стандартная функция считывания = 15000/сек  так что за миллисекунду можно 15 считываний выполнить, а с ускорением и того больше.
Восточная мудрость - "Шакал воет - караван идет"  Эл.вел. 350Вт.   Верую в Иисуса Христа, НЛО.  тема "продвинутой моргалки" https://electrotransport.ru/index.php?msg=1669651

Alex_N

У меня есть регулируемый БП, переделанный от компа. В нем встроенное табло с индикацией напр. и тока, реализованное на ардуино.
Усреднять приходится по 500 измерений. Иначе сплошная "дребалыга".

geometr

Цитата: UriBas от 19 Дек. 2017 в 02:35Да, так и мерится 2-4мВ/с через усреднение от 10 до 250 считываний.  Пауза длится достаточно долго - несколько секунд, чтобы измерить.  Скорости считывания вполне хватает, в том числе и на дельту, уже проверено в нескольких проектах.
Если так, то реализовать - не вопрос. Вопрос в правильности такого подхода. Что-то мне подсказывает, что изменение скорости падения напряжения в период паузы носит явно нелинейный характер. Поэтому измеренное падение скорости будет сильно зависеть от длительности паузы и соответственно количества измерений. Ну да ладно. На Ардуино без внешнего АЦП все равно по другому, наверное, не сделаешь.
Цитата: UriBas от 19 Дек. 2017 в 02:35у Дункеля ардуино мини на Меге328, у нее стандартная функция считывания = 15000/сек  так что за миллисекунду можно 15 считываний выполнить, а с ускорением и того больше.
При использовании стандартной analogRead() у атмеги 328 практически около 8500 считываний в секунду.
Цитата: Alex_N от 19 Дек. 2017 в 07:50У меня есть регулируемый БП, переделанный от компа. В нем встроенное табло с индикацией напр. и тока, реализованное на ардуино.
Усреднять приходится по 500 измерений. Иначе сплошная "дребалыга".
Вам прежде всего помехи нужно побороть от БП. У меня такой проблемы нет, хотя источник питания тоже переделан из компьютерного.

Dunkel

Цитата: geometr от 19 Дек. 2017 в 01:27Скетч Дункеля у меня вообще вызвал недоумение. Откуда у него там вызов чтения 16-бит АЦП? Если у него MassDuino, то и вызов будет analogRead_16bits(), а так у него в коде вызов обычного 10-битного АЦП?
Изначально скетч был для 16-битного АЦП Массдуино, а потом переделывался под Промини, для сравнения. Сравнение показало, что результаты измерений не сильно отличаются и можно считать усреднение 128 измерений на Промини эквивалентом 16-битного АЦП. Поэтому и название процедуры не менялось.
Многофункциональная облачная моргалка/логгер:
https://morgalka78.wordpress.com/

Alex_N

Насколько оправдано использование БП от ноутбука ? Есть 6,5 А.
Для управления моргалкой было бы удобно ввиду относительной компактности последнего. Может кто пробовал ? Вдруг какие то подводные камни есть.

ИС-Х

Цитата: geometr от 19 Дек. 2017 в 09:38Что-то мне подсказывает, что изменение скорости падения напряжения в период паузы носит явно нелинейный характер.
Конечно, там же почти по экспоненте.
Пауза достаточно длинная, поэтому вполне достаточно контролировать скорость падения в ней раз в секунду, т.е. раз в сек делать множество срезов и усреднять для нивелирования шумов АКБ и дискретности. В паузе помех от БП нет.
В итоге, ошибка в расчете паузы не превысит 1 сек.
Если контролировать чаще, то ловить  2-4мВ/сек невозможно, да и нет смысла из-за сильных шумов АКБ.
Я у себя делал оверсемплинг (передискредитацию) на 13 виртуальных разрядов и пытался контролировать чаще, но каких-то заметных улучшений точности паузы не получил. В итоге, контролирую скорость падения раз в 2 сек, каждый раз суммируя 32 среза АЦП за 1 мсек и этого вполне достаточно.
Моя первая моргалка: https://electrotransport.ru/index.php?msg=588520
Вторая моргалка: https://electrotransport.ru/index.php?topic=31184.0
Третья моргалка: https://electrotransport.ru/index.php?msg=1130718
Еще в багажнике валяется BL1204 на всякий пожарный...

Dunkel

Цитата: Alex_N от 19 Дек. 2017 в 10:50
Насколько оправдано использование БП от ноутбука ? Есть 6,5 А.
Для управления моргалкой было бы удобно ввиду относительной компактности последнего. Может кто пробовал ? Вдруг какие то подводные камни есть.

Подойдет любой БП 18-20В.
Только управлять моргалкой все-таки лучше с помощью МК, а не БП.
Многофункциональная облачная моргалка/логгер:
https://morgalka78.wordpress.com/

geometr

.
Цитата: Dunkel от 19 Дек. 2017 в 10:32Изначально скетч был для 16-битного АЦП Массдуино, а потом переделывался под Промини, для сравнения. Сравнение показало, что результаты измерений не сильно отличаются и можно считать усреднение 128 измерений на Промини эквивалентом 16-битного АЦП. Поэтому и название процедуры не менялось.
Понятно.
Цитата: ИС-Х от 19 Дек. 2017 в 10:53В итоге, контролирую скорость падения раз в 2 сек, каждый раз суммируя 32 среза АЦП за 1 мсек и этого вполне достаточно.
Наверное, лучше будет реализовать измерения на прерывании в режиме непрерывной выборки. Так можно максимально минимизировать погрешность самого АЦП. Во всяком случае, нужно сделать по максимуму все, что может улучшить измерения. Ну а шумы придется игнорировать

ИС-Х

Цитата: Кass от 19 Дек. 2017 в 13:40Вот поэтому либо внешние АЦП по уму нужно цеплять, или просто другой МК выбирать.
Это не поможет. Ибо это химия вносит заметные шумы, шибко фильтровать надо.
Моя первая моргалка: https://electrotransport.ru/index.php?msg=588520
Вторая моргалка: https://electrotransport.ru/index.php?topic=31184.0
Третья моргалка: https://electrotransport.ru/index.php?msg=1130718
Еще в багажнике валяется BL1204 на всякий пожарный...

Alex_N

"Только управлять моргалкой все-таки лучше с помощью МК, а не БП."
Согласен, я просто не так выразился.

Alex_N

Ещё вопрос : напряжение "моргания" я так понимаю нужно подбирать исходя из потребления акб - 0.1С.
А если не берёт, можно повысить напряжение до 20..30В ?