Цена:
Сервопривод мини SG-5010 повышенной мощности
Сервопривод (сервомотор, серводвигатель, сервомашинка или просто "серво") - часто незаменимый элемент при конструировании всевозможных роботизированных манипуляторов. Например, такие моторы встречаются в моделях с поворачиваемой миниатюрной камерой или служат приводом, создающим движение ноги, руки или головы робота. Аналогичные серводвигатели можно обнаружить в игрушечных радиоуправляемых автомобилях, где они регулируют поворот передней пары колёс. Благодаря действительно малым габаритным размерам и весу, сервомашинка без особого труда поместиться даже в крыльях или хвостовой части самодельных авиамоделей. Вариантов применения таких сервомоторов достаточно много. Сервопривод обладает несложной однопроводной схемой взаимодействия над углами поворота вала. Поэтому, в качестве управляемого устройства подойдут платформы на основе микроконтроллеров ARM, AVR или PIC.
Характеристики
Конструкция сервомотора заключает в себе несколько электронных и механических элементов: обычный миниатюрный щеточный двигатель, снижающий скорость и увеличивающий крутящий момент редуктор, датчик положения вала редуктора в виде переменного резистора (потенциометра), и крохотной платы с микросхемой-контроллером. Все его составляющие части размещены в закрытом пластиковом корпусе.
Сервопривод отличается от обычных моторов возможностью повернуть вал на определённый заданный угол. Модель SG-5010 позволяет вращать вал редуктора в двух направлениях - по часовой или против часовой стрелке, в диапазоне от 0 до 170-180°. Точность позиционирования имеет погрешности и зависит от конкретного изделия. Встроенный аналоговый контроллер на микросхеме AA51880 определяет угол поворота по показаниям потенциометра B5K. В электрической цепи питания серво присутствуют cборки на полевых транзисторах MOSFET - TC4953 и 9926A.
Питание SG-5010
Рабочий ток сервомотора без нагрузки достаточно мал, примерно 100-300 мА. Однако, с увеличением нагрузки на вал вплоть до максимально возможной, а также при резкой смене направления вращения вала, увеличивается внутренняя нагрузка на электрическую цепь мотора, вследствии чего потребляемый ток может повышаться до пикового значения 600мА. Во избежании поломок генератора импульсов ШИМ, настоятельно рекомендуется не подключать положительный вывод питания сервопривода непосредственно к микроконтроллерной плате. Наилучшим вариантом станет использование внешнего источника питания.
Управление сервомотором SG-5010
Максимально возможный угол поворота вала редуктора ограничен свободным ходом пластикового ребра у одной из шестерёнок редуктора. Предельный угол перемещения составляет 200-216°. При возможном достижении крайних угловых значений, ребро упирается и полностью блокирует вращение.
Управление сервомотором осуществляется сигналами широтно-импульсной модуляции (ШИМ). Из корпуса SG-5010 выходят три цветных провода, два из которых (коричневый "-" и красный "+") соединяются с внешним источником питания. Третий, оранжевый, подключается к непосредственно к контроллеру, генерирующему высокоуровневые импульсы переменной ширины.
Поворот вала мотора на заданный угол достигается изменением длины импульса. Интервал приёма между импульсами управления у модели SG-5010 составляет 20 миллисекунд.
Схема рекомендованного подключения сервопривода SG-5010 к Arduino
Потребуется следующие компоненты:
Источник питания постоянного напряжение 7-9 вольт соединяется с бочкообразным разъёмом входного напряжения на плате Arduino. Питание для контроллера можно подать на выводы "Vin" и "GND" с соблюдением полярности. "Минусовые" выводы мотора и платы-контроллера должны быть скоммутированы в одну общую линию. "Плюсовой" вывод мотора подключается к источнику питания постоянного напряжения 4.8-6.0 вольт.
Понимание о том, как же управлять сервомашинкой, приходит с опытом. В качестве примера воспользуйтесь простым программным кодом, написанным для среды разработчика Arduino IDE. Нижеприведённый скетч наглядно демонстрирует возможность поворота ротора мотора от 0 до 180 градусов и обратно в зацикленном режиме. Подключаемая в скетче библиотека Servo значительно облегчает процесс программирования. Текст скетча можно найти в обширной перечне примеров редактора Arduino IDE "Файл->Примеры->Servo->Sweep".
#include "Servo.h"
Servo myservo; // создаем объект servo для управления сервомотором
// двенадцать объектов servo могут быть создано на большинстве плат
int pos = 0; // переменная, сохраняющая позицию сервомотора
void setup() {
myservo.attach(9); // управляющий вывод сервомотора подключен к 9 контакту платы
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // угол поворота от 0 до 180 градусов
// с шагов в 1 градус
myservo.write(pos); // сообщаем сервомотору новую позицию
// из переменной "pos"
delay(15); // ожидаем синхронизацию положения сервомотора
}
for (pos = 180; pos >= 0; pos -= 1) { // угол поворота от 180 до 0 градусов
// с шагов в 1 градус
myservo.write(pos); // сообщаем сервомотору новую позицию
// из переменной "pos"
delay(15); // ожидаем синхронизацию положения сервомотора
}
}
Поэкспериментируйте с вариантом посложнее, в котором управление поворотом ротора синхронизировано с вращением ручки внешнего потенциометра. Соединение 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); // ожидаем синхронизацию сервомотора с новым
// положением
}
Габаритные размеры, мм
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru