Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Изучение работы сервопривода
Цель работы Получить навыки программирования микроконтроллера, разработать программу управления электродвигателем - SERVO. Теоретическая справка В этой работе изучается такой элемент, как Servo (сервопривод). Сервопривод – это привод, предназначенный для осуществления контроля (угол поворота вала, скорость вращения/движения и так далее) над различными объектами, находящимися в постоянном движении. Контроль производится в зависимости от заданных ему параметров извне. Сервопривод включает в свой состав такие элементы как:
Для использования функций сервопривода в начале исполняемого кода следует подключить библиотеку «Servo» делается это строкой #include <Servo.h>. Далее представлены основные функции для работы с сервоприводом: Servo.attach(pin, min, max) – прикрепляет переменную сервопривода к контакту на доске. Где min - (необязательно) - значение PWM (в микросекундах), которое будет соответствовать минимальным 0 градусам, max - (необязательно)- значение PWM (в микросекундах), которое будет соответствовать максимуму 180 градусов; Servo.write(angle) – позиционирует стержень серводвигателя под заданным углом, angle – (в градусах) угол, под которым будет располагаться стержень; Servo. writeMicroseconds(uS) – то же, что и функция write (), но запрашивает ввод в микросекундах, где uS - значение в микросекундах для поворота стержня в определенную степень; Servo. read() – считывает текущее значение угла сервопривод; Servo.attached() – проверяет, подключен ли сервопривод к штифту; Servo.detach – освобождает сервопривод от указанного pin-вывода;
Ход работы В начале работы необходимо выбрать сервомотор из библиотеки компонентов и подключить его к Arduino Uno так, как показано на рис. 43, 44. Рис.43 - Выбор компонента сервопривода
Рис. 44 - Схема подключения сервопривода к плате Arduino Uno Переменная «servo.attach» используется для определения pin-вывода, которая предназначена для управления сервоприводом. В функции «setup» подключается элемент «servo» с выводом 10, который будет управлять сервоприводом, используя необходимую команду: servo.attach(10); Так же следует добавить строку Serial.begin(9600), для подключения последовательного порта на скорости 9600 бит/сек. Чтобы отобразить содержимое используем функцию построчного вывода данных в последовательный порт Serial.println() и функцию вывода текущего положения сервопривода servo.read(): Serial.println(servo.read()); Используем дополнительно цикл do while. Общая конструкция цикла состоит из двух частей do{} основного тела цикла и while() условие для выполнения этого цикла: do{операторы} while (условие выполнения); Далее задается переменная X, которая будет равна углу наклона вала в градусах как в одну сторону, так и в другую: int x = 0; // задаем переменную Х как 0 do{ servo.write(x); //ставим вал под Х градусов x=x+1; delay(500); Serial.println(servo.read()); }while(x<180);
Рис.45 - Листинг программы для управления электродвигателем – SERVO
После запуска симуляции в окне «Монитор последдовательного интерфейса» будут отбражаться значения угла поворота вала сервопривода. Слева на рабочем поле будет видно его перемещение. Итогом вал дойдет до 180 градусов, переместится к нулевому и снова повторит цикл. Задания к работе.
|
||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-05-27; просмотров: 789; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.29.209 (0.006 с.) |