avatar_Паяка

Универсальный модуль разрядной моргалки для Ардуино и не только

Автор Паяка, 17 Сен. 2018 в 15:11

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

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

Паяка

[b-b]Простое разрядное мини-устройство[/b-b] на PIC16F628A и 3-разрядном 7-сегментном индикаторе. Фиксированный ток, (зависит от используемого ИТУН и радиатора), индикация отданной ёмкости, 7 переключаемых порогов завершения 7.5, 9, 10.125, 10.5, 11.25, 12, 12.37В, запоминание в энергонезависимой памяти ёмкости и порога. Автоотключение индикации через минуту после завершения разряда. Возобновление разряда после потери и восстановления контакта. Полностью готовая рабочая версия со схемой, платой, прошивкой, исходниками. Калибруется с кнопок, без перепрошивки.


Вводные данные темы
Думаю, есть смысл начать отдельную тему, в которой будет разработан и обнародован простой и нужный модуль, который каждый желающий сможет повторить. Техзадание следующее.


  • Регулируемый разрядный ток до 10 или 20 ампер.
  • Регулируемые двухпороговые качели.
  • Подсчёт слитых ампер-часов и ватт-часов.
  • Возможность управления не только от Ардуино, но и процессорных модулей от ув. [user]Kass[/user], а также других МК и ЭВМ, имеющих два входа АЦП и средства реализации ШИМ.

Первоначальные соображения следующие. Амплитуду импульса тока устанавливаем примерно 10А резистором в виде 120-ваттной 12-вольтовой лампочки. Чтобы не спалить холодную нить, делаем плавный старт. Если нужно 20А, механическим или электронным переключателем подсоединяем вторую такую же лампочку в параллель. Предусматриваем возможность сообщить об этом микроконтроллеру, чтобы не пересчитывать показания вручную. Для регулировки интегрального тока используем ШИМ. Коммутация N-канальным полевым транзистором с низким Rds_on, (народный IRF3205 годен вполне), с драйвером затвора, ибо ШИМ, а не медленный прерыватель, измерение тока шунтом, дабы не требовалась калибровка.

Для измерения напряжения будет использована растянутая шкала на схеме сдвига уровня (аналоговом вычитателе), при помощи ОУ LM358, для гурманов NE5532. При 10-битном АЦП это обеспечит разрешение 5 мВ. В качестве опорного источника подойдёт LM1117-5.0, у неё неплохая начальная точность и стабильность. При желании, для повышения точности и разрешающей способности можно использовать внутреннюю опору МК, при её наличии, или внешнюю.

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

Чтобы не слепить никого лампочками, а также предохранить их от загрязнения насекомыми, (что галогенкам смерть), помещаем их внутрь корпуса и предусматриваем опцию управления вентилятором.

Есть смысл сделать печатку под SMD и разводку под макетку, для общедступности.

Задача простая, подобные вещи наверняка уже упоминались, но они погребены в сотнях страниц, и в свете разработки форумной модульной платформы для развития темы эксплуатации СА по инициативе ув. [user]Kass[/user], предлагаю удостоить нужное устройство отдельной темы.
GT TF1 60V 20Ah Chilwee DZF

Паяка

#1
Силовой ШИМ есть смысл сделать аппаратным, для совместимости со всеми МК. Можно сделать аппаратным и двухпороговый компаратор, тогда его уровнями можно управлять с переменных резисторов, а регистрировать слитое с помощью умной и недорогой китайской коробочки.



Думаю, именно так и поступлю, для создания максимально универсального разрядного модуля, имеющего входы управляющих напряжений (с ЦАП, интеграторов сигнала ШИМ или потенциометров) для установки тока и порогов (входной диапазон 0..5 или 0..3,3В), а также выходы с шунта, усилителя его сигнала и растянутой шкалы (тот же диапазон). У компараторов качелей шкала будет тоже растянутой. Потребуется чуть больше компонентов, зато получим действительно многофункциональный модуль, работоспособный сам по себе и умеющий общаться с микроконтроллером или одноплатником. Потому переименую тему.
GT TF1 60V 20Ah Chilwee DZF

Серик

#2
Приветствую Всех Форумчан!
Здравствуйте, Уважаемый Паяка!
Поддерживаю!
К тому же хотелось бы, что бы под это дело была озвучена "теория" или идея!
Плюс выбор порогов разряда для разного количества элементов в сборке: 1;2;3;4;5; и 6 элементов.
Если проект будет несложный, постараюсь повторить.
:-)

igrun81


Кass

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

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

Паяка

Цитата: Серик от 17 Сен. 2018 в 16:08Плюс выбор порогов разряда для разного количества элементов в сборке: 1;2;3;4;5; и 6 элементов.
Если проект будет несложный, постараюсь повторить.
Проект будет несложный. Место под субмодуль масштабирования предусмотрим сразу, но разработаем его в последнюю очередь, когда базовое разрядное устройство будет готово и действовать.

Цитата: Кass от 17 Сен. 2018 в 20:33Это как у меня на стенде получается? У меня тоже ШИМ и качели.
Да, только всё будет реализовано аппаратным аналоговым путём, с управлением тремя напряжениями: установки тока, верхнего и нижнего порогов, а также цифровые входы включения и переключения масштабирования. Питание тоже можно будет организовывать по-разному, в зависимости от сетапа. Так получится самодостаточный модуль, путём добавления 3 потенциометров превращающийся уже в самостоятельный прибор, а также способный работать под управлением разных МК, ПЛК, одноплатных ЭВМ,  и так далее.
GT TF1 60V 20Ah Chilwee DZF

Паяка

#6
Что самое важное в разрядном устройстве? Регулировка тока? Ничуть не менее важна регулировка напряжения окончания разряда, а также порога возобновления разряда, получим качели для выкачки ёмкости.

Для сопряжения с микроконтроллерами, повышения разрешающей способности и точности настроек, применяется растянутая шкала напряжения. С неё мы и начнём разработку нашего модуля. Для работы использую KiCAD 4.0.7, буду выкладывать исходники проекта, а также схемы с комментариями и файлы производства для изготовления плат.

В простейшем случае, наша моргалка питается от разряжаемой 12-вольтовой АКБ, т.е. диапазон питания составит 10-13,4 В. Вплоть до 24-вольтовой АКБ, операционные усилители (ОУ) LM358 и LM324 можно питать напрямую от АКБ, в однополярном включении. Выбор этих ОУ связан с их распространённостью и дешевизной, весьма неплохими параметрами для нашей задачи, (медленные сигналы, допуск по входному смещению), способностью работать с входными и выходными сигналами от минусовой, (в нашем однополярном случае земляной) шины питания, т.е., выдавать на АЦП напряжение от нуля и усиливать сигнал токоизмерительного шунта в общем (минусовом) проводе.



Выбор номиналов резисторов связан с тем, что выходные каскады LMx58 и LMx24 способны дотягивать до минусовой шины током не более 50 мкА, при превышении которого выходное напряжение поднимается до величины прямого падения на P-N переходе (диоде, 0.5-0.6В), что портит весь низ шкалы, если этого не учесть.

Операционный усилитель - это устройство, поддерживающее напряжение на выходе таким, чтобы напряжения на двух его входах, инвертирующем (-) и неинвертирующем (+) сравнялись. Входные токи ОУ при нормальной работе, (упрощённо говоря), пренебрежимо малы.

Такие волшебные свойства ОУ позволяют умелому схемотехнику простыми средствами решать великое множество задач. Например, нам нужно отнять от напряжения аккумулятора 10 вольт, чтобы получить рабочий диапазон растянутой шкалы, внутри которого будут производиться все измерения. Для разрядного устройства (Uакб-10) будет как раз в пределах от 0 до 3.3В, что позволяет подавать это напряжение на вход АЦП 3.3-вольтового МК (через небольшой резистор или буферный повторитель) напрямую, а в случае 5-вольтового, для эффективного использования разрешающей способности, можно умножить в полтора раза, сделав буфер масштабирующим. Так как АЦП распространённых микроконтроллеров довольно сильно шумят во входную цепь, (вследствие не только наводок с цифровых цепей, но и процесса перезарядки конденсатора схемы выборки-хранения, осуществляемого непосредственно со входа МК), а напряжение растянутой шкалы будет использоваться ещё и для компараторов качелей, примем наличие буферного повторителя обязательным.
GT TF1 60V 20Ah Chilwee DZF

Паяка

#7
Схема, чтобы не листать
Напряжение на неинвертирующем входе 3 нашего ОУ устанавливается делителем R1R2 на уровне трети напряжения АКБ. ОУ будет поддерживать напряжение на выходе таким, чтобы напряжение на инвертирующем входе 2, благодаря отрицательной обратной связи (ООС) через резистор R5 с выхода на инвертирующий вход, сравнялось с напряжением неинвертирующего входа, т.е. составило Uакб/3.

