Лабораторные блоки питания с микропроцессорным управлением. Лабораторный блок питания с управлением на микроконтроллере

Представляю для вашего внимания проверенную схему хорошего лабораторного источника питания, опубликованного в журнале "Радио" №3, с максимальным напряжением 40 В и током до 10 А. Блок питания оснащён цифровым блоком индикации, с микроконтроллерным управлением. Схема БП показана на рисунке:

Описание работы устройства. Оптопара поддерживает падение напряжения на линейном стабилизаторе примерно 1,5 В. Если падение напряжения на микросхеме увеличивается (например, вследствие увеличения входного напряжения), светодиод оптопары и, соответственно, фототранзистор открываются. ШИ-контроллер выключается, закрывая коммутирующий транзистор. Напряжение на входе линейного стабилизатора уменьшится.

Для повышения стабильности резистор R3 размещают как можно ближе к микросхеме стабилизатора DA1. Дроссели L1, L2 — отрезки ферритовых трубок, надетых на выводы затворов полевых транзисторов VT1, VT3. Длина этих трубок равна примерно половине длины вывода. Дроссель L3 наматывают на двух сложенных вместе кольцевых магнитопроводах К36х25х7,5 из пермаллоя МП 140. Его обмотка содержит 45 витков, которые намотаны в два провода ПЭВ-2 диаметром 1 мм, уложенных равномерно по периметру магнитопровода. Транзистор IRF9540 допустимо заменить на IRF4905, а транзистор IRF1010N — на BUZ11, IRF540.

Если потребуется с выходным током, превышающим 7,5 А, необходимо добавить еще один стабилизатор DA5 параллельно DA1. Тогда максимальный ток нагрузки достигнет 15 А. В этом случае дроссель L3 наматывают жгутом, состоящим из четырех проводов ПЭВ-2 диаметром 1 мм, и увеличивают примерно в два раза емкость конденсаторов С1—СЗ. Резисторы R18, R19 подбирают по одинаковой степени нагрева микросхем DA1, DA5. ШИ-контроллер следует заменить другим, допускающим работу на более высокой частоте, например, КР1156ЕУ2.

Модуль цифрового измерения напряжения и тока лабораторного БП

Основа устройства - микроконтроллер PICI6F873. На микросхеме DA2 собран стабилизатор напряжения, которое используется и как образцовое для встроенного АЦП микроконтроллера DDI. Линии порта RA5 и RA4 запрограммированы как входы АЦП для измерения напряжения и тока соответственно, a RA3 - для управления полевым транзистором. Датчиком тока служит резистор R2, а датчиком напряжения — резистивный делитель R7 R8. Сигнал датчика тока усиливает ОУ DAI. 1. а ОУ DA1.2 использован как буферный усилитель.

Технические характеристики:

  • Измерение напряжения, В - 0..50.
  • Измерение тока, А - 0.05..9,99.
  • Пороги срабатывания защиты:
  • - по току. А - от 0,05 до 9.99.
  • - по напряжению. В - от 0,1 до 50.
  • Напряжение питания, В - 9...40.
  • Максимальный потребляемый ток, мА - 50.
Оценка 1 Оценка 2 Оценка 3 Оценка 4 Оценка 5

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

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Есть много способов для создания цифро-аналоговых преобразователей, но он должен быть быстрым и простым, который будет легко взаимодействовать с нашим микроконтроллером. Существует схемы преобразователя, известного как "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:

ЧАСТЬ1
Рано или поздно перед радиолюбителем возникает проблема изготовления универсального блока питания (БП), который имел бы достаточную надежность, регулируемое в широких пределах выходное напряжение, контроль от чрезмерного потребления тока и, конечно, защиту.
Каждый решает эту проблему по-своему. Вариантов построения источников питания не счесть. Вниманию читателей предлагаю еще один - с управлением на микроконтроллере. Он отличается качественной индикацией, доступной элементарной базой, отсутствием специализированных микросхем обвязки, надежной защитой от нештатных ситуаций и при этом легким в повторении и простым в эксплуатации.
Предлагаемый читателям БП вполне доступен для изготовления радиолюбителями, которые имеют минимальные знания в микропроцессорной технике, т.е. владеют алгоритмами «прошивания» готовых программ в микроконтроллер (МК) или могут обратиться к друзьям, способным им в этом помочь. В остальном - придерживайтесь принципов работы с микросхемами и, безусловно, не забывайте о правилах безопасности.
Несмотря на простоту конструкции, данный БП обладает следующими техническими характеристиками:

Такая идея возникла после желания построить новый БП с учетом реалий и развития современной элементарной базы.
При проектировании радиолюбительского источника питания для домашней лаборатории были поставлены следующие задачи:
наличие цифровой индикации, с которой легкого считываются значения выходного напряжения и тока;
охватить наиболее используемый диапазон выходного напряжения от самого нуля;
отказаться от переменного резистора как регулятора выходного напряжения;
наличие защиты, как от короткого замыкания, так и запредельного режима выходного транзистора;
отображать не установленные, а реальные данные по напряжению и току;
с учетом «цифровой начинки» излучать минимальный уровень шума;
доступность элементной базы;
легкость в настройке и повторении;
себестоимость.
Анализ опубликованных ранее схем показал, что авторы используют современные узкоспециализированные микросхемы, которые далеко не всегда имеются в наличии, особенно в небольших городах. Попытки их замены другими наталкиваются на необходимость изменения в программе. Так же, для облегчения макетирования, авторы идут по более легкому пути, используя жидкокристаллические индикаторы, но они имеют ограничения по углу обзора и не при всех условиях хорошо читаемые. Это понижает реакцию пользователя на изменения показаний, притупляет внимание и иногда приводит к полной потере подключаемого устройства.
Источник питания состоит из трех частей: основного - цифрового модуля управления с индикацией (А1), аналоговой части (А2) и отдельного модуля питания всего блока (A3).
Описание принципиальной электрической схемы источника питания и логика работы
Принципиальная электрическая схема устройства показана на рис.1.

Основу цифровой части устройства составляет микросхема U1 фирмы AVR ATMEGA16 (4). В ее составе имеются 10-разрядные аналого-цифровые преобразователи (АЦП). Источником опорного напряжения 5 В для АЦП служит питание микроконтроллера (МК), поданное на 30 ногу через фильтр L1C4.
На МК возложены функции оцифровки выходного напряжения и тока через внутренний 10-битный АЦП, и вывод результата на шесть семи сегментных индикаторов, обработка клавиатуры, управление регулятором выходного напряжения, защита стабилизатора.
Для лучшей реакции пользователя индикация организована динамически на двух семи сегментных светодиодных индикаторах красного (напряжение) и зеленого (ток) цвета, объединяющих в себя по три разряда. Такой выбор цвета объясняется тем, что неконтролируемый рост значений напряжения всегда более опасен для нагрузки, чем изменение показаний амперметра, ибо последнее в автоматическом режиме отслеживается защитой.
Наличие шести индикаторов, управляемых портами МК, привело к тому, что пришлось применить буферную цепочку Т1-Т6 из 6 транзисторов р-n-р проводимости, уменьшающих до приемлемого значения ток через порты микроконтроллера.
К регистру порта РВ через восемь токоограничивающих резисторов R1-R8 включены соединенные в параллель сегменты шести индикаторов. К портам PDO-PD5 подключены транзисторы, активирующие конкретный разряд индикатора. Таким образом, процессор поочередно «засвечивает» каждый разряд индикатора и одновременно через порт РВО-РВ7 формирует изображение нужного числа.
Напряжение с выхода источника питания поступает для оцифровки на АЦП0 через резисторный делитель R49R50R51C9, коэффициент деления которого равен 5. МК производит выборки и затем определяет среднее значение. В качестве датчика тока, который потребляет нагрузка, используется мощный безындукционный резистор малого сопротивления R44. Величина падения напряжения на нем усиливается операционным усилителем DA2.2 и подается для анализа на АЦП1 МК.
Исходя из скорости обработки программы МК, опрос портов, в том числе клавиатуры, происходит циклически, без использования внутренних прерываний, что улучшает стабильность работы в целом. В случае не контролированного исчезновения питающего напряжения потери управляемости не наблюдалось и возрастания напряжения на выходе регулятора не фиксировалось.
Кнопки подключены к порту РА2, РАЗ, РА4. Их три: S1 - «+», в зависимости от величины шага, увеличивает значение выходного напряжения, S2 - «-» соответственно уменьшает. Кнопка S3 -«Плавно/грубо» определяет величину шага настройки. При включении - шаг составляет 0,1 В, при нажатии кнопки - увеличивается до 1,5 В. Повторное нажатие возвращает исходное значение, которое индицируется зеленым светодиодом LED2. Этот режим введен с целью быстрого ввода значений без утомительных нажатий кнопки «+». Шаг в 1,5 В выбран из соображения приближения к ряду питания низковольтной аппаратуры.
Таким образом, можно задать выходное напряжение с точностью в 0,1 В. Учтите, что БП не только измеряет реальное напряжение на выходе, но и задает его.
Указанный способ работы источника питания очень удобен в эксплуатации. Вы выставляете нужное напряжение, оно тут же выводится на клеммы и измеряется. При подключении нагрузки индикатор тока в реальном времени индицирует ток потребления. При ненормированной или нестабильной нагрузке напряжение выхода будет «проседать» или «прыгать», что немедленно отразится на индикаторах, а значит, привлечет внимание мастера к подключенному к нему устройству.
Следующим, не мене важном узлом, является цифроаналоговый преобразователь (ЦАП), который через порт РС0-РС7 управляет аналоговой частью устройства и формирует выходное напряжение. Из соображения доступности, простоты изготовления и уменьшения уровня излучаемых шумов использован так называемый R-2R ЦАП на R21-R37. Схема ЦАП, взята из открытых источников (1), неоднократно проверена и показала приемлемые характеристики.
Аналоговая часть схемы показана на рис.2


и состоит из сдвоенного операционного усилителя DA1, который формирует напряжение управления выходными транзисторами и усиливает напряжение от датчика тока.
DA1.1 в связке с транзисторами Т7, Т9, Т10 осуществляют необходимое усиление по току и напряжению. Т7 и Т9 включен по схеме с общим эмиттером, а Т10 - с общим коллектором. У включения последнего транзистора есть неоспоримые достоинства: большое входное и малое выходное сопротивление, что очень важно в источнике питания. Схему с таким включением еще называют «эмиттерным повторителем». В целом схема работает следующим образом: выходной ток ОУ усиливается транзистором Т7, его коллекторный ток подается на базу Т9, а затем проинвертированный и усиленный сигнал управляет мощным транзистором Т10. По сути дела, Т10 является усилителем тока коллектора Т9, который увеличивает его в h21э раз Т10. Исходя из чего на месте Т9 можно использовать транзисторы средней мощности.
Питание операционного усилителя осуществляется однополярным положительным напряжением. Благодаря применению транзисторов разной проводимости удалось добиться минимальной разности входного и выходного напряжений и четкой управляемости системы в целом. Наличие резистора R42 в цепи эмиттера Т7 ограничивает его базовый и, главное, коллекторный ток на уровне около 30 мА. Коэффициент усиления по напряжению ОУ DA1.1 и транзисторов Т7, Т9, Т10 равен 1+R40/R39.
На DA1.2 собран усилитель напряжения датчика тока потребления нагрузки - резистора R44. Коэффициент усиления по напряжению ОУ DA1.2 равен 25. Резистор R48 и D2 представляют собой простейший стабилизатор, задача которого состоит из защиты порта РА1 от возможного перенапряжения, ограничивая входное напряжение на уровне в 5,1 В. Аналогично используется D1 и R49 для порта РА0.
На элементах R51, R54, R53, Т8 собран электронный предохранитель. Он введен, исходя из того, что время реакции МК может быть недостаточным для блокировки биполярного транзистора при быстротечной перегрузке системы. Ток срабатывания определяет R54 и в небольших пределах регулирует R53. Максимальный ток срабатывания защиты - 2 А, что не даст возможности выйти из строя транзистору Т10.
Если падение напряжения на R54, которое зависит от тока потребления, превысит величину, равную приближенно 0,6 В, транзистор Т8 откроется и предотвратит дальнейшее увеличение базового тока транзистора Т9, а вслед за ним и Т10. Ток нагрузки ограничится на безопасном для системы уровне. Использованная защита не имеет триггерного режима работы, а посему сразу после снятия короткого замыкания возвратится в исходное состояние. Таким образом, регулятор напряжения выдерживает возмущения выходного тока и в случаи короткого замыкания на клеммах, в том числе и импульсного характера.
Независимо от вышеуказанного электронного предохранителя на аналоговых элементах, который защищает источник питания от нагрузки, защита самой нагрузки возложена на МК, который в реальном времени следит за значениями выходного тока. Если этот показатель превысит заданную максимальную величину, он примет защитные меры, а именно: немедленно выключит ЦАП путем обнуления регистра порта PC, а также проинформирует пользователя миганием светодиода LED1. Отсутствие потенциала на резисторах ЦАП, а значит, и на входе DA1.1 закроет транзисторы регулятора. Напряжение на выходных клеммах будет снято - нагрузка отключена. В этом состоянии БП может находиться неограниченное время. Для возобновления подачи напряжения достаточно нажатиями кнопки S1 выставить необходимое выходное напряжение. При превышении указанных режимов защита автоматически сработает опять. Таким образом, в этом источнике питания используется две независимые петли защиты: быстродействующая - аналоговая на транзисторе Т8 и «контролирующая» - цифровая на U1.


Питание схемы показано на рис.3 и состоит из двух микросхем VR1, VR2 и цепей выпрямления, а также фильтрации. Стандартная схема включения пояснений не требует, кроме R58 мощностью в 1 Вт, наличие которого не обязательно, но с ним значительно лучший тепловой режим работы стабилизатора VR2 на 5 В.
Детали и конструкция
U1 -МКАVR АТМЕGА16А-16РPU или АТМЕGА16L.
Если от микроконтроллера никуда не уйдешь, то остальные детали - практически «ширпотреб», которого всегда в достатке. Детали блока не критичны к замене.
При построении ЦАП, безусловно, наилучшим вариантом был бы R-2R ЦАП в гибридном корпусе на одном кристалле. При его отсутствии, используйте резисторы в SMD исполнении или обычные, но обязательно возьмите каждый из номиналов из одной партии (коробки). Таким образом, будет максимально соблюдена линейность преобразования. Практика эксплуатации показала его стабильность и легкость реализации.
Индикаторы применены импортные типа GNT-3631BG, GNS-3611BD, но можно использовать и аналогичные отечественные, а также одиночные типа АЛС321Б или АЛС324Б, но обязательно с общим анодом.
Буферные транзисторы ВС478 заменяются любыми транзисторами малой мощности, что имеются в наличии, с соблюдением расположения выводов и проводимости, в том числе КТ209, КТ502 с любым буквенным индексом.
Транзисторы Т7, Т8 - импортные малой мощности, но можно установить КТ203, КТ208, КТ315 и КТ361 соответственно. В этом случае обратите внимание на максимально допустимое напряжение коллектор-эмиттер в сравнении с напряжением питания после диодного моста, если оно превышает 26 В. Т9 - КТ361, КТ801Б, КТ807Б. Т10 - средней мощности КТ803А, КТ814, КТ805, КТ808А или любой мощный с допустимым током коллектора не менее 2 А и допустимым напряжением коллектор-эмиттер больше напряжения питания. Испытано использование в качестве выходного составного транзистора по схеме Дарлингтона TIP110. Транзистор Т10 желательно выбрать с большим статическим коэффициентом передачи тока базы. Т10 установлен на радиаторе площадью 400 см2. Если Ваш радиатор мал, то установите вентилятор от компьютера.
Резисторы - датчики тока С5-16В, мощностью 5... 10 Вт. Мощность токозадающих резисторов из соображения надежности сознательно увеличена.
Конденсаторы на плате А1 - керамические, желательно в SMD исполнении. Электролиты в стабилизаторе - К50-12.
Операционный усилитель можно попробовать заменить TLC2272, TLC2262 или аналогичным. Подстроечные резисторы из серии СП5, СПЗ-19б.
Стабилизаторы питания на 5 и 18 В работают без радиатора, при наличии R58. Диодная сборка на 2 А или любые выпрямительные диоды с допустимым прямым током в 2 А и обратным напряжением не менее напряжения на вторичной обмотке трансформатора. Если использовать трансформатор на 24 В переменного напряжения, то или германиевые с малым прямым падением напряжения и обратным не менее 30 В или современные Шотки. Светодиоды можно применить любого типа.
Габаритная мощность трансформатора должна быть не мене 60 Вт, выходное переменное напряжение от 25 до 35 В, 2 А. При большем напряжении не смогут работать стабилизаторы VR1, VR2.
Конструктивно изготавливается на 3-х или 2-х платах. В последнем случае блоки А2 и A3 сведены в один. Такая конструкция даст возможность быстрой модернизации блока в будущем путем замены устаревшей части, а также облегчит наладку.
Сборка и наладка
Правильно собранный БП начинает работать сразу, но нужно учесть следующее.
В цифровой части распайку платы провести без МК, вместо которого установить 40-выводную панельку. Можете установить 6-штырьковый
разъем для внутрисхемного ISP программирования (JMP1-JMP3). Катушку L1 и конденсатор С4 расположите как можно ближе к МК. Разводку платы произведите так, чтобы шина питания схемы и МК шла «звездочкой» с одной точки, чтобы не было «сквозного» тока через выводы микроконтроллера.
«Зашейте» программу в микроконтроллер. Внимательно отнеситесь к выставлению фьюзов, иначе введете его в «нокаут». Если этот этап проводите впервые, то сначала почитайте соответствующую литературу. «Прошитый» контроллер засветит нули в индикаторе, и будет реагировать на прикосновение пальцами к портам АЦП, высвечивая разные цифры. Подав через резисторы в сотню Ом на РА0, РА1 5 В от его же питания, получите соответствующие показания на индикаторах.
Аналоговую часть можно собирать всю сразу и начинать налаживать отдельно, без цифровой платы. Запаяйте все резисторы, конденсаторы и диоды. Впаивать цепочку транзисторов после DA1.1 поочередно с обязательным измерением тока коллектора Т7. Проконтролируйте, чтобы он не достиг значения больше 30 мА. Иначе меняйте очередной транзистор на другой, аналогичный или меньшей мощности (важен h21э). Если это условие не соблюсти, то резистор R2 придется уменьшать до десятков Ом, и он превратится в «печку». После этого ставим в панельку LM358. Убедившись в работоспособности усилителя напряжения, приступайте к электронному предохранителю на Т8. При нагрузке в 2 А он должен «реагировать» и блокировать выходную мощность на безопасном уровне.
Начальная настройка показаний вольтметра и амперметра производится по показаниям тестера. На 2 ногу DA1 подается 5 В от стабилизатора питания и подстроечным резистором R50 выставляется 5 В при выходном напряжении в 25 В.
Движком резистора R47 выставляете на выходе 7 DA1 1,5В при нагрузке в 1,5 А.
Когда вся цепь по напряжению работоспособна, выставляем верхнюю границу напряжения, в зависимости от входного напряжения от трансформатора, с помощью R40. Имейте в виду, что если при статической нагрузке «дергаются» показания индикаторов, значит, система возбуждается. Это может быть как следствием ошибок или неверной разводки аналоговых цепей на плате, так и недостаточной мощности обмоток трансформатора.
Теперь можно соединить все части воедино и произвести окончательную настройку - согласование указанными ранее подстроечными резисторами.
Вопросы по построению источника питания можно задать автору на электронный адрес [email protected] .
РА №3, 2011
Литература
1. Стабилизатор напряжения 0...25,5 В с регулируемой защитой по току. // Радио. - №8. - 2007.
2. Гребнев В.В. Микроконтроллеры семейства AVR фирмы ATMEL
3. Голубцов М.С. Микроконтроллеры AVR от простого к сложному
4. Datasheet ATMEGA16А-16PU - Atmel Даташит 1C, 8-бит 16К FLASH Микроконтроллер

ЧАСТЬ 2


(Продолжение. Начало см. в РА 3/2011)
Опубликованная в схема блока питания с микроконтроллерным управлением преследовала цель заинтересовать радиолюбителей и помочь им понять потенциальные возможности и перспективы использования микроконтроллеров (МК) в блоках питания аппаратуры, а также освоить МК практически. Вторая часть этой статьи - продолжение изысканий автора в этом направлении и анализ вопросов и предложений, высказанных автору читателями журнала.
Отзывы на статью показали наличие в среде радиолюбителей как теоретического, так и практического интереса к этой теме, а также выявили трудности, с которыми столкнулись читатели.
Внимание автора привлекло справедливое замечание одного из радиолюбителей из г. Курска, пожелавшего повторить блок. У него в наличии были только семисегментные индикаторы с общим катодом, а покупать подобные с общим анодом, используемые в БП из статьи , не вызывало особого энтузиазма. Как и ожидалось, не обошлось без «религиозных войн» со стороны приверженцев продукции конкурирующих фирм-производителей микроконтроллеров AVR и PIC.
К этому БП также проявили интерес радиолюбители, которые не имеют опыта работы с МК. Многих читателей интересует возможность повысить выходную мощность БП с сохранением заявленных ранее характеристик и возможностей.
Учитывая вышеизложенные пожелания, автор разработал ряд дополнений, которые можно условно
разбить на три направления:
1. Модернизация существующей цифровой части БП (А1) и разделение ее схемы на два узла
(части).
2. Перенесение полученного результата на другую микроконтроллерную платформу.
3. Повышение выходной мощности БП и выходного тока до 2 А.
Следует учесть, что при этом модернизация коснулась как принципиальной схемы, так и программы МК.
Кроме того, программа защиты контролирует теперь верхнюю границу тока потребления в 2,05 А.
Остальные заявленные в характеристики блока питания не изменились.
Описание изменений в принципиальной электрической схеме блока питания и логики его работы
Структура источника питания, как и прежде, состоит из трех частей. Изменению, как описано выше, подвергся цифровой модуль управления с индикацией (А1). Аналоговая часть (А2) и модуль питания (A3) самого БП остались без изменений.
Цифровой модуль управления разделен на две части, так как практика показала, что при стремлении сделать БП как можно более компактным, расположить на одной плате микроконтроллер с обвязкой, индикаторы и элементы управления практически невозможно. Кроме того, так решается проблема универсальности использования различных типов светодиодных индикаторов.
Таким образом, к плате микроконтроллерного управления (А1) теперь добавлена плата управления и индикации (А4).
Принципиальная электрическая схема модернизированного модуля А1 показана на рис.1.

