Сервопривод MG90S металлические шестерни / для радиомоделей и робототехники сервомотор, серводвигатель, сервомашинка или просто "серво"
Сервопривод MG90S металлические шестерни / для радиомоделей и роботот...
Описание
Состояние | Новое |
Сервопривод мини MG90S
металлические шестерни
Сервопривод (сервомотор, серводвигатель, сервомашинка или просто "серво") - часто незаменимый элемент при конструировании всевозможных роботизированных манипуляторов. Например, такие моторы встречаются в моделях с поворачиваемой миниатюрной камерой или служат приводом, создающим движение ноги, руки или головы робота. Аналогичные серводвигатели можно обнаружить в игрушечных радиоуправляемых автомобилях, где они регулируют поворот передней пары колёс. Благодаря действительно малым габаритным размерам и весу, сервомашинка без особого труда поместиться даже в крыльях или хвостовой части самодельных авиамоделей. Вариантов применения таких сервомоторов достаточно много. Сервопривод обладает несложной однопроводной схемой взаимодействия над углами поворота вала. Поэтому, в качестве управляемого устройства подойдут платформы на основе микроконтроллеров ARM, AVR или PIC.
Характеристики
- Рабочее напряжение: 4.8-6.6 В (постоянное, DC)
- Рабочий ток: 170 - 900 мА
- Скорость реакции без нагрузки:
- 0.1 секунды / 60° (4.8 вольт)
- 0.08 секунды / 60° (6.0 вольт)
- Угол поворота: до 180°
- Управление: ШИМ
- Контроллер: аналоговый, АА51880
- Редуктор: латунь, алюминиевый сплав
- Расположение редуктора и мотора: параллельные оси вращения
- Тип редуктора: шестерёнчатая цилиндрическая передача
- Блокирующий момент:
- 1.8 кг / см (4.8 вольт)
- 2.2 кг / см (6.6 вольт)
- Длина кабеля: 25 см
- Размеры: 22.8 х 12.2 х 28.4 мм
- Температура эксплуатации: 0°С...+55°С
- Водонепроницаемость: нет
- Вес: 13.4 гр
Конструкция сервомотора заключает в себе несколько электронных и механических элементов: обычный миниатюрный щеточный двигатель, снижающий скорость и увеличивающий крутящий момент редуктор, датчик положения вала редуктора в виде переменного резистора (потенциометра), и крохотной платы с микросхемой-контроллером. Все его составляющие части размещены в закрытом пластиковом корпусе.
Сервопривод отличается от обычных моторов возможностью повернуть вал на определённый заданный угол. Модель MG90S позволяет вращать вал редуктора в двух направлениях - по часовой или против часовой стрелке, в диапазоне от 0 до 170-180°. Точность позиционирования имеет погрешности и зависит от конкретного изделия. Встроенный аналоговый контроллер на микросхеме AA51880 определяет угол поворота по показаниям потенциометра. В электрической цепи питания серво присутствуют cборки на полевых транзисторах MOSFET - TC4953 и 9926A.
Управление сервомотором MG90S
Максимально возможный угол поворота вала редуктора ограничен свободным ходом металлической втулки, установленной на одной из шестерёнок редуктора. Предельный угол перемещения составляет 200-210°. При возможном достижении крайних угловых значений, втулка полностью блокирует вращение.
Управление сервомотором осуществляется сигналами широтно-импульсной модуляции (ШИМ). Из корпуса MG90S выходят три цветных провода, два из которых (коричневый "-" и красный "+") соединяются с внешним источником питания. Третий, оранжевый, подключается к непосредственно к контроллеру, генерирующему высокоуровневые импульсы переменной ширины.
Поворот вала мотора на заданный угол достигается изменением длины импульса. Интервал приёма между импульсами управления у модели MG90S составляет 20 миллисекунд.
Питание MG90S
Рабочий ток сервомотора без нагрузки достаточно мал, примерно 170-200 мА. Однако, с увеличением нагрузки на вал вплоть до максимально возможной, а также при резкой смене направления вращения вала, увеличивается внутренняя нагрузка на электрическую цепь мотора, вследствии чего потребляемый ток может повышаться до пикового значения 900мА. Во избежании поломок генератора импульсов ШИМ, настоятельно рекомендуется не подключать положительный вывод питания сервопривода непосредственно к микроконтроллеру. Наилучшим вариантом станет использование внешнего источника питания.
Схема рекомендованного подключения сервопривода MG90S к Arduino
Потребуется следующие компоненты:
- Плата на контроллере Arduino - 1 шт
- Сервопривод MG90S - 1 шт
- Источник питания для Arduino 7-9 вольт -1 шт
- Источник питания для серво 4.8-6.6 вольт -1 шт
- Потенциометр 10 кОм -1 шт
Источник питания постоянного напряжение 7-9 вольт соединяется с бочкообразным разъёмом входного напряжения на плате Arduino. Питание для контроллера можно подать на выводы "Vin" и "GND" с соблюдением полярности. "Минусовые" выводы мотора и платы-контроллера должны быть скоммутированы в одну общую линию. "Плюсовой" вывод мотора подключается к источнику питания постоянного напряжения 4.8-6.6 вольт.
Понимание о том, как же управлять сервомашинкой, приходит с опытом. В качестве примера воспользуйтесь простым программным кодом, написанным для среды разработчика Arduino IDE. Нижеприведённый скетч наглядно демонстрирует возможность поворота вала редуктора от 0 до 180 градусов и обратно в зацикленном режиме. Подключаемая в скетче библиотека Servo значительно облегчает процесс программирования. Текст скетча можно найти в обширной перечне примеров редактора Arduino IDE "Файл->Примеры->Servo->Sweep".
*Скетч Sweep*
Поэкспериментируйте с вариантом посложнее, в котором управление поворотом ротора синхронизировано с вращением ручки внешнего потенциометра. Соединение Arduino-контроллера и потенциометра представлено на картинке ниже. Текст этого скетча также можно найти в списке примеров редактора Arduino IDE "Файл->Примеры->Servo->Knob".
#include <Servo.h> Servo myservo; // создаем объект servo для управления сервомотором int potpin = 0; // аналоговый контакт подключен к потенциометру int val; // переменная, считывающая значения из аналогового контакта void setup() { myservo.attach(9); // управляющий вывод сервомотора подключен к 9 контакту платы } void loop() { val = analogRead(potpin); // считываем значения потенциометра (значения // между 0 и 1023) val = map(val, 0, 1023, 0, 180); // преобразовываем его в угол поворота вала // мотора (значения между 0 и 180) myservo.write(val); // передаём на мотор команду перемещения вала delay(15); // ожидаем синхронизацию сервомотора с новым // положением }
Условия передачи
Доставка в другие города
Поделиться этим лотом: