Сайт о телевидении

Сайт о телевидении

» » Управление компьютерным блоком питания на микроконтроллере. Источник питания на Atmega8

Управление компьютерным блоком питания на микроконтроллере. Источник питания на Atmega8

Блок питания разработан для налаживания и ремонта аппаратуры в радиолюбительской лаборатории. Термодатчиком контролируют температуру питаемого устройства. Если она превысит порог, устройство будет отключено. Это позволяет прервать развитие аварийной ситуации на ранней стадии и предотвратить катастрофические последствия. Таймер отключает блок питания через определённое время, что, в частности, может быть использовано при зарядке аккумуляторов.

Основные технические характеристики

Выходное стабилизированное напряжение, В………..0...15
Разрешение цифрового вольтметра, В....................0.1
Порог ограничения выходного тока. А
минимальный.......................................................0,1
максимальный........................................................1
Интервал измерения температуры, °С................0...100
Максимальная выдержка таймера...............9 ч 50 мин
Габариты, мм …...........................................105x90x70

Схема блока питания показана на рис. 1. Основа устройства — микроконтроллер PIC16F88 (DD1), использование периферийных модулей которого позволило расширить функциональные возможности блока, не усложняя его.
Регулируемый стабилизатор напряжения - линейный компенсационный. Он содержит регулируемый источник образцового напряжения, регулятор выходного напряжения и устройство сравнения напряжений. Устройство сравнения — встроенный компаратор микроконтроллера, на инвертирующий вход RA1 которого через делитель R26R28 и резистор R27 подаётся выходное напряжение, а на неинвертирующий вход RA2 — образцовое. Выходной сигнал устройства сравнения управляет регулятором выходного напряжения.

Источник регулируемого образцового напряжения — модуль ССР микроконтроллера, работающий в режиме генерации прямоугольных импульсов с переменной длительностью на выходе RB0. Образцовое напряжение — постоянная составляющая этих импульсов, пропорциональная их коэффициенту заполнения, которым можно управлять по программе. Образцовое напряжение выделяется фильтром нижних частот R1C1R2R5C3. Подстроечным резистором R2 регулируют его при налаживании.

Регулятор выходного напряжения собран на мощном составном p-n-p транзисторе VT1, включённом в плюсовой провод питания. Поскольку транзистор VT1 имеет большой коэффициент передачи тока базы, для его открывания достаточен небольшой базовый ток, который обеспечивает маломощный полевой транзистор VT2. Резистор R7 соединяет затвор транзистора VT2 с общим проводом, что удерживает этот транзистор в закрытом состоянии во время инициализации портов микроконтроллера в начале выполнения его программы. Конденсатор С9 корректирует АЧХ петли регулирования, предотвращая самовозбуждение стабилизатора.

Цепь управления регулятором выходного напряжения подключена к линии RA4 микроконтроллера. С помощью внутреннего электронного переключателя этот вывод может быть подключен к выходу компаратора устройства сравнения либо отключён от него. Программно управляя этим переключателем, можно установить регулятор выходного напряжения в выключенное состояние, когда выходное напряжение равно нулю, или во включённое, когда выходное напряжение пропорционально образцовому.

Аналоговый калиброванный температурный датчик LM35 (ВК1), линейно преобразующий температуру в напряжение с коэффициентом 10 мВ/ ºС, подключён через цепь R4C2 к выводу RA3 микроконтроллера, настроенному как аналоговый вход. Внутренний аналого-цифровой преобразователь (АЦП) микроконтроллера использован в цифровом измерителе напряжения и температуры. Вход АЦП может быть программно подключён к выводам RA1 — RАЗ. Для повышения помехозащищённости измерительного тракта работа АЦП синхронизирована с периодом динамической индикации длительностью 20 мс. Результат преобразования обрабатывается программным усредняющим фильтром.

В начале каждого периода измерения АЦП преобразует напряжение сначала с выхода, затем — с температурного датчика. Из 16 отсчётов каждого параметра вычисляется среднее арифметическое значение, которое и выводится на индикатор. Период обновления показаний — 320 мс. Среднее значение температуры, независимо от того, выводится оно на индикатор HG1 или нет, перед обновлением сравнивается с установленным пользователем порогом. Если оно превысит порог, будет отключено выходное напряжение. Как только температура упадёт на 2 ºС ниже порога, вновь включится выходное напряжение.

В программе микроконтроллера предусмотрен счётчик времени включённого состояния блока питания. Значения регистров счётчика обновляются каждую минуту и сравниваются с заданным значением, при превышении которого выходное напряжение отключается. Это бывает необходимо, чтобы ограничить время какого-нибудь процесса, например, зарядки аккумулятора.

Ограничитель выходного тока работает независимо от микроконтроллера и его программы Он защищает блок питания от замыкания на выходе и ограничивает выходной ток путём уменьшения выходного напряжения. Основа ограничителя — узел преобразователя тока нагрузки в пропорциональное ему напряжение относительно общего провода, описанный в статье И. Нечаева "Индикатор предельного тока" в "Радио", 2002, № 9, с. 23. Этот узел собран на ОУ DA2.2, транзисторе VT4 и резисторах R23— R25. Резистор R25 — датчик тока нагрузки, включённый в цепь плюсового провода питания.

Напряжение, пропорциональное выходному току, с истока транзистора VT4 через резистор R20 поступает на инвертирующий вход (вывод 6) ОУ DA2.1, а на его неинвертирующий вход (вывод 5) подаётся напряжение с движка переменного резистора R18. При неизменном положении этого движка напряжение на нём стабильно, так как последовательно соединённые резисторы R17 и R18 подключены к стабилизированному напряжению +5 В с выхода микросхемы DA1. Перемещая движок переменного резистора R18, регулируют порог ограничения выходного тока.

Если напряжение на неинвертирующем входе ОУ DA2.1 больше напряжения на истоке транзистора VT4, пропорционального току, то напряжение на выходе этого ОУ близко к напряжению его питания, диод VD2 закрыт и не влияет на стабилизацию выходного напряжения. Светодиод HL1 погашен и защищён от обратного напряжения диодом VD3. Если напряжение на истоке транзистора VT4 превысит напряжение на неинвертирующем входе ОУ DA2.1, напряжение на выходе этого ОУ DA2.1 упадёт практически до нуля. Через резистор R19, диод VD3 и светодиод HL1 начнёт протекать ток. Диод VD2 открывается, в результате чего выходное напряжение уменьшится так. чтобы выходной ток не превышал порога ограничения. Включится светодиод HL1 — индикатор режима ограничения тока нагрузки.

После включения блока напряжение питания 5 В со стабилизатора DA1 поступает на микроконтроллер DD1. который настраивает порты ввода—вывода, конфигурацию и режимы встроенных периферийных модулей согласно программе, считывает из EEPROM (энергонезависимой памяти) в регистры значения выходного напряжения, установки температуры и выдержки времени. На индикатор HG1 выводятся на две секунды номер версии программы и далее, с пониженной яркостью, значение напряжения, которое должно быть на выходе, но оно в это время ещё не включено Нажатием на кнопку SB1 включают выходное напряжение со значением, записанным ранее в EEPROM, индикатор HG1 будет его показывать с полной яркостью. Следующее нажатие на эту кнопку вновь отключит выходное напряжение и так далее. Нажатием на SB3 и SB4 соответственно увеличивают или уменьшают выходное напряжение. Коротким нажатием осуществляют точную установку выходного напряжения, удержанием кнопок — грубую. Если необходимо, чтобы при следующем включении источника питания на выходе было новое значение напряжения, то нужно записать его в память нажатием и удержанием кнопки SB2. Когда на индикаторе появится надпись "SAU", кнопку отпускают, новое значение будет сохранено в EEPROM.

Короткое нажатие на SB2 позволяет просматривать на индикаторе температуру и значение счётчика времени с дискретностью 10 мин. Значения установок температуры и времени можно посмотреть удержанием этой кнопки, при этом индикатор покажет мигающие значения соответствующих установок, изменить которые можно кнопками SB3 и SB4. Нажатие и удержание кнопки SB2 сохранят новые значения в EEPROM.

Если во время работы устройства с включённым выходным напряжением температура датчика ВК1 превысит установленную, то выходное напряжение отключится. На индикаторе появится мигающая надпись "о.t", что означает превышение температуры. Как только температура снизится менее установленной на 2 С, будет включено выходное напряжение, а на индикаторе HG1 — показано его значение.

Если значение счётчика времени совпадёт с установленным, выходное напряжение будет отключено, а на индикаторе появится мигающая надпись "o.h", что означает превышение времени. Включить входное напряжение после этого можно, если передвинуть установку времени вперёд или в "0".

Сетевой трансформатор Т1 — промышленного изготовления с напряжением вторичной обмотки 17 В и допустимым током нагрузки 1,2 А. Можно применить трансформатор ТП-115-К8 с двумя вторичными обмотками по 9 В и током 1,1 А, которые соединяют синфазно-последовательно. Годится также сетевой трансформатор от ламповой техники с тремя накальными обмотками по 6,3 В, которые соединяют аналогично. Диодный мост VD1 должен быть рассчитан на напряжение не ниже 50 В и средневыпрямленный ток не менее 2 А. Диоды 1N4148 (VD2 и VD3) могут быть заменены на КД522 с любым буквенным индексом. Диоды ВАТ85 (VD4— VD6) можно заменить другими диодами Шотки, например, 1N5817, 1N5818.

Регулирующий транзистор VT1 структуры p-n-р, составной КТ825Г в металлическом корпусе, выбран с большим запасом по току для обеспечения надёжности устройства. Его можно заменить аналогичным с максимальным напряжением коллектор—эмиттер не менее 50 В и током коллектора 3 А и больше. Транзистор VT1 установлен на ребристом теплоотводе с площадью охлаждающей поверхности 100см2. Теплоотвод с транзистором VT1 закреплён на верхней крышке корпуса снаружи, как показано на фото рис. 2. Полевые транзисторы VT2 и VT4 — любые из серии КП501 или импортные 2N7000. Транзистор VT3 может быть любым из серий КТ3102, КТ342.

Индикатор HG1 — трёх- или четырёхразрядный с общим анодом. Он может быть составлен из трёх отдельных одноразрядных индикаторов. В этом случае одноимённые выводы сегментов соединяют между собой, транзистор VT3 не устанавливают, а вывод десятичной точки второго разряда соединяют с общим проводом через резистор 1 кОм.
Кнопки SB1—SB4 взяты из неисправной офисной техники, в том числе из струйного принтера. Стабилизатор напряжения DA1 — любой из серии 7805 в корпусе ТО220. Подстроечный резистор R28 - 3266W-1-103 - импортный малогабаритный многооборотный производства фирмы Bourns. Датчик тока R25 составлен из четырёх параллельно соединённых резисторов сопротивлением 1 Ом и номинальной мощностью 0,5 Вт.

Блок питания собирают без диода VD2. проверяют правильность монтажа и отсутствие замыканий. В первый раз подключают блок к сети без микроконтроллера DD1 и нагрузки. С помощью вольтметра проверяют, что напряжение в гнезде 14 панели DD1 равно 5 В, на эмиттере транзистора VT1 — 17...20 В, на его коллекторе — около 0 В. Блок выключают и устанавливают в панель микроконтроллер DD1 с заранее записанной программой, коды которой приведены в файле ad_ps1 .hex.

Блок питания с микроконтроллерным управлением + энкодер

Без чего не может обойтись не один радиолюбитель? Правильно - без ХОРОШЕГО блока питания. В этой статье я опишу, как можно сделать неплохой, на мой взгляд, блок питания из обычного компьютерного (AT или ATX). Идея хороша тем, что не нужно покупать дорогие трансформаторы, транзисторы, мотать импульсные трансформаторы и катушки... Достать компьютерный БП на сегодняшний день не составляет большого труда. Например на местном радиорынке средний БП ATX 300W стоит ~8$. Естественно это за б/у. Но следует учитывать, что чем качественнее копьютерный БП - тем качественнее девайс мы получим=) Бывает что китайские БП так плохо укомплектованы/собраны что и смотреть страшно - отсутствуют абсолютно все фильтры на входе, и почти все фильтры на выходе! Так что выбирать нужно внимательно.За основу был взят БП АТХ C ODEGEN 300W который был переделан под напряжение 20В идобавлена плата управления.


Характеристики:

Напряжение - 3 - 20,5 Вольт
Ток - 0,1 - 10А
Пульсации - зависит от модели "исходника".

В изготовлении такого БП есть одно "НО": если Вы ни разу не ремонтировали или хотя бы не разбирали компьютерный БП, то изготовить лабораторный будет проблематично. Это связано с тем, что схематических решений компьютерных БП очень много и описать все необходимые переделки я не смогу. В данной статье я опишу как изготовить плату для контроля за напряжением и током, куда её подключить, и что переделать в самом БП, но точной схемы переделки я Вам не дам. Поисковики вам в помощь. Ещё одно "но": схема рассчитана на использование в БП на основе довольно распространенной микросхемы ШИМ - TL494 (аналоги КА7500, МВ3759, mPC494C, IR3M02, М1114ЕУ).

Схема управления

Схема АТХ C ODEGEN 300W

Немного пояснений по первый схеме. В пунктир обведена часть схемы, которая находится на плате БП. Там указаны элементы, которые нужно поставить вместо того, что там стоит. Остальную обвязку TL494 не трогаем.

В качестве источника напряжения используем канал 12 Вольт, который немного переделаем. Переделка состоит в замене ВСЕХ конденсаторов в цепи 12 Вольт на конденсаторы такой же (или больше) ёмкости, но большего напряжения 25-35 Вольт. Канал 5 Вольт я вообще выкинул - выпаял диодную сборку и все элементы, кроме общего дросселя. Канал -12В также нужно переделать на большее напряжение - мы его тоже будем использовать. Канал 3,3 Вольта тоже нужно убрать, чтобы он нам не мешал.

Вообще, в идеале нужно оставить только диодную сборку канала 12 Вольт и конденсаторы/дроссели фильтра этого канала. Так же нужно убрать цепи обратной связи по напряжению и току. Если цепь ОС по напряжению найти не трудно - обычно на 1 вывод TL494, то по току (защита от КЗ) обычно приходится искать довольно долго, особенно если нету схемы. Иногда это ОС на 15-16 вывод той же ШИМ, а иногда хитрая связь со средней точки управляющего трансформатора. Но эти цепи необходимо убрать и убедиться, что ничего не блокирует работу нашего БП. Иначе лабораторный не получится. Например - в CODEGEN-е я забыл убрать ОС по току... И не мог поднять напряжение выше 14 Вольт - срабатывала защита по току и выключала БП полностью.

Ещё одно важное замечание: Необходимо изолировать корпус БП от всех внутренних цепей.

Это связано стем, что на корпусе БП - общий провод. Если, совершенно случайно, коснуться выходом "+" на корпус, то получается неплохой феерверк. Т.к. теперь нет защиты от КЗ, а есть только ограничение по току, но оно реализовано по отрицательному выводу. Именно так я сжёг первую модель своего БП.

Хотелось что бы параметры блока устанавливались с помощью энкодера.

Управление напряжением и током стабилизации осуществляется встроенным в контроллер ШИМ-ом. Его скважность регулируется энкодером, каждый шаг которого приводит к увеличению или уменьшению опорных напряжений по напряжению и току и как следствие к изменению напряжения на выходе БП или тока стабилизации.

При нажатии на кнопку энкодерана индикаторе напротив изменяемого параметра появляется стрелкаи при последующемвращенииизменяется выбранный параметр.

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

Установленные параметры сохраняются в энергонезависимой памяти и при последующем включении устанавливаются по последнему выставленному значению.

Индикатор в верхней строке отображает измеренное напряжение и ток.

В нижней строке отображается установленный ток ограничения.

Привыполнении условия I i zm > Iset БП переходит в режим стабилизации тока.


Регулируем напряжение

Устанавливаем ток


Характеристика подопытного БП

Идея блока питания была взята на сайтеhttp://hardlock.org.ua/viewtopic.php?f=10&t=3

C Ув. SONATA

E-mail:[email protected]

Все вопросы на - форум =)

Эффектов, частотомеров и так далее. Скоро дойдёт до того, что и мультивибратор будет проще собрать на контроллере:) Но есть один момент, который очень роднит все типы контроллеров с обычными цифровыми микросхемами серии К155 - это питание строго 5 вольт. Конечно найти такое напряжение в устройстве подключенном к сети не проблема. А вот использовать микроконтроллеры в составе малогабаритных девайсов с батареечным питанием уже сложнее. Как известно, микроконтроллер воспринимает только цифровые сигналы – логический ноль или логическую единицу. Для микроконтроллера ATmega8 при напряжении питания 5В логический ноль – это напряжение от 0 до 1,3 В, а логическая единица – от 1,8 до 5 В. Поэтому для его нормальной работы и требуется такое значение питающего напряжения.

Что касается микроконтроллеров AVR, то есть два основных типа:

Для получения максимального быстродействия при высокой частоте - питание в диапазоне от 4,5 до 5,5 вольт при тактовой частоте 0...16 МГц. Для некоторых моделей - до 20 МГц, например ATtiny2313-20PU или ATtiny2313-20PI.

Для экономичной работы на небольших тактовых частотах - 2,7...5,5 вольт при частоте 0...8 МГц. Маркировка микросхем второго типа отличается от первого тем, что на конце добавляется буква "L". Например, ATtiny26 и ATtiny26L, ATmega8 и ATmega8L.

Существуют и микроконтроллеры с возможностью понижения питания до 1.8 В, они маркируются буквой "V", например ATtiny2313V. Но за всё надо платить, и при понижении питания должна быть снижена и тактовая частота. Для ATtiny2313V при питании 1,8...5,5 В частота должна находиться в интервале 0...4 МГц, при питании 2,7...5,5 В - в интервале 0...10 МГц. Поэтому если требуется максимальное быстродействие, надо ставить ATtiny26 или ATmega8 и повышать тактовую частоту до 8...16 МГц при питании 5В. Если важнее всего экономичность - лучше использовать ATtiny26L или ATmega8L и понизить частоту и питание.

В предложенной схеме преобразователя, при питании от двух пальчиковых батареек с общим напряжением 3В - выходное напряжение выбрано 5В, для обеспечения достаточного питания большинства микроконтроллеров. Ток нагрузки составляет до 50мА, что вполне нормально - ведь при работе на частоте например 4 МГц, PIC контроллеры, в зависимости от модели, имеют ток потребления менее 2 мА.


Трансформатор преобразователя мотается на ферритовом кольце диаметром 7-15мм и содержит две обмотки (20 и 35 витков) проводом 0,3мм. В качестве сердечника можно взять и обычный маленький ферритовый стержень 2,5х7мм от катушек радиоприёмников. Транзисторы используем VT1 - BC547, VT2 - BC338. Допустима их замена на другие аналогичной структуры. Напряжение на выходе подбираем резистором 3,6к. Естественно при подключенном эквиваленте нагрузки - резисторе 200-300 Ом.


К счастью технологии не стоят на месте, и то что казалось недавно последним писком техники - сегодня уже заметно устаревает. Представляю новую разработку кампании STMicroelectronics - линейка микроконтроллеров STM8L, которые производятся по технологии 130 нм, специально разработанной для получения ультранизких токов утечки. Рабочие частоты МК - 16МГц. Интереснейшим свойством новых микроконтроллеров является возможность их работы с в диапазоне питающих напряжений от 1,7 до 3,6 В. А встроенный стабилизатор напряжения дает дополнительную гибкость выбора источника напряжения питания. Так как использование микроконтроллеров STM8L предполагают питание от батареек, в каждый микроконтроллер встроены схемы сброса по включению и выключению питания, а также сброса по снижению напряжения питания. Встроенный детектор напряжения питания сравнивает входные напряжения питания с заданным порогом и генерирует прерывание при его пересечении.


К другим методам снижения энергопотребления в представленной разработке относятся использование встроенной энергонезависимой памяти и множества режимов сниженного энергопотребления, в число которых входит активный режим с энергопотреблением - 5 мкА, ждущий режим - 3 мкА, режим остановки с работающими часами реального времени - 1 мкА, и режим полной остановки - всего 350 нА! Микроконтроллер может выходить из режима остановки за 4 мкс, позволяя тем самым максимально часто использовать режим с самым низким энергопотреблением. В общем STM8L обеспечивает динамическое потребление тока 0,1мА на мегагерц.

Обсудить статью ПИТАНИЕ МИКРОКОНТРОЛЛЕРА

11

Рис. 2. Схема блока питания.

Основные изменения в схеме относительно оригинала:
1) под R-2R ЦАП выделен порт С микроконтроллера целиком, так проще работать,
2) сами резисторы в ЦАПе других номиналов, такие, какие были, кстати, эти резисторы надо бы подбирать с высокой точностью, иначе при работе ЦАПа будут ступеньки.
3) схема Дарлингтона в выходном каскаде заменена на один КТ8106А ;
4) токоизмерительный шунт сделан более мощным и с меньшим сопротивлением (0,55 Ом);
5) устранено совмещение сигнальных линий энкодера и LCD-экрана.
6) предусмотрена обвязка термодатчика и схема управления вентилятором с ШИМ управлением.

Исходники были модифицированы под данную схему. Переназначены ножки микроконтроллера. Файлы для работы с клавиатурой были заменены (kbd.c и kbd.h ) на файлы для работы с энкодером . Алгоритм работы энкодера следующий: нажали на энкодер - вошли в режим установки напряжения, нажали еще раз - вошли в режим установки тока, нажали еще раз - сохранили установки. Если в режиме настройки не трогать энкодер более 20 секунд, блок автоматом выходит из режима настройки и не сохраняет изменения. Энкодер работает по внешним прерываниям и использует таймер Timer2 для реализации защитных пауз.

Изменена логика работы со светодиодом состояния. Теперь он показывает аварийные ситуации - перегрузку блока питания, перегрев и состояние перезаписи прошивки бутлоадером.

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

Добавлен опрос 3-го аналогового входа АЦП для термодатчика. Реализована ШИМ-регулировка оборотов вентилятора охлаждения в зависимости от показаний датчика.

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

Сборка

Корпус УПС очень хорошо подходит для переделки. Прочный, пластик, внутренние усилительные ребра. Да и размер подходящий. Вместо задней панели с силовыми разъемами я вырезал аналогичный по цвету и форме кусок ровного пластика от лотка струйного принтера. К нему прикрутил радиатор от старого Атлона. К радиатору через изолирующую термоподложку прикрепил выходной транзистор, диодный мост и датчик температуры. Два слова о том как определять обмотки в трансформаторе: самые толстые три провода - это вторичная силовая обмотка. От нее у меня питается силовая часть. Бывает еще и вторая слаботочная вторичная обмотка для питания внутренней схемы УПС. Она определяется так - это два тонких провода одинакового (у меня были оранжевые) цвета. У меня от нее запитана схема управления, микроконтроллер, подсветка экрана и вентилятор. Остальные относительно тонкие провода - это первичная обмотка с большим количеством отводов. С их помощью можно подобрать подходящее выходное напряжение силовой обмотки при приемлемом токе холостого хода.

В результате удаления силовых разъемов, между задней стенкой и трансформатором освободилось место, в которое поместились конденсаторы фильтра. В лицевой панели разметил и вырезал отверстия для экрана и выходных разъемов. В крышке корпуса размещены плата управления, энкодер, выключатель питания и плата RS232-интерфейса. В передней части корпуса оставлено свободное место для дальнейшего усиления блока (можно будет поставить второй трансформатор).

В качестве интефейса МК-компьютер я пока использую готовую платку преобразователя USB-TTL RS232 на микросхеме CP2102. Через нее осуществляется перепрошивка МК и общение компьютера со схемой. В будущем я планирую сделать оптоизолированный RS232 интерфейс.

Рис.3. Передняя панель.


Рис. 4. Установка радиатора.


Рис. 5. Внутренности блока.

Прошивка

Я все делал в среде AVR Studio 4.18 с WinAVR-20100110 . Готовые файлы прошивки для бутлоадера и основной программы лежат в архиве.
Прошить микроконтроллер можно и просто основной программой или связкой "бутлоадер+основная программа ". Первый случай подойдет тем, кто ничего в основной программе менять не собирается. Или не собирается делать интерфейс блок-компьютер. В случае использования бутлоадера можно перепрограммировать полностью собранное устройство и на первом этапе очень удобно было, например, подгонять калибровочные параметры. Однако, для бутлоадера блоку нужен RS232.

Вне зависимости от способа программирования вначале нужно подключить собранную плату к ISP-программатору. Затем прошить соответствующим hex-файлом и выставить фьюзы. В случае использования программы без бутлоадера HIGH=0xDB LOW=0xDE, во втором HIGH=0xDA LOW=0xDE. Остальное изменять не стоит.

Как только бутлоадер прошит, дальнейшие манипуляции по перепрограммированию осуществляются очень просто: подключаешь блок к компьютеру RS232 интерфейсом, контролируешь (в случае USB -эмуляции порта), что подключение произошло к COM1, 2, 3, или 4, включаешь питание блока и сразу запускаешь в студии Tools->Avr Prog. В ней выбираешь файл из архива с прошивками \AVRGCC1\Debug\PowerUnit.hex и шьешь.
Поскольку и бутлоадер и вся процедура у меня сделана по статье , тонкости процесса можно почерпнуть там.

Калибровка

Замечательным свойством данной схемы является универсальность. В принципе, можно сделать блок питания на любое напряжение, любой ток , и любой конструкции. Понятно, что эти характеристики зависят, прежде всего от первичных преобразователей мощности: трансформатора, диодного моста, фильтра, транзистора выходного каскада, или характеристик импульсного преобразователя.

Но для микроконтроллерной части это все не важно. Главное, чтобы делитель выходного напряжения выдавал ему напряжение от 0 до 2,56В, токоизмерительный шунт в режиме короткого замыкания давал около 2В, а система установки выходного напряжения принимала напряжение от 0 до 5В.
Настроить калибровки можно с помощью интерфейса.

Интерфейс и работа с компьютером

Работа интерфейса также изменилась по сравнению с программой Гвидо: скорость 38400 kbps, 8N1. В конце строки требуется символ перевода каретки.
Набор команд:


С помощью этих команд можно управлять блоком из любой терминальной программы. Я предпочитаю использовать Serial monitor в Arduino, но это дело вкуса.
Я написал небольшую программу для Windows которая умеет выводить данные в график и задавать значения, в том числе и по протоколу. См. раздел файлов.


Рис.6. Интерфейс программы управления. Вкладка с графиками.


Индикатор - ЖКИ дисплей на основе контроллера НD44780, 2 сточки по 16 символов. Управление напряжением осуществляется встроенным в контроллер ШИМ ом. Его скважность регулируется энкодером, каждый шаг которого приводит к увеличению или уменьшению напряжения на 0,1 вольт на выходе БП. Полный оборот энкодера – 2 вольта. Поскольку ШИМ может изменять напряжение на накопительной емкости лишь в интервале от 0 до 5 вольт, применен ОУ с коэффициентом усиления 5. Таким образом фактическое напряжение на выходе БП регулируется в пределах 0 – 25 вольт.
Регулирующим элементом является мощный составной транзистор КТ827А. С эмиттера регулирующего транзистора через верхнее плечо делителя (2 Х 8,2 к) осуществляется обратная связь, благодаря чему даже при больших токах в нагрузке напряжение поддерживается на строго заданном уровне вплоть до сотых долей вольта.

Измерительная часть – двухканальный АЦП (Микрочип), измеряющий реальное напряжение на выходе БП и падение напряжения на шунтирующем резисторе, усиленное ОУ, что прямо пропорционально потребляемому нагрузкой току. Сердцем конструкции является контроллер.

Блок защиты от короткого замыкания в нагрузке. Выполнен виде отдельного устройства включенного между выпрямителем и регулирующим элементом. Ток срабатывания защиты - 5 А. Подбирается резистором 47к в базовой цепи транзистора управляющего ключом КТ825Г.

Настройка.
Заключается в подборе резисторов, обозначенных звездочкой, для соответствия показаний ЖКИ реальным току и напряжению на выходе БП.

Детали.
Шунт взят из разбитого мультиметра, его сопротивление около 0,01 Ом. Исходное состояние контактов энкодера описано в принципиальной схеме, он может быть любой соответствующий этим состояниям. Кроме вращения, он имеет вн контакты, которые замыкаются без фиксации при нажатии на вал.
Транзисторы n-p-n без маркировки могут быть КТ315 или любыми маломощными, подобными им в чип корпусе. Транзистор p-n-p в ключе, управляющем подсветкой может быть любой средней мощности.

Как пользоваться БП.
Энкодером регулируется напряжение 0 – 25 вольт с шагом 0,1 вольта. При кратком (менее 0,5 сек) нажатии на ручку включается/выключается подсветка. При нажатии более 0,5 сек происходит запись установленного напряжения в энергонезависимую память контроллера.

Полный проект для MPLAB вы можете скачать ниже.

Список радиоэлементов

Обозначение Тип Номинал Количество


МК PIC 8-бит

PIC16F628A

1


АЦП MCP3202 1


Операционный усилитель

LM358

2


Линейный регулятор

LM7809

1


Линейный регулятор

LM7805

1


Биполярный транзистор

КТ825Г

1


Биполярный транзистор

КТ827А

1


Биполярный транзистор

КТ315А

2


Транзистор
1


Диодный мост
1


4700 мкФ 1


Электролитический конденсатор 2200 мкФ 3


Электролитический конденсатор 1 мкФ 1


Электролитический конденсатор 470 мкФ 2


Электролитический конденсатор 4.7 мкФ 4


Электролитический конденсатор 10 мкФ 1


Конденсатор 0.1 мкФ 1


Резистор

2.2 кОм

1


Резистор
1


Резистор

4.7 кОм

2


Резистор

47 кОм

1


Резистор

3.3 кОм

2


Резистор

100 кОм

1


Резистор

1 кОм

3


Резистор

0.01 Ом

1


Резистор

470 Ом

1


Резистор