RadioRadar - Радиоэлектроника, даташиты, схемы

https://www.radioradar.net/radiofan/power_supply/laboratory_power_supply_arduino.html

Лабораторный блок питания на Arduino

Этот блок предназначен для домашней лаборатории радиолюбителя. Его выходное напряжение можно регулировать от 0,5 до 15,5 В. Имеется защита от замыкания выхода или превышения допустимого тока нагрузки. Порог её срабатывания можно изменять от 0,2 до 2 А. Информация об установленных напряжении, токе нагрузки и заданном пороге срабатывания токовой защиты выводится на экран ЖКИ от сотового телефона Nokia 5110.

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

Схема блока питания изображена на рис. 1. Нажатие на кнопку SB3 подключает обмотку I трансформатора T1 к сети ~230 В. Блок начинает работать, и прежде всего, программа микроконтроллера устанавливает высокий логический уровень напряжения на выходе D1 модуля Arduino Nano, обозначенного на схеме A1. Этим открывается транзистор VT1, реле K1 срабатывает и замкнувшимися контактами K1.1 шунтирует кнопку SB3, которую теперь можно отпустить.

Схема блока питания

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

 

На экране ЖКИ начало работы блока отмечается заставкой в виде двух вращающихся зубчатых колёс (рис. 2), которая сменяется информацией о версии программы (рис. 3). Затем появляется основное изображение (рис. 4) со значениями выходного напряжения, тока нагрузки, отдаваемой в нагрузку мощности (программа вычисляет её как произведение первых двух параметров) и установленного тока срабатывания защиты.

Заставка на экране ЖКИ

Рис. 2. Заставка на экране ЖКИ

 

Информация на экране ЖКИ

Рис. 3. Информация на экране ЖКИ

 

Информация на экране ЖКИ

Рис. 4. Информация на экране ЖКИ

 

При нажатии на кнопку SB1 низкий уровень на входе D0 модуля A1 приводит к тому, что программа выводит на экран прощальное сообщение (рис. 5) и устанавливает низкий уровень на выходе D1 модуля A1. Транзистор VT1 закрывается, реле K1 размыкает контакты и этим отключает блок от сети.

Сообщение на экране ЖКИ

Рис. 5. Сообщение на экране ЖКИ

 

Стабилизатор выходного напряжения собран на ОУ DA1.2 и транзисторе VT2. Коэффициент пропорциональности между установленным переменным резистором R15 задающим напряжением на неинвертирующем входе ОУ DA1.2 и выходным напряжением стабилизатора равен R19/R18+1 (3,2 при указанных на схеме номиналах резисторов R18 и R19). Эти резисторы образуют делитель выходного напряжения, часть которого поступает для измерения на аналоговый вход A6 модуля A1. Задающее напряжение получено из выведенного на вывод D6 модуля A1 образцового напряжения встроенного в этот модуль АЦП, которое можно включить или выключить программно.

Вывод D2 модуля A1 сконфигурирован программой как вход запросов её внешнего прерывания. Если ток нагрузки превысит заданный порог, напряжение на инвертирующем входе компаратора DA2 станет больше, чем на неинвертирующем. Выходной транзистор компаратора откроется и зашунтирует резисторы R9 и R15 цепи регулировки выходного напряжения блока, которое станет нулевым. Одновременно низкий уровень поступит на вход запроса прерывания программы D2. Процедура обработки прерывания выдержит паузу приблизительно 50 мс, а затем, если перегрузка не прекратилась, выключит образцовое напряжение на выходе D6. В результате выходное напряжение блока останется равным нулю и после прекращения перегрузки. Пауза необходима для предотвращения аварийных срабатываний защиты при подключении к блоку нагрузки с конденсаторами большой ёмкости. Сигналом срабатывания защиты служит изображение ладони (рис. 6) на экране ЖКИ. Чтобы вернуть блок в рабочий режим, нужно нажать на кнопку SB2.

Сигнал срабатывания защиты

Рис. 6. Сигнал срабатывания защиты

 

Во время нормальной работы блока питания нажатие на кнопку SB2 выключает образцовое напряжение на выходе D6 модуля A2, в результате чего напряжение на выходе блока падает практически до нуля. Сигнализируя об этом, изображение на экране ЖКИ HG1 станет негативным. Повторное нажатие на кнопку SB2 вернёт блок в прежнее состояние.

К аналоговому входу A7 модуля A1 подключён движок переменного резистора R2, которым регулируют порог срабатывания токовой защиты блока. Подбирая резистор R1, устанавливают минимальное значение этого порога.

Вывод D9 сконфигурирован программой микроконтроллера как выход импульсов с ШИМ. В модуле Arduino Nano частота повторения этих импульсов по умолчанию - около 490 Гц. Для удовлетворительного сглаживания импульсов, следующих с такой низкой частотой, и выделения их постоянной составляющей потребовался бы слишком сложный фильтр. Поскольку в среде разработки программ Arduino IDE стандартная функция для изменения этой частоты отсутствует, она была повышена до 3900 Гц прямым изменением константы в соответствующем регистре микроконтроллера:

TCCR1B = TCCR1B &  0b11111000    I     0x02;

Вращение ручки переменного резистора R2 изменяет коэффициент заполнения импульсов на выходе D9. Фильтр R3C1 выделяет из импульсной последовательности постоянную составляющую, которая поступает на неинвертирующий вход компаратора напряжения DA2 и задаёт порог его срабатывания. На инвертирующий вход компаратора поступает с датчика тока (резистора R20) через усилитель на ОУ DA1.1 с коэффициентом усиления 25 пропорциональное току нагрузки блоканапряжение.

Печатная плата для этого блока питания не разрабатывалась. Всё собрано на двух макетных платах размерами 50x75 мм. На одной из них установлен ЖКИ HG1 с резисторами R10-R14, на другой - всё остальное, за исключением транзистора VT2 с теплоотводом и трансформатора T1.

Трансформатор должен быть мощностью не менее 36 В·А и с напряжением на вторичной обмотке около 18 В. Контакты реле K1 должны быть рассчитаны на коммутацию переменного напряжения не менее 250 В. Если номинальное рабочее напряжение обмотки реле меньше выпрямленного диодным мостом VD1, излишек нужно погасить, включив последовательно с обмоткой реле резистор Rдоб, показанный на схеме рис. 1 штриховой линией.

К статье приложены две компьютерные программы, облегчающие подготовку изображений для вывода на графический ЖКИ. Исходные данные для них - цветные или монохроматические изображения в форматах *.BMP, *.JPG, *.webp, *.TGA или *.TIFF. Программа GLCD84X48 Converter укладывает это изображение в размеры 84x48 пкс и преобразует его в битовый формат. Она выдаёт результат в виде текстового файла на языке C, пригодного для включения в программу микроконтроллера, и помещает его под именем grap-hics.c на рабочий стол компьютера. Программа OLED_LCD 128X64 I2C con-vertimage работает аналогично, но формирует файл для загрузки в графический дисплей с размерами экрана 128x64 пкс и интерфейсом I2C.

Программа для модуля Arduino, библиотеки к ней и программы для компьютера имеются здесь.

Автор: О. Кольчурин, г. Нижняя Тура Свердловской обл.