Например TDA7294

РадиоКот >Схемы >Питание >Блоки питания >

Многофункциональный источник питания

Автор: Стороженко Роман (drakon, D_EL), d_el@mail.ua
Опубликовано 14.05.2014.
Создано при помощи КотоРед.

      Давным-давно (еще в глубоком детстве) я хотел себе нормальный блок питания. Вначале делал всякие на LM138 и индикаторами на HD44780. Затем нашел хороший блок питания, зарядное устройство . Я его много раз делал и переделывал, экспериментировал с усилителем тока. Кулером у меня управляла ATtiny13 стоящая на отдельной плате. Один раз питал ним модуль Пельтье 5В, 5А, на радиаторе выделялось 100Вт. Через несколько минут корпус БП начал плавится, а я тем временем травил радиотехнические байки. Заметил вовремя но не я. Все обошлось хорошо, только немного дно прогнулось. После этого инцидента я решил добавить защиту от перегрева, но места в ATmega8 почти не осталось, а хотелось много чего добавить. В это время заметил недорогую плату STM32VLDISCOVERY, с нее все и началось.

      Регулятором является параметрический стабилизатор с ОС на ОУ. Регулирующий элемент - IRFP9140 выдерживает 16А постоянного тока. В качестве усилителя токового датчика применен "Zero-Drift, Single-Supply, Rail-to-Rail Input/Output Operational Amplifier, Low offset voltage: 1 μV".

 

      Управляет всем хозяйством STM32F100RBT6B - это мк на ядре ARM Cortex™-M3, 24 MHz (1.25 DMIPS/MHz), 128 Kbytes Flash, 8 Kbytes SRAM, 12-bit ADC, 12-bit DAC. В качестве тактового генератора используется внутренний RC-генератор на 8МГц (HSI), далее на PLL домножается до 24МГц. Стабильности данного генератора достаточно для нормальной работы UART'а (проверял на 38400 бод). В качестве генератора для RTC используется внутренний низкочастотный генератор на 40кГц (LSI). RTC нужен для отмера больших интервалов времени. ИОН - MAX6125 (на выходе 2.5В), он одновременно питает аналоговую часть мк (Vdda и Vref соединены внутри мк).  Датчик температуры DS18B20, работает на шине MicroLan (1-Wire) с паразитным питанием. Кулерами управляет step-down преобразователь. Дисплей от Siemens A60/ A65/ C60/ M55/ MC60, внутри стоит контроллер S1D15G14. Инициализировал дисплей в режиме 8bit/pix. Светодиод HL1 можно не ставить, он иногда нужен для разработки и отладки ПО. В разъем X6 у меня воткнут bluetoth модуль HC-05, чтоб управлять с помощью ПК или телефона. Список команд можно выудить с исходника (файл drivers.c). Прошивается контроллер по SWD через разъем X5. Можно прошить через UART1 с помощью встроенного boot loader'а, но если вы доросли до STM32, то не иметь st-link либо j-link - стыдно.

      Источником нестабилизированного напряжения может служить классический трансформаторный БП, у меня установлен переделанный импульсный источник ps-65-24. Кулера любые на 12В, с суммарным током не больше 300мА. Коммутатором является N-канальный полевой транзистор, можно применить реле с малым сопротивлением контактов, но их размеры оставляют желать лучшего. Пищалка - пьезокерамический излучатель без встроенного генератора.

      Интерфейс управления интуитивно понятный (особенно мне :)). Есть 3 окна: Base, Scope, Charger. Все настройки сохраняются при выключении во внутренюю флеш память. Минимальное количество перезаписей настроек составляет 1280000, кому мало - можно увеличить. Управляется все с помощью шести кнопок и энкодером с кнопкой.

 

 

      Программа написана на Си в µVision V5.10.0.2 без использования SPL, все что есть лежит в архиве. Вопросы можно писать на мой e-mail, если будет интерес, то можно будет создать ветку на форуме.

                                                                                               Если вы сюда дочитали - спасибо, жду отзывов и критики (я ее люблю).

 

 


Файлы:
исходник, схемы


Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

57 12 7
4 1 0