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

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

RI_SDK_CreateModelComponent

Image

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

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

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

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

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

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

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

Image

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

Image

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

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

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

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

Image

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

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

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

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

Image

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

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

Адресация

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

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