Быстрый старт
Быстрый старт
SG90 / MG90S
Описание устройства
Характеристики
Миниатюрный и легкий с высокой выходной мощностью. Сервопривод может вращаться примерно на 180 градусов (90 в каждом направлении) и работает так же, как стандартные типы, но меньшего размера. Вы можете использовать любой сервокод, оборудование или библиотеку для управления этими сервоприводами. Подходит для новичков, которые хотят заставить вещи двигаться без сборки контроллера мотора с обратной связью и коробкой передач, тем более, что он поместится в небольших местах. Поставляется с 3 рогами (руками) и фурнитурой.
Положение «0» (импульс 1,5 мс) - среднее, «90» (импульс ~ 2 мс) - полностью вправо, «« -90 »(импульс ~ 1 мс) - полностью влево.
Параметры
Параметры | Значение |
---|---|
Вес |
9 г |
Размер |
22,2 x 11,8 x 31 мм |
Тормозной момент |
1,8 кгс · см |
Рабочая скорость |
0,1 с / 60 градусов |
Рабочее напряжение |
4,8 В (~ 5 В) |
Ширина зоны нечувствительности |
10 мкс |
Диапазон температур |
0 ºC - 55 ºC. |
Внешний вид и схема устройства
Фото на роборуке
Приобретение
Данный сервопривод можно приобрести здесьОбласть применения
- Любительская робототехника
- Другие виды любительской сборки техники
- Общая область применения для всх сервоприводов
Конструктор
Для получения и инициализации компонента ServoDrive необходимо использовать функцию NewHardwareServoDrive. В нее качестве параметра передается структура ServoDriveConfig, в которой описаны настроечные параметры для создаваемого компонента.
func NewHardwareServoDrive(cfg *robo_config.ServoDriveConfig) (*ServoDrive, error)
Параметры:
Параметры | Значение по умолчанию | Описание |
---|---|---|
cfg* |
— |
Тип: ServoDriveConfig Конфигурация сервопривода |
* Обязательный параметр/опция.
Пример:
// Создаем объект управления сервопривода
servo, err := servodrive.NewHardwareServoDrive(&Settings)
if err != nil {
fmt.Printf("Ошибка инициализации тела [%v]", err)
return
}
Поля
Параметр | Значение по умолчанию | Описание |
---|---|---|
guid |
string |
Уникальный идентификатор сервопривода. |
control |
chan control.Signal |
Контрольный канал сервопривода. |
state |
state.State |
Состояние компонента. |
Методы
Имя | Возвращает | Описание |
---|---|---|
RotateOnMinStep ( direction measuring.AngleDirection , speed measuring.AngularSpeed ) |
chan control.Signal error |
Выполняет поворот сервопривода на минимальный угол с заданной угловой скоростью в заданном направлении. Принимает в качестве параметров direction (направление) и значение скорости в углах в секунду (speed). Возвращает канал для обратной связи, по которому можно получить сообщение о завершении выполнения команды. Команда выполняется асинхронно в отдельной подпрограмме. Благодаря этому есть возможность для одновременного управления несколькими сервоприводами. |
Описание методов
RotateOnMinStep
func RotateOnMinStep(direction measuring.AngleDirection, speed measuring.AngularSpeed) (chan control.Signal, error)
Возвращает канал для обратной связи, по которому можно получить сообщение о завершении выполнения команды. Команда выполняется асинхронно в отдельной подпрограмме. Благодаря этому есть возможность для одновременного управления несколькими сервоприводами.
Параметры:
Параметры | Значение по умолчанию | Описание |
---|---|---|
direction* |
— |
Тип: measuring.AngleDirection Направление |
speed* |
— |
Тип: measuring.AngularSpeed Значение скорости в углах в секунду |
* Обязательный параметр/опция.
Пример:
// поворот сервопривода робота в положительном направлении с минимальным шагом
feedback, err = servo.RotateOnMinStep(measuring.PostiveDirection, measuring.AngularSpeed(speedInt))
if err != nil {
fmt.Printf("Ошибка выполнения поворота сервопривода на минимальный угол с заданнной угловой скоростью в положительном направлении [%v]", err)
return
}
ServoDriveConfig
ServoDriveConfig - структура настроеек объекта по управлению сервоприводами ServoDrive
Поля
Параметр | Значение по умолчанию | Описание |
---|---|---|
Pin |
int |
Номер канала по которому подключается управляемый данным драйвером сервопривод. |
DriverName |
string |
Уникальное название. |
AcRange |
measuring.Angle |
Диапазон градусов. |
MinAngle |
measuring.Angle |
Минимальный угол поворота. |
MaxAngle |
measuring.Angle |
Максимальный угол поворота. |
MinSpeed |
measuring.AngularSpeed |
Минимальная угловая скорость. |
MaxSpeed |
measuring.AngularSpeed |
Максимальная угловая скорость. |
MinStep |
measuring.Angle |
Минимальный шаг в градусах угла. |
StartPosition |
measuring.Angle |
Стартовая позиция сервопривода (в градусах угла). |
Reversed |
bool |
Флаг переворачивания значений на интерфейсе управления. |
CalibrateValue |
measuring.Angle |
Калибровочное значение (значение на которое сдвигаются). |
IsCalibrate |
bool |
Использование калибровочного значения. |