基于XC2267M的仪表盘步进电机控制

时间:2010-03-02来源:网络
5中断函数详解
首先判断指针是否需要转动,如果是,表明上次转动尚未完成,直接跳出中断,等待下一次中断。如果判定结果为不要转动,继续判断上一步是正向还是反向运动。

图3 中断函数流程图


若判定结果为正向,则继续进行下一步判断:目标位置和当前位置是否一致。结果为反向则进入反向运动中断处理模块,流程结果类似。


判断转动一步标志位是否为1。若为1,依据当前位置从PWM数组里赋新值给PWM寄存器,步进电机行动一步,当前位置前进一步(若为反向则退后一步)并清零转动一步标志位。这样下次进入中断时,若转动一步标志位没有在主循环里重新赋值为1,步进电机就不会再次转动。


每次进入中断,当Move_time不为0时,Move_time减1,直至减为0为止。

实验结果
经过巴特沃斯二阶低通滤波后,步进电机两相电压波形都为比较平滑的正弦波,波形相位差为120°,与理论的细分波形相吻合。


步进电机从位置A移动到位置B的过程中,先加速(如果AB距离足够大,步进电机将加速到最大转速后匀速运行)。在接近位置B时,步进电机将减速,最后停止在位置B。从上图可以看出,加速阶段正选的波长逐渐变窄,减速时则逐渐变宽。

图4 步进电机匀速运转两相电压图

图5 步进电机加速状态单相电压示意图

图6 步进电机减速状态单相电压示意图

结论
利用单片机可方便的对步进电机的速度和位置进行控制,可靠地实现各种步进电机的操作,完成各种复杂工作。这里提出的步进电机分步控制方法,依靠Infineon最新的XC2267M单片机CC2模块强大的16个PWM输出通道,同时驱动4个步进电机,成功通过软件编程代替驱动芯片实现仪表盘步进电机的细分控制,运行结果稳定可靠,并节省了外部设备,降低了成本。

1 2 3

关键词: 电机 控制 步进 仪表盘 XC2267M 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版