Перейти к основному содержимому

Инициализация сервопривода

RI_SDK_CreateModelComponent

Image

Создает компонент устройства RISDK для конкретной модели сервопривода (например MG90S или SG90). Этот метод содержит параметры моделей устройств, необходимые для расчетов при их управлении. Этот блок предполагает работу метода RISDK расширяющего компонент устройства.

Что такое сервопривод ?

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

Более подробно об устройстве сервоприводов можно прочесть в документации RISDK.

Использование блока

Данный блок используется в поле инициализации в блоке инициализации и выполнения.

Сервопривод это нижний уровень в иерархии электронных компонентов робота, он управляется с помощью ШИМ модулятора.

Image

Этой же логике следуют блоки инициализации. Инициализация сервоприводов вкладывается в блок инициализации ШИМ, в то время как блок инициализации ШИМ вкладывается в блок инициализации I2C.

Image

Такая конфигурация блоков инициализации отражает конфигурацию физических устройств из примера выше.

Таким образом для управления сервоприводом необходимо:

  • Подключить и проинициализировать библиотеку RISDK в блоке инициализации и выполнения.
  • Создать и проинициализировать компонент I2C коннектора и открыть соединения по I2C коннектору с помощью блока инициализации I2C.
  • Создать и проинициализировать компонент ШИМ преобразователя блоком инициализации ШИМ , в качестве параметра передать адрес ШИМ модулятора на I2C шине.
  • Создать и проинициализировать компонент управления сервоприводом. В блок параметром необходимо указать к какому пину платы ШИМ подключен привод.
  • С помощью блока сервопривода, появившегося в категории созданных устройств, в области выполнения блока инициализации и выполнения вызвать один из методов метод управления сервоприводом и запустить программу.

Кастомный сервопривод

Image

Используется для получения возможности работы с сервоприводом, модель которого не поддерживается библиотекой RISDK.

Даже в рамках одной и той же модели сервопривода существует погрешность, допускаемая при производстве, которая приводит к тому, что рабочий диапазон длин импульсов отличается. Для точной работы каждый конкретный сервопривод должен быть откалиброван: путём экспериментов необходимо подобрать корректный диапазон, характерный именно для него.

При инициализации сервопривода известной модели с помощью метода RISDK происходит создание компонента "модели устройства", который содержит все необходимое для управления устройством. Может быть выбрана любая модель из уже реализованных в RISDK.

В случае инициализации кастомного сервопривода с помощью метода RISDK происходит создание компонента "устройства", который реализуют методы управления, но не содержит параметры указанной модели, необходимые для расчетов при управлении устройством. Их необходимо задать в блоке инициализации.

Image

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

Полученный компонент сервопривода соединяем с компонентом ШИМ с помощью метода RISDK предназначенного для связывания сервопривода вращения и устройства контроллера.

Адресация

Блок инициализации сервопривода принимает параметр порта - номер пина на ШИМ плате к которому подключен сервопривод. Для изменения адреса сервопривода необходимо подключить его к пину с его новым номером.

По умолчанию приводы подключены так:

  • Порт 0 - сервопривод поворота базы
  • Порт 1 - сервопривод сжимающий и разжимающий клешню
  • Порт 2 - рычаг перемещения вперед-назад
  • Порт 3 - рычаг перемещения вверх-вниз
  • Порт 4 - сервопривод поворота клешни

Подключить серводвигатель можно с помощью трех проводников. По двум из них подается питание к электродвигателю, а третий служит для прохождения сигналов управления, приводящих вал в определенное положение.