LM317 и ШИМ управление от Arduino

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

LM317 и ШИМ управление от Arduino



Поскольку этот блок соответствует типичной схеме применения LM317, он отлично подходит для питания небольших проектов устройств или любой другой схемы, требующей постоянного напряжения. Согласно документации, чип LM317 представляет собой регулируемый трехконтактный стабилизатор положительного напряжения, способный выдавать более 1,5 А в диапазоне выхода от 1,25 В до 37 В. Для установки выходного напряжения требуется всего два внешних резистора. LM317 также включает ограничение тока, защиту от тепловой перегрузки и защиту безопасной рабочей зоны. Защита от перегрузки остается работоспособной, даже если контакт ADJ отключен.

LM317 и ШИМ управление от Arduino

Далее представлена функциональная блок-схема LM317. Операционный усилитель с входом смещения 1,25 В на ADJ обеспечивает простое программирование выходного напряжения или тока (но не обоих одновременно). Для устройств регулирования напряжения два резистора устанавливают выходное напряжение.



Поскольку значение VREF постоянно, значение R1 определяет количество тока, протекающего через R1 и R2. Значение R2 определяет падение IR от вывода ADJ к GND – более высокие значения R2 переводятся в более высокое V OUT. Но так как LM317 передает свой ток смещения на вывод OUT, нагрузка или обратная связь должны потреблять этот минимальный ток для регулирования, иначе потенциал выхода может быть слишком высоким.

Это небольшое дополнение в виде использования резистора 240 Ом в качестве верхнего резистора R1. R1 на 240 Ом является основным требованием для LM317 при использовании в качестве регулятора напряжения, поскольку надо чтобы внутренний источник опорного напряжения 1,25 В имел разрешающий ток 100 мкА. В спецификации для минимального тока нагрузки указано типичное значение 3,5 мА, максимум 10 мА. С резистором 240 Ом в качестве R1 как раз и получим ток около 5 мА, протекающий через нижний резистор R2.

Полезное на сайте:
Усилитель с низким напряжением и током потребления

LM317 и ШИМ-управление

Если верхний резистор R1 оставить на своем месте, а нижний R2 заменить источником напряжения, выходное напряжение LM317 будет примерно на 1,25 В выше входного. Следовательно, если подавать переменное напряжение от внешнего источника, например от микроконтроллера, сможем управлять выходом LM317 вместо использования традиционного подстроечного резистора или потенциометра.

Давайте объединим базовую схему стабилизатора LM317 с микроконтроллером, чтобы создать дистанционно управляемый регулируемый источник питания.

Теперь, когда выбрали стабилизатор напряжения, пришло время собрать вокруг него остальную часть схемы. Регулировка м/с с помощью внешнего источника напряжения это хорошо, но как обеспечить измененное напряжение на выводе ADJ? Самый простой способ – задействовать широтно-импульсную модуляцию (ШИМ) от Arduino с операционным усилителем. На рисунке ниже показана идея.

LM317 и ШИМ управление от Arduino

Тут создается аналоговое напряжение с помощью операционного усилителя LM358 (IC2A) вместе с резистором (R3) и конденсатором (C4), которые образуют RC-фильтр нижних частот (ФНЧ). ФНЧ преобразует напряжение ШИМ в постоянный сигнал. Увеличение частоты ШИМ должно уменьшить пульсации на выходе. Аналогичным образом, увеличение номинала резистора приводит к такому-же результату, но увеличивает время нарастания RC-цепочки. Можно и не использовать операционный усилитель, но у него есть преимущества. Например он формирует определенную степень защиты для Arduino.

Полезное на сайте:
Самодельная инфракрасная печь

Программа ШИМ для Arduino

На вход схемы подается сигнал ШИМ 5 В от Arduino Uno. В Arduino Uno PWM есть две частоты по умолчанию – 490 Гц и 980 Гц. Здесь используется цифровой вывод D3 с выходом ШИМ 490 Гц. Вот базовый скетч PWM на Arduino Uno.

int pulseOut = 3; // D3

void setup()

{

pinMode(pulseOut, OUTPUT);

}

void loop()

{

analogWrite(pulseOut, 0); // Minimum

delay(6000);

analogWrite(pulseOut, 128); // Middle

delay(6000);

analogWrite(pulseOut, 255); // Maximum

delay(6000);

}

Во время тестирования использовался обычный адаптер постоянного тока 9 В / 1 А для питания схемы Arduino и LM358, а модуль LM317 питался от БП 12 В. Источник питания 9 В будет работать для LM358, но максимальный выход от него будет близок только к 5 В. Это приводит к максимальному выходному вольтажу 0f 6,2 В от модуля LM317 (2,2 В – минимальное выходное напряжение). Можно конечно изменить напряжение источника питания операционного усилителя после настройки ОУ на умножение входного сигнала ШИМ 0–5 В на 10 (или около того), чтобы получить более высокие выходные напряжения от модуля LM317.

LM317 и ШИМ управление от Arduino

Чем выше частота ШИМ-сигнала, тем меньше пульсация напряжения на выходе схемы ФНЧ. Если используется частота по умолчанию цифрового ШИМ-вывода D3 (490 Гц), она слишком мала для приличной настройки. Необходимо увеличить эту частоту ШИМ до уровня в несколько кГц, чтобы получить более стабильное выходное напряжение. Можно сделать это изменив регистр таймера Ардуино.

LM317 и ШИМ управление от Arduino

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