串口通讯+PWM波:STM32F103C8T6通过USART1输入相应的指令控制的TIM3四个通道生成四个占空比不同的频率为50HzPWM波来控制云台。
之前用FT232直连单片机,一切正常返回的指令无乱码正常。
接上数传图传出现问题:
1、连续给出高电平时间持续1.5ms的指令,电机本该静止却会往一个方向慢慢漂移。怀疑每次在发出指令单片机相应指令的过程中会导致PWM波占空比变化。
2、接上数传后返回的指令中含有很多乱码。设备有时会莫名重启或者关闭。怀疑是发送的指令出现了偏差触发了开关机的指令。
3、设备返回的图像黑屏
解决方法:
1、对于重复发出的指令,设置相应的重复处理程序。若指令相同或者相同指令持续3次则跳过该次指令返回”REPEAT COMMAND!!!”字样,直到接收到不同指令。
2、加上校验码,采用的是求和校验的方式。
3、重新研究了下PWM波高电平长短顺序控制设备的指令,发现之前的理解有误,重新修正了PWM波生成的顺序。
4、图像黑屏是USB设备引起的,重启即可。
另外:
1、校验方法可否改进。CRC校验?
2、PWM波占空比设置方式可否改变。改为DMA直接控制,绕过CPU可否解决这个问题。

本文介绍了一种使用STM32F103C8T6通过USART1接收指令并控制TIM3生成PWM波的方法。针对接上数传图传后出现的问题,如电机行为异常、指令乱码及图像黑屏等现象,提出了具体的解决方案,包括重复指令处理、校验码改进和PWM波形生成顺序修正。
1240

被折叠的 条评论
为什么被折叠?



