Что такое «Back-UPS»? С точки зрения самодельщика — это прочный корпус и мощный блок питания внутри!
Чтобы получился лабораторный блок питания надо добавить только схему управления на микроконтроллере ATMega16!
Содержание статьи / Table Of Contents
↑ Предыстория с Back-UPS
«Досталась» как-то мне УПСка за бесплатно. Конечно, неисправная. Вот такая:Рис. 1. Внешний вид блока бесперебойного питания до модификации
Оказалось, что после выработки ресурса аккумуляторной батареи компьютерщики в нашей конторе их частенько просто списывают и выбрасывают целиком. Забота о природе не позволила мне мириться с таким положением вещей. Притащив это богатство домой начал думать что же с ней делать. Попытка восстановить аккумулятор методом заливки дистиллированной воды и зарядки малым током не привела к успеху.
Что дальше? Покупать аккумулятор? Да и есть уже у меня УПСка, и не нужна мне вторая. Основные полезные детали очевидны: прочный, пластиковый, аккуратный корпус и мощный трансформатор внутри. Решил сделать из нее лабораторный блок питания для мастерской. Тем более, что старый Б5-47 уже надоел своим визгом, наверное, просится на пенсию машинка 1988 года рождения.
↑ Техническое задание
для нового блока определил максимально нескромное (иначе его проще купить готовый):1) Линейная схема — это надежно и тепло!
2) Выходное напряжение: не менее 15В — хватит и для зарядки 12В аккумуляторов, и для питания цифровых цепей, кроме того, есть идея как в дальнейшем увеличить выходное напряжение в 2 раза.
3) Выходной ток: не менее 3А, но можно и побольше.
4) Регулируемое напряжение стабилизации и регулируемое ограничение по току, защита от КЗ.
5) Цифровая индикация.
6) Интерфейс к компьютеру — можно будет с компьютера контролировать процесс зарядки — разрядки аккумулятора, составлять сложные протоколы работы, можно даже реализовать контроль параметров через какой-нибудь Web-сервис типа Pachube.
7) Удобное управление — я люблю энкодеры.
8) Малый шум (это после работы с блоком питания Б5-47).
9) Минимальные затраты — используем преимущественно имеющиеся комплектующие.
В поисках готового решения набрел на сайт Гвидо Сошера, где опубликована уже третья версия цифрового блока питания, которая, в принципе, устроила по всем параметрам, кроме управления и используемого микроконтроллера. Не оказалось у меня в запасе восьмой Меги… Зато оказалась ATMega16, и макетка для нее.
И не люблю я кнопки. В плане управления устройствами я поклонник энкодера: всего одна ручка, нажал — вошел в режим управления, крутанул — установил значение, нажал — значение сохранилось в EEPROM. Красота! Но программу Гвидо пришлось переработать.
↑ Разработка схемы и программы ЛБП
Для последней на тот момент «3.0» версии блока питания, схема у Гвидо на сайте не приведена. Даны только общие идеи построения блока. Вот они:1) Для управления выходным напряжением используется гибридный ЦАП: младшие разряды получаются из ШИМ модулятора, а старшие из R-2R преобразователя.
2) Используется наивысшая скорость работы АЦП в непрерывном цикле по прерываниям, затем точность преобразования еще повышается путем усреднения избыточного числа измерений (оверсэмплинг), но только для канала измерения напряжения, таким образом точность измерения повышается до ~0,01В.
3) Выходная часть блока выполнена по схеме эмиттерного повторителя с предварительным усилителем.
После некоторых поисков была найдена схема 1-й версии блока. Так же на сайте выложены исходные тексты последней версии прошивки контроллера. По этим источникам удалось уточнить распределение ножек микроконтроллера и схема приобрела следующий вид:
Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.
Рис. 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 и шьешь.
Поскольку и бутлоадер и вся процедура у меня сделана по статье "Использование Bootloader’а", тонкости процесса можно почерпнуть там.
↑ Калибровка
Замечательным свойством данной схемы является универсальность. В принципе, можно сделать блок питания на любое напряжение, любой ток, и любой конструкции. Понятно, что эти характеристики зависят, прежде всего от первичных преобразователей мощности: трансформатора, диодного моста, фильтра, транзистора выходного каскада, или характеристик импульсного преобразователя.Но для микроконтроллерной части это все не важно. Главное, чтобы делитель выходного напряжения выдавал ему напряжение от 0 до 2,56В, токоизмерительный шунт в режиме короткого замыкания давал около 2В, а система установки выходного напряжения принимала напряжение от 0 до 5В.
Настроить калибровки можно с помощью интерфейса.
↑ Интерфейс и работа с компьютером
Работа интерфейса также изменилась по сравнению с программой Гвидо: скорость 38400 kbps, 8N1. В конце строки требуется символ перевода каретки.Набор команд:
С помощью этих команд можно управлять блоком из любой терминальной программы. Я предпочитаю использовать Serial monitor в Arduino, но это дело вкуса.
Я написал небольшую программу для Windows которая умеет выводить данные в график и задавать значения, в том числе и по протоколу. См. раздел файлов.
Рис.6. Интерфейс программы управления. Вкладка с графиками.
Рис.7. Интерфейс программы управления. Вкладка с командным протоколом.
↑ Файлы
[05.24.2012 Updated] Статья с обновленной программой. Все новые версии будут публиковаться там.Прошивка для бутлоадера и основной программы:
🎁proshivka.zip 232.71 Kb ⇣ 223
↑ Заключение
У получившейся конструкции единственный недостаток — вес. Однако для настольного устройства это не столь существенно, в любом случае, он меньше веса Б5-47. Кроме того, если делать подобную конструкцию мобильной, то имеет смысл пойти по пути Гвидо и использовать блоки питания от ноутбуков, либо полностью делать импульсную схему. В этом случае можно будет поднять мощность и избавиться от огромного радиатора.Хотя в качестве корпуса для такой конструкции я бы все равно взял УПСину. Очень уж они удобные.
Спасибо за внимание!
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.