Site Loader

Необычный блок питания на микроконтроллере / Блог им. citizen / Сообщество EasyElectronics.ru


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

На самом деле, это не полноценный блок питания, а понижающий преобразователь напряжения. В качестве DC-DC используется преобразователь на микросхеме LM2576, управляемый микроконтроллером. В блоках питания с микроконтроллерным управлением, конструкции которых обычно описываются в интернете, понижение напряжения обычно производится линейным методом — вся лишняя мощность в таких блоках питания рассеивается радиатором мощного транзистора.
Использование преобразователя DC-DC позволяет отказаться от использования большого радиатора. В случае, если нагрузка не требует высокого напряжения, то для обеспечения большого тока можно использовать слаботочный первичный блок питания, но способный выдавать более высокое напряжение (обычно я использую первичный блок питания 24 В, 0.8 А).

Так как большой радиатор в этом блоке питания не нужен, то корпус удалось сделать максимально компактным. Для того, чтобы блок питания занимал меньше места в шкафу, передняя панель сделана откидной.
Недостаток же DC-DC — относительно высокий уровень шумов по питанию (это важно при работе со слабыми сигналами).

Зачем нужно микроконтроллерное управление напряжением? Напряжение на выходе такого блока питания можно точно устанавливать энкодером, при этом регулировку напряжения можно временно заблокировать (чтобы случайно не сбить напряжение, и не сжечь устройство, зацепив ручку энкодера). Дискретность установки напряжения можно менять. Можно управлять напряжением, в зависимости от тока (для заряда аккумуляторов).

Характеристики получившегося блока питания:
Напряжение питания: 7-35 В.
Выходное напряжение: 1.3 — 30 В
Максимальный ток: 3 А
Дискретность установки напряжения: 0.1 В
Дискретность отображения тока: 0.01А (в блоке питания нет стабилизации тока)
Защита от КЗ.

Блок питания разбит на две части (силовую и цифровую), которые сделаны на отдельных платах.
Схема блока питания (силовая часть):

Обвязка LM2576 или LM2596 стандартная — из даташита. Дроссель L1 в данном блоке питания взят из блока питания принтера (там был DC-DC), маркировки на нем не было. Вообще, микросхема LM2576 нетребовательна к дросселю. Параметры дросселей для конкретных токов и напряжений даны в даташите.

Резистор R9 используется для быстрого разряда конденсатора при отключении напряжения.
Для управления напряжением с микроконтроллера используются ОУ U1. U1B повышает напряжение (3 В > 30В), U1A замыкает обратную связь DC-DC, и позволяет регулировать напряжение на выходе.
На ОУ U3 собран узел измерения тока. Стабилитрон D2 защищает микроконтроллер от скачков напряжения, вызываемых скачками тока (например, при КЗ во время разряда конденсатора).

Схема цифровой части:


Тут все довольно стандартно. Питание цифровой части (5В) обеспечивается от отдельного DC-DC — так как входное напряжение может быть большим, то обычные линейные стабилизаторы могут греться, а места под радиатор в корпусе нет. Внимание — линии VCC у цифровой и силовой части разные.
Напряжение для управления DC-DC формируется при помощи ШИМ, и фильтруется ФНЧ на R12,R13,C2,C3.
Транзистор Q1 и его обвязка служат для формирования напряжения 12 В для подсветки индикатора (повышающий преобразователь).
Резистор R9 задает ток срабатывания защиты от КЗ (используется компаратор контроллера).
Кнопки, индикатор, энкодер устанавливаются в передней панели. Для защиты от дребезга выводы энкодера соединяются через конденсаторы 0,01 мкФ с землей.

Фото готового блока питания (на форуме есть другие фотогорафии):

Прошивка для контроллера: прошивка.
Пример установки фьюзов для AVR Studo:

Разводка печатных плат (для Sprint-Layout): здесь.

Описание работы с блоком питания.
При включении блока питания, на индикаторе несколько секунд отображается величина входного напряжения и номер прошивки. После этого блок переходит в режим отображения главного меню — здесь при помощи энкодера нужно выбрать один из 6 режимов. Выбор режима производится кнопкой «Выбор» S3, возвращение в главное меню из любого выбранного режима — кнопкой «Меню» S4. При переходе в главный режим питание нагрузки отключается.

