Servo Driver for micro:bit控制舵机

Micro:bit通过Servo Driver for micro:bit(舵机驱动板)进行PWM接口扩展,通过I2C即可控制16路舵机。

1.基本介绍

Servo Driver for micro:bit是专为Micro:bit设计的舵机驱动板,通过I2C即可控制16路舵机,每路12位分辨率,适合用于机械臂或六足等机器人舵机驱动。

2.硬件说明

板子可以通过左边绿色端子VIN接电池供电,输入电压范围6V~12V。板载的5V稳压芯片可以最大输出3A电流。也可以通过右边的USB接口power供电,输入电压为5V。 5V电源经过3.3V稳压再给micro:bit供电。

最上面的排针是舵机接口,黑色排针是GND(大部分舵机对应的是褐色线), 红色排针是5V电源,黄色排针是PWM信号线,有0~15个通道,可以同时接16个舵机。注意舵机线不要接反,否则舵机不会转动。

注意:

1.如果只接micro:bit的USB口供电,扩展是没有5V电源的,不能驱动舵机。

2.如果接大功率的舵机可能会出现供电不足的现象,需要接更多的电源。

实际中,Micro:bit采用I2C接口与该模块连接,具体连接如下表所示:

Micro:bit Servo Drive for micro:bit
VCC VCC
GND GND
SCL SCL
SDA SDA

3.软件设计

打开makecode,添加软件包

添加完成后积木栏出现Servo 选项,右边有两个可以控制舵机的积木。

file

下面这个积木是控制舵机角度的,通道可以选择0-15通道,角度范围是0-180度。

file

也可以通过下面这个设置脉宽的积木控制舵机,通道可以选择0-15通道,脉宽范围是500-2500。

file

启动脉宽和角度是以下对应关系:

脉宽 角度
500
1000 45°
1500 90°
2000 135°
2500 180°

控制舵机仅需以上两个积木即可,直接设置通道,脉宽或者角度即可。以下例程设置0和1通道的舵机为90度,下载程序,并运行后,舵机会转动到90度的位置,如果舵机已经是90度则舵机会不转动,继续保持在90度的位置。

file

以下例程实现的功能是控制16个通道的舵机在0-180度范围内不断转动。

file

item 变量表示当前的角度。Flag每次转动的步长,正数表示正转,负数表示反转。每20ms转动一次。

程序运行的效果为:0-15通道的舵机从0度转动到180度,然后又从180度转动到0度,不断重复。改变程序中的延时函数可以调整舵机转动速度。

黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代