Оглавление Видео опыты по химии Видео опыты по физике На главную страницу

Химия и Химики № 3 2021

Журнал Химиков-Энтузиастов
Помощь журналуПомощь журналу Химия и Химики




Регулятор напряжения на микроконтроллере PIC12F675
или
ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра
PIC12F675 microcontroller-based voltage regulator


Архивариус Линдгорст


Обнаружив ошибку на странице, выделите ее и нажмите Ctrl + Enter


Для нетерпеливых. Данный проект использует один цифровой выход, на котором присутствует ШИМ-сигнал, один аналоговый вход обратной связи и две кнопки "+" и "-".

Если заземлить аналоговый вход, то получаем контроллер ШИМ-а управляемый только кнопками "+" и "-".

Если аналоговый вход подключить к среднему выводу потенциометра 1 кОм подключенного крайними выводами к шинам питания, то получим ШИМ-контроллер управляемый потенциометром, а кнопками можно задавать дед-тайм между импульсами.

Включив между шинами питания цепочку из обычного и терморезисторов, и подав сигнал с ее средней точки на аналоговый вход, получим регулятор нагрева или охлаждения. А если усилить напряжение термопары до размаха +5 В получим контроллер для самодельной паяльной станции на жалах с термопарой.

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

Дополнив контроллер набором мощных мосфетов и конденсаторов, получим мечту каждого химика-энтузиаста: БП для электролизера с шагом регулирования 1/256 от полного напряжения источника силового питания (для 12 В это составит около 0,05В, (хотя в действительности, учитывая точность внутреннего генератора не лучше 1%, для заявленной точности надо ставить кварцевый резонатор)).

И самое тривиальное использование, рассмотренное здесь - источник регулируемого напряжения для рабочего стола любого энтузиаста с руками.


Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator




Еще пару слов об управлении. При подаче напряжения контроллер сразу включает генерацию сигнала ШИМ. Даже если настройка содержит нулевое значение (как в первое включение после прошивки). Поэтому, если после включения Вам покажется, что нет сигнала, не смущайтесь, жмите "+" и выбирайте необходимый Вам уровень напряжения (или заполнения ШИМ). Для точности настройки и предотвращения последствий нетерпеливости шкала достаточно долгая - полный ход значений от 0 до 255 занимает чуть больше минуты. Разумеется, если перескочили через значение, кнопка "-" в помощь. И наоборот.

Хотя контроллер включается сам, его выход можно выключить (а самого его усыпить) просто одновременно нажав на обе кнопки. Это полезная функция, т.к. в момент засыпания контроллер сохранит в энергонезависимой памяти настройку текущего значения ШИМ, и будет загружать ее при пробуждении и последующих включениях. Пока его не отправят в сон с новой настройкой.

При необходимости пробудить контроллер, жмем только на "+". Однако, проснется он не ранее, чем через 40 с после засыпания (и в этом тоже есть свой смысл: если через кнопки организована защита от КЗ, тогда есть время понять проблему и выключить аварийное устройство).

С описательной частью вроде все.

Дальнейшее развитие проекта предусматривает задействование еще одного аналогового входа для контроля выходного тока, и еще одного аналогового входа для контроля теплового режима исполнительной части регулятора.

Описанное собрано, откатано и прошито в MPLAB 8.92 [Загрузить архив]. Источник значительно откомментирован для внесения самостоятельных правок желающими. Коммерческое использование разработки не запрещается, однако в таком случае, автор будет благодарен за донат любимому журналу.



***
Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра
(ч.2 - продолжение)
PIC12F675 microcontroller-based voltage regulator
По правилам хорошего тона журнальной публикации здесь следовало бы предъявить на суд читателей действующий прототип. Чем я и занялся в ближайший уикэнд.

Однако, память подвела, а закрома не разделили моего энтузиазма относительно некоторых электронных компонентов. Пришлось импровизировать на ходу, и собранная в результате схема выглядела так:


Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator




(применен P-MOSFET IRF4905 и китайский вольтметр. На ХХ выход желательно нагрузить небольшим резистором сопротивлением около килоОма, иначе конденсатор при перестроении вниз слишком долго держит уровень, что дезориентирует).

А в "железе" так:


Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator

Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator




Ничто не предвещало беды…


Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator

Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator




… но включенная схема уверенно держала на выходе напряжение питания. Впрочем, догадка пришла почти сразу: выход программировался для работы с активным высоким (относительно земли) уровнем, а примененный P-MOSFET активным уровнем считает низкий.

Программку пришлось откорректировать таким образом, что записи

BSF GPIO, OUT ; поднять выход

И

BCF GPIO, OUT ; уронить выход

поменялись местами (в трех строках № 36, 152 и 157). После чего активный уровень выхода изменился в нужную сторону. И устройство ожило.


Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator

Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator




Заявленные функции работают штатно.

Нагрузил выход устройства мощным электромагнитом. Т.е. индуктивной нагрузкой. Выход просел до 0, а последующая работа устройства перестала отвечать алгоритму программы. Хотя сон и пробуждение происходят штатно. Налицо повреждение аналогового канала АЦП. Скорее всего, в результате индуктивного выброса (вход АЦП связан с выходом устройства напрямую). В случае использования устройства для работы на индуктивную нагрузку, имеет смысл защитить вход АЦП примерно таким образом:

- добавленные элементы VD1, VD2 и R4 (номинал в несколько сотен Ом).


Регулятор напряжения на микроконтроллере PIC12F675 или ШИМ-контроллер с рабочей частотой 1 кГц и контролем одного параметра / PIC12F675 microcontroller-based voltage regulator



<Электрическая дуга, Электрические разряды, Опыты с Электричеством> <Химическая лаборатория. Посуда. Реактивы. Лабораторные операции (перегонка, фильтрование, центрифугирование, выпаривание, прокаливание, измельчение и др.) Chemical laboratory. Glassware. Reagents. Laboratory operations>

<Самодельное лабораторное оборудование (Обсудить на форуме)> <Электротехника своими руками (Обсудить на форуме)> [Отправить Комментарий / Сообщение об ошибке]