регулируемый БП/ЗУ

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#1

Сообщение SirYorik » 20.02.2016{, 19:52}

творческое повторение вот этого проекта, прошивку сделаю(надеюсь) свою на FLProg.

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

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

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

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

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

если у кого есть наработки, буду рад Изображение
Вложения
6524216.jpg
8412256.flp
(694.64 КБ) 141 скачивание
Последний раз редактировалось SirYorik 20.02.2016{, 20:21}, всего редактировалось 1 раз.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

регулируемый БП/ЗУ

#2

Сообщение DWD » 21.02.2016{, 20:35}

У меня есть вот такая заготовка:

Изображение

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

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

Заготовка универсальная - перед компиляцией кода (на С) можно  выставить предельные значения выходного напряжения (0...999В) и тока (0...99А).
Последний раз редактировалось DWD 21.02.2016{, 20:51}, всего редактировалось 1 раз.
Изображение

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#3

Сообщение SirYorik » 22.02.2016{, 11:58}

неожиданно, но FBD оказался неудобным для написания алгоритма стабилизации напряжения.
просто мозговыверт. :killed:

прикладываю текущую версию. просто без затей выставляет 14.5в и держит.
СпойлерПоказать
там есть подозрительное место в стабилизаторе, где алгоритм делает тонкую подгонку изменяя PWM на +1\-1, но смотря на код в IDE видно, что эта подгонка должна портить PWM, ан не портит, не понимаю.
этот кусок выполняется каждый проход loop(), стало-быть, если каждый проход отклонение ниже грубой подгонки(<0.17v), то выполняется этот кусок, и через несколько циклов PWM должно вылезти за пределы, а не вылазит, как так?
....
if((_gtv9) > (0.00))
{_swi1=1;}
else
{_swi1=-1;}
if (( ((_gtv9) <= (0.17)) && ((_gtv9) >= (-0.17)) )) {
_gtv4 = (_gtv4)+(_swi1);
}
....
analogWrite(10, _gtv4);
....

надо глянуть осциллографом что ли, на дисплее-то PWM(_gtv4) стоит как влитой при _gtv9=0.09(отклонение от целевого напряжения)
ps: FLProg 1.10.4 валится на приеме данных с компорта, а поскольку кнопочку с дискетой вовремя не нажал, то это вторая версия алгоритма, на счетчике, вместо не сохранившийся версии на модификации переменной. но оно и к лучшему, счетчик хоть медленно выводит на нужное значение (13 секунд для 14.5v), зато стабилизирует значение. а на модификации переменной колбасило сильно вокруг целевого значения.
Вложения
6285521.jpg
5572670.flp
(869.33 КБ) 91 скачивание
Последний раз редактировалось SirYorik 22.02.2016{, 12:10}, всего редактировалось 1 раз.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

регулируемый БП/ЗУ

#4

Сообщение DWD » 22.02.2016{, 15:34}

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

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

А ещё для БП задаётся такой параметр, как скорость реакции на импульсную нагрузку.
Попробуйте протестировать свой БП при импульсной нагрузке, снимая осциллограмму выходных напряжения и тока. Каковы будут амплитуда выбросов и длительность переходных процессов?
Последний раз редактировалось DWD 22.02.2016{, 15:36}, всего редактировалось 1 раз.
Изображение

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#5

Сообщение SirYorik » 22.02.2016{, 16:46}

глянул в осциллограф.

включение бп (нагрузки нет), медленный рост до цели 14.5в (14.6 на мультиметре), потом несколько раз цепляю нагрузку (резюк на 11ом, 1.3ампера, 19вт) на секунду-две, на мультиметре просадка на 0.05в, на линии в осциллографе ничего, потом выкл.БП (нагрузки нет). нагрузка конечно так себе импульсная, ампер 10 бы на полсекунды цеплять. да и осцил шумный 50мв-60мв по жизни.
Вложения
9900000.jpg
7197878.jpg
8251751.jpg
1747670.jpg

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#6

Сообщение SirYorik » 22.02.2016{, 17:02}

и осциллограмма напряжения на шунте (типа форма тока?)

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

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

можно сделать "сторожевую собаку" на fuse-релюхе, она и так есть, только рулить ей не "1"-ой, а некоей пульсацией, heatbeat, пропало - fuse отпускается само. может и сделаю.
Вложения
0492941.jpg

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#7

Сообщение SirYorik » 24.02.2016{, 15:20}

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

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

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

надо наверное еще раз переделать, просто для разнообразия.
Вложения
5185585.7z
(120.75 КБ) 94 скачивания
Последний раз редактировалось SirYorik 24.02.2016{, 16:03}, всего редактировалось 1 раз.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

регулируемый БП/ЗУ

#8

Сообщение DWD » 25.02.2016{, 10:01}

Почему же?  FBD прекрасно отрабатывает аналогвый сигнал. Хотя бы потому, что в нём МК "работает" в статическом режиме - это только программа для написания кода... :)

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

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

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#9

Сообщение SirYorik » 25.02.2016{, 10:59}

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

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

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#10

Сообщение SirYorik » 25.02.2016{, 21:32}

еще продираний через странности, и готова альфабета прошивки.

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

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

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

если зарядит, то дальше ваять меню, и вообще завершать.
Вложения
1867796.7z
(90 КБ) 100 скачиваний

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#11

Сообщение SirYorik » 27.02.2016{, 21:12}

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

открыл для себя ПИД-регулятор.
понял, что наваял два каскадом соединенных П-регулятора с адаптивными коэффициентами.
задумался, не пойти ли в ПИД-библиотеку, а то схема выглядит круто, но страшно.
Вложения
2.1.7z
(104.34 КБ) 90 скачиваний

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#12

Сообщение SirYorik » 03.03.2016{, 08:41}

при 14.5в и всего 3.1а наступил на проблему электрики.
на выходе начинаются мощные 100гц пульсации.
пропадают при снижении выходного напряжения всего на 0.3в.
увеличение емкости фильтра с 8т мкф до 40т мкф помогает немного, пульсации снижаются в ~2..2.5 раза.
спрямлять их алгоритмически нереально, имхо.
это получается надо вводить понятие предельных режимов, и либо ваять детектор пульсаций в софте, либо прошвырнутся по диапазонам вручную и захардкодить пороговые.

что то я по наивности думал что с таким БП всё будет на порядок проще.
Вложения
9909916.jpg

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#13

Сообщение SirYorik » 03.03.2016{, 11:35}

после того как начал разбираться с токами больше 3х ампер, обнаружил что шунт из нихрома калится до красна.
купил керамический резюк на 20вт 0.1ом, замечательно, но показания амперметра уехали.
снял график показания на порту ардуины(A1) и реальный ток по мультиметру.
выяснилось, что он шииибко нелинеен, и коэффициентами править это 30 компараторов ставить.
полез делать аппроксимацию.
Excel выдаёт формулы, но режет коэффициенты и формула слишком сильно отличается от правды.
от Excel, ничего толкового не добился, помог LibreOffice Calc.
2753955.jpg
с графиком хорошо совпал полином 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.
заменил плату коррекции измеренного тока на вычисления.
8255518.jpg
сравнил в натуре с мультиметром, небольшая разница только в 2м знаке на мультиметре.
Последний раз редактировалось SirYorik 03.03.2016{, 14:58}, всего редактировалось 1 раз.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

регулируемый БП/ЗУ

#14

Сообщение DWD » 03.03.2016{, 12:47}

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

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#15

Сообщение SirYorik » 03.03.2016{, 14:55}

DWD писал(а):находящим для себя трудности,
стебаетесь?

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

Добавлено (03.03.2016, 14:55)
---------------------------------------------
ну, в общем, последняя версия по этому пути, дикое количество фиксов, подпиливаний, подкручиваний и подпорок, но работает. в сях это было-бы полюбому проще.
Вложения
2.2.7z
(94.53 КБ) 110 скачиваний
Последний раз редактировалось SirYorik 03.03.2016{, 19:01}, всего редактировалось 1 раз.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

регулируемый БП/ЗУ

#16

Сообщение DWD » 03.03.2016{, 16:22}

SirYorik писал(а):стебаетесь?
Да, а что?..  Изображение
Изображение

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

регулируемый БП/ЗУ

#17

Сообщение support » 03.03.2016{, 18:18}

SirYorik писал(а):выяснилось, что он шииибко нелинеен, и коэффициентами править это 30 компараторов ставить.
Вроде специально для этого делал блок нелинейного масштабирования. Поставте туда эти 30 точек и думаю всё будет нормально. Кстати можно загрузить напрямую из Exel в формате csv
Автор программы FLProg.

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#18

Сообщение SirYorik » 03.03.2016{, 18:59}

DWD писал(а):Да, а что?..
вот кстати по конкретному посту, или так, вообще?

Добавлено (03.03.2016, 18:59)
---------------------------------------------
support писал(а):блок нелинейного масштабирования
блин, напрочь не заметил. но теперь уж нехай по полиному считает.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

регулируемый БП/ЗУ

#19

Сообщение DWD » 03.03.2016{, 23:29}

Вообще, но на конкретную тему. :)
Я уже высказывал своё мнение по этому поводу - не вижу смысла изобретать велосипед, если уже есть готовый.
Не вижу смысла делать из МК ЩИМ контроллер, когда их выпускают сотни разновидностей под любую задачу.

МК это управлененц. Он должен руководить устройством, а не выполнять какую-то черновую работу.

Ещё раз обращаю внимание на простой факт - почему в МК встроенный ШИМ аппаратный, а не программный?

И ещё один...
Простой ШИМ контноллер для БП делается на трёх простых узлах: генератор пилы, компаратор и усилитель мощности. Реализован может быть даже на одной цифровой микросхеме К561ЛА7.
Изображение

SirYorik
Сержант
Сообщения: 124
Зарегистрирован: 04.10.2015{, 10:01}
Репутация: 0
Откуда: Томск

регулируемый БП/ЗУ

#20

Сообщение SirYorik » 04.03.2016{, 05:57}

понятно, не переключайтесь Изображение
СпойлерПоказать
 
DWD писал(а):ШИМ аппаратный,
так и ардуинский analogWrite тож аппаратный.

вообще изначально никакая схемотехника не предполагалась, максимум соединение толстыми проводами готовых модулей (SCV0033-ADJ-5A + H712A05  + тд ). но вмешалось наличие некоей рассыпухи. а самое главное надо было заюзать валяющуюся ардуину :book:

Ответить

Вернуться в «Проекты различных устройств на Arduino»