Работа цифровой части устройства на микросхеме U1 фирмы AVR ATMEGA16 в целом не изменилась (см. ).
На МК, как и прежде, возложены функции оцифровки выходного напряжения и тока через внутренние АЦП и вывод результата на шесть семисегментных индикаторов, обработка клавиатуры, управление регулятором выходного напряжения и защита стабилизатора напряжения. Для удобства работы с блоком питания в программу добавлены алгоритм включения звукового излучателя (бипера) при переходе системы в режим «Авария» и алгоритм обработки энкодера (валко-дера). При этом оставлен режим работы с кнопками. Таким образом, пользователю предоставлена возможность выбора варианта управления. Например, можно использовать только одну кнопку S3 «Шаг» и энкодер. Такой вариант особо пригодится тем, кто имеет механический энкодер со встроенной кнопкой.
Итого, в схеме к первоначальному варианту уз-ла (А1) из в принципиальную схему добавлен узел опроса энкодера: два резистора (R46, R47) и сам энкодер, подключенный к ранее свободным выводам РА5, РА6. Добавлена также система управления звуковым излучателем R49, Т11, ЕР. В данной конструкции нужно использовать бипер с внутренней генерацией. Сделано это, чтобы не «отвлекать» микроконтроллер на генерацию сигнала. Тем, кто не сможет достать такой излучатель, рекомендую заменить его обычным генератором на транзисторах или логических элементах с пьезоизлучателем, питание на который надо снимать с коллектора Т11. Этот узел построен так, что по желанию его можно одновременно использовать для режима полного отключения выхода блока питания с помощью реле или полевого транзистора при нештатной ситуации.
В нынешнем варианте много чего вынесено в узел индикации и управления (А4), который может быть выполнен в двух вариантах: для индикаторов с общим анодом (рис.2)

и для индикаторов с общим катодом (рис.3).

Он подходит для всех микроконтроллеров, указанных в статье.
Таким образом, А4 содержит 6 транзисторных ключей индикации Т1-Т6 (n-p-n или p-n-р проводимости в зависимости от типа индикатора), которые уменьшают до приемлемого значения ток через порты микроконтроллера. В состав А4 входят схема управления самогенерирующим бипером на транзисторе Т11 и энкодер. Резисторы R46, R47, входящие в узел опроса энкодера, расположены на А1.
По просьбе радиолюбителей, которые столкнулись с проблемой приобретения МК AVR
ATMEGA16, разработана и испытана программа для МК AVR ATMEGA8535, который совпадает по выводам с ATMEGA16. Возможно также применение МК AVR ATMEGA32, у автора имеется соответствующая версия программы.
Кроме того, был разработан вариант схемы блока А1 на МК типа PIC16F877A, принципиальная схема которого показана на рис.4.

В целом в нем иная архитектура портов. Тем не менее, удалось подобрать оптимальный вариант его подключения с минимальными отличиями. Основные из которого -наличие кварцевого резонатора Сr1, отсутствие обвязки цепи «RESET», питания аналоговой части АЦП и, конечно, иного разъема внутрисхемного программирования. В дан ном случае он 10-штырь-ковый. Программная часть PIC16F877A работает аналогично. К плате физически подходит любой вариант платы управления и индикации (А4).
Принципиальная схема аналоговой части (А2) не изменилась. Ее можно посмотреть на рис.2 в .
Питание самого блока выполнено по схеме рис.3 из и объясненной там же.
Детали и конструкция
U1 - AVR ATMEGA16-16PU, ATMEGA16L или ATMEGA16А, а также вышеуказанные ATMEGA8535, ATMEGA32, аналогично - PIC16F877 и PIC16F877A.
Напоминаю, что в случае использования указанных микроконтроллеров AVR не требуется переделки схемы и платы.
МК PIC между собой также взаимозаменяемы. При этом автор использует кварцевый резонатор на 10 МГц. Индикаторы, как указано выше, с общим катодом или анодом любого типа и размера. От выбора индикатора и их размеров зависит значение тока в их цепи. Поэтому, возможно, необходим подбор резисторов в цепи между индикатором и портом РВ МК в диапазоне 100...300 Ом, но эти резисторы обязательно должны иметь одинаковые номиналы.
В качестве буферных транзисторов Т1-Т6 на плате индикаторов (А4) можно использовать любые из имеющихся в наличии транзисторов малой мощности с учетом проводимости и током коллектора около 100 мА.
Энкодер типа РЕС 12, РЕС 16 или аналогичный.
Мощность сетевого трансформатора должна быть 70... 100 Вт, выходное напряжение от 25 до 35 В, ток ЗА.
Радиатор выходного транзистора должен иметь полезную площадь охлаждения не менее 500 см2.
Иначе надо поставить вентилятор для принудительного обдува.
Сборка и наладка
Правильно собранный БП начинает работать сразу. Сборку производить в порядке, указанном в предыдущей статье.
К кварцевому резонатору в схеме на PIC16F877A, возможно, не потребуется присоединение по стандартной схеме двух одинаковых конденсаторов на 10...30 пФ (С2 и СЗ).
Программировать микроконтроллер можно как в отдельно собранном программаторе, так и внутри-схемно через соответствующий разъем на плате.
Акцентирую внимание на проверку при программировании правильности установленных фьюзов, так как программаторы не имеют единого стандарта в этом вопросе. Сначала нужно прочесть, каким способом обозначается установленный фьюз, и только потом активировать.
Вариант установки фьюзов для программы РоnyProg2000 показан на рис.5.


Для AVR ATMEGA8535 указанные фьюзы выставляются аналогично, а для МК PIC16F877 нужно использовать слово конфигурации: Ox3f3a.

Файлы для прошивки микроконтроллеров выложены в архиве на сайте издательства «Радиоаматор».
В этом архиве находится 8 файлов:
файл anod-2_05A_PIC877.hex прошивки МК PIC16F877 для индикаторов с ОА;
файл anod-2_05A_PIC877A.hex прошивки МК PIC16F877A для индикаторов с ОА;
файл catod-2_05A_PIC877.hex прошивки МК PIC16F877 для индикаторов с ОК;
файл catod-2_05A_PIC877A.hex прошивки МК PIC16F877A для индикаторов с ОК;
файл anod_2A_16.hex прошивки МК ATMEGA16 для индикаторов с ОА;
файл catod_2A_16.hex прошивки МК ATMEGA16 для индикаторов с ОК;
файл anod_2A_8535.hex прошивки МК ATMEGA8535 для индикаторов с ОА;
файл catod_2A_8535.hex прошивки МК ATMEGA8535 для индикаторов с ОК.
В данное время автором осуществляется ряд экспериментов для изучения поведения блока, особенно стабильности его характеристик при выходном токе от 3 до 5 А.
Литература:
1. Котик В.Д. Лабораторный блок питания с микроконтроллерным управлением 0.. .25,5 В с двойной защитой // Радиоаматор. - 2011 - №3. - С.26-30.
2. http://www.ra7.com.ua/ - сайт издательства «Радиоаматор».
Источник РА 6"2011

АРХИВ:
Котик В.Д

Оценка 1 Оценка 2 Оценка 3 Оценка 4 Оценка 5

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

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Есть много способов для создания цифро-аналоговых преобразователей, но он должен быть быстрым и простым, который будет легко взаимодействовать с нашим микроконтроллером. Существует схемы преобразователя, известного как "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:

11

Рис. 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 и шьешь.
Поскольку и бутлоадер и вся процедура у меня сделана по статье , тонкости процесса можно почерпнуть там.

Калибровка

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

Но для микроконтроллерной части это все не важно. Главное, чтобы делитель выходного напряжения выдавал ему напряжение от 0 до 2,56В, токоизмерительный шунт в режиме короткого замыкания давал около 2В, а система установки выходного напряжения принимала напряжение от 0 до 5В.
Настроить калибровки можно с помощью интерфейса.

Интерфейс и работа с компьютером

Работа интерфейса также изменилась по сравнению с программой Гвидо: скорость 38400 kbps, 8N1. В конце строки требуется символ перевода каретки.
Набор команд:


С помощью этих команд можно управлять блоком из любой терминальной программы. Я предпочитаю использовать Serial monitor в Arduino, но это дело вкуса.
Я написал небольшую программу для Windows которая умеет выводить данные в график и задавать значения, в том числе и по протоколу. См. раздел файлов.


Рис.6. Интерфейс программы управления. Вкладка с графиками.



Понравилась статья? Поделиться с друзьями: