Arduino:Примеры/Stepper One Revolution
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Управление шаговым мотором – полный оборот вперед и назад[1]
Шаговые моторы могут управляться с высоким уровнем точности, не требуя при этом никаких механизмов обратной связи. Вал шагового мотора закреплен магнитами, а его управление («шаговое» движение вперед и назад) осуществляется несколькими электромагнитными пружинами, одни из которых имеют положительный заряд, а другие – отрицательный. С их помощью вал перемещается маленькими шажками вперед и назад.
Начиная работу, очень важно знать, с каким именно шаговым мотором вам предстоит иметь дело. Эти устройства бывают двух типов – униполярные и биполярные – и цепь для них строится по-разному. Впрочем, данный скетч-пример поддерживает оба типа шаговых моторов. О том, как построить цепь, смотрите здесь (для униполярных моторов) или здесь (для биполярных моторов).
В данном скетче-примере вал делает полный оборот по часовой стрелке, совершая количество «шагов», заданное при помощи библиотеки Stepper. И униполярные, и биполярные моторы управляются цифровыми контактами 8, 9, 10 и 11.
При использовании униполярного мотора к Arduino/Genuino нужно подключить транзистор Дарлингтона U2004, а при использовании биполярного – Н-мост SN754410NE.
Более подробно о разнице между типами шаговых моторов читайте в этой статье Тома Иго.
Необходимое оборудование
- Плата Arduino или Genuino
- Шаговый мотор
- Массив Дарлингтона U2004 (если используете униполярный мотор)
- Н-мост SN754410NE (если используете биполярный мотор)
- Источник питания, соответствующий используемому мотору
- Провода-перемычки
- Макетная плата
Цепи и схемы
Ниже показаны цепи и схемы для обоих типов шаговых моторов. Впрочем, какой бы тип вы не использовали, его лучше питать от внешнего источника, т.к. он требует слишком много энергии, и мощности одной лишь Arduino/Genuino на него будет не хватать.
Примечание: Обе цепи используют 4-проводное подключение (2-проводное подключение данным скетчем не поддерживается).
Цепь и схема для униполярного мотора
Цепь и схема для биполярного мотора
Код
/*
Управление шаговым мотором – полный оборот вперед и назад
Этот скетч управляет униполярным/биполярным шаговым мотором.
Мотор подключается к 8, 9, 10 и 11 контактам на Arduino.
Мотор должен сделать один оборот по часовой стрелке, а затем один
оборот против часовой стрелки.
Создан 11 марта 2007 года,
модифицирован 30 ноября 2009 года Томом Иго (Tom Igoe).
*/
#include <Stepper.h>
const int stepsPerRevolution = 200; // «200» - это количество шагов, за которые вал выполняет полный оборот;
// у вашего мотора это число может быть другим
// инициализируем библиотеку Stepper на контактах 8, 9, 10 и 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// задаем скорость на 60 оборотов в минуту:
myStepper.setSpeed(60);
// инициализируем последовательный порт:
Serial.begin(9600);
}
void loop() {
// делаем полный оборот в одну сторону:
Serial.println("clockwise"); // "по часовой стрелке"
myStepper.step(stepsPerRevolution);
delay(500);
// делаем полный оборот в другую сторону:
Serial.println("counterclockwise"); // "против часовой стрелки"
myStepper.step(-stepsPerRevolution);
delay(500);
}
См.также
- Stepper myStepper = Stepper(steps, pin1, pin2, pin3, pin4)
- stepper.setSpeed()
- stepper.step()
- Stepper library reference
- MotorKnob - Moves the shaft according to the position of the knob of a potentiometer.
- StepperOneStepAtATime - Single stepping to check the proper wiring of the motor.
- StepperSpeedControl - The stepping speed is controlled by a potentiometer.
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino