Блок управления нагрузкой
Теория
Блок управления нагрузкой. Блок управления нагрузкой необходим для раздельного питания контроллера, моторов и сервоприводов, так как они работают с разной нагрузкой. Контроллер может передавать сигнал на блок управления нагрузкой, при необходимости запустить мотор или сервопривод. В наборе Renics можно подключить до 6 сервоприводов и 4 моторов.
При управлении сервоприводами следует учитывать, что управление сервоприводов осуществляется с помощью ШИМ сигнала, и каждая модель сервопривода имеет свой диапазон этих значений. Ниже приведены таблицы с диапазонами значений для сервоприводов используемых в наборе Renics.
Широтно-импульсная модуляция (ШИМ) - это способ управления подачей мощности к нагрузке. Управление заключается в изменении длительности импульса при постоянной частоте следования импульсов. Пример ШИМ сигнала:
Рисунок 1 - ШИМ сигнал разного коэффициента заполнения
Для сервоприводов постоянного вращения:
Сервопривод |
Против часовой |
По часовой |
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°) |
Рисунок 2 - Подключения блока стабилизатор
Блок стабилизатора управляется путём отправки набора команд. Для объединения команд в один набор, и подключения блока стабилизатора, есть специальный блок. Блок работает по аналогии с блоком условия, отправляя все команды находящиеся внутри этого блока на блок стабилизатор.
Практика
Давайте рассмотрим пример управления сервоприводом и мотором. Программа будет следовать простому алгоритму: Включим первый мотор на скорости 10, а второй мотор повернём ровно на 360 градусов и установим угол сервопривода на 90, через 5 секунд, выключим мотор и вернём сервопривод в положение 0, через 5 секунд снова запустим мотор и повернём сервопривод, а второй мотор будет стоять на месте. Для этого нам понадобиться несколько блоков:
Раздел “События”
- “Когда контроллер запущен” х1
Раздел “Управление”
- “Подождать 1 сек” х2, “Всегда” х1
Раздел “Модули”
- “Блок управления на 1 порту” х2
- “Установить ШИМ сигнал 1 сервопривода в значение 50” х2
- “Вращать мотор 1 со скорость 50 об/мин” x2
- “Мотор 1 повернуть на 360 градусов со скоростью 50 об/мин” x1
- “Ждать остановки 1 мотора на 1 порту” х1
Начнём с программы для запусков моторов. Чтобы запустить моторы нам нужно добавить блок “Блок управления на 1 порту”, этот блок обозначает на каком порту находиться блок стабилизатор, внутрь этого блока будут добавляться все управляющие блоки. Из управляющих блоков мы добавляем блоки “Установить ШИМ сигнал 1 сервопривода в значение 50”, где заменяем 50 на 6 (согласно таблице 2 из теории), так же не забываем проверить к какому разъёму подключён сервопривод (см. Рис. 2) “Вращать мотор 1 со скоростью 50 об/мин” здесь необходимо убедиться что вам мотор подключён к выбранному порту (см. Рис. 2), и изменить скорость на 10 об/мин, “Мотор 1 повернуть на 360 градусов со скоростью 50 об/мин”, здесь также убедиться что вам мотор подключён к нужному порту (см. Рис. 2) и изменить скорость на 10 об/мин. Вы также можете изменять значения скорости в разных блоках, в пределах от 30 до 140 об/мин. После блока “Блок управления на 1 порту” ставим блок “Ждать остановки 1 мотора” и блок “Подождать 1 сек”, изменив значение на 3, и изменяем значение на соответствующее блоку “Мотор 1 повернуть на 360 градусов со скоростью 50 об/мин”.
Далее составим программу для остановки моторов и поворота сервопривода во второе крайнее положение. Для этого после блока “Ждать остановки 1 мотора” ставим блок “Блок управления на 1 порту”, меняя порт на соответствующий порту, к которому подключён блок стабилизатор. Внутрь блока “Блок управления на 1 порту” добавляем блоки для поворота сервопривода во второе крайнее положение “Установить ШИМ 1 сервопривода в значение 50”, заменяя 50 на 32 (см. Табл. 2), и проверяем порт к которому подключён сервопривод (см. Рис. 2), и блок “Вращать мотор 1 со скоростью 50 об/мин”, где 50 меняем на 0, таким образом мотор останавливается. Далее после блока “Блок управления на 1 порту” ставим блок “Подождать 1 сек”, меняя значение 1 на 3.
Таким образом мы составили программу которая каждые 5 секунд будет включать и выключать моторы. При этом обратите внимание что для блока “Мотор 1 повернуть на 360 градусов со скоростью 50 об/мин”, нам не нужно второй раз его останавливать, т.к. этот блок, сам останавливает мотор, но для него нужен блок проверки “Ждать остановки 1 мотора на 1 порту”, который будет ждать до тех пор пока мотор не остановиться, и только после этого продолжит выполнение программы. Так же мы научились управлять сервоприводом с помощью ШИМ сигнала, задавая угол поворота сервопривода.
В этом уроке мы разобрали блоки, позволяющие управлять блоком стабилизатора. Так же мы научились управлять моторами и сервоприводами. Данные знания помогут быстрее разобраться в следующих уроках, посвящённых управлению роботом.