PDA

Просмотр полной версии : Программируемый лабораторный блок питания под управлением Z80/8085/580ВМ80



dimonsoft
07.01.2020, 01:09
Всем привет. Хочу собрать программируемый блок питания, вместо всяческих атмег поставить туда для управления выходами обычный процессор типа Z80/8080A/8085. Это вообще реально сделать? Прошивка ПЗУ/ПЛМ для такого блока труда не составляет, т.к. имеется "Стерх ST-007". Приблизительные расчетные параметры - силовой трансформатор 105W, 2х21,0V, 2х2,5А. Регулировка через прямой ввод нужного напряжения через цифровую клавиатуру, показания через АЛС340/363 или 7-сегм. АЛС324/АЛС318. Диапазон выходного напряжения от ноля до ок.50-60V, сколько вытянет трансформатор. Также предусмотрена коммутация первичной и вторичной обмоток транса через реле и запускающий мелкий трансформатор на 12-24в. Кто-то из форумчан вообще сталкивался с чем-то подобным?

MM
07.01.2020, 04:57
Вообще считается, что М-ЭВМ на дискретных ОЗУ/ПЗУ/ЦПУ значительно менее надежны по сравнению с ОЭВМ, в связи с чем для них не рекомендуется прямой контроль за опасным оборудованием, например силовым. Либо надо предусмотреть отключаемую аппаратную защиту выхода БП - например тиристор пожирней с стабилироником, рассчитанным на включение при +6.20 вольт 10 мс.
Почему может произойти сбой М-ЭВМ - например, из-за грозового разряда в ~~ 50 метрах от неё - вроде всё цело, а по магистрали адреса-данных несколько мс шел шум, и на выходе вдруг +15 вместо +5...

JV-Soft
07.01.2020, 05:53
MM, все верно.
dimonsoft, у avr ,stm , и подобных есть такая штука как WTD - watch dog timer ,задействовав его в прошивке ,при сбое наш БП выйдет сам в нужный режим. На Z80 в общем можно нечто такое нагородить , но надо ли.
Я делал программируемый БП на avr-ке , напряжение и ток управляется ШИМ ,в случае сбоя (но так и не разу не отловил) прошивка написана так ,что либо останутся текущие параметры БП ,либо он просто упадет в ноль , но никак не превысит параметры ,как раз благодаря WDT. Управление джойстиком , всякие измерялки емкости аккумов и зарядки аккумов.
Индикатор взял недорогой пришлось самому библиотеку собирать)
https://d.radikal.ru/d37/1811/f5/89efbd24fb2ft.jpg (http://radikal.ru/fp/1y2g4zu06vtiv) https://b.radikal.ru/b23/1808/03/293e9a1a76bft.jpg (http://radikal.ru/fp/rh95zq5q0imfv)
https://b.radikal.ru/b02/1811/93/04f34e0769b5t.jpg (http://radikal.ru/fp/of797olm2f2gm) https://c.radikal.ru/c28/1808/b1/efac481f9877t.jpg (http://radikal.ru/fp/bzf3pf2a814nn)


PS кстати прошивка написана в основном на бейсике :biggrin:

- - - Добавлено - - -

PPS , у меня применен цифровой датчик тока\напряжения. На Z80 каким путем думал идти для измерения ? ацп колхозить и усилители на LM-ках ставить ?

HardWareMan
07.01.2020, 06:33
JV-Soft, а у STMок есть еще и ШИМ специальный для силовых схем. Т.е., он вроде как обычный ШИМ, с комплементарным выходом и всё такое, но там есть механизмы блокировки и безопасности, которых нет у обычного ШИМа, которые исключают случайную запись в этот ШИМ и порчу силовых ключей. И даже есть AN под использование этого дела - если построить flyback стабилизатор на основе этого ШИМ, то может получиться отличный БП или стабилизатор. Flyback - это чтобы защититься от тупого пробоя силового ключа.

Ну и классика: где можно купить сей БП? :)

JV-Soft
07.01.2020, 06:48
Ну и классика: где можно купить сей БП?
А нигде , все не допишу статью у себя на форуме , там я сделал частичный перевод по датчику тока\напряжения ina226 - http://p-45.zzz.com.ua/viewtopic.php?f=11&t=30
Конструкция в общем легко повторима ,но есть одно - но. Выкидываем как всегда выходную часть ATX , на tl494 заводим два шим ,ток\напряжение.
И тут вылазит одно но ,с которым я боролся не понимая одно время. У TL494 есть feedback по току и напряжению ,это две rc цепочки ,так вот в конструкции AT\ATX когда напряжение на выходе стабильно ,эти цепи подобраны с учетом правильной реакции. А вот когда мы регулируем его от 2 до 22в (примерный диапазон который может ATX) , так вот на определенных участках напряжения\тока\нагрузки у нас получается низкочастотный возбуд всей конструкции , на осциле выглядит как низкая частота по питанию от 10 до 100 гц с амплитудами до 3в.
И потратил вечерок ,что бы более менее нормально подобрать две эти цепи обратной связи.
В связи с этим конструкцию рекомендую к повторению только людям понимающим ,что они делают , и что такое эти две цепи.
Если хо повторить , могу закинуть исходники , все хочу их на си переписать ,а то басик оброс очень , начиналось все как БП на LCD1602 и LM-ки для тока\напряжения.

HardWareMan
07.01.2020, 06:53
Ну тогда ждём соответствующей темки. Тем полезная со всех сторон. Как в плане опыта так и в практическом плане.

JV-Soft
07.01.2020, 07:03
Отличная штука , резистор я чуть меньше ставил из контроллера ноутбучной батареи - https://aliexpress.ru/item/32741230177.html?spm=a2g0o.productlist.0.0.d1e45f1 cVPZ2tM&algo_pvid=68789acc-7ec0-4f60-bcd4-9f48e3a000ab&algo_expid=68789acc-7ec0-4f60-bcd4-9f48e3a000ab-0&btsid=c8c775c9-a91c-40ef-b541-c8d440006ede&ws_ab_test=searchweb0_0,searchweb201602_9,searchwe b201603_53

- - - Добавлено - - -

PS Меньше в плане номинала ,для увеличения измерения тока.

- - - Добавлено - - -

Еще коротко ,датчик двунаправленный измерение +/- 36в. и по току в оба направления ,отдельный программируемый выход который может что то отрубать ,или включать защиту при превышении тока/напряжения/мощности.

Mick
07.01.2020, 09:29
подобных есть такая штука как WTD - watch dog timer ,задействовав его в прошивке ,при сбое наш БП выйдет сам в нужный режим. На Z80 в общем можно нечто такое нагородить , но надо ли.

Ну это не аргумент. Есть мелконогие микрухи WTD которые также можно дергать из прошивки. Тут возможно подход такой. Есть у меня кучка процов, которые в своей кремнийевой жизни хотят хоть разок поработать, а не сгинуть в истории бесследно.
Понятно, что в реальном мире есть специализированные микроконтроллеры или просто микроконтроллеры, которые гораздо приспособленные к таким задачам. Но тем не менее, творчество никто не отменял, пусть даже оно выглядит коряво на первый взгляд. :)

Serg6845
07.01.2020, 10:39
MM, все верно.
dimonsoft, у avr ,stm , и подобных есть такая штука как WTD - watch dog timer ,задействовав его в прошивке ,при сбое наш БП выйдет сам в нужный режим. На Z80 в общем можно нечто такое нагородить , но надо ли.


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

JV-Soft
07.01.2020, 11:08
творчество никто не отменял
Естественно , концепт как то так, внешний WDT к Z80 (я не пользовал не скажу) , я бы конечно брал за основу импульсник ,но раз ТС хочет транс то транс. Но управлять все равно удобнее шим ,чем лепить ЦАП к линейному стабилизатору , ну и LM-ки в качестве измерителей я бы не использовал ,а взял точный и цифровой датчик.

https://a.radikal.ru/a01/2001/71/135fc6ab4e57t.jpg (https://a.radikal.ru/a01/2001/71/135fc6ab4e57.jpg)

- - - Добавлено - - -


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

- - - Добавлено - - -

Дорисовал )

https://b.radikal.ru/b13/2001/1f/e511d200bc73t.jpg (https://b.radikal.ru/b13/2001/1f/e511d200bc73.jpg)

dimonsoft
07.01.2020, 13:56
Это все надо обмозговать. Спасибо всем кто ответил.

Mick
07.01.2020, 14:28
Естественно , концепт как то так, внешний WDT к Z80 (я не пользовал не скажу)

В игровой платформе Игрософт, который на z80 и над которым я некоторое время надругался самым бестыжим образом, имеется WDT на микросхеме ADM690.

Кроме того я встречал WDT для системы на ВМ85 собранный на таймере типа ВИ54.

MM
07.01.2020, 21:01
Правильно делать крутилки на ценных резисторах СП5, а измерять - на процессорах.

Что можно измерять :
1. Напряжение выхода
2. Напряжение сети
3. Ток нагрузки
4. Температуру теплоотвода
5. Уровень пульсаций на выходе ( или даже приделать простецкий осциллографик на 1 мгц АЦП китайском ).
6. Скорость вентилятора
7. Температуру в помещении ( или с краю аппарата, подальше от теплоотвода и траника )
8. Приделать звуковой звонок, если есть выход за заданные пределы - например, сеть 220 просела или наоборот свыше 300 в...
( а учитывая цену ППЗУ - можно и голосовой информатор приделать - "все в укрытие, возгорание трансформатора через 5-4-3-2-1 ...." ).
Ну как экстремальный вариант измерений - критические значения передавать по СМС на телефон. Это не так сложно реализовать на кнопочном аппарате и 590КНх )
*
В промышленных советских БП параметры задавались механическими переключателями, а они управляли релешками РЭС-55, а релешки переключали резисторы ЦАП для ШИМ. А измерения обычно были на 572ПВх.
Насчет сложных стендов для контроля ИС - да, там были управляемые модули БП в существенных к-вах, с цифровыми входами. Маленькие/переносные - с КОП .

- - - Добавлено - - -

Где-то у меня водилась плата кап-стран 1990-х по управлению мощным 3-фазным термостатом, с RS-232 изолированным. Там проблема программного сбоя решена на ПЛИС Альтера .

andrews
07.01.2020, 22:02
Соглашусь с теми, кто предлагал использовать z80 в связке с MCU. В последних есть все для датчиков и управления в реальном времени, но возможно мало памяти и мало выводов для подключения кнопок и дисплея. А связь между z80 и MCU можно реализовать по последовательному протоколу связи. И плата выйдет меньше и дешевле и проще в сборке и настройке и работать будет надежней.

dimonsoft
07.01.2020, 22:05
Да, вполне. Регулирование выхода будет через 3540/3590 серию, а контроль и измерение на процессоре. 572пв2 как вольтметр и амперметр. Защиты будут строиться на основе аналоговых схем из справочников или журналов. Со схемотехникой всех узлов пока что еще не до конца определился, надо будет поднять ТО на подобные ЛБП с программируемым выходом.

Anubis_OD
09.01.2020, 15:58
Вот тут братья хорваты новый модульный блок пилят по теме ветки
https://github.com/eez-open/modular-psu
на STM32
в основе их же предыдущий вариант на Ардуино
https://github.com/eez-open/psu-hw
Вот форум:
https://www.eevblog.com/forum/projects/eez-h25005-a-possible-successor-of-eez-h24005-programmable-power-supply/msg1823120/#msg1823120