Для расчёта делителя напряжений R4R5 вспомним закон Кирхгофа: сумма токов, втекающих в узел цепи, или вытекающих из него, равна нулю. И конечно же закон Ома: падение напряжения на резисторе равно отношению протекающего тока к сопротивлению. А закон Джоуля-Ленца нам тут не понадобится, т.к. токи измеряются микроамперами, и рассеиваемые на резисторах мощности - микроваттами. Можно смело ставить "пылинки", низкое напряжение позволяет. Мощность рассеивания придётся учесть, когда приступим к расчёту силовых цепей.

Примем для краткости R=75k, Uвх = Uакб/3. Получим уравнение:
(Uвх-5В)/R + (Uвх-Uвых)/2R = 0. Умножим левую и правую часть на 2R:
2(Uвх-5В) + Uвх - Uвых = 0.
3Uвх - 10В = Uвых. А т.к Uвх = Uакб/3, получаем
Uвых = Uакб-10В, что нам и нужно.

Конденсатор C1 добавляет нашему аналоговому вычитателю функцию фильтра низких частот (ФНЧ), интегратора, или просто сглаживающего фильтра. Его циклическая частота среза равна единице, делённой на постоянную времени цепочки R5C1, а постоянная времени рассчитывается как произведение сопротивления и ёмкости (1мкФ*1МОм=1с). При данных номиналах, частота среза будет 14,2 радиан в секунду, что эффективно отфильтрует наводки от электросети, ШИМ и цифровых цепей. Резистор последовательно с конденсатором для снижения добротности цепи частотной коррекции с целью направления переходных процессов в апериодическое затухающее русло в данном случае ставить не требуется, т.к. здесь у нас не цепь ОС, требующая предотвращения самовозбуждения.

Входные цепи измерения напряжения ЗУ Бережок-Авто построены по подобной схеме, но без функции сглаживающего (интегрирующего) ФНЧ, т.к. фильтрация и помехозащита применены цифровые.
GT TF1 60V 20Ah Chilwee DZF

Паяка

Прежде чем строить компараторы низа и верха качелей, определимся с ШИМ-контроллером, который они будут включать и отключать. Требования к нему следующие.

  • Встроенный драйвер нижнего ключа - N-канального MOSFET.
  • Вход усилителя ошибки для организации ОС по току, (отключать можно тоже через него).
  • Стабильная работа от 10 вольт.
  • Максимальный коэффициент заполнения ШИМ, близкий к 100%.
Из общедоступно-дешёвого этим требованием удовлетворяет UC3843, им и воспользуемся, чтобы не городить лишнюю сложность, громоздкость и дороговизну. Внимание! UC3842, 44 и 45 не подходят, т.к. требуют более высокого напряжения питания и/или ограничивают Кзап до 50%.
GT TF1 60V 20Ah Chilwee DZF

Паяка


Добавим масштабирующий усилитель и стабилизаторы питания. Если посадочное место R3 свободно, напряжение на выходе U1B равно напряжению на неинвертирующем входе, т.е. ОУ работает буферным повторителем напряжения. Если установить R3 = 2R6, напряжение на выходе составит 3/2 входного, т.е. его размах расширится от 0..3,3 до 0..5В, как раз на всю шкалу АЦП с опорой, равной напряжению питания МК.

Микросхемы линейных стабилизаторов выбраны с мощностью, достаточной для питания Ардуино с LCD keypad shield от 12В аккумулятора.

Для повышения точности цифрового измерения напряжения, можно было добавить ещё и LM1117-3.3, и сделать переключение входа сдвига уровня на тот стабилизатор, от которого питается МК, но нам в данном проекте такая точность не требуется. При желании данный вариант можно реализовать, поясню, когда модуль будет разработан.
GT TF1 60V 20Ah Chilwee DZF

Паяка


Зачем 2 стабилизатора? Дело в том, что точные LDO (low dropout) стабилизаторы, такие, как 1117, не любят высоких входных напряжений. И рассеиваемая мощность, равная произведению разности входного и выходного напряжений на ток, при питании, например, ЖК-экрана с подсветкой, окажется слишком большой. К тому же, 2 последовательных стабилизатора сто́ят и занимают места немного, зато гораздо лучше стабилизируют, и служат активными фильтрами.

Коль скоро у нас в схеме появилось стабилизированное напряжение +9В, запитаем от него ОУ, предварительно удостоверившись, что даже при максимальной просадке входного питания (до 10В) напряжение питания ОУ обеспечит нормальную работу в целевом диапазоне их входных и выходных напряжений.

