FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Воскресенье, 04.12.2016, 04:55
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 3123»
Модератор форума: support, Сергей 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » регулируемый БП/ЗУ (Ардуино + LCD keypad + Регулятор на биполярнике. Хроники.)
регулируемый БП/ЗУ
SirYorik
Дата: Суббота, 20.02.2016, 19:52 | Сообщение # 1
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
творческое повторение вот этого проекта, прошивку сделаю(надеюсь) свою на FLProg.

тема про выбор силовой части БП.

тема про отладку ШИМ, борьба с пульсациями, окончательная схема силовой части там же.

основа для БП - убитый бесперебойник Back-UPS CS 500, оттуда нужен только корпус, трансформатор, релюхи. трансформатор с дурью на 200вт, одна обмотка на 18в, и силовая обмотка на 15в с отводом от середины.

на текущий момент схема в целом собрана. прошивка сделана на базовой стадии: установки выходного напряжения кнопками и относительно точного измерения U|I. причем, если конвертация цифры adc в напряжение аппрокимируется линейно, то конвертация в значение тока уж очень нелинейно, пришлось играться коэффициентами. но зато результат на дисплее более менее совпадает с мультиметрами. flp прилагается.

план в прошивку:
- менюха для выбора режимов
- платы стабилизации U|I
- плата защиты от перегрузок
- плата заряда автомобильного аккумулятора по "науке"
- плата "кпд" (для коммутации обмотки трансформатора в зависимости от напряжения 0..7/7..16)
- плата охлаждения (отслеживание температуры в радиаторном отсеке, включение вентилятора)

если у кого есть наработки, буду рад smile
Прикрепления: 8412256.flp(695Kb) · 6524216.jpg(212Kb)


Сообщение отредактировал SirYorik - Суббота, 20.02.2016, 20:21
 
DWD Дата: Воскресенье, 21.02.2016, 20:35 | Сообщение # 2
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
У меня есть вот такая заготовка:



На индикатор выводятся текущие значения напряжения, тока и мощности. А так же значение тока ограничения для режима источника тока.

Энкодером можно выставлять как выходное напряжение, так и ток ограничения.

Заготовка универсальная - перед компиляцией кода (на С) можно  выставить предельные значения выходного напряжения (0...999В) и тока (0...99А).




Сообщение отредактировал DWD - Воскресенье, 21.02.2016, 20:51
 
SirYorik Дата: Понедельник, 22.02.2016, 11:58 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
неожиданно, но FBD оказался неудобным для написания алгоритма стабилизации напряжения.
просто мозговыверт. :killed:

прикладываю текущую версию. просто без затей выставляет 14.5в и держит.

ps: FLProg 1.10.4 валится на приеме данных с компорта, а поскольку кнопочку с дискетой вовремя не нажал, то это вторая версия алгоритма, на счетчике, вместо не сохранившийся версии на модификации переменной. но оно и к лучшему, счетчик хоть медленно выводит на нужное значение (13 секунд для 14.5v), зато стабилизирует значение. а на модификации переменной колбасило сильно вокруг целевого значения.
Прикрепления: 5572670.flp(869Kb) · 6285521.jpg(55Kb)


Сообщение отредактировал SirYorik - Понедельник, 22.02.2016, 12:10
 
DWD Дата: Понедельник, 22.02.2016, 15:34 | Сообщение # 4
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Естественно, мозговыверт...  smile , ведь для этого существуют специализированные ШИМ контроллеры. А МК должен заниматься управлением, а не черновой работой.
Не зря же даже функции ШИМ или таймера в МК реализованы аппаратно, а не программно. Даже "сторожевая собака" реализована отдельным устройством с собственным генератором.

К тому же, не завидую я нагрузке при зависании МК...

А ещё для БП задаётся такой параметр, как скорость реакции на импульсную нагрузку.
Попробуйте протестировать свой БП при импульсной нагрузке, снимая осциллограмму выходных напряжения и тока. Каковы будут амплитуда выбросов и длительность переходных процессов?




Сообщение отредактировал DWD - Понедельник, 22.02.2016, 15:36
 
SirYorik Дата: Понедельник, 22.02.2016, 16:46 | Сообщение # 5
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
глянул в осциллограф.

включение бп (нагрузки нет), медленный рост до цели 14.5в (14.6 на мультиметре), потом несколько раз цепляю нагрузку (резюк на 11ом, 1.3ампера, 19вт) на секунду-две, на мультиметре просадка на 0.05в, на линии в осциллографе ничего, потом выкл.БП (нагрузки нет). нагрузка конечно так себе импульсная, ампер 10 бы на полсекунды цеплять. да и осцил шумный 50мв-60мв по жизни.
Прикрепления: 1747670.jpg(163Kb) · 8251751.jpg(163Kb) · 7197878.jpg(164Kb) · 9900000.jpg(150Kb)
 
SirYorik Дата: Понедельник, 22.02.2016, 17:02 | Сообщение # 6
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
и осциллограмма напряжения на шунте (типа форма тока?)

тоже ничего интересного. три провала - это ОТключение нагрузочного резюка.

Добавлено (22.02.2016, 17:02)
---------------------------------------------

Цитата DWD ()
К тому же, не завидую я нагрузке при зависании МК...
ну, при зависании лишь бы ШИМ не уехал в максимальную, или в "1".

можно сделать "сторожевую собаку" на fuse-релюхе, она и так есть, только рулить ей не "1"-ой, а некоей пульсацией, heatbeat, пропало - fuse отпускается само. может и сделаю.
Прикрепления: 0492941.jpg(166Kb)
 
SirYorik Дата: Среда, 24.02.2016, 15:20 | Сообщение # 7
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
после целого дня борьбы с глюками неведомой природы получилась альфаальфа версия которая может выставить напряжение и ограничить ток в случае превышения.

но мне не нравится как это выглядит. такое впечатление что FBD не предназначен для работы с аналоговым сигналом.

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

надо наверное еще раз переделать, просто для разнообразия.
Прикрепления: 5185585.7z(121Kb)


Сообщение отредактировал SirYorik - Среда, 24.02.2016, 16:03
 
DWD Дата: Четверг, 25.02.2016, 10:01 | Сообщение # 8
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Почему же?  FBD прекрасно отрабатывает аналогвый сигнал. Хотя бы потому, что в нём МК "работает" в статическом режиме - это только программа для написания кода... :)

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

В ШИМ контроллерах усилителями ошибки работают ОУ с частотой единичного усиления не менее 1МГц. В современных - не менее 10МГц. И то не хватает быстродействия, что бы отрабатывать ошибки регулирования на рабочих частотах преобразователей в десятки и, тем более, сотни КГц. Приходится замедляющую коррекцию вводить, ухудшая скорость реагирования преобразователя на перепады тока нагрузки.




Сообщение отредактировал DWD - Четверг, 25.02.2016, 10:03
 
SirYorik Дата: Четверг, 25.02.2016, 10:59 | Сообщение # 9
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
Цитата DWD ()
не в состоянии быстро его оцифровать
Цитата DWD ()
Приходится замедляющую коррекцию вводить,

ээм.. ну, вот да, при нагрузке в 1.5А стоит настройка ограничения тока в 1А, МК это дело чует, даёт команду на снижение напряжения, а напряжение снижается медленно, МК за несколько циклов уже вгоняет снижениями в ноль, а процесс в БП считай только начался. приходится вкручивать заержку, методом тыка подбирая место задержки, и сами цифры.

напрягает, что цифры задержек, что кажется логичным, должны быть разными в разных режимах.
 
SirYorik Дата: Четверг, 25.02.2016, 21:32 | Сообщение # 10
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
еще продираний через странности, и готова альфабета прошивки.

- умеет выставлять выходное напряжение кнопками
- стабилизатор напряжения (0..16в)
- ограничитель тока (1А для теста)
- предохранитель от коротыша (работает. пока порог в 4А)
- измерения на экран
- диагностика в ком-порт

другой "алгоритм" стабилизатора напряжения.
избавился от внешних модулей.
17 плат, штук 5 лишних из-за "странностей".
компилится в 12кб флеша. весь код потом вряд-ли влезет в атмегу16х.

