问题补充:谢谢 想说这个东西我并不懂,只是别人设计的,并希望实现这样一个功能,而我想了解是
否可行,如果不可以就请直截了当的告诉我,我会更感谢!
谢谢你,你说的意思我明白了。设计这个的人只告诉我PWM脉冲数与距离成正比,而且要做
到对PWM脉冲计数,达到目的。说实话我十分不理解这要怎么实现,也不知道这个计数行不
行得通,我本来不是学这个,偏要让我考虑这个问题,既然连可行性都没有我就不想在这上
面下功夫了,另外我看看编码器方面手册上怎么说,实际上也只能看看,我没有权利更改设
计。。。还是十分感谢你!
最佳答案
拜托,160个脉冲是编码器的脉冲,跟PWM的脉冲没啥关系。
针对补充问题的补充回答:
对PWM脉冲计数可能困难一些。因为计数器对脉冲宽度有一定要求,而PWM的脉冲占空比一
般在0-100%之间可调,在占空比很低或者很高的时候计数都不准确。如果能够在PWM的脉宽
中断服务程序里加上计数程序就准确了。但是对PWM脉冲计数并不能够告诉我们马达走了多
远。因为同样一个PWM脉冲,脉宽比较宽的,马达会走得比较远,脉宽窄的,马达就走不了
那么远。就算同样的脉宽,负载不同的时候马达转过的距离也不一样。所以用PWM脉宽的计
数来计算马达走了多远是不可能的。
三轴移动,不可能没有编码器,编码器的脉冲是把一个圆周分成若干等分,一般是几百到几
十万。每转过一个角度,就输出一个脉冲。把编码器输出接到计数器上,输入160个脉冲就
停止,这个脉冲才是计量运动位置的脉冲。不过注意,现在编码器一般都是双线四分精度输
出,用两根信号线输出达到四倍精度。TI的DSP有一个四倍精度编码器输入接口,Freescale
的应该也有,你查查手册看看有没有相应的功能。