本文是为参加2021赛季北京理工大学机器人队校内赛所写的简单教程,意在帮助参赛选手快速了解校内赛所需模块的使用方法,以及其与薪火培训知识的联系。
舵机驱动
硬件接线
舵机是由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。与直流电机不同,舵机只能在一定角度内转动,且发送的信号指定的是输出轴应旋转至的角度。
常见舵机引出线为红棕黄或红黑白3色,其中红色为电源线,接5V;棕色或黑色为地线,接GND;黄色或白色为信号线,接GPIO口。
驱动原理
我们利用信号线给舵机发送一系列周期信号,通过控制周期信号内高电平的持续时间,来达到控制舵机应转动至的角度的目的。参加过薪火培训的同学可能会回忆起,这就是使用PWM方式来控制舵机。
现在,以MG996R的180度舵机为例,我们来解读其相关参数的含义:
参数名称 | 数据 | 含义 |
---|---|---|
工作电压 | 4.8~7.2V | 电源线应该接在5V上 |
转动角度 | 180度 | 旋转角度的范围为0°~180° |
工作频率 | 50Hz | 信号周期为20ms,许多舵机都能工作在此频率下 |
脉冲宽度 | 0.5ms~2.5ms | 若1个周期内高电平持续0.5ms,则意味着应旋转至0°位置;若持续2.5ms,则旋转至180°位置;在0.5~2.5ms内,脉冲宽度与输出轴角度成线性关系 |
需要注意的是,不同型号的舵机的参数可能会有所不同,具体参数还请查询手册。
示例代码
同样以“驱动原理”中的参数为例,我们设置PA1为TIM2_CH2模式,使用高速晶振产生72MHz系统时钟信号。设置分频为72-1,则分频信号频率为1MHz;设置自动重载为20000-1