Блок управления нагрузкой
Теория
Блок управления нагрузкой. Блок управления нагрузкой необходим для раздельного питания контроллера, моторов и сервоприводов, так как они работают с разной нагрузкой. Контроллер может передавать сигнал на блок управления нагрузкой, при необходимости запустить мотор или сервопривод. В наборе Renics можно подключить до 6 сервоприводов и 4 моторов.
При управлении сервоприводами следует учитывать, что управление сервоприводов осуществляется с помощью ШИМ сигнала, и каждая модель сервопривода имеет свой диапазон этих значений. Ниже приведены таблицы с диапазонами значений для сервоприводов используемых в наборе Renics.
Для сервоприводов постоянного вращения:
Сервопривод |
Против часовой |
По часовой |
MG995 |
6(Быстро) - 18(Медленно) |
20 (Быстро) - 32(Медленно) |
SG90-360 |
6(Быстро) - 18(Медленно) |
20 (Быстро) - 32(Медленно) |
MG90S-360 |
6(Быстро) - 18(Медленно) |
20 (Быстро) - 32(Медленно) |
Для сервоприводов, с задаваемым углом:
Сервопривод |
Диапазон, пропорционально углу от 0 до 180 |
SG90-180 |
6 (0°) - 32 (180°) |
MG90S 180 |
6 (0°) - 32 (180°) |
Блок стабилизатора управляется путём отправки набора команд. Для объединения команд в один набор, и подключения блока стабилизатора, есть специальный блок. Блок работает по аналогии с блоком условия, отправляя все команды находящиеся внутри этого блока на блок стабилизатор.
Практика
Давайте рассмотрим пример управления сервоприводом и мотором. Программа будет следовать простому алгоритму: Включим мотор на скорости 50 и установим угол сервопривода на 90, через 5 секунд, выключим мотор и вернём сервопривод в положение 0, через 5 секунд снова запустим мотор и повернём сервопривод. Для этого нам понадобиться несколько блоков:
Раздел “События”
- “Когда контроллер запущен” х1
Раздел “Управление”
- “Подождать 1 сек” х2, “Всегда” х1
Раздел “Модули”
- “Блок управления на 1 порту” х2
- “Установить скорость 1 мотора в значение 50” х2
- “Вращать мотор 1 со скорость 50 об/мин” x2
- “Мотор 1 повернуть на 360 градусов со скоростью 50 об/мин” x1
- “Установить ШИМ сигнал 1 сервопривода в значение 50” х2
Подготовим базовую программу, для этого соединим блоки “Когда контроллер запущен” и “Всегда”, а внутрь блока всегда добавим два блока “Подождать 1 сек”, где поменяем значение с 1 на 5. Между блоками ожидания будет строиться наша программа, таким образом, каждые 5 секунд, будут включаться и выключаться мотор и сервопривод.
Теперь перед первым и вторым блоками “Подождать 5 сек” ставим по одному блоку “Блок управления на 1 порту”. Этот блок собирает все команды внутри себя и разом отправляет их на плату стабилизатора. Также не забываем указать к какому порту подключён наш блок стабилизатора, в моем случае это 5 порт.
Далее внутри первого блока “Блок управления на 5 порту” добавляем блоки управления моторами “Установить скорость 1 мотора в значение 50”, “Вращать мотор 1 со скоростью 50 об/мин”, “Мотор 1 повернуть на 360 градусов со скоростью 50 об/мин” и сервоприводом “Установить ШИМ сигнал 1 сервопривода в значение 50”, заменим значение сервопривода на 20, а у разных блоков моторов, заменить номер мотора, при тестировании сразу нескольких моторов.
Со вторым блоком “Блок управления на 5 порту”, делаем тоже самое, но теперь значения моторов и сервопривода должны быть равны 0, при этом блок “Мотор 3 повернуть на 360 градусов со скоростью 50 об/мин”, повторно ставить не нужно, так как этот блок самостоятельно останавливает мотор. Таким образом когда мы приравниваем скорость мотора к 0, он останавливается, а в случае с сервоприводом, он возвращается на начальное положение.
В этом уроке мы разобрали блоки, позволяющие управлять блоком стабилизатора. Так же мы научились управлять моторами и сервоприводами. Данные знания помогут быстрее разобраться в следующих уроках, посвящённых управлению роботом.