【STM32学习】(26)STM32实现舵机旋转并实现超声波检测

功能要求:

要求通过STM32实现舵机180°旋转,超声波放置在舵机上,实现一边旋转一边测距,同时可以设置测距的最大距离。

超声波使用的型号如下:

【STM32学习】(26)STM32实现舵机旋转并实现超声波检测_第1张图片

舵机的型号如下:

超声波测距是通过定时器加中断实现的,接线:

VCC——+5V

GND——GND

Trig——PA0

Echo——PA1 (同时映射为外部中断口1)

代码实现依据:

【STM32学习】(26)STM32实现舵机旋转并实现超声波检测_第2张图片

 

舵机的实现:因为舵机需要通过PWM才能驱动舵机正常转动,时序图如图

舵机的主要组成部分为伺服电机,所谓伺服就是服从信号的要求而动作。在信号来之前,转子停止不动;信号来到之后,转子立即运动。因此我们就可以给舵机输入不同的信号,来控制其旋转到不同的角度。
舵机接收的是 PWM 信号,当信号进入内部电路产生一个偏置电压,触发电机通过减速齿轮带动电位器移动,使电压差为零时,电机停转,从而达到伺服的效果。简单来说就是给舵机一个特定的 PWM 信号,舵机就可以旋转到指定的位置。舵机上有三根线,分别是 GND、VCC 和 SIG,也就是地线、电源线和信号线,其中的 PWM 波就是从信号线输入给舵机的。一般来说,舵机接收的 PWM 信号频率为 50HZ,即周期为 20ms。当高电平的脉宽在 0.5ms-2.5ms 之间时舵机就可以对应旋转到不同的角度。

代码中使用PA6口作为PWM输出引脚。

同时配置了串口,并设计了测量范围控制,控制器测量的最远距离。

由于代码设计文件比较多,无法一一粘贴。

【STM32学习】(26)STM32实现舵机旋转并实现超声波检测_第3张图片

代码可链接下载:

(1条消息) STM32实现舵机旋转与超声波检测.zip-电信文档类资源-CSDN下载

 

 

 

 

 

你可能感兴趣的:(单片机c语言,stm32,嵌入式,物联网,单片机)