Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба 1 / Лабораторная работа №1_Токарев_0421

.docx
Скачиваний:
0
Добавлен:
26.06.2025
Размер:
224.62 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра РАПС

отчет

по лабораторной работе № 1

по дисциплине «Микропроцессорные системы управления»

Тема: «Разработка прототипа микропроцессорной системы управления электроприводом малой мощности»

Студент гр. 0421

Токарев А.А.

Преподаватель

Татаринцев Н.И.

Санкт-Петербург

2023

Цель работы

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

Состав используемого оборудования и его краткие характеристики

В качестве отладочного модуля в данной лабораторной работе используется Arduino Uno R3. Внешний вид отладочного модуля представлен на рисунке 1.

Рисунок 1 – Внешний вид Arduino Uno R3

Основные характеристики отладочного модуля:

-Микроконтроллер: ATmega328

-Напряжение питания: 5 В

-Входное напряжение (рекомендуемое): 7-12 В

-Входное напряжение (предельное): 6-20 В

-Цифровые выводы I/O: 14 линий (6 из них - ШИМ)

-Аналоговые входы: 6 (АЦП)

-Максимальный ток на выводе I/0: 20 мА (для каждого вывода)

-Максимальный ток на выводе 3,3V: 50 мА

-Тактовая частота: 16 МГц

Для управления электродвигателем в данной лабораторной работе используется преобразователь на базе микросхемы VNH2SP30. Внешний вид модуля представлен на рисунке 2.

Рисунок 2 – Внешний вид преобразователя VNH2SP30

Основные характеристики преобразователя:

-Диапазон напряжения питания: 5,5V … 16V.

-Номинальный\максимальный ток: 14A\30A

-Управление логическим уровнем 3,3 вольт

-Максимальная частота ШИМ: 20 кГц

Преобразователь имеет защиту от перегрева, защиту от перенапряжения и защиту по току.

Ход выполнения лабораторной работы

  1. Соберем схему, соединив между собой отладочную плату и плату преобразователя,

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

  1. Напишем управляющую программу в среде разработки Arduino IDE.

Описание всех команд, присутствующих в коде:

void setup() – обязательная часть программы для Arduino. Выполняется один раз.

void loop() – обязательная часть программы Arduino. Выполняется в цикле.

#define – директива, которая позволяет задать значение переменной, при этом не занимая места в памяти микроконтроллера.

pinMode() - позволяет сконфигурировать направление цифровых контактов Arduino на вход или выход. Имеет два аргумента: первый аргумент – номер контакта, второй аргумент – input (вход) или output(выход).

digitalWrite() – устанавливает состояние выходного цифрового контакта (5 В или 0 В). Имеет два аргумента: первый аргумент – номер контакта, второй аргумент – значение, которое нужно задать контакту (HIGH – 5 В или LOW – 0 В.

analogWrite() – позволяет сформировать сигнал на некоторых контактах Arduino с помощью широтно-импульсной модуляции(ШИМ). На плате Arduino Uno, которая используется в данной лабораторной работе, ШИМ-сигнал поддерживают контакты 3, 5, 6, 9, 10, 11. Функция имеет два аргумента: первый аргумент – номер контакта, второй аргумент – 8-разрядное значение в диапазоне от 0 до 255, устанавливаемое на этом контакте.

delay() – позволяет установить задержку выполнения программы. Имеет один аргумент – время, в миллисекундах.

Листинг программы представлен в соответствующем разделе.

  1. Загрузим программу в отладочную плату. Для этого подключим плату к компьютеру

помощью usb-кабеля, затем в среде Arduino IDE нажмем на кнопку «Загрузка», предварительно проверив во вкладке «Инструменты», что плата определилась как Arduino Uno.

  1. Наблюдаем вращение двигателя в одну сторону, задержку в 2 секунды, а затем вращение

двигателя уже в другую сторону в бесконечном цикле.

Листинг управляющей программы контроллера

/*Токарев А.А.

группа 0421*/

// Назначение входов/выходов

#define INA1 7 // вращение по часовой стрелке

#define INB1 8 // вращение против часовой стрелки

#define EN1 A0 // разрешение на работу

#define PWM1 5 // ШИМ 1-го моста

int motorSpeed = 120; // скорость мотора, значение от 0 до 255

void setup()

{

pinMode(INA1, OUTPUT); // конфигурируем 7 контакт на выход

pinMode(INB1, OUTPUT); // конфигурируем 8 контакт на выход

pinMode(EN1, OUTPUT); // конфигурируем контакт А0 на выход

digitalWrite(EN1, HIGH); // устанавливаем значение контакта А0 на 5 В

}

void loop()

{

//вращение мотора против часовой стрелки

digitalWrite(INA1, LOW); // устанавливаем значение контакта 7 на 0 В

digitalWrite(INB1, HIGH); // устанавливаем значение контакта 8 на 5 В

analogWrite(PWM1,motorSpeed); // устанавливаем значение ШИМ контакта 5 на скважность равную motorSpeed/256

delay(2000); // задержка в 2 секунды

// вращение мотора по часовой стрелке

digitalWrite(INA1, HIGH); // устанавливаем значение контакта 7 на 5 В

digitalWrite(INB1, LOW); // устанавливаем значение контакта 8 на 0 В

analogWrite(PWM1, motorSpeed); // устанавливаем значение ШИМ контакта 5 на скважность равную motorSpeed/256

delay(2000); // задержка в 2 секунды}

Выводы по работе

В данной лабораторной работе были изучены базовые функции среды разработки Arduino IDE.

Была написана программа и собрана простейшая схема управления электродвигателем постоянного тока с помощью ШИМ-контакта платы Arduino Uno и модуля преобразователя на базе микросхемы VNH2SP30.

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

Путь к месту хранения файлов лабораторной работы:

Соседние файлы в папке Лаба 1