Каталог

Сервопривод MG995

Цена:

680
менее 500 шт.
Уже в корзине
Код товара: 10648
Оригинальное название:
MG995 Servo Motor

Описание товара

Сервопривод TowerPro MG995

  • Номинальное напряжение: +4.8~6.6В DC
  • Номинальный ток: 170~1200мА
  • Скорость реакции без нагрузки: 0.2 секунды / 60° (4.8 вольт)  /  0.16 секунды / 60° (6.0 вольт)
  • Угол поворота, макс.: до 180°
  • Управляющий сигнал: ШИМ
  • Редуктор: латунный, параллельные оси вращения
  • Тип редуктора: шестерёнчатая цилиндрическая передача
  • Номинальный крутящий момент: 9.4кг/см (4.8 вольт) / 11.0кг/см (6.0 вольт)
  • Максимальный момент: до 20кг/см (6.0 В) 
  • Длина кабеля: 29~31см
  • Размеры: 40.9 х 20.0 х 42.7мм
  • Температура эксплуатации: 0°С...+55°С
  • Водонепроницаемость: нет
  • Вес: 55 г.

Сервопривод (сервомотор, серводвигатель, сервомашинка или просто "серво") - часто незаменимый элемент при конструировании всевозможных роботизированных манипуляторов. Например, такие моторы встречаются в моделях с поворачиваемой миниатюрной камерой или служат приводом, создающим движение ноги, руки или головы робота. Аналогичные серводвигатели устанавливаются в игрушечные радиоуправляемые автомобили, где они регулируют поворот передней оси. Способов использования сервомоторов достаточно много.

В своей конструкции, сервомотор сочетает несколько электронных и механических элементов: обычный миниатюрный щеточный двигатель, снижающий скорость и увеличивающий крутящий момент редуктор, датчик положения вала редуктора в виде переменного резистора (потенциометра), и крохотной платы с микросхемой-контроллером. Все его составляющие части размещены в пластиковом корпусе.

Сервопривод отличается от обычных моторов возможностью повернуть вал на определённый заданный угол. Модель MG995 позволяет вращать вал редуктора в двух направлениях - по часовой или против часовой стрелке, в диапазоне от 0 до 170-180°. Точность позиционирования имеет погрешности и зависит от конкретного изделия. Встроенный контроллер на микросхеме AA51880 определяет угол поворота по показаниям потенциометра B5K. В электрической цепи питания серво присутствуют cборки на полевых транзисторах MOSFET - TC4953 и 9926A.

Управление сервомотором MG995

Управление сервомотором осуществляется сигналами широтно-импульсной модуляции (ШИМ). Угол поворота вала редуктора изменяется шириной импульса высокого уровня за каждый промежуток времени. Интервал приёма между импульсами управления у модели MG995 составляет 20 миллисекунд.

У MG995 есть три вывода, два из которых (коричневый "минусовой" и красный "плюсовой") соединяются с внешним источником питания, и третий, оранжевый, подключается к контроллеру, генерирующему импульсы различной продолжительности. В качестве генератора импульсов ШИМ может быть использована любая плата на базе микроконтроллера Arduino или другая аналогичная с 5-вольтовой логикой.

Импульсы управления угловым поворотом серво MG995

 

Питание MG995

Рабочий ток сервомотора без нагрузки достаточно мал, примерно 170-200 мА. Однако, с увеличением физической нагрузки на вал вплоть до максимальной, а также в моменты резкой смены направления вращения вала, увеличивается внутренняя нагрузка на электрическую цепь мотора, вследствии чего потребляемый ток может повысится до пикового значения 1200мА. Во избежании поломки микросхемы с функцией ШИМ-генератора (или программируемого микроконтроллера), рекомендуется организовывать питание сервопривода MG995 не от них, а непосредственно от внешнего источника энергии.

Схема рекомендуемого подключения сервопривода MG995 к контроллеру Arduino

Вам потребуются следующие компоненты:

Схема подключения сервомотора MG995 к Arduino

 

Внешний источник c напряжениеv питания 7-12 вольт постоянного тока может быть подключен к плате Arduino через бочкообразным разъём или выводы "Vin" и "GND" с соблюдением полярности. "Минусовые" выводы мотора и платы-контроллера должны быть скоммутированы в одну общую линию. "Плюсовой" вывод мотора подключается к источнику питания постоянного напряжения 4.8-6.6 вольт.

Понимание того, как же управляется сервомашинка, приходит с опытом. В качестве примера воспользуйтесь простым программным кодом, написанным для интегрированной среды программирования Arduino IDE. Нижеприведённый скетч наглядно демонстрирует перемещение вала редуктора серво MG995 на угол 180° и его последующий возврат в исходное положение (угол 0°). Алгоритм программы зациклен на беспрерывное повторение перемещений. Задействованная в скетче библиотека 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".

Схема управления серво MG995 с помощью потенциометра

 

#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);                         // ожидаем синхронизацию сервомотора с новым
                                     // положением
}

 

Габаритные размеры, мм

Габаритные размеры сервопривода MG995
footer shadow

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой!

© Все права защищены 2015 - 2025г https://compacttool.ru