следующий этап: подточить под заряд автомобильного аккума.
I-U алгоритм и таймер часов на 10.

если зарядит, то дальше ваять меню, и вообще завершать.
Прикрепления: 1867796.7z(90Kb)
 
SirYorik Дата: Суббота, 27.02.2016, 21:12 | Сообщение # 11
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
приколхозил возможность восстанавливать напряжение которое было до начала ограничения тока.
вся морда в синяках от новых граблей, вся схема в костылях и распухла до 20 плат.

открыл для себя ПИД-регулятор.
понял, что наваял два каскадом соединенных П-регулятора с адаптивными коэффициентами.
задумался, не пойти ли в ПИД-библиотеку, а то схема выглядит круто, но страшно.
Прикрепления: 2.1.7z(104Kb)
 
SirYorik Дата: Четверг, 03.03.2016, 08:41 | Сообщение # 12
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
при 14.5в и всего 3.1а наступил на проблему электрики.
на выходе начинаются мощные 100гц пульсации.
пропадают при снижении выходного напряжения всего на 0.3в.
увеличение емкости фильтра с 8т мкф до 40т мкф помогает немного, пульсации снижаются в ~2..2.5 раза.
спрямлять их алгоритмически нереально, имхо.
это получается надо вводить понятие предельных режимов, и либо ваять детектор пульсаций в софте, либо прошвырнутся по диапазонам вручную и захардкодить пороговые.

что то я по наивности думал что с таким БП всё будет на порядок проще.
Прикрепления: 9909916.jpg(202Kb)
 
SirYorik Дата: Четверг, 03.03.2016, 11:35 | Сообщение # 13
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
после того как начал разбираться с токами больше 3х ампер, обнаружил что шунт из нихрома калится до красна.
купил керамический резюк на 20вт 0.1ом, замечательно, но показания амперметра уехали.
снял график показания на порту ардуины(A1) и реальный ток по мультиметру.
выяснилось, что он шииибко нелинеен, и коэффициентами править это 30 компараторов ставить.
полез делать аппроксимацию.
Excel выдаёт формулы, но режет коэффициенты и формула слишком сильно отличается от правды.
от Excel, ничего толкового не добился, помог LibreOffice Calc.

с графиком хорошо совпал полином 3го порядка, отклонения небольшие совсем.
0,0000132797916455788*x^3-0,0118254576*x^2+6,4463516962*x
c float бодаться я зарекся, с double в CODE блоке, лень.
решил уместиться в long integer, что и проверил в Calc.
коэффициенты умножил на 150000 (подбором), чтобы для максимального х=1023, каждая из 3х частей формулы влазила в 2млрд.(предел long int). результат формулы делится на 150000.
заменил плату коррекции измеренного тока на вычисления.

сравнил в натуре с мультиметром, небольшая разница только в 2м знаке на мультиметре.
Прикрепления: 8255518.jpg(225Kb) · 2753955.jpg(41Kb)


Сообщение отредактировал SirYorik - Четверг, 03.03.2016, 14:58
 
DWD Дата: Четверг, 03.03.2016, 12:47 | Сообщение # 14
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Ура комсомольцам, самостоятельно находящим для себя трудности, и потом героически их преодолевающим... biggrin

 
SirYorik Дата: Четверг, 03.03.2016, 14:55 | Сообщение # 15
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
Цитата DWD ()
находящим для себя трудности,
стебаетесь?

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

Добавлено (03.03.2016, 14:55)
---------------------------------------------
ну, в общем, последняя версия по этому пути, дикое количество фиксов, подпиливаний, подкручиваний и подпорок, но работает. в сях это было-бы полюбому проще.
Прикрепления: 2.2.7z(95Kb)


Сообщение отредактировал SirYorik - Четверг, 03.03.2016, 19:01
 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » регулируемый БП/ЗУ (Ардуино + LCD keypad + Регулятор на биполярнике. Хроники.)
Страница 1 из 3123»
Поиск:

FLProg © 2016
Яндекс.Метрика