初级会员

- 积分
- 147
- 金钱
- 147
- 注册时间
- 2017-4-28
- 在线时间
- 44 小时
|
50金钱
整个过程有三部分, 上位机-》单片机-》下位机-》上位机 实现一个环路。单片机相当于透传。转换上位机的数据,变成模拟量。
上位机通过接收 下位机反馈的信息(推荐速度),计算生成一个 速度,便通过网口(w5500)传给单片机。单片机蒋该速度转换成俩种数据,一、通过串口协议发送;二、转换成脉冲速度,(用io翻转模拟的pwm),下位机通过接收该速度,运行。整个过程大致是这样的。
现在是,通过观察,发送,上位机-》单片机-》下位机,这段里面有延时。 导致,下位机推荐的速度,与轨旁给的速度,不能接近。而是在推荐速度,上下摆动。
开始,怀疑是:
1、网口有延时,检测发现,没有延时。
2、程序内部有延时。实际是串口发出去的速度,与脉冲生成的速度在允许误差范围内。俩者相等。可以得知生成的脉冲,算法没有问题。
3、发到下位机有延时。这个没测。因为想着 串口发送,和脉冲生成,速度一样。这俩个,是走的俩条不同的通道,理论上没有延时的。
4、测试,整个程序的运行周期,小于1ms。
就是,各种测试,验证都没有问题。但是与实际预期 就是不相同。
(芯片是 stm32f103zet6)
大家有没有,怀疑的点,或者,可以提供怎么定位问题的方法? 江湖急救啊!!!!!!!!!!!!!
|
|