2.2.2 机器人小车独立舵机转向
独立舵机转向是依靠一个舵机实现转向,该舵机安装在两个轮子中间,轮子不需要再安装驱动电机。
图2-6 四轮车底盘
两个轮子之所以会发生转向就是因为中间的舵机在转动。
舵机并不是一直转的,舵机可以旋转180度,这个180度指的是向左向右分别旋转90度。就像人的的脑袋正常情况下是朝向正前方的,然后可以向左拧,向右转头。舵机也一样转到头了就不转了。里边的齿轮到位置了。
那么舵机是怎么实现的呢?
舵机上边有电源和地以及一根信号线。电机的中性位置定义为伺服在顺时针或逆时针方向上具有相同的潜在旋转量的位置。发送到电动机的PWM 确定轴的位置,并且基于通过控制线发送的脉冲的持续时间; 该转子将转向所需的位置。舵机希望每20毫秒(ms)看到一个脉冲,脉冲长度将决定电机转动的距离。例如,1.5ms脉冲将使电机转到90°位置。短于1.5ms将其沿逆时针方向移向0°位置,任何长于1.5ms的位置都会使舵机构顺时针方向朝180°位置转动。
图2-7 脉冲
目前在小车中用的都是SG90小舵机,基本5-12v就可以驱动,pwm信号线可以直接连接单片机的IO管脚而不用驱动模块。
图2-8 舵机接线示意图
而在stm32中用代码实现舵机的转动,如下:
A 指令:TIM_SetCompare2(TIM3,10); //左旋转90度
B 指令:TIM_SetCompare2(TIM3,20); //右旋转90度
C 指令:TIM_SetCompare2(TIM3,15);//正前方。
无论什么时候,无论当前舵机处于什么状态,如果我们想让他朝正前方,只需要调用C指令即可。