PWM驱动舵机原理、SG90、舵机控制

舵机自控系统

自控制电路板接收来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机转动的方向和速度,从而达到目标停止。
其工作流程为:控制信号一控制电路板一电机转动一→齿轮组减速→舵盘转动→位置反馈电位计一控制电路板反馈→电机转动……。类似PID闭环控制。
在这里插入图片描述

舵机原理

舵机的控制电路中有个脉宽比较器,通过脉宽的比较计算舵机输出轴应该保特的角度,舵机输出轴实际角度用电位器的阻值来反馈,当实际角度与应该保特的角度不一致时,舵机电路驱动电机正转或反转,通过齿轮组把舵机的输出轴调节到应该保持的位置
在这里插入图片描述
控制舵机角度不是占空比,而是脉宽的绝对时长,
是用0.5-2.5ms的脉宽来控制舵机角度,当脉宽小于0.5为死区,就是舵机不动,舵机输出轴转角保持0度或稍小于零度,当脉宽等于0.5ms时,舵机输出轴转角为0度,当脉宽等于1ms时,舵机输出轴转角为45度,当脉宽等于1.5ms时,舵机输出轴转角为90度,当脉宽等于2ms时,舵机输出轴转角为135度0,当脉宽等于2.5ms时,舵机输出轴转角为180度,当脉宽大于2.5ms为死区脉宽,舵机不动,舵机输出轴转角保持180度或稍大于180度。
舵机输出轴转角只跟脉宽时长绝对值有关系
在这里插入图片描述

舵机与普通直流电机的区别

直流电机是一圈圈转动的,舵机只能在一定角度内转动(有最大旋转角度比如:180度),不能一圈圈转。普通直流电机无法反馈转动的角度信息(如果带编码器就可以反馈角度),而舵机可以。用途也不同,普通直流电机一般是整圈转动做动力用,舵机是控制某物体转动一定角度用(比如机器人的关节)

硬件

SG90

这是0-180度,也有0-360的
在这里插入图片描述

二段舵机,抛投用

在这里插入图片描述

由于比赛需要,我们改成了三段的,3D打印,有需要的可以联系我哦,

在这里插入图片描述

在这里插入图片描述

程序源码

https://download.csdn.net/download/weixin_44057803/87771939

这是用stm32103开发的,移植到F407需要注意下时钟频率问题
103系统时钟72M,F407是168M
在这里插入图片描述
(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线
(2)通用定时器timer2timer5,通用定时器timer12timer14以及基本定时器timer6,timer7的时钟来源是APB1总线

从STM32F4的内部时钟树可知,当APB1和APB2分频数为1的时候,TIM1、TIM8TIM11的时钟为APB2的时钟,TIM2TIM7、TIM12TIM14的时钟为APB1的时钟;而如果APB1和APB2分频数不为1,那么TIM1、TIM8TIM11的时钟为APB2的时钟的两倍,TIM2TIM7、TIM12TIM14的时钟为APB1的时钟的两倍。

因为系统初始化SystemInit函数里初始化APB1总线时钟为4分频即42M,APB2总线时钟为2分频即84M,所以TIM1、TIM8TIM11的时钟为APB2时钟的两倍即168M,TIM2TIM7、TIM12~TIM14的时钟为APB1的时钟的两倍即84M。,
在这里插入图片描述
APB2挂载在84M上,2分频
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44057803/article/details/130393151