В готовом модуле сделаем съёмные или запаиваемые перемычки, чтобы можно было реализовать разные варианты питания: от АКБ, источника питания управляющего модуля, питание управляющего модуля (например, Ардуино с упомянутым шилдом и энкодером для удобства настройки) от АКБ через моргалку, и так далее. Это одно из правил хорошего тона при разработке девелоперских и хоббийных модулей, чтобы пользователю не приходилось резать дорожки, выпаивать детали, колхозить не предусмотренные, но понадобившиеся выводы.
GT TF1 60V 20Ah Chilwee DZF

Alex_Soroka

Цитата: Паяка от 17 Сен. 2018 в 23:46
Вплоть до 24-вольтовой АКБ, операционные усилители (ОУ) LM358 и LM324 можно питать напрямую от АКБ, в однополярном включении.
удачи.
При импульсном воздействии на АКБ ОУ будут забиты помехами от импульсов.  :hello:
А если вы всё сгладите по входам (что вы и делаете) то вместе со сглаживанием уйдут и "полезные знания" об отклике АКБ на воздействие.
Замкнутый круг...
а в результате у вас получится обычная "моргалка", только с наворотами в виде ненужных лишних ОУ и цепей, которые потом еще надо настраивать, чтобы все это заработало.


Паяка

[user]Alex_Soroka[/user], здесь и здесь Вы предлагаете научиться и разрядное устройство сделать адаптивным, чтобы отлавливать процессы в отдельных банках последовательной батареи? Перспектива весьма желанная и нужная. Тогда, а также в случае, если растянутая шкала будет применяться и для заряда, а не только разряда, интегрирующую функцию с вычитателя растянутой шкалы можно убрать, (убрав конденсатор С1), или поднять частоту среза, (снизив его ёмкость).

У Бережка-Авто аналогового ФНЧ по входу вообще нет, только цифровая фильтрация. Но у меня длинные импульсы сглаженной, за исключением фронта, формы. Если же модулировать так, что пики модуляции выше 15В, надо либо расширять диапазон измерения, но тогда 10 бит перестанет хватать, и оверсемплинг мало поможет, либо намеренно допустить и учесть клиппинг входной цепи, но это исказит измерения, либо... построить 2 входных тракта: один с аналоговым интегратором и растянутой шкалой  10..15В, другой со шкалой 10..20В, например, и ловить им с него только пиковые значения, отдельным входом АЦП. Кстати, пиковый вольтметр так и просится сделать аппаратным, на устройстве выборки-хранения, это ещё несколько дополнительных деталек, зато быстродействие программы в МК перестанет влиять на работу с пиковыми значениями. Сбрасывать аппаратное УВХ по команде с МК.

Модуль планируется универсальный, потому стараюсь предложить коллегам разные варианты и возможности, под разные методы эксплуатации СА.
GT TF1 60V 20Ah Chilwee DZF

Alex_Soroka

Цитата: Паяка от 18 Сен. 2018 в 13:00
У Бережка-Авто аналогового ФНЧ по входу вообще нет, только цифровая фильтрация.

Вы не заблудились ?
Напомню - эта тема называется
Универсальный модуль разрядной моргалки для Ардуино и не только

Вы-же занимаетесь (прямо и нагло) рекламой вашего ЗУ в этой теме, хотя тут явно написано про Ардуино.
Причем тут не про ЗУ а именно про "разрядной(!) моргалки".

Паяка

[user]Alex_Soroka[/user], я привожу примеры из тех технических решений, которые могу упоминать без нарушения авторских прав. Для того чтобы пояснить уважаемым коллегам, какие решения для каких методов лучше подходят, а какие нет.

Предлагаются разные варианты построения входного тракта по напряжению, для применения с разными МК, АЦП, средствами масштабирования. Первый приоритет на данный момент - создание универсального разрядного модуля, способного работать полностью самостоятельно, питаясь от разряжаемой 12В АКБ, будучи настраиваемым тремя переменными резисторами, (их можно просто проградуировать). Установка тока, нижний порог отключения разряда и верхний порог возобновления разряда. Также, предусмотрена возможность управления с любого синтезатора напряжений, и вывод сигналов напряжения и тока в оптимальной для встроенных АЦП распространённых МК (Атмел, PIC) форме. Как минимум, это нужно для подсчёта ампер-часов и ватт-часов.

Также поясняю, что при встраивании модуля в зарядно-разрядный комбайн, диапазоны и частотные характеристики напряжений меняются, причём в зависимости от того, какие применяются способы воздействия на АКБ.

Я не реверс-инженер, у меня нет схем Ваших ЗУ, BL1204, Кулона-912, нет пыльных ветхих свитков с антикварными схемами и алгоритмами СТЕК, а есть опыт коллег из книг, статей, лекций и свои наработки. Делясь сниппетом, привожу его контекст.

Применение продвинутых МК с многоразрядными АЦП и встроенными масштабирующими усилителями избавляет от необходимости в дополнительных функциях внешнего входного тракта. Но мне хочется, чтобы для пользования разрядным модулем было не обязательно иметь продвинутый процессорный модуль или даже Ардуино. Чтобы базовые функции были доступны в модуле без посторонней помощи, а добавление других модулей функционал расширяло, но не было обязательным.
GT TF1 60V 20Ah Chilwee DZF

Паяка

Возлагать, например, на встроенные компараторы МК функции управления ШИМ хорошо на этапе оптимизации при доводке до серийного образца готового прототипа. Но для модульной хоббийно-девелоперской системы независимость модулей крайне важна. Не всегда, и не для каждого возможно выделить ресурсы МК под определённую функцию без ущерба для качества выполнения её и других функций. Потому в этом модуле будут аппаратные УПТ, компараторы, триггер, аппаратный ШИМ с драйвером ключа, аппаратная защита от переполюсовки, собственный субмодуль питания. Использовать все субмодули или их часть, - решать тому, в чьих руках модуль. Для этого предусмотрим перемычки. Звучит оно сложно, а реализуется просто, на нескольких детальках и  квадратных сантиметрах платы. И даёт возможность реализовывать на процессоре именно алгоритм управления процессом взаимодействия с АКБ, а не обслугу. Либо простейший алгоритм разрядных качелей вообще без процессора, если уважаемому коллеге нужно просто разрядное устройство.
GT TF1 60V 20Ah Chilwee DZF

Паяка

Для реализации качелей необходимы 2 компаратора: один срабатывает, когда напряжение на клеммах ниже заданного порога, и отключает разряд. (При питании от АКБ, модуль продолжает брать от неё небольшой ток; есть смысл в программе процессорного модуля предусмотреть отключение подсветки дисплея, когда она не нужна.) Второй срабатывает при повышении напряжения до порога возобновления разряда. Но что делать в промежутке между этими порогами?

Нам понадобится простейшая ячейка памяти, или RS-триггер. Компаратор низа будет его сбрасывать, компаратор верха - устанавливать в логическую 1. Начиная с момента, когда напряжение упало до нижнего порога, разряд отключен, пока оно не поднялось до верхнего порога, и наоборот, включен вплоть до момента касания низа.

Так работает множество грамотных схем релаксационных генераторов, (мультивибраторов и одновибраторов), использующих RC-цепь в качестве времязадающей, что используется, например, в ШИМ-контроллерах.

Компараторы верха и низа, а также RS-триггер, имеются в 555 таймере, и включены как раз так, как нам для качелей нужно. При увеличении отображается оригинал картинки, он анимированный (при этом весит, не бойтесь, всего 80 кБ).



Что удивляться, релаксационный заряд и разряд качелями, естественно, образуют релаксационный генератор, как на картинке! Но, к сожалению, старый добрый интегральный таймер не позволяет выставить 2 порога независимо друг от друга. (Это возможно путём ухищрений со смещениями, но сведёт на нет преимущество однокорпусного решения). Потому компараторы реализуем на ОУ, на них же можно воплотить и триггер, чтобы не тащить в проект К1ЛБ553, бистабильную схему на двух транзисторах или нечто подобное.  :-D Здесь не журнал Радио, а тема по разработке модуля для улучшения практики обслуживания АКБ в 2018 году.
GT TF1 60V 20Ah Chilwee DZF

Паяка

Александр Васильевич, я же не собираюсь ограничить функционал модуля "тупыми" качелями! Зато их модуль сможет осуществлять сам, без всякого управления с процессора. Добавление которого позволит реализовать адаптивный разряд с определёнными целями, зарядно-разрядный комбайн, и так далее, (если пользователи модуля создадут или получат в распоряжение подобающие реализации соответствующих алгоритмов).

Можно качели и на отдельном микроконтроллере вместо счетверённого ОУ реализовать, взаимодействовать с ним по цифровому протоколу, получится другой вариант "многоядерности" системы. Тогда число резистивных делителей останется примерно тем же, или даже снизится, зато понадобятся шины цифровой связи и внутрисхемной прошивки. Это сложнее, и "простому аккумуляторщику" уже не подключить "три крутилки", понадобится обязательно пульт с экраном и средствами ввода, или беспроводной связью со смартфоном, планшетом и т.д. В мощных деловых решениях как раз так и надо, но там совершенно другая специфика, цена вопроса и порог вхождения.
GT TF1 60V 20Ah Chilwee DZF