В юном возрасте, около 40 лет назад, я создал двойной линейный блок питания. В этом источнике питания использовался один потенциометр для регулировки напряжения и один для регулировки тока. По прошествии многих лет эти потенциометры пришли в негодность, что затрудняло получение стабильного выходного напряжения. Конечно, можно их просто поменять на новые или купить новый блок питания, но хотелось вдохнуть новую жизнь в имеющийся.
Покопавшись в интернете, я нашёл микросхему, позволяющую заменить переменный резистор. Мне пришла идея заменить старые потенциометры их цифровой версией, и так родился новый проект.
В новом блоке питания для управления применён микроконтроллер PIC16F1823. Для управления предусмотрено 6 кнопок:
- Одна кнопка для включения или выключения выходного напряжения без необходимости полного включения или выключения источника питания;
- Одна кнопка для увеличения выходного напряжения и еще одна кнопка для уменьшения выходного напряжения;
- Три кнопки используются в качестве предустановленных. После установки необходимого выходного напряжения это напряжение может быть сохранено и получено с помощью этих кнопок.
Блок питания может выдавать напряжение от 2,4 до 18 вольт с максимальным током 2 ампера.
Я внес некоторые изменения в исходную принципиальную схему, чтобы сделать ее пригодной для управления с помощью цифрового потенциометра. Поскольку в прошлом я никогда не использовал оригинальный потенциометр для регулировки тока, я удалил его и заменил фиксированным резистором, ограничив максимальный ток до 2 ампер.
На принципиальной схеме показан блок питания, построенный на старом, но надежном стабилизаторе напряжения LM723. Микросхема имеет температурную компенсацию опорного напряжения с функцией ограничения тока в широком диапазоне напряжений. Цифровой потенциометр имеет значение 10 кОм и может изменяться от 0 Ом до 10 кОм за 100 шагов с использованием 3-проводного последовательного интерфейса.
Этот источник питания имеет цифровой вольт-амперметр, который получает питание от стабилизатора напряжения на 15 вольт (IC1). Эти 15 вольт также используются как вход для стабилизатора напряжения 5 вольт (IC5), который питает PIC и цифровой потенциометр.
Транзистор T1 используется для отключения LM723. Силовой резистор R9 используется для измерения тока, вызывая падение напряжения на резисторе, когда через него протекает ток. Это падение напряжения поступает на LM723 для ограничения максимального выходного тока до 2 ампер.
В этой конструкции электролитический конденсатор и силовой транзистор (тип 2N3055) на плате отсутствуют. В моем первоначальном дизайне много лет назад электролитический конденсатор находился на отдельной плате, поэтому я оставил его. Силовой транзистор установлен на радиаторе.
Для этого проекта потребуются следующие электронные компоненты:
- 1 PIC микроконтроллер 16F1823
- 1 цифровой потенциометр 10k, тип X9C103
- Регуляторы напряжения: 1 * LM723, 1 * 78L15, 1 * 78L05
- Мостовой выпрямитель: B80C3300 / 5000
- Транзисторы: 1 * 2N3055, 1 * BD137, 1 * BC547
- Диоды: 2 * 1N4004
- Электролитические конденсаторы: 1 * 4700 мкФ / 40 В, 1 * 4,7 мкФ / 16 В
- Керамические конденсаторы: 1 * 1 нФ, 6 * 100 нФ
- Резисторы: 1 * 100 Ом, 1 * 820 Ом, 1 * 1к, 2 * 2к2, 8 * 4к7
- Резистор мощности: 0,33 Ом / 5 Вт
После заказа печатных плат мне пришла в голову идея добавить функцию, которую я называю «защитой от напряжения». Для этого я решил использовать встроенный в PIC аналого-цифровой преобразователь (АЦП) для измерения выходного напряжения. Если это выходное напряжение - по какой-либо причине - повышается или понижается, питание отключается. Это защитит подключенную нагрузку от перенапряжения или предотвратит короткое замыкание. Это была ревизия 1 первоначального проекта.
Я собрал и тестировал новую схему на макетной плате. В принципе, работа нового блока питания мне понравилась, но периодически цифровой потенциометр не всегда находится в одном и том же положении, например при восстановлении предустановленного значения напряжения. Разница была небольшой, но это напрягало. Значение потенциометра невозможно прочитать.
Поразмыслив, я создал ревизию 2, которая представляет собой небольшую переработку ревизии 1. В этой версии я отказался от цифрового потенциометра, воспользовавшись встроенным цифро-аналоговый преобразователь (ЦАП) в PIC для управления выходным напряжением через LM723. Единственная проблема заключалась в том, что PIC16F1823 имеет только 5-битный ЦАП, которого было недостаточно, потому что шаги регулирования были бы слишком большими. Из-за этого я взял другой микроконтроллер PIC16F1765 с 10-битным ЦАП на борту. Эта версия с ЦАП оказалась надежной.
Новый проект можно собрать на первоначальной плате, так как достаточно удалить некоторые компоненты, заменить 1 конденсатор и добавить 2 перемычки (1 провод уже был нужен для контроля выходного напряжения в версии 1). Я также заменил стабилизатор напряжения 15 В на 18 В, чтобы ограничить рассеиваемую мощность.
Для новой версии блока питания потребуется:
- Заменить PIC16F1823 на PIC16F1765;
- Необязательно: заменить 78L15 на 78L18;
- Удалить цифровой потенциометр X9C103;
- Удалить резисторы R1 и R15;
- Заменить электролитический конденсатор С5 керамическим конденсатором 100 нФ;
- Установить перемычку между контактом 13 IC4 (PIC) и контактом 5 IC2 (LM723);
- Установить перемычку между контактом 3 IC4 (PIC) и контактом 4 IC2 (LM723).
Печатную плату тоже обновил
Чтобы закрыть отверстия, сделанные под потенциометры, я добавил лицевую панель поверх передней панели корпуса. Как видите, я сделал двойной блок питания, в котором оба блока питания полностью независимы друг от друга. Это позволяет соединить их последовательно на случай, если мне понадобится выходное напряжение выше 18 В.
Благодаря печатной плате собрать электронику было несложно. Помните, что на печатной плате нет входного электролитического конденсатора и силового транзистора. На фото показано, что для версии 2 некоторые компоненты больше не нужны, и потребовалось 2 провода: один для добавления функции обнаружения напряжения, а другой - из-за замены цифрового потенциометра на цифро-аналоговый преобразователь микроконтроллера PIC.
В блоке питания нужен трансформатор, способный подать на плату 18 В переменного тока, 2 Ампера. В моем первоначальном дизайне я использовал трансформатор с кольцевым сердечником, потому что он более эффективен (но и дороже).
Программа выполняет следующие основные задачи:
- Управление выходным напряжением источника питания с помощью цифрового потенциометра
Управляйте функциями кнопок, а именно:
- Включение/выключение питания. Эта функция переключения, которая устанавливает выходное напряжение на 0 В или на последнее выбранное напряжение.
- Повышает/понижает выходное напряжение. С каждым нажатием кнопки напряжение слегка повышается или немного понижается. Когда эти кнопки остаются нажатыми, активируется функция повтора.
- Сохранение предустановок/получение предустановок. Любую настройку напряжения можно сохранить в EEPROM PIC, нажав кнопку предустановки и удерживая ее не менее 2 секунд. Нажатие на нее короче вернет значение из EEPROM для этого пресета и соответственно установит выходное напряжение.
При включении все контакты PIC устанавливаются как входные. Чтобы предотвратить появление неопределенного напряжения на выходе источника питания, выход остается на уровне 0 В, пока PIC не будет запущен и не будет запущен цифровой потенциометр. Это снижение мощности достигается за счет подтягивающего резистора R14, который обеспечивает отключение транзистора T1 LM723 до тех пор, пока он не будет разблокирован PIC.
Остальное программное обеспечение прямолинейно. Кнопки сканируются, и если что-то нужно изменить, значение цифрового потенциометра изменяется с помощью трехпроводного последовательного интерфейса. Обратите внимание, что цифровой потенциометр также имеет возможность сохранить настройку, но она не используется, поскольку все настройки хранятся в EEPROM PIC. Интерфейс с потенциометром не предлагает функции чтения значения из него. Таким образом, всякий раз, когда потенциометр необходимо предварительно установить на определенное значение, первое, что нужно сделать, - это вернуть его в нулевое положение и с этого момента отправить количество шагов, чтобы установить потенциометр в правильное положение.
Чтобы предотвратить запись в EEPROM при каждом нажатии кнопки и, таким образом, сократить срок службы EEPROM, содержимое EEPROM записывается через 2 секунды после того, как кнопки больше не активируются. Это означает, что после последней смены кнопок обязательно подождите не менее 2 секунд перед выключением питания, чтобы убедиться, что последняя настройка сохранена. При включении, источник питания будет всегда запускаться с последним выбранным напряжением, сохраненным в EEPROM.
Для ревизии 2 основные изменения в программном обеспечении следующие:
- Функция определения напряжения была добавлена путем измерения выходного напряжения источника питания после его настройки. Для этого используется преобразователь ADC PIC. Используя АЦП, программное обеспечение берет образцы выходного напряжения, и если после нескольких выборок выходное напряжение примерно на 0,2 В выше или ниже установленного напряжения, источник питания отключается.
- Использование ЦАП PIC для управления выходным напряжением источника питания вместо использования цифрового потенциометра. Это изменение упростило программное обеспечение, поскольку отпала необходимость в создании 3-проводного интерфейса для цифрового потенциометра.
- Хранилище в EEPROM заменено хранилищем в High Endurance Flash. PIC16F1765 не имеет встроенной EEPROM, поэтому использует часть программы Flash для хранения настроек.
Обратите внимание, что определение напряжения изначально не активировано. При включении проверяется нажатие следующих кнопок:
- Кнопка включения/выключения питания. При нажатии обе функции определения напряжения отключаются.
- Кнопка вниз. При нажатии активируется обнаружение пониженного напряжения.
- Кнопка вверх. При нажатии активируется обнаружение повышенного напряжения.
Эти настройки определения напряжения сохраняются во флэш-памяти High Endurance Flash и вызываются при повторном включении источника питания.
На видео представлена 2 версия блока питания в действии, в ней показаны функции включения/выключения, повышение/понижение напряжения и использование предустановок. Для этой демонстрации я также подключил резистор к источнику питания, чтобы показать, что через него протекает реальный ток и что максимальный ток ограничен 2 амперами.