初级会员

- 积分
- 98
- 金钱
- 98
- 注册时间
- 2015-7-18
- 在线时间
- 15 小时
|
5金钱
本人使用的是直流电机,编码器是MR磁编码器。MR编码器具体参数为S型,16线,2通道,旋转一周的脉冲数为16,通道数为2,并且为正交编码器(A、B通道的相位差为90度)。硬件条件为STM32F103RC,JTAG调试仿真器,功率放大器。电机的减速比为64:1.
本人设计的编码器算法为16*64*(电机旋转圈数)。设定好电机旋转圈数,试验是以电机旋转到设定圈数之后,电机反转,来检验算法的正确性。
程序设计:输出PWM波的频率为1KHz,占空比为30%,Vm=11.1V.负责编码的定时器的TIM_Period = 65535(频率为1.1KHz),用示波器测出偏码器实际方波的频率为550Hz。
试验结果为:1.当电机旋转圈数值为比较小的时候,电机实际旋转的圈数小于设定的圈数(比如,设定圈数为2,但实际情况是还差大概1/6圈左右,电机就反转)
2.当电机旋转圈数数值比较大的时候,电机实际旋转的圈数差不多为设定的圈数(比如,设定的圈数为20圈,实际情况差不多20圈时电机反转)
各位大神帮忙,我的算法的问题出在哪里?为什么圈数多的时候对,圈数少的时候不对?难道是我对正交编码器的理解有误?求解,谢谢! |
|