Открытый проект универсального зарядника
Без обратной связи ТЛ рулиться не будет. Будет зашкаливать в крайности.
Для SEPIC максимальный шим 0xffff * 33% = 0x5555
Насчет усреднения все правильно: Сначала все складываем, потом переводим в число с плавающей потом масштабируем и делим на 32.
Просто если все блокировочные питание конденсаторы по плате вместо 0.1 поставить 10 мкф … - то это два порядка разницы. Которые существенно уменьшат шумы на водку.
Неверно.
Бесполезно заменять фильтрующие конденсаторы емкостью 0.1 мкФ на более ёмкие.
Если хочется хорошего подавления помех во всем диапазоне частот - ставьте параллельно три конденастора: 0.01, 0.1 и 1 мкФ (или 10 мкФ вместо последнего, если так хочется).
Искал оригинал статьи на эту тему, пока не нашел - объяснение “на пальцах”: каждый конденсатор имеет резкий минимум своего импеданса на вполне определенной частоте (собственная резонансная частота конденсатора, зависит от емкости).
Соответственно, заменяя конденсатор 0,1 мкФ на 10 мкФ мы сдвигаем максимально эффективный диапазон подавления помех в более низкочастотную область, а ВЧ шумы - увеличиваются.
Жалко что статья не в ХТМЛ и в ней нету ссылочек на PonyProg к примеру.
А что мешает вставить ссылочки в статью PDF? Пусть автор добавит.
P.S. Надо будет на досуге подумать про дифференциальные входы для балансира - ибо очень хочется иметь нормальный балансир.
Без обратной связи ТЛ рулиться не будет. Будет зашкаливать в крайности.
Ну а мы её заставим - либо симуляцией обратной связи либо прямым управлением выходной скважностью по 3 ноге ТЛ - нету проблемофф.
Для SEPIC максимальный шим 0xffff * 33% = 0x5555
Понял, ограничения чисто программное.
Сначала все складываем, потом переводим в число с плавающей потом масштабируем и делим на 32.
А здесь не понял - зачем плавающая точка, что-бы код длиннее стал от флоат библиотек ? И так уже 2/3 из 32к насколько я заметил использовано. Или я не туда поглядел ?
Фиксированная точка более чем достаточна. И алгоритмик я уже выше описал - там нету флоат представления чисел. И потери точности - тоже нету.
Кстати, при значении ШИМа 0D30 на выходе фильтрика наблюдается максимальный размах пульсаций более 60 милли вольтиков, 20 милли вольтиков средне квадратичного - фото прилагается. Частоту ШИМа надо повышать однозначно ценой снижения разрядности.
Насколько мне представляется симулировать обратную связь для TLки крайне затруднительно.
Как вы себе это представляеете?
каждый конденсатор имеет резкий минимум своего импеданса на вполне определенной частоте (собственная резонансная частота конденсатора, зависит от емкости).
Согласен, но в немного другой формулировке - “Зависит от технологии изготовления конденсатора”.
А я и не предлагал ставить электролиты 10 мкф. Я предлагаю ставить керамику, кстати которая специально расчитана что-бы ГИГА герцовые шумы питания под 100А гасить в П4 матерях. (это я говорю из предположения, что наибольшая мощность шума цифровой схемы будет где-то рядом с её тактовой частотой, а ток питания ядрышка П4 легко представить, зная его напряжение чуть более вольта и мощность нередко более 100 Вт).
Сижу вот и думаю что делать дальше.
симулировать обратную связь для TLки
мне кажется достаточно просто - учитывая 300 КГц на выходе генератора ТЛ - интегрируем выход ТЛ или ЛИ1 простой RC цепью с постоянной к примеру 1 милли секунда, результат интегрирования подаём на ТЛ как результат замера тока. Поведение схемы при такой маленькой добавке (RC цепочка) должно быть похоже на поведение схемы при напаянном/исправном преобразователе/измерителе тока/резистивной нагрузке.
Но вот чего-то мне опять кажется, что управлять неизвестным преобразователем через стабилизатор с неизвестным коэфф усиления - нету особого смысла, результат будет похож на прямое управление выходной скважностью ТЛ через 3 ногу - всё-равно прога осторожничает и набавляет жару постепенно.
Если говорить про программное ограничение величины выхода ШИМа 1/3, определённое опытным путём - то опять - путаем причину со следствием, даже дважды.
На мой взгляд правильнее (раз уж так хочется) разделить на 3 резисторным делителем сигнал с 18/19 ног меги. Ну а делитель конечно посчитать с вых сопротивлением 8К06 раз уж этого требует фильтр. Ну а диапазон регулировки ШИМа оставить 0-100%. Или выходной делитель всё-таки оставить.
Второй момент - на преобразователь действует выход ТЛ, а не её вход. В итоге вопрос - раз уж для СЕПИКА так важно не превышать максимальный коэфф заполнения генератора, почему на 4 ноге ТЛ нулевой потенциал ? Там надо скока-то выше нуля (думаю что 1.5-2 вольтика), что-бы сама ТЛ не могла при ЛЮБОМ входном управляющем сигнале сделать выходной коэфф заполнения более чем максимально допустимый исходя из особенностей силового преобразователя.
Ну и про силу. Я пока скорее всего пойду лёгким путём - возьму 350 Вт БП от компа, в нём ТЛ уже есть, и подведу к ней потенциал управления от внешнего мозга, а обратные связи по току/напряжению заведу обратно в мозг. В итоге - смогу баловаться далее без изготовления силы. Правда не смогу выдать более 16 вольт выходного напряжения - но енто пока что и не нужно.
Убить банку лития с логами на компе можно и 5 вольтами.
Psw не ищет легких путей, но идеалогически правильные! (это про управление компутерным БП ❗)
Надо не забыть в V1.1 поставить ограничитель на максимальную скваженность. Я просто пока до максимума не доводил. Может ктонибудь из экстремалов это сделает. После 6 перепаянных транзисторов решил пока прогу по совершенствовать в том числе и защита по току и напряжению уже добавлена.
Не успеваю переписывать прогу за полетом мыслей Psw.
- Передатчик УСАРТ постоянно включен.
- Частота КОМ повышена
- +5 на линии TXD
- подстройка напряжения в каналах и +12 кой чего оптимизировалось поэтому.
- Дописать статью про это все и ссылку.
- Заткнуты дыры в БП.ЕХЕ от зависаний. Правда могут появиться другие последствия. Разрешено копирование в буфер лога.
- Повышена частота ШИМ в 2 раза и приделана возможность изменения ее только меняя одну константу.
Выложу во вторник.
Не поленился сфотать специально для R2D2 мегу с той самой 10 мкф керамикой на борту 3 штуки -
разводка платы, шумы внешние, шумы меги, ФНЧ+ТЛ <> а внутри меги конденсаторов не добавишь.
паять не сложнее, чем домик из СМД резисторов. Паразитная Индуктивность - она погонная, чем длиннее провода, тем выше. Соответственно, чем ближе к ядрышку керамика, тем лучше. (Не зря Интел на дно своих проциков керамику паяет - а мы чем хуже ?). Высоко частотный шум должна резать - сильнее уже некуда.
Собрал конструктив из комп БП в качестве силы и выносного мозга. БП дежурного режима оказался стабилизированным +5 и +12 вольт источником - красота. Отрезал от ТЛ лишние цепи, на её внутреннем ОУ сделал инвертирующий усилитель с близким к 1 коэфф усиления - это что-бы не пришлось в проге чего-либо менять, ну и на 4 ногу на всяк пожарный подал 1 вольтик.
Из-за плохого поведения фильтра на ЛМ при входе выше 3.7 вольта (питаю ЛМ от 5 вольт - паять второй стабилизатор пока лень) - Пересчитал делитель 0,7 после 18/19 ног - но обложался, на память расчитал 18К06, подобрал и запаял 3 резистора 24К+1К5 и 62К, а потом в схеме увидел, что нужно было 8К06 посчитать - завтра пере паяю резисторы. Думаю что из-за слишком высокого на входе начинает открывать ТЛ при значении ШИМ 0х5000 примерно - но что хотел я всё-таки увидел - пульсации сигнала управления 250 Гц, которые проходят через фильтр на вход ТЛ - всё так же и присутствуют на выходе, если преобразователь лампочкой пригрузить - как и следовало ожидать. Размах конечно не высокий - около 50 милли вольтиков, но у меня нету усиления самой ТЛ. А в случае если ТЛ будет стабилизатором тока, пульсации сигнала управления могут усиливаться на выходе, раскачивая схемку. И ещё один программный способ борьбы за точные измерения такого пульсирующего напряжения - синхронизация. Ну то есть в целое число периодов ШИМа ( с частотой к примеру 250 Гц) должно укладываться всегда одинаковое число АЦП преобразований по этому каналу. Тогда мы будем видеть среднее этих пульсаций, и младшие разрядики будуть меньше бегать. А если к примеру пойти сразу двумя путями - сделать частоту ШИМа около 8 КилоГерц, которые как раз и есть предельная скорость АЦП меги - и запуск/обработку АЦП преобразования делать в прерывании ШИМа - тогда уже точно всё будет синхронно. Ну или промежуточные решения возможны разумеется, когда соотношение частот ШИМа и АЦП могет быть 1:8 к примеру.
Вторая фотка - это как раз пульсации на выходе БП с нагрузкой 35 вт лампа - как раз видно что повторяются колебания сигнала, который управляет ТЛ.
P.S. Пойду погульбаню немного, без фанатизьма - экспериментировал целый день. Полёт мыслей надо залить как следует.
Максимальная скважность думаю вынесет ключевой транзистор.
Однако PSV, твой вариант эмуляции ОС это не эмуляция - это она и есть 😃
Товарищи, подскажите цоколёвку стандартного разъема для термодатчика на промышленных зарядниках. Чтобы велосипед не изобретать 😃
И еще добавочка к последней схеме, для начианающих разводить плату:
1. К PA7/ADC7 подключить внутренний термодатчик (LM35D), будем измерять температуру радиатора с транзисторами.
2. К PD6 подключить составной транзистор, будем управлять вентилятором охлаждения зарядника.
P.S. Взялся было за трассировку, но споткнулся на том, что мои библиотеки в метрических единицах, а у R2D2 всё в дюймах… Ничего толком поправить/изменить не могу, придется перерисовывать всё с нуля 😦
Не удалось откалибровать измеритель тока - запутался в меню/интерфейсе:
Припаял токо измерительный шунт от старого не исправного китайского тестера - такая толстая 1.5 мм жёлтоватая проволока около 4 см длинной - его сопротивление около 4 милли Ом оказалось - рассеиваемая на нём мощность будет около 2 Вт при 20 амперах зарядного тока. Вместо R41 впаял делитель 1К и 36К - для того, что-бы при 20А зарядного тока напряжение на выходе ОУ было 3.5 Вольта - ещё в линейной зоне ЛМ.
А вот дальше не понял как в меню откалибровать - по идее надо в начале ввести X1 и Y1 точки с нулевым током, затем увеличить ШИМ до скольки-то, а затем ввести значение тока по контрольному внешнему ампер метру.
А наблюдается - вначале я могу ШИМ в меню гонять от нуля до максимума, а потом - про каком-то одном значении ШИМа - сразу дву точки тока вводить.
Как уже говорилось выше - нулевую точку можно не вводить - если заранее гарантированно изместно, что ток нулевой (батарейка к примеру не подключена или ещё какие причины), а точку макс тока - вводить ДВАЖДЫ по каждому каналу - потому что у нас ДВА шунта в каждом канале и калибровать их надо НЕЗАВИСИМО - для зарядки и для разрядки.
Схема включения зарядного и разрядного шунтов от Александра мне нравится больше - тем, что ток при разрядке течёт только через 1 шунт ( меньше нагрев элементов схемы). Осталось найти подходящий РазРядный шунтик амперчиков эдак на 100 - и можно банки пробовать убивать с логами.
Кстати, никто мне из Мск не вышлет случаем десяток IRL3713 для построения хорошей разрядочки ?
Исправляю последние глюки того что обещал. Надеюсь во вторник выложить.
Могу закупить для Psw на www.chipdip.ru список в личку.
Настройка тока делается так:
- В ходим в меню I1 и видим ток в зависимости от ШИМ. Жмем ОК.
Первая точка: - Установить какойнибудь ШИМ чтоб ток был не нулевой. Жмем ОК.
- Указываем какой ток на Амперметре. Жмем ОК.
Вторая точка - Установить какойнибудь ШИМ чтоб ток был побольше. Жмем ОК.
- Указываем какой ток на Амперметре. Жмем ОК. Данные вписываются в ЕЕПРОМ. Вываливаемся в меню.
В версии 1.1 схема шунта позаимствована у Александра.
ФНЧ пересчитан на скокото штук герц и там получились сопротивления по ровнее.
Вот последние исправления:
Микро программа V1.0:
Макро программа V1.0:
Схема V1.1:
В схеме добавлено:
- Разъем для температурного датчика на радиатор.
- Схема управления кулером
- Подтянута база музыкального транзистора на землю.
Согласен, что у СЕПИКа
Максимальная скважность думаю вынесет ключевой транзистор
и именно по этому я удивляюсь, почему у R2D2 на 4 ноге ТЛ потенциал 0 вольт. Хотя припаять доп резистор к +5 вольтам от 4 ноги ТЛ - никаких проблемофф. Если это будет 10К, то потенциал будет 2.5 вольта, и макс коэфф заполнения на выходе ТЛ будет примерно (3-2,5)/3=16%, если этого мало, надо уменьшать потенциал/увеличивать подтягивающий к +5 вольтам резистор. Как раз для того, что-бы выходной транзистор не “выносило” при попытке снять с СЕПИКа слишком большую мощь.
А у меня проблемы с силой, На выходе есть весьма сильные пульсации 150-300 Гц, нужны мысли как их побороть, осц прилагаю. (канал 1 - выход силы, канал 2 - выход фильтра ШИМа/инвертирующий вход регулирующего ОУ в ТЛ - 2 нога. На первую ногу подал выход токо измерительного ОУ, нагрузка силы - лампа 30 Вт)
Убрал я инвертор внутри ТЛ, теперь схема включения входов ТЛ в комп БП совпадает с предлагаемой R2D2, только я оставил резисторы ООС явно задающие КУ регулирующего ОУ в ТЛ. Пробовал КУ и 10 и 100 и 1000 - пульсации всё-равно слишком велики. Ну то есть слабая/медленная стабилизация или авто колебания.
Можно переменную составляющую выходного напряжения силы подать на вход ТЛ - но проблемы с подбором фазы.
Можно ещё более уменьшить КУ управляющего ОУ - но проблемы с остротой стабилизации тока.
Какие ещё варианты ?
Калибровка тока работает прикольно. Во-первых, не пойму, зачем в качестве первой точки выбирается НЕ нулевой ток. Во вторых, второй ток калибровки не могет быть более 5 Ампер. Хотя потом если откалибровал нормально, то токи более 5А измеряются корректно. Но постоянно вместо 0.00 А висит 0.01 А. Это следствие отсутствия компенсации нуля ?
Та же штука с калибровкой напряжения в канале. Раз уж привлекли плавающую (32 бита?) точку, быть могет снять программные ограничения на диапазон калибровки ?
Пульсации, это скорее всего возбуд по обратной связи, ставить фильтр, попробовать поиграться резистором, конденсатором в обратной связи TLки
Могу прокомментировать только алгоритм подстройки тока.
График тока - прямая линия, поэтому для однозначной задачи ее надо две точки. Чем дальше они друг от друга тем лучше.
В качестве X выступает 32 раза измеренное, просуммированное значение на АЦП.
В качестве Y выступает реальный, правильный ток полученный с китайского амперметра.
Y=A+KX
Из-за того, что мы подтягивали ОС к +5 вольтам (чтобы ОУ работали корректно), нулевой ток будет получаться при ненулевом ШИМе!!!.
Поэтому первую точку надо выбирать, когда ток хоть какойнибудь да есть, а не когда он ноль.
Про 5А=MAX: просто так заточена прога, можно переточить.
Давайте определимся по номиналам и коэффициентам я прогу переделаю.
Предложите разумное оптимальное решение.
Давно ищу нормальный зярядник на никель-кадмиевые аккумулятры и металл - гидридные 1-3-4 штук. Замучился с MAX 713 (и 712)-: аккумулятор “успешно” проходит пресловутую дельту, греется при стандартной схеме. И никак не пойму что не так. А ёще и дорого стоит. 😵
Этот проект позволит ли просто и без мучительных экспериментов сделать простое и эффективное ЗУ для эих целей?
Проект пока на стадии разработки.
Когда нарусуют V1.1 можно будет пробовать. Заранее ничего обещать не могу.
Быстро и безболезненно точно не получится.
Если вы читали статью, то сможете самостоятельно принять решение.
Вопросы калибровки напряжения и тока пока отложил в сторону - хотя не вижу разумных пределов калибровки при использовании 32 бита плавающей точки - потери точности даже при четырёх-восми кратном диапазоне перестройки делителей тока и напряжения скорее всего не будет.
Мучаюсь с возбудом по обратной связи силы. Ну то есть изменение параметров обратной связи по току однозначно приводит к изменению частоты и амплитуды возбуда. Кстати ЛМ324 явно биполярный выход имеет - при наличии втекающего тока выход ОУ не опускается ниже 0.7 примерно вольтика. Соответственно, пока что для пробы заменил на ОП491 - картина в целом слегка улучшилась, но только на некоторых режимах схема находится в режиме линейной стабилизации тока с пульсациями напряжения на лампе около 5 милли вольтиков - осц прилагаю, канал 1 - выходное напряжение, Канал 2 - выход фильтра ШИМа. А как только возбуд возникает, на выходе имеем от синусоиды размахом в 0.5 вольтика и до жёстких колебаний от нуля до максимума. В текущий момент стабилизирующий ток ОУ внутри ТЛ имеет 2 ООС - по переменному току 0.1 мкф и 30 Ком (скопирована из схемы БП компа) , и по постоянному току 43 Ком при входном резисторе 5 Ком - добавил от экспериментов.
Так что вопрос о стабилизации силового преобразователя с управлением ТЛ пока остаётся открытым. Кстати на выходе практически нету 50 КГц частоты преобразования никогда - я поставил в БП два ёмкостно-индуктивных фильтра последовательно - толк от ентого есть.
Хотя быть могет это и есть причина возбуда - большие задержки в контуре регулирования и приводят к возбуду на частоте около 300 Гц.
А вот в цифре бороть такие штуки лично мне было намного проще - потому как паять не надо, только коэффициенты и алгоритмы/формулы менял/подбирал.
Кстати экран калибровки и тока и напряжения можно сделать более информативным - ну то есть в обоих экранах (I и V) выводить для отладки и ток и напряжение и ещё чего либо типа дифференциальной нелинейности (сумма модулей 32х разниц между соседними измерениями) одной из величин как показателя стабильности измерений - место есть на экране.
Может шим еще в 2 раза частоту повысить?
В проге меняется 1 константа модуль MAIN.H строка коментируется и разкоментируется соседняя.
#define PWM1TOP 0x7FFF
Что касается напряжения и ток и средне квадратическая кажись дельта можно вывести. Но там блудить будет не только измеряемая величина, но и измеритель.
На подстройку напряжения отведен 1 байт 1±0.127. могу сделать 2 байта (здесь проблема только в долгом кручении ручки подстройки)
Еще раз подитожим как я понял про девайс psw:
- ШИМ как ЦАП состоит из обычной схемы V1.0
- Эта опора проводком идет внутрь компового БП на ее микросхему ТЛ, которая рулит силой БП (12в или 5в)
- В ОС возникают автоколебания.
Может длина проводка???
А если изменить частоту ТЛ ноги 5, 6???