серво мотор

серво мотор


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

Вам понадобятся:

В отличие от действия большинства двигателей, которые постоянно вращаются, серводвигатель может повернуться на определенный угол и удерживать его до тех пор, пока не будет сказано, что бы он повернулся на другой угол. Вы можете контролировать угол сервопривода, отправив ему последовательность импульсов ШИМ (широтно-импульсная модуляция); сигнал ШИМ отображается на определенный угол от 0 до 180 градусов.

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

В этом эксперименте сервопривод питается через 3,3 В на красном проводе и "земля" ( минус ) на черном проводе; желтый провод (сигнал) подключим к контакту P0.

схема подключения для платы " РоботБит" здесь

Схема подключения для базовой платы расширения



 Примечание.  Управление сервоприводом с помощью блока питания от microbit = 3,3 вольт

это напряжение не предназначено для обеспечения очень точного угла поворота, а лишь обеспечит базовое перемещение серво из одного положения в другое.Я рекомендую запитать ваш серводвигатель рабочим напряжением от внешнего источника питания от 4,8 В до 6 В. 


программа

ссылка на проект


Давайте посмотрим на блоки кода в этом эксперименте.


Код для заметки Exp 8


Установить «Направление к»

В  On Start блоке мы устанавливаем переменную направления на  1. Это значение будет переключаться между 1 и -1, чтобы определить направление, в котором мы хотим развернуть сервопривод.

Servo Write

Мы используем  Servo Write блок для управления сервоприводом, подключенным к определенному выводу, чтобы повернуть на определенный угол, мы передаем его в градусах. Мы используем переменную, которую мы пометили как  degrees. Вы можете использовать эту команду, чтобы в любой момент просто записать любой угол от 0 до 180 на серводвигатель, но не забудьте добавить небольшую паузу, чтобы убедиться, что у вас достаточно времени для ответа, прежде чем перейти к следующему углу.

Изменить на

Если вы хотите увеличить или уменьшить данную переменную на определенное значение, которое является положительным или отрицательным, вы используете  Change by блок. Вы можете выбрать переменную, которую хотите изменить, а затем значение, которое вы хотите увеличить (положительное значение) или уменьшить (отрицательное значение). Мы увеличиваем угол на 1 градус, используя этот блок.

Установите «Направление на Направление х -1»

Чтобы изменить направление сервопривода, как только оно достигнет 0 или 180, мы умножим  directionпеременную на -1, чтобы переключить ее с положительного значения на отрицательное число или отрицательное число на положительное значение. Таким образом, когда мы используем  change by блок, число является положительным или отрицательным.

Что вы должны увидеть

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



Report Page