Источник напряжения питания 0-24В 3А на Arduino и LM338

В этой статье мы рассмотрим создание на основе платы Arduino и микросхемы LM338 источника регулируемого напряжения питания, который будет обеспечивать на своем выходе постоянное напряжение от 0 до 24 В с максимальным током до 3 ампер.

Внешний вид источника напряжения питания 0-24В 3А на Arduino и LM338

Большинство подключаемых к платам Arduino датчиков обычно запитываются от таких напряжений как 3.3В, 5В или 12В. Датчики обычно потребляют ток около нескольких миллиампер. Но вместе с тем в схемах на Arduino могут использоваться сервомоторы и электродвигатели постоянного тока, работающие от напряжения 12В или выше и требующие больших значений токов. Поэтому мы и выбрали для нашей схемы верхнюю границу напряжения 24 В (на практике удается добиться не более 22.2В) и тока в 3 А.

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

Необходимые компоненты

Плата Arduino Nano
Трансформатор 24V 3A
Dot board (точечная доска (плата))
Стабилизатор тока LM338K
Диодный мост 10A
ЖК дисплей 16х2
Резистор 1 кОм и 220 Ом
Конденсаторы 0,1 мкФ и 0,001 мкФ
Регулятор напряжения 7812
Потенциометр 5 кОм
Berg stick (Female) (коннектор типа «мама»)
Контактная колодка

Принципы работы проекта

Проектируемый нами источник напряжения будет преобразовывать переменное напряжение в постоянное и регулировать его в соответствии с необходимым уровнем. Наш источник напряжения содержит понижающий трансформатор на 24V 3A — полученное с его выхода переменное напряжение затем выпрямляется с помощью диодного моста. Уровень выпрямленного (постоянного) напряжения регулируется с помощью стабилизатора тока LM338K и управляется с помощью потенциометра. Плата Arduino и ЖК дисплей запитываются от напряжения, получаемого с выхода регулятора напряжения 7812.

Наша конструкция в сборе

Подключение платы Arduino и ЖК дисплея

Подключение ЖК дисплея к плате Arduino рассмотрено в следующей статье на нашем сайте. Здесь же мы кратко рассмотрим основы этого процесса. В этом проекте мы использовали плату Arduino Nano поскольку она достаточно компактная и ее легко поместить на плату.

Итак, на этом этапе нам потребуются комплектующие, показанные на следующем рисунке.

Часть комплектующих для нашего проекта

Точечная плата в дальнейшем будет использоваться для размещения на ней всех элементов нашего проекта. Рекомендуется для крепления платы Arduino Nano использовать коннектор типа «мама» чтобы ее после этого можно было повторно использовать. Также работу схему вначале можно проверить на макетной плате (рекомендуется для начинающих) и только потом переносить ее на точечную плату. Схема соединений ЖК дисплея с платой Arduino и с источником питания показана на следующем рисунке – не переживайте что на нем изображена плата Arduino Uno, для используемой нами платы Arduino Nano соединения будут аналогичными.

Схема соединений ЖК дисплея с платой Arduino и с источником питания

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

#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int a =5;
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(a);
}

Этот код проверяет работу ЖК дисплея, подключенного к плате Arduino. Если он все таки не заработал, то рекомендуется сделать следующие вещи:

  1. Проверить объявления контактов в программе.
  2. Напрямую заземлить 3-й (VEE) и 5-й (RW) контакты вашего ЖК дисплея.
  3. Проверьте правильность подключения контактов вашего ЖК дисплея, у некоторых ЖК дисплеев расположение контактов может отличаться.

Если программа успешно работает, то результат ее работы должен выглядеть так как на представленном рисунке. Для проверки работы приведенного кода мы запитали плату Arduino с помощью USB кабеля, но в дальнейшем ее питание будет производиться от регулятора напряжения. Для этого рекомендуется сделать распайку как на приведенном рисунке.

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

Работа схемы

Поскольку в нашей схеме мы будем иметь дело с достаточно большими токами и напряжениями, то желательно прежде чем подавать на нее питание «прозвонить» все соединения в схеме (то есть проверить их связность) с помощью мультиметра.

Понижать напряжение с 220 В до 24 В мы будем с помощью понижающего трансформатора, рассчитанного на ток не менее 3A. Далее это напряжение поступает на мостовой выпрямитель (диодный мост). На выходе диодного моста мы получим постоянное напряжение в диапазоне 27-30 В (с учетом падения напряжения на диодах моста). Если вы достигли уже этой части схемы, то желательно сделать необходимые пайки на точечной плате и использовать соединительную коробку чтобы подключать к этой части другие элементы схемы.
Далее мы будем управлять выходным напряжением с помощью стабилизатора тока LM338K (обычно изготавливается в металлическом корпусе). Схема стабилизатора тока с использованием микросхемы LM338K приведена на следующем рисунке.

Схема стабилизатора тока с использованием микросхемы LM338K

Значения сопротивлений R1 и R2 можно рассчитать исходя из формулы, приведенной на рисунке, для формирования нужного нам значения выходного напряжения. В нашем случае мы выберем R1=110 Ом и R2=5 кОм (потенциометр).

Теперь все, что нам осталось сделать, это запитать плату Arduino. Поскольку плата Arduino потребляет значительно меньший ток чем тот, который на выходе нашего стабилизатора тока, то для подачи питания на плату Arduino мы будем использовать микросхему 7812. На вход микросхемы 7812 будет поступать напряжение 24 В, а на ее выходе мы будем иметь напряжение 12 В, которое мы будем подавать на контакт Vin платы Arduino Nano. Не используйте вместо 7812 микросхему 7805 поскольку максимальное напряжение для нее составляет 24 В и поэтому мы ее можем сжечь.

Полная схема нашего устройства представлена далее — в разделе «усовершенствование схемы».

Как показано на схеме переменное напряжение от 1.5 до 24 В преобразуется в напряжение 0-4.5 В с помощью делителя напряжения поскольку плата Arduino на своих контактах может воспринимать только напряжения в диапазоне 0-5 В. Это напряжение подается на контакт A0, где и измеряется. Полный код программы и видео приведены в конце статьи.

На следующих рисунках приведен примерный вид получившегося устройства.

Моменты, на которые стоит обратить внимание

1. Будьте внимательны при пайке соединений чтобы не сжечь компоненты вашей схемы.

2. Обыкновенный припой не сможет выдержать ток 3A, что может привести к тому что он расплавится и в дальнейшем к короткому замыканию. Используйте толстые медные провода или больше свинца чтобы соединять дорожки как показано на рисунке.

3. Любое короткое замыкание или слабая пайка может привести к порче намотки трансформатора, поэтому внимательно проверьте все соединения мультиметром прежде чем подавать на схему питание. Для дополнительной защиты можете использовать плавкий предохранитель на входе схемы.

4. Стабилизаторы больших токов обычно поставляются в металлических корпусах, поэтому когда будете размещать его на точечной плате не помещайте его слишком близко к другим компонентам схемы поскольку на их корпусах может появляться выпрямленное напряжение – в дальнейшем это может привести к пульсациям напряжения.
Не припаивайте провода к металлическому футляру, вместо этого используйте небольшой винт как показано на приведенном рисунке.

5. Не удаляйте из схемы конденсаторы, предназначенные для фильтрации питающих напряжений, иначе это может привести к повреждению вашей платы Arduino.

6. Не перегружайте трансформатор током более 3A, остановите работу схемы если услышите шипящий звук из трансформатора. В целях безопасности желательно не оперировать с токами более 2.5A.

7. Проверьте напряжение на выходе 7812 перед тем как подсоединять ее к Arduino. Проверьте ее на перегрев во время первого запуска схемы. Если ее нагрев все таки происходит это значит что плата Arduino потребляет больший ток чем следует, для решения этой проблемы уменьшите интенсивность подсветки ЖК дисплея.

Усовершенствование схемы

Рассмотренный нами источник регулируемого напряжения питания имеет ряд проблем с точностью вследствие присутствия шума в выходном сигнале. Данный шум появляется из-за того, что мы используем аналого-цифровое преобразование при работе схемы. Эта проблема легко решается с помощью фильтра нижних частот, например RC фильтра. Поскольку на нашей точечной плате одновременно присутствуют и постоянный, и переменный токи, то и значение шума на выходе схемы будет больше обычного. Поэтому для фильтрации этого шума мы выбрали R=5.2 кОм и C=100 мкФ.

Также в схему добавлен датчик тока ACS712 чтобы измерять ток на выходе схемы. На следующем рисунке показано как его правильно подсоединить к плате Arduino.

Схема источника напряжения питания 0-24В 3А на Arduino и LM338

Исходный код программы

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

#include <LiquidCrystal.h> // библиотека для работы с ЖК дисплеем
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // контакты Arduino, к которым подключен ЖК дисплей
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2); // устанавливаем количество столбцов и строк ЖК дисплея
lcd.setCursor(0, 0);
lcd.print("RPS");
lcd.setCursor(0, 1);
lcd.print("-Circuit Digest"); // выводим сообщение на ЖК дисплей
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Voltage = ");
}
int voltage;
void loop()
{
int A1 = analogRead(A0);
voltage = map(A1,0,1024,0,22);
Serial.println(voltage);
lcd.setCursor(10,0);
lcd.print(voltage);
delay(1000);
}

Видео, демонстрирующее работу схемы

(1 голосов, оценка: 5,00 из 5)
Загрузка...
35 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *