完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
单片机型号:STM32F103C8
功能要求: 要求通过STM32实现舵机180°旋转,超声波放置在舵机上,实现一边旋转一边测距,同时可以设置测距的最大距离。 设计的STM32的技术有:串口中断,外部中断,定时器中断,PWM,滴答定时器等 超声波使用的型号如下: 舵机的型号如下(其它型号同样适用): 超声波测距是通过定时器加中断实现的,接线: VCC——+5V GND——GND Trig——PC7 Echo——PC8 (同时映射为外部中断口8) 代码实现依据: 舵机的实现:因为舵机需要通过PWM才能驱动舵机正常转动,时序图如图: 舵机的主要组成部分为伺服电机,所谓伺服就是服从信号的要求而动作。在信号来之前,转子停止不动;信号来到之后,转子立即运动。因此我们就可以给舵机输入不同的信号,来控制其旋转到不同的角度。 舵机接收的是 PWM 信号,当信号进入内部电路产生一个偏置电压,触发电机通过减速齿轮带动电位器移动,使电压差为零时,电机停转,从而达到伺服的效果。简单来说就是给舵机一个特定的 PWM 信号,舵机就可以旋转到指定的位置。舵机上有三根线,分别是 GND、VCC 和 SIG,也就是地线、电源线和信号线,其中的 PWM 波就是从信号线输入给舵机的。一般来说,舵机接收的 PWM 信号频率为 50HZ,即周期为 20ms。当高电平的脉宽在 0.5ms-2.5ms 之间时舵机就可以对应旋转到不同的角度。 代码中使用PA6口作为PWM输出引脚。 同时配置了串口,并设计了测量范围控制,控制器测量的最远距离。 由于代码设计文件比较多,无法一一粘贴。
代码片段: /**************************************** 函数名称:void SteeringEngineAndUltrasonic(uint8_t fun) 函数参数: uint8_t fun:指定TFT显示屏的功能,0X01显示第一页,0X02显示第二页,10-1F选择第一页的第几行数据,20-2F选择第二页的第几行数据 函数返回值:无 函数功能: 舵机与超声波测距,舵机左右旋转180°,边旋转边测距 创建作者: 创建时间:2021.4.30 联系方式:QQ: 修改作者: 修改时间: 修改说明: ****************************************/ void SteeringEngineAndUltrasonic(uint8_t fun) { s32 rang = 0; int i; for(i = 1950;i >= 1805;i--) { TIM_SetCompare1(TIM3, i);// 设置占空比 rang = Ultrasonic_Ranging(); //USART1_printf(USART1,"rnrang=%dn",rang); // 发至串口助手显示 sendDataToTFT(fun, rang); // 可以输出到液晶屏显示 delay_ms(20); } for(;i <= 1950;i++) { TIM_SetCompare1(TIM3, i);// 设置占空比 rang = Ultrasonic_Ranging(); //USART1_printf(USART1,"rnrang=%dn",rang); // 发至串口助手显示 sendDataToTFT(fun, rang); // 可以输出到液晶屏显示 delay_ms(20); } } 注意:我们这里使用了串口屏,如果需要发送至串口助手显示,需要放开USART1_printf(USART1,"rnrang=%dn",rang); 然后将sendDataToTFT(fun, rang);注释掉就可以。 |
||
|
||
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1614 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1541 浏览 1 评论
970 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
682 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1592 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 21:26 , Processed in 0.666986 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号