Файл: Отчет о учебной практике на Волггту, кафедра эвм и с вид практики наименование места прохождения практики.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 06.11.2023

Просмотров: 52

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.



Рисунок 7 – изображение модулей и реле
В наборе идёт красный модуль с настройкой логического уровня (жёлтый джампер-перемычка между буквами H и L). В центре – самый дешёвый модуль с минимальной обвязкой, высокого уровня. И справа – тоже неплохой модуль, но низкого уровня, что не всегда удобно использовать (рисунок 7). Все модули реле имеют три пина на одном конце и три на другом (рисунок 8):



Рисунок 8 – схема расположения пинов

Слева находятся пины питания и управления самого реле:

  • VCC (DC+, +) – питание

  • GND (DC-, -) – “земля”

  • IN (S) – логический управляющий сигнал

Справа находятся выходы самого реле, это одна контактная группа с переключением:

  • COM (Common) – общий контакт

  • NO (Normal Open) – нормально разомкнутый относительно COM контакт

  • NC (Normal Close) – нормально замкнутый относительно COM контакт

Работает это следующим образом: само реле (синяя коробочка на плате) питается от VCC и GND и подключается на питание схемы, так как реле потребляет около 60 мА при переключении. Но управляется реле логическим сигналом от микроконтроллера, который подаётся на пин IN. На выходе реле наблюдается следующая картина: у неактивного реле замкнуты контакты COM и NC. При активации реле контакт переключается и COM замыкается с NO.

Реле высокого уровня будет включаться и потреблять ток при подаче высокого сигнала (5, 3.3V), а низкого – при подаче низкого (GND, 0V).

Вариант с лампочкой



Тут будет использоваться высоко-уровневый реле. Чем отличаются высоко уровневые реле от низко уровневых. Низко уровневые включается, когда на сигнальны Пин реле подается LOW.
Приступим к приложению для Андроида, для этого воспользуемся самым простым решением appinventor 2.


Интерфейс программы будет выглядеть вот так (рисунок 9).




Рисунок 9 – интерфейс appinventor 2

В приложение нужно добавить: BluetoothClient1 и Clock1 с интервалом обновления 100 (рисунок 10). Кнопка «Bluetooth» осуществляет подключение к hc-06 модулю. Копка «Disconnect» разрывает соединение. Кнопки «On» и «Off» включают, и выключают реле.


Блоки программы для подключения и отключения модулю HC-06:


Рисунок 10 - Блоки программы



Рисунок 11 – Блоки программы


Копка включения отправляет по блютуз каналу значение равное 1. Кнопка отключения отправляет 0. Cloc1 это часы, проверяют информацию которая пришла по Bluetooth и выводит ее в текстовое поле Info. Приложение на Android устройстве выгладить вот так (рисунок 12).



Рисунок 12 - интерфейс программы


После нажатия на кнопку «Bluetooth». У вас откроется окно выбора устройства (рисунок 13).



Рисунок 13 – окно выбора устройств

Выбираете ваше устройство. После чего можно управлять реле. При нажатии на кнопку «On» (рисунок 14).



Рисунок 14 – окно управления реле

В поле Info выведется информация «Rele On — Portal-Pk.ru». При выключении реле на экран телефона будет строка «Rele Off — Portal-Pk.ru» (рисунок 15)



Рисунок 15 - окно управления реле


Подключаем к Arduino UNO реле и модуль по схеме (рисунок 16).



Рисунок 16 – схема подключения реле и модуля Arduino UNO


Если у вас Arduino NANO, то реле и bluetooth модуль hc 06 подключить по схеме (рисунок 17).



Рисунок 17 - схема подключения реле и модуля Arduino NANO

Скетч bluetooth реле ардуино будет вот таким:

int LED = 5;

int val = 0;

void setup() {

Serial.begin(9600); //Инициирует последовательное



//соединение и задает скорость передачи данных в бит/c (бод)

pinMode(LED, OUTPUT);

digitalWrite(LED, HIGH);

}

void loop() {

if (Serial.available() > 0) // пришли данные

{

val = Serial.read();

if (val=='1') // если 1 то включаем светодиод

{

digitalWrite(LED,LOW);

Serial.print("Rele On - "); // вывод данных

Serial.println("Portal-Pk.ru"); // вывод данных с переносом строки

}

if (val=='0') // если 0 то выключаем светодиод

{

digitalWrite(LED,HIGH);

Serial.print("Rele Off - "); // вывод данных

Serial.println("Portal-Pk.ru"); // вывод данных с переносом строки

}

}

}

Если вы сделали все правильно, то у вас получиться вот такой результат (рисунки 18 и 19).



Рисунок 18 -



Рисунок 19


Подключенная нагрузка будет включаться и выключаться.

Arduino и шаговый мотор

Шаговый мотор, в отличие от обычного мотора постоянного вращения, вращается пошагово и позволяет точно установить свой вал на заданный угол. В отличие от сервопривода не имеет обратной связи по углу поворота (не знает, где сейчас находится вал), но зато может вращаться без ограничений. Шаговые моторы используются в ЧПУ станках и прочих устройствах с точным позиционированием частей механизма. В наборе GyverKIT идёт шаговый мотор 28BYJ-48 с драйвером ULN2003 (рисунок 20):


Рисунок 20 – шаговый мотор

Питание: 5V

Шагов на оборот (сам мотор): 32

Передаточное отношение редуктора: 1:63.68395

Шагов на оборот (на выходном валу): 2038

Максимальная скорость (шагов в секунду): 400

Максимальная скорость (оборотов в минуту): 12

Фазы мотора выведены следующим образом (рисунок 21):



Рисунок 21 – схема подключения

Подключение



Мотор управляется через драйвер, который по сути усиливает сигнал с пинов микроконтроллера (подключать моторы напрямую к пинам нельзя!). Драйвер подключается к питанию 5V, а 4 управляющих входа – к любым цифровым пинам МК (рисунок 22). Фаза мотора потребляет около 100 мА, поэтому возможно питание драйвера напрямую от платы Arduino.



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


Библиотеки
Для шаговых моторов существует несколько библиотек, самые известные из них:

Stepper – стандартная (идёт в комплекте с Arduino IDE) библиотека с минимальными возможностями

AccelStepper – позволяет вращать мотор с плавным ускорением и торможением
Примеры
Воспользуемся версией библиотеки GyverStepper2 (входит в набор GyverStepper). Создаём объект 

GStepper2

-в угловых скобках указываем тип драйвера 

STEPPER4WIRE

-так как используем 4х проводной драйвер. Далее в круглых скобках – количество шагов на один оборот и пины в порядке (фаза А1, фаза А2, фаза В1, фаза В2). Из второй картинки (с описанием проводов мотора) видно, что первая фаза это провода 2 и 4, а вторая – 3 и 1. Драйвер не меняет порядок проводов, поэтому в программе нам нужно будет указать пины в порядке (1, 3, 2, 4), т.е. центральные нужно поменять местами. На схеме я подключил драйвер к пинам D2, D3, D4, D5, и в программе укажу их как (2, 4, 3, 5). Если прописать по порядку пинов – мотор будет работать некорректно!

Данный пример просто крутит мотор на один пол оборота, затем возвращает обратно. Каждый раз ждём, когда мотор приедет на позицию.