Наиболее часто используемый режим — «Точный», предлагается первым. В этом режиме дискретность установки напряжения — 0.1 В.
На самой верхней строчке отображается желаемое напряжение, которое и устанавливается энкодером. В центре экрана — потребляемый нагрузкой ток. Внизу — напряжение на выходе блока питания, измеренное АЦП (требуемое и желаемое напряжения могут немного различаться при большом токе или высоких напряжениях).
Красная кнопка слева S1 управляет подачей напряжения на нагрузку. Короткое нажатие на нее либо включает нагрузку, либо перезагружает ее (DC-DC остается отключенным до тех пор, пока конденсатор на выходе блока питания не разрядится). Длительное нажатие на кнопку отключает нагрузку.
Нажатием кнопки «Выбор» можно включить или отключить блокировку энкодера, при блокировке около значения желаемого напряжения появляются скобки.
Нажатием кнопки «Грубо» S2 можно управлять дискретностью установки напряжения (шаг установки напряжения становится равным 0.5 В).
Режим работы «Грубый» полностью аналогичен предыдущему, но в нем шаг установки напряжения всегда равен 1 В.
Режим работы, обозначенный в меню «Аккум.», предназначен для зарядки свинцовых аккумуляторов. Нажимая кнопку «Выбор», при помощи энкодера последовательно вводят значения начального напряжения, конечного напряжения, и максимального тока. После этого начинается заряд аккумулятора. Блок питания постепенно поднимает напряжение на выходе от начального до конечного. Если ток превышает установленный, то подъем напряжения прекращается.
В режиме заряда на верхней строчке отображается напряжение на выходе блока питания (измеренное АЦП), в центре — ток, внизу — напряжение, которое ожидается на выходе блока питания.
Режим работы «Конст.» аналогичен режимам грубой и точной установок, но в нем при помощи энкодера выбираются стандартные значения напряжений — 3.3; 5; 7; 9; 12 В
Режим работы, обозначенный в меню «Стат.» — отображаются константы, записанные в EEPROM. Можно просматривать суммарное время работы блока питания, и коэффициенты коррекции, используемые для расчета значения тока.
Режим работы, обозначенный в меню «Калиб.» — определение коэффициентов коррекции при измерении тока. Так как у ОУ имеется напряжение смещения, то для большей точности измерения тока приходится измерять эти коэффициенты.
Для измерения коэффициентов к блоку питания через амперметр нужно подключить нагрузку, способную выдержать ток до 1 А. Я использовал достаточно мощную автомобильную лампочку.
После нажатия кнопки «Выбор» энкодером нужно установить на выходе блока такое напряжение, при котором ток через нагрузку будет наиболее близок к 0.1 А, затем еще раз нажав «Выбор», устанавливают ток равным 1 А. После третьего нажатия на кнопку контроллер рассчитывает значения коэффициентов и сохраняет их в EEPROM, после чего происходит переход в главное меню.
Защита от КЗ — срабатывает во всех режимах по прерыванию от встроенного в контроллер компаратора, при этом подача питания на нагрузку отключается, на экран выводится сообщение. Через 0.5 сек производится проверка — на нагрузку подается напряжение 1.3В, если ток при этом превысит 3А, то защита отключается, иначе процесс повторяется.

Настройка блока питания при сборке.
Так как конструкция у меня состоит из двух частей, то и собиралась она последовательно. Сначала собирается силовая часть. После сборки резисторы R2, R10 устанавливаются в нижнее по схеме положение. Это обеспечит защиту контроллера от перенапряжения при последующем подключении. После установки перемычки J1 и подачи напряжения на вход силовой части, проверяют ее работоспособность — на выходе DC-DC должно быть напряжение не менее 1.3 В, которое должно изменятся при подаче внешнего напряжения на линию VOLT_CTRL. DC-DC должен обеспечивать нужный ток.

Затем собирается цифровая часть. Наладки она не требует (возможно, потребуется поменять выводы энкодера местами).
Сначала настраивается индикация входного напряжения (резистором R2). Для контроля правильности настройки придется включать и отключать первичный блок питания. Последующая настройка идет в точном режиме.
Далее настраивается коэффициент усиления ОУ, отвечающего за установку напряжения. Энкодером нужно установить нужное напряжение, например 10 В, подключить к выходу блока питания мультиметр, и поворачивая резистор R1, добиться совпадения напряжений на экране (желаемого) и мультиметре. После этого, поворотом резистора R10 добиваются совпадения напряжений на экране (действительного) и мультиметре.
После этого к выходу блока питания подключают нагрузку и амперметр, энкодером устанавливают такое напряжение, при котором ток в нагрузке близок, например, к 1 А, и поворотом резистора R12 устанавливают такое же значение тока на экране. После этого нужно произвести определение коэффициентов тока, как описано выше.

Резистор R9 на цифровом блоке используется для установки тока срабатывания защиты от КЗ. После подключения к блоку питания нагрузки, способной выдержать ток 3 А, и установки нужного напряжения, подстраивают резистор, добиваясь срабатывания защиты.

В случае одиночной платы при настройке прибора важно контролировать положения резисторов R2, R10, чтобы напряжения на их выходах не превышали 5 В.

Лабороторный блок питания на Atmega8 — Источники питания и приборы — Микроконтроллеры — Каталог статей

Много писать в лом, посему изложу только самоу нужное, буду вопросы — задавайте ниже! Итак. БП на МК мега8, для отображения информации используется дисплей жки1602 любой модели. МК работает на частоте 1 мГц, поэтому прошивать фьюзы ему не нужно! заливаем прошивку и все пучком! По поводу проишвок сразу оговорюсь: ПО буду постоянно обновлять, и выкладывать свежайшие из них. В версии 0.2 после 20го включения БП прошивка блокируется, работает только основное меню, дополнительное меню функциоировать перестает, отказывает так же защита по температуре. Это сделано программно, для того чтобы поиграться вам с модулем вольтметра и понять, нужен ли он Вам =).

 

Схема вольтметра:

 

Что есть в этом БП: ( В версии прошивки 0.2)

* Защита от КЗ основного канала.

* Защита от перегрева (включается вентилятор, если температура дальше растет то выходит предупреждение, если дальше растет то подача птания на клеммы отключается, при этом на жк высвечивается ошибка такая то)

* Есть защита от резкого увеличения напряжения, т.е. напряжение при эксплуатации регулировать нужно относительно плавно, если резко крутануть то сработает защита и реле отключит подачу питания.

* Так, ради понтов сделал индикацию «MAX» — что означает максимальный, верхний предел выставленного напряжения.

* Индикации потребляемого тока в этом варианте прошивки нет.

* Защита на юсб, от повышенного и пониженного напряжения, в обоих случаях питалово отключается и светится код ошибки.

* Есть таймер на основном канале и на юсб, на 5-10-15 и 30 минут. * Индикация всех режимов работы.

* В случае если вышла какая либо ошибка необходим ресет БП, кнопка выведена на переднюю панель. подр информацию об ошибках можно смотреть в дополнительном меню (кнопка menu на передней панели)

* Включение выключение подсветки ЖКИ, регулировка яркости (100 и 50%)

 

Видео работы БП:

 

Несколько фотографий:

 

 

 

 

Шить вторую версию нерентабельно т.к. есть доработанная и по уму написанная на данный момент версия 0.3

 

Описание прошивки v03: 

 

* Проверка вентилятора охлаждения при запуске БП

* Измерение напряжения от 0.1 до 50 вольт.

* Индикация минимального и максимального напряжения (минимум ниже 1.5 вольт, максимум выше 25 вольт) доработаю под ваши нужды эту фитчу если надо.

* Индикация включенной подсветки.

* Индикация режима работы, включена ли подача питания или нет. Индикация температуры.

* Включение вентилятора при 47 градусах, индикация статуса и иконки на дисплее

* Отображение иконки «Warning» при 50 градусах, при 51 градусах подача питания отключается и тухнет подсветка дисплея дабы снизить нагрузку на трансформатор (почему на транс будет сказано ниже) При отсутсивии датчика температуры высвечивается ошибка и пользование БП без него невозможно.

* В дополнительном меню отображается напряжение на МК — 5 вольт, статус вентилятора, температуры, и некоторые расшифровки ошибок в верхнем правом углу.

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

 

В архиве ниже имеется файл ПП.

 

Сам модуль питания (регулятор напряжения) собран на китайском модуле LM2596S — тянет 4-5 ампер с радиатором. Датчик температуры ds18b20 у меня прикреплен на трансформатор, т.к. он греется больше всех, охлаждается очень медленно и вообще, стоит дороже чем сам модуль =) надо беречь его.

Первые тесты БП…

 

Думаю что все, вопросы задавайте ниже.

файлы проекта: ~340кб.

 — — —     Обновление прошивки от 06.10.2014.    — — — 

Обновил прошивку для платы, теперь есть третье меню где отображается информация о ПО (версии и даты), а так же немного ускорена работы процессора в целом. Исправлены некоторые мелочи, добавлен разовый индикатор который сигнализирует о том что была высокая температура радиатора (сбрасывается после перезапуска БП), и режим теста вентилятора системы охлаждения теперь более плавный и тихий, а то шумел и пользователи просили сделать потише или вовсе убрать этот тест…

Фотографии изменений:

Таймеры втыкать пока не стал ибо считаю что данная функция не особо нужна в БП, хотел сделать еще чтобы при нажатии кнопок пикал внутренний динамик, пока отложил ибо это лишнее…

В главном окне ничего не поменялось кроме стрелки вверх, появляется после срабатывания защиты от перегрева.

Скачать (~5кб.)



Лабораторный источник питания на Atmega8

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

Схема устройства:

Источником питания для этого ЛБП у автора работает БП от ноутбука, но можно использовать любой БП напряжение до 27в и способным отдать ток до 5А.

Для прошивки Атмеги понадобится программатор. Можно заказать у АлиЭкспресса : такой или такой или еще море вариантов.

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

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

Несколько вариантов корпуса готового устройства:


Прошивка:

Фьюзы:

Файлы прошивки:

Для не руссифицированного экрана.
Другой вариант

Варианты печатных плат от нашего подписчика Vasiliy Semerenko:

Раз и Два

Видео работы устройства от нашего подписчика Vasiliy Semerenko:

Еще записи по теме

БП с микроконтроллерным управлением и регулировкой параметров при помощи энкодера.

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

БП с микроконтроллерным управлением и регулировкой параметров при помощи энкодера.

Идея блока питания была взята на сайте.
Хотелось что бы параметры блока устанавливались с помощью энкодера.
Для этого пришлось немного изменить схему и программу.
В результате получилась схема:

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

Если в течении некоторого времени не проводить никаких действий система управления переходит в ждущий режим и не реагирует на вращение энкодера.
Установленные параметры сохраняются в энергонезависимой памяти и при последующем включении устанавливаются по последнему выставленному значению.
Индикатор в верхней строке отображает измеренное напряжение и ток.
В нижней строке отображается установленный ток ограничения.
При выполнении условия Iizm>Iset БП переходит в режим стабилизации тока.
За основу был взят БП АТХ CODEGEN, который был переделан под напряжение 20В и добавлена плата управления.

В результате получился вот такой вот блок питания:

Файлы:
Прошивка МК.

Вопросы, как обычно, складываем тут.


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

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

БЛОК ПИТАНИЯ ДЛЯ AVR

   В настоящее время даже начинающие радиолюбители стали успешно осваивать контроллеры и их применение в радиосхемах. А с чего начать работу с ними? Конечно с хорошего источника питания. Для питания микроконтроллеров AVR необходимо, как известно, напряжение 5 вольт. Стабилизированного источника питания с таким напряжением у меня не было, зато было зарядное устройство от телефона выдающее 11 вольт. Нужно было собрать понижающий стабилизатор питания, остановился на микросхеме 7805 в корпусе ТО-220, собрав по следующей схеме:

Схема принципиальная блока питания для AVR

Схема принципиальная блока питания для AVR

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

БЛОК ПИТАНИЯ ДЛЯ AVR - рисунок платы

   Так как плата получилась простая, не стал использовать для её изготовления ЛУТ и нарисовал дорожки маркером. Вот что получилось после травления:

Травим плату на БЛОК ПИТАНИЯ ДЛЯ AVR

   Дорожки были впоследствии залужены с помощью паяльника и самодельной оплетки, сделанной из экрана от высокочастотного кабеля. Конденсаторы С1 и С2 должны быть керамические, я взял «жёлтые капельки”. Ещё была сделана индикация питания на светодиоде зелёного цвета, включенным последовательно с резистором на 470 Ом, и для удобства пользования установлен малогабаритный клавишный выключатель. Устройство предназначено для питания микроконтроллеров во время прошивки и дальнейшей отладки на цанговой макетной плате. Питание решено было сделать универсальным, оно будет подаваться на МК с помощью малогабаритных зажимов – крокодилов. Вот пару фотографий сделанных на этапе сборки, стабилизатор с открытым корпусом:

Самодельный БЛОК ПИТАНИЯ ДЛЯ AVR

   В качестве корпуса, как обычно, взял пластиковую коробочку от губки для обуви, вообще для сборки малогабаритных устройств очень удобно и в обработке и если в дальнейшем потребуется что-то изменить в схеме. Микросхему не стал устанавливать на радиатор, нагреваться думаю если и будет, то незначительно. А вот так выглядит готовое устройство:

БЛОК ПИТАНИЯ ДЛЯ контроллеров AVR в корпусе

   На выходе напряжение стабильное, в пределах 4.97-5.03 вольт. Если необходимо обеспечить 5 вольт с более низкого напряжения — посмотрите на этот повышающий БП. В целом устройство получилось очень простое, его сможет собрать любой начинающий радиолюбитель, рекомендую тем, кто начинает осваивать микроконтроллеры. Выкладываю на всякий случай печатную плату этого устройства в LAY. Автор конструкции — AKV.

   Форум по источникам питания для МК

   Обсудить статью БЛОК ПИТАНИЯ ДЛЯ AVR


Лабораторный блок питания на 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) подаётся напр

Источник питания на Atmega8 — Готовые устройства — Каталог статей — Микроконтроллеры

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

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

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

Введение

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

— На дисплее отображаются текущие измеренные значения напряжения и тока. 
— На дисплее отображается предварительно заданные пределы напряжения и тока. 
— Используются только стандартные компоненты(без специальных чипов). 
— Требуется напряжения питания одной полярности(нет отдельного отрицательного напряжение питания для операционных усилителей или управляющей логики) 
— Вы можете управлять блоком питания с компьютера.  Вы можете считать ток и напряжение, и Вы можете установить их простыми командами.  Это очень полезно для автоматизированного тестирования. 
— Небольшая клавиатура  для непосредственного ввода желаемого напряжения и максимального  тока. 
— Это действительно небольшой, но мощный источник питания.

Возможно удалить некоторые компоненты или добавить дополнительные функции?  Хитрость заключается в том, чтобы переместить функциональность аналоговых компонентов, таких как операционные усилители в микроконтроллер.  Иными словами, повышается сложность программного обеспечения, алгоритмов и уменьшается аппаратная сложность.  Это уменьшает общую сложность для вас, так как программное обеспечение может быть просто загружено.

Основные электрические идеи проекта

Давайте начнем с простейшего стабилизированного блока питания.  Он состоит из 2-х основных частей: транзистора и стабилитрона, который создает опорное напряжение.


Выходное напряжение этой схемы будет составлять Uref минус 0,7 Вольт, которые падают между В и Е на транзисторе.  Стабилитрон и резистор создают опорное напряжение, которое является стабильным, даже если на входе есть скачки напряжения.  Транзистор необходим для коммутации больших токов, которые стабилитрон и резистор не могут обеспечить.  В такой роли транзистор только усиливает ток.  Чтобы расчитать ток на резисторе и стабилитроне нужно выходной ток  поделить на HFE транзистора (HFE число, которое можно найти в таблице с характеристиками транзистора).

Какие проблемы в этой схеме? 

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

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

Для преодоления этих проблем необходимо использовать «интеллект», который будет регулировать ток на выходе и менять опорное напряжения.  Вот и все (… и это делает схему намного сложнее).

В последние несколько десятилетий люди используют операционные усилители, чтобы обеспечить этот алгоритм.  Операционные усилители в принципе могут быть использованы как аналоговые вычислители для сложения, вычитания, умножения или для осуществления операции логического «или» напряжений и токов.

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

— АЦП(аналого-цифровой преобразователь) для измерения напряжения и тока. 
— ЦАП(цифро-аналоговый преобразователь) для управления транзистором (регулировка опорного напряжения).

Проблема в том, ЦАП должен быть очень быстрым.  Если будет обнаружено короткое замыкание на выходе, то мы должны немедленно уменьшить напряжение на базе транзистора в противном случае он сгорит.  Быстрота реакции должна быть в пределах  миллисекунд (так быстро, как операционный усилитель).

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

R-2R матрица

Есть много способов для создания цифро-аналоговых преобразователей, но он должен быть быстрым и простым, который будет легко взаимодействовать с нашим микроконтроллером. Существует схемы преобразователя, известного как «R-2R матрица».  Он состоит только из резисторов и переключателей. Используются два типа номинала резисторов. Один со значением R и один с удвоенным значением R.


Выше показана схема 3 битного R2R — ЦАП. С помощью логического управления происходит переключение между GND и Vcc.  Логическая единица соединяет переключатель с Vcc, а логический ноль с GND.  Что делает эта схема? Она регулирует напряжение с шагом Vcc / 8. Общее выходное напряжение равно:

Uout = Z * (Vcc / (Zmax +1), где Z разрадность ЦАП (0-7), в данном случае 3-битный.

Внутреннее сопротивление цепи, как видно, будет равно R.

Вместо использования отдельного переключателя можно подключить R-2R матрицу к линиям порта микроконтроллера.

Создание сигнала постоянного тока разного уровня с помощью ШИМ(широтно-импульсная модуляция)

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


В Atmega8 присутствует аппаратный 16-битных ШИМ. То есть теоретически можно иметь 16-битный ЦАП с помощью небольшого количества компонентов. Чтобы получить реальный сигнал постоянного тока из ШИМ-сигнала надо его отфильтровать, это может быть проблемой при высоких разрешениях. Чем больше надо точности, тем ниже должна быть частота ШИМ-сигнала. Это означает, что нужны конденсаторы большой емкости, а время отклика получается очень медленным. Первая и вторая версии цифрового источника питания постоянного тока были построены на 10 битной R2R матрице. То есть максимальное выходное напряжение может быть установлено за 1024 шага. Если использовать ATmega8 с тактовым генератором частотой 8 МГц и 10 битный ШИМ, то импульсы ШИМ сигнала будут иметь частоту 8MHz/1024 = 7.8KHz. Чтобы получить наиболее хороший сигнал постоянного тока нужно отфильтровать его фильтром второго порядка от 700 Гц или меньше.

Можно представить, что произойдет, если использовать 16-битный ШИМ.  8MHz/65536 = 122Hz.  Ниже 12Hz, то что нужно.

Объединение R2R-матрицы и ШИМ

Можно совместно использовать ШИМ и R2R-матрицу.  В этом проекте мы будем использовать 7-битную R2R-матрицу в сочетании с 5-битным ШИМ-сигналом.  С тактовой частотой контроллера 8 МГц  и 5-битным разрешением мы получим сигнал 250 кГц.  Частота 250 кГц может быть преобразована в сигнал постоянного тока с помощью небольшого числа конденсаторов.

В оригинальной версии цифрового источника питания постоянного тока был использован 10-битный ЦАП на основе R2R-матрице.  В новом дизайне мы используем R2R-матрицу и ШИМ с общим разрешением 12 бит.

Передискретизация

За счет некоторого времени обработки можно увеличить разрешение аналого-цифровой преобразователь (АЦП).  Это называется передискретизацией.  Четверная передискретизация дает результат в двойном разрешении.  То есть: 4 последовательных образцов могут быть использованы для получения в два раза больше шагов на АЦП.  Теория, лежащая передискретизации объясняется в PDF документ, который вы можете найти в конце этой статьи.  Мы используем передискретизации для напряжения контура управления.  На текущий контур управления мы используем исходное разрешение АЦП как быстрое время отклика здесь более важным, чем разрешение.

Подробное описание проекта


Несколько технических деталей, по-прежнему отсутствуют: 

— ЦАП (цифро-аналоговый преобразователь) не может управлять силовым транзистором 
— Микроконтроллер работает от 5V, это означает что максимальный выход ЦАП равен 5V, а максимальное выходное напряжение на силовом транзисторе будет 5 — 0.7 = 4.3V.

Чтобы исправить это, мы должны добавить усилители тока и напряжения.

Добавление усилительного каскада на ЦАП

При добавлении усилителя мы должны иметь в виду, что он должен работать с большими сигналами.  Большинство конструкций усилителей (например, для аудио) делается в предположении, что сигналы будут малы по сравнению с напряжением питания.  Так что забудьте все классические книги о расчете усилителя для силового транзистора.

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

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

Ниже показана схема усилительного каскада, который подходит для этой цели.

Начнем с силового транзистора. Мы используем BD245 (Q1). В соответствии с характеристиками транзистор имеет HFE = 20 на 3А.  Поэтому он будет потреблять около 150 мА на базе.  Чтобы усилить управляющий ток мы используем связку известную как «Дарлингтон-транзистор».  Для этого используем транзистор средней мощности. Как правило, значение HFE должно быть 50-100.  Это позволит уменьшить  необходимый ток до 3 мА (150 мА / 50). Ток 3mA является сигналом поступающим с маломощных транзисторов, таких как BC547/BC557. Транзисторы с таким выходным током очень хорошо подходят для построения усилителя напряжения.


Чтобы получить на выходе 30В мы должны усиливать 5В идущие с ЦАП с коэффициентом 6.  Для этого мы объединяем PNP и NPN транзисторы, как показано выше.  Напряжение коэффициента усиления этой схемы вычисляется:

Vampl = (R6 + R7) / R7

Блок питания может быть доступен в 2-х версиях: с максимальным выходым напряжением 30 и 22В. Сочетание 1K и 6.8K дает коэффициент 7,8, который хорош для версии 30В, но возможно будут некоторые потери на более высоких токах (наша формула является линейной, но в реальности нет).  Для 22В версии мы используем 1K и 4.7K.

Внутреннее сопротивление цепи, как показано на базе BC547 будет: 

Rin = hfe1 * S1 * R7 * R5 = 100 * 50 * 1К * 47K = 235 МОм

— HFE примерно от 100 до 200 для BC547 транзистор
— S является наклон кривой усиления транзистора и около 50 [единица = 1/Ohm]

Это более чем достаточно высокой для подключения к нашему ЦАП, который имеет внутреннее сопротивление 5кОм. 

Внутреннее эквивалентное сопротивление выхода:

Rout = (R6 + R7) / (S1 + S2 * R5 * R7) = около 2Ом

Достаточно низкое, чтобы использовать транзистор Q2.

R5 связывает базу BC557 с эмиттером, что означает «выключено» для транзистора до ЦАП и BC547 придумать.  R7 и R6 связать основе Q2 сначала к земле, которая отключает выходной каскад Дарлингтона вниз.

Другими словами, каждый компонент в этом усилительном каскаде изначально выключен. Это означает, что мы не получим от транзисторов никаких входных и выходных колебаний при включении или выключении питания. Это очень важный момент. Я видел дорогие промышленные источники питания в которых бывают скачки напряжения при выключении. Такие источники, безусловно, следует избегать, поскольку они могут легко убить чувствительные устройства.

Пределы

Из предыдущего опыта я знаю, что некоторые радиолюбители хотели бы «настроить» устройство под себя. Вот список аппаратных ограничений и пути их преодоления:

BD245B:  10A 80Вт.  80Вт при температуре 25’C. Другими словами есть запас мощности из расчета 60-70Вт: (Max input voltage * Max current) < 65Вт.

Вы можете добавить второй BD245B и увеличить мощность до 120Вт.  Чтобы убедиться, что текущая распределяется поровну добавить 0,22Ом резистор в эмиттер линии каждого BD245B.  Та же схема и плата может быть использована.  Установите транзисторов на должном кулер алюминия и соединить их с короткими проводами к плате.  Усилитель может управлять второй транзистор питания (это максимум), но вы, возможно, необходимо отрегулировать коэффициент усиления.

Шунт для измерения тока: Мы используем резистор 0,75Ом мощностью 6Вт. Мощности достаточно хватает при токе 2,5А (Iout ^ 2 * 0,75 <= 6Вт).  Для больших токов используйте резисторы соответствующей мощности.

Источники питания

Вы можете использовать трансформатор, выпрямитель и конденсаторы большой емкости или можете использовать адаптер для ноутбука  32/24В.  Я пошел по второму варианту, т.к. адаптеры иногда продаются очень дешево (по акции), а некоторые из них обеспечивают 70Вт при 24В или даже 32В постоянного напряжения.

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

Для версии 22В 2.5A нужно: 3A 18В трансформатор, выпрямитель и 2200мкФ или 3300мкФ конденсатор.  (18 * 1,4 = 25В)
Для версии 30В 2A нужно: 2.5A 24В трансформатор, выпрямитель и 2200мкФ или 3300мкФ конденсатор.  (24 * 1,4 = 33.6В)

Не повредит если использовать более мощный по току трансформатор. Выпрямительный мост из 4 диодов с низким падением напряжения (например, BYV29-500) дает намного лучшие характеристики.

Проверьте ваше устройство на случай плохой изоляции. Убедитесь, что будет не возможно прикоснуться к любой части устройства, где может быть напряжение 110/230 В. Соединить все металлические части корпуса на землю (не GND схемы).

Трансформаторы и адаптеры питания для ноутбуков

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


Другие напряжение и ток

Есть два варианта 22В 2.5A и 30В 2A.  Если вы хотите изменить пределы выходного напряжения или тока(только уменьшить) , то просто измените файл hardware_settings.h.

Пример: Чтобы построить 18В 2.5A версию вы просто меняете  в файле hardware_settings.h максимальное выходное напряжение 18В. Вы можете использовать 20В 2.5A источник питания.

Пример: Чтобы построить 18В 1.5A версию вы просто меняете в файле hardware_settings.h максимальное выходное напряжение до 18В и макс.  ток 1.5A. Вы можете использовать 20В 1.5A источник питания.

Тестирование

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

Test1: Подключить небольшое напряжение (достаточно 10В) к входным клеммам платы и убедитесь, что регулятор напряжения выдает ровно 5В постоянного напряжения.

Test2: Измерьте выходное напряжение. Оно должно быть 0В (или близкое к нулю, например, 0,15, и оно будет стремиться к нулю, если вы подключите вместо нагрузки резисторы на 2кОм или 5кОм.)

Test3: Установить микроконтроллер на плату и загрузить программное обеспечение LCD-тест, выполнив команды в директории распакованного пакета tar.gz digitaldcpower. 

сделать test_lcd.hex
сделать load_test_lcd

Вы должны увидеть на дисплее надпись: «LCD works».

Теперь вы можете загрузить рабочее программное обеспечение.

Некоторые слова предупреждения для дальнейшего тестирования с рабочим программным обеспечением: Будьте осторожны с короткими замыканиями, пока вы не испытали функцию ограничения. Безопасным способом проверить ограничение тока является использование резисторов с малым сопротивлением(единицы Ом), например, автомобильные лампочки.

Установите низкое ограничение тока, например, 30мА при 10В.  Вы должны увидеть что напряжение уменьшится сразу почти до нуля, как только вы подключите лампочку на выходе. Существует неисправность в цепи, если напряжение не понижается.  С помощью автомобильной лампы можно защитить цепь питания, даже если есть неисправность, поскольку она не делает короткого замыкания.

Программное обеспечение

Этот раздел даст вам понимание того, как работает программа, и как вы можете использовать знания, чтобы сделать некоторые изменения в ней.  Однако следует помнить, что защита от короткого замыкания сделана программным способом. Если вы сделали где-то ошибку, то защита может не сработать. Если у вас произойдет короткое замыкание на выходе, то ваше устройство окажется в облаке дыма.  Чтобы избежать этого, вы должны использовать 12В автомобильную лампу (см. выше) для проверки защиты от короткого замыкания.

Теперь немного о структуре программы. При первом взгляде на основную программу (файл main.c, скачать в конце этой статьи), вы увидите, что есть только несколько строк кода инициализации, которые выполняются при включении питания, а затем программа входит в бесконечный цикл.

Действительно, в этой программе есть два бесконечных цикла. Одним из них является основной цикл («while(1){ …}» в файле main.c), а другой представляет собой периодическое прерывание от аналогового цифрового преобразователя (функция «ISR(ADC_vect){…}» в файле analog.c).  После инициализации прерывание выполняется каждые 104мкс.  Все остальные функции и код выполняются в контексте одного из этих циклов.


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

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

2. Переменные, которые используются в функции прерывания и в коде главного цикла могут внезапно измениться в середине исполнения.

Все это означает, что такие сложные вещи, как обновление дисплея, проверка кнопок, преобразование тока и напряжения  должны быть сделано в теле главного цикла. В прерываниях мы выполняем задачи критические по времени: измерение тока и напряжения, защита от перегрузки и настройка ЦАП. Чтобы избежать сложных математических расчетов в прерываниях они выполняются в единицах ЦАП. То есть в тех же единицах что и АЦП(целые значения от 0 … 1023 для тока и 0 .. 2047 для напряжения).

Это основная идея программы.  Я также коротко объясню про файлы которые вы найдете в архиве(при условии, что вы знакомы с CИ).

main.c — этот файл содержит основную программу.  Все инициализации производятся здесь.  Основной цикл также реализуется здесь.
analog.c — аналого-цифровой преобразователь, все что работает в контексте прерывания задачи может быть найдено здесь.
dac.c — цифро-аналоговый преобразователь.  Инициализируется из ddcp.c, но использованы только с analog.c
kbd.c — программа обработки данных с клавиатуры
lcd.c — драйвер ЖК-дисплея.  Это специальная версия, в которой не понадобится RW контакт дисплея.

Загрузка и использование программного обеспечения

Для загрузки программного обеспечения в микроконтроллер вам нужен программатор, такой как avrusb500.  Вы можете скачать zip архивы программного обеспечения в конце статьи.

Отредактируйте файл hardware_settings.h и настройте его в соответствии с вашим оборудованием.  Здесь вы также можете сделать калибровку вольтметра и амперметра.  Файл хорошо прокомментирован.

Подключите кабель к программатору и к вашему устройству. Затем установите биты конфигурации на работу микроконтроллера от внутреннего генератора частотой 8МГц. Программа предназначена для этой частоты.

Кнопки

Блок питания имеет 4 кнопки для местного управления напряжением и макс.  током, 5-я кнопка служит для сохранения настроек в памяти EEPROM, чтобы в следующий раз при включении блока были эти же настройки напряжения и тока.


U+ увеличивает напряжение и U — уменьшает. Когда вы держите кнопку, то через некоторое время  показания будут «бежать» быстрее, чтобы легко изменить напряжение в больших пределах. Кнопки I + и I — работают так же.

Дисплей

Индикация дисплея выглядит следующим образом:


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


Некоторые фотографии устройства

Вот некоторые фотографии источника питания который я собирал.

Он очень маленький, но с более широкими возможностями и более мощными, чем многие другие источники питания:


Старые алюминиевые радиаторы от процессоров Pentium хорошо подойдут для охлаждения силовых элементов:


Размещение платы и адаптера внутри корпуса:


Внешний вид устройства:


Вариант двухканального блока питания. Прислал Boogyman:


 

АРХИВ:Скачать

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *