Аналоговая схема (рис. 1).
Для обеспечения диапазонов 0-30 В и 0-1 А мне потребовались компоненты, способные работать с высоким напряжением (< 35 В) в аналоговой части схемы. Я выбрал MCP6V51, линейку высоковольтных операционных усилителей, и датчики тока верхнего плеча MCP6C02, поскольку они соответствовали требованиям моей схемы.
Схема представляет собой обычную схему обратной связи по ошибке с постоянным напряжением и постоянным током. Выбранные операционные усилители MCP6V51 способны работать с напряжениями до 49 В и отличаются низким дрейфом и хорошими характеристиками постоянного тока. Значения резисторов на инвертирующем и неинвертирующем входах поддерживаются на низком уровне (10 кОм) и одинаковы для минимизации ошибок смещения. Эти резисторы, наряду с конденсаторами 1 мкФ (C1, C2), обеспечивают функцию RC-фильтра для устранения остаточного шума на выходах цифро-аналогового преобразователя (ЦАП). Регулируемые напряжения подаются ЦАП микроконтроллера в диапазоне от 0 до 3,3 В, поэтому входное напряжение обратной связи должно быть установлено на этом уровне с помощью резисторов R1 и R2.
Что касается тока, предпочтительно измерять его на высоковольтной стороне, чтобы поддерживать общее заземление и использовать минимально возможное сопротивление датчика тока, тем самым минимизируя как падение напряжения, так и рассеивание мощности. Высоковольтный датчик тока MCP6C02 соответствует этим критериям. Он может работать при напряжении до 65 В и с коэффициентом усиления 100, что позволяет использовать небольшой токовый шунт. Поскольку максимальный ожидаемый ток для этого применения составляет 1 А, сопротивление шунта должно составлять приблизительно 30 мОм, что обеспечит напряжение обратной связи 30 мОм * 1 А * 100 = 3,0 В. Резистор реализован на печатной плате медной дорожкой шириной 40 мил (приблизительно 1 мм) и длиной около 64 мм (см. рисунок 3).

Нагрузка на лабораторный источник питания может варьироваться от обрыва цепи до короткого замыкания, поэтому необходимы дополнительные защитные компоненты. Универсальные диоды на 1 А, соединенные в противоположных направлениях (D1, D2), вместе с токоограничивающим резистором R3 обеспечивают поддержание дифференциального входного напряжения микросхемы измерения тока ниже максимального напряжения 1,2 В при любых условиях. Интегрирующий конденсатор (C3) в усилителе тока должен быть на несколько порядков больше, чем конденсатор на стороне напряжения, чтобы компенсировать задержку распространения, добавляемую усилителем измерения тока, тем самым стабилизируя контур. Второй канал ЦАП микроконтроллера подает скорректированное напряжение (которое, в свою очередь, обеспечивает скорректированный ток) на усилитель ошибки тока U2.
Выходы двух усилителей соединены логическим элементом ИЛИ с малосигнальными диодами D3 и D4 для управления проходными транзисторами Дарлингтона на выходе. Элемент ИЛИ определяет, находится ли источник питания в режиме постоянного напряжения или постоянного тока.
Схема микроконтроллера (рис. 2).
Микроконтроллер управляет клавиатурой и ЖК-экраном, а также генерирует опорные уровни напряжения для аналоговых контуров управления, для чего требуются два канала ЦАП с хорошим разрешением. АЦП (аналого-цифровой преобразователь) будет использоваться для измерения различных параметров источника питания.
Микросхема Atmel SAML21 была выбрана потому, что она имеет два 12-битных ЦАП-канала, дополненных 12-битным АЦП, в компактном 32-контактном корпусе TQFP. Приложение не требует полноценного 12-битного ЦАП; однако некоторый дополнительный запас по точности желателен, поскольку при вычислении значений прошивкой происходит небольшая потеря точности из-за ошибок спецификации и округления.
Программное
обеспечение написано на языке C, и существует две версии драйвера: одна предоставляет базовые функции и называется PowerSupplyBasic.c, регулируя и измеряя напряжение и ток; полная версия, называемая PowerSupplyFull.c, также измеряет температуру радиатора, переключает вентилятор в зависимости от температуры радиатора, отображает входное напряжение и мощность, а также мощность, рассеиваемую в проходном транзисторе. Эти драйверы доступны в справочном руководстве и должны быть добавлены в проект Studio 7 вместе со стартовым файлом PowerSupply.h. Программа была скомпилирована с использованием среды разработки Studio 7 IDE (версия 7.0.129), а для программирования и отладки использовался Atmel ICE. Контакты программирования на печатной плате несовместимы со стандартным разъемом, поставляемым с программатором, поэтому необходимо установить новый разъем, чтобы обеспечить совпадение контактов с показанными на рисунке 2 и с разводкой платы.
При включении питания напряжение устанавливается на 0 В, а ток — на 50 мА. На дисплее на первой строке отображается установленное напряжение и измеренное напряжение, а на второй — установленный ток и измеренный ток (Рисунок 5).
Если установлена полная версия драйвера (а также соответствующее оборудование, как описано ниже), могут отображаться вспомогательные функции.
Основной интерфейс работает следующим образом:
Аппаратная часть:
Пробойные напряжения для пассивных компонентов поверхностного монтажа обычно не являются проблемой, поскольку большинство схем работают при низких напряжениях. Данное применение является исключением, поэтому важно обратить внимание на этот параметр. Некоторые из конденсаторов, которые я использовал на печатной плате, рассчитаны на 50 В или выше. Есть веские причины использовать керамические конденсаторы на 50 В (или выше) во всех положениях, если доступен корпус такого размера. Емкость керамических чип-конденсаторов зависит от напряжения; емкость уменьшается по мере приближения напряжения к их максимальному рабочему значению.
Я добавил отдельный источник питания VDD к стабилизатору напряжения L78L3.3, VinLOW. Максимальное входное напряжение этого стабилизатора составляет 30 В. Если ваш блок питания выдает более высокое напряжение, VinLOW необходимо питать от отдельного источника питания с более низким напряжением, или же необходимо установить компонент, создающий падение напряжения между Vin и VinLOW. Также подойдут резистор или стабилитрон; эта схема потребляет около 25 мА тока, в основном через светодиод, подсвечивающий заднюю часть экрана.
Если вы выберете полную версию, необходимо также подключить диод D5 для обеспечения хорошего теплового контакта с проходным транзистором (TIP140). Резистор R14 обеспечивает приблизительно постоянный ток 100 мкА, поэтому падение напряжения на диоде зависит только от температуры, с типичными значениями 0,7 В и -2 мВ/°C. Однако существует значительная вариативность абсолютного уровня напряжения и температурного коэффициента (наклона) между диодами. Поэтому этот параметр необходимо калибровать отдельно в программном обеспечении. SAML21 включает в себя заводской откалиброванный температурный модуль, что делает его хорошей отправной точкой.
Я выбрал алюминиевый корпус, а полный блок питания показан на рисунке 5.
Варианты:
Если вы хотите собрать только базовую версию без вентилятора радиатора, следующие компоненты не требуются: T3, R9, R14, R7, R8, D5.
У меня был трансформатор, который обеспечивал выпрямленное напряжение около 40 В без нагрузки и номинальный ток 1 А. Поэтому я установил максимальное стабилизированное напряжение на 30 В и максимальный ток на 1 А. Проходные транзисторы должны обеспечивать суммарное напряжение 4-5 В между коллектором и эмиттером при полной нагрузке.
Если у вас есть трансформатор, обеспечивающий более низкое или более высокое напряжение, вы можете изменить код, устанавливающий опорное напряжение ЦАП. Если желаемое изменение напряжения выходит за пределы диапазона регулировки потенциометра R2, необходимо изменить значение резистора R1 так, чтобы напряжение на инвертирующем входе U1 было ниже минимального высокого уровня ЦАП (VDD – 150 мВ) для максимального выходного напряжения источника питания.
Максимальный предел напряжения устанавливается максимальным напряжением, указанным для операционных усилителей и/или проходных транзисторов. При использовании выбранных операционных усилителей входное напряжение холостого хода должно быть ниже 49,5 В минус запас прочности. Верхний предел тока зависит от тока, который может выдержать проходной транзистор. TIP140 рассчитан на постоянный коллекторный ток 10 А, но можно добавить проходные транзисторы параллельно (с соответствующими резисторами, распределяющими ток) для дальнейшего увеличения выходного тока. При высоких уровнях тока рассеиваемая мощность также будет высокой, и это необходимо решить с помощью соответствующей конструкции радиатора. Я объединил радиатор и вентилятор от старой материнской платы ПК, что отлично работает при мощности 30 Вт. Базовый управляющий ток не будет проблемой даже при уровне 10 А, поскольку hFE TIP140 все еще высок.
Меньший по размеру управляющий транзистор Дарлингтона, BCV29, ограничен непрерывным коллекторным током 0,5 А с hFEMIN = 4000 при этом уровне тока, таким образом, обеспечивая очень малую нагрузку для операционного усилителя U1. Этот транзистор припаян к печатной плате, и для приложений, требующих только низкого тока, можно обойтись без внешнего проходного транзистора TIP140 и подключить эмиттер BCV29 непосредственно к выходу источника питания. Этот транзистор поставляется в корпусе SOT89 для поверхностного монтажа, поэтому рассеиваемая мощность будет ограничена, поскольку тепловыделение минимально. Если рассматривается этот вариант, следует обратить особое внимание на температуру транзистора BCV29.
Рисунок 4. Экран вывода.
В заключение,
микроконтроллер открывает множество возможностей для интеграции функций в этот источник питания, таких как возможность программирования кривой напряжения/тока во времени для тестирования и других приложений.
Целью этого проекта было не создание высокоточного коммерческого источника питания, а практичного устройства для моего рабочего места, но он превзошел мои ожидания.
Спецификация комплектующих для 32-битного блока питания 
