Управление пневматическим и электрическим двигателем при помощи микроконтроллера

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

Реле подключаются к микроконтроллеру по трёхпроводной схеме: питание, земля, сигнал. Такая схема позволяет снизить нагрузку на управляющие выходы контроллера за счёт отдельной 5В-линии. На силовые линии такого реле подключается нагрузка таким образом, чтобы оно прерывало один из проводов питания. При подаче управляющего сигнала с контроллера, будет происходить замыкание линии питания электропривода или другого исполнительного устройства. В случае управления пневматическими клапанами с электрическими приводами, применение реле позволяет осуществлять программное управление мехатронными устройствами с пневматической силовой составляющей.

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

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

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

 

Управление скоростью мотора с помощью потенциометра

Рисунок 5 – Схема подключения микромотора

 

Текст программы управления скоростью мотора с помощью потенциометра

void setup()

{

pinMode(10, OUTPUT); //Контакт подключения микромотора

}

 

void loop()

{

int val = analogRead(A0) / 4; //Читаем значение потенциометра с А0 в

//переменную и согласуем её для АЦП-ЦАП

analogWrite(10, val); //Вращаем микромотор со скоростью из переменной

}

 

Управление двухстрочным шестнадцатисимвольным дисплеем LCD 1602

 

Рисунок 6 – Схема подключения дисплея с потенциометром уровня яркости

Текст программы секундного счётчика

#include <LiquidCrystal.h> //Подключение библиотеки мониторов

 

int time = 0; //Создание переменной счётчика, равного нулю

LiquidCrystal lcd(2,3,4,5,6,7); //Задание контактов подключения дисплея

 

void setup()

{

lcd.begin(16,2); //Определение двухстрочного 16-символьного дисплея

lcd.print(“Display test”); //Вывод текста на дисплей

}

 

void loop()

{

lcd.setCursor(0,1); //Установка курсора на первый символ второй строки

lcd.print(time); //Вывод значения переменной

delay(1000); //Задержка 1000 миллисекунд

time++; //Инкрементирование переменной

}

Пример обработчика прерываний

Соберите схему с кнопкой и светодиодом (для диода используйте сопротивление 100 Ом, для кнопки – 10 кОм).

volatile int state = LOW; //квалификатор перед переменной используется

//чтобы её можно было изменить из обработчика

//прерывания

void setup()

{

pinMode(13, OUTPUT);

attachInterrupt(0, blink, RISING); //настройка обработчика прерывания на

//нулевую линию (второй контакт); вызываемая прерыванием

// функция – blink; прерывание срабатывает при переходе сигнала

// на контакте с LOW на HIGH

}

 

void loop()

{

digitalWrite(13, state); //запись значения переменной state на светодиод

}

 

void blink() //функция, вызываемая прерыванием

{

state = !state; //инверсия значения переменной

}

 

Задания:

1) соберите схему с микромотором и потенциометром. Напишите программу для регулирования скорости вращения мотора в зависимости от угла поворота потенциометра;

2) дополните схему двухстрочным шестнадцатисимвольным LCD дисплеем, выводите на него значение, считанное с потенциометра. Для случая, когда мотор остановлен, на экран должно выводиться слово “STOP”;

3) дополните схему кнопкой. При нажатой кнопке мотор должен останавливаться. На экран монитора должно выводиться уведомление об этом;

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








Дата добавления: 2018-09-24; просмотров: 409;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.