首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于XC2267M的仪表盘步进电机控制
来源:本站整理  作者:佚名  2010-03-02 09:52:13




比如,最低的速度等级元素为100,则在主循环里,Move_One_Step_Enable被置为1,Move-time赋值为100。在此后的第一个中断里,电机运行一步,Move_One_Step_Enable=0,同时Move-time减为99。此后,主程序和中断程序都不进行任何操作,直到第100次中断发生,Move-time减为0,才再一次进入主循环对Move-time赋值。也就是说,在(200×100)μs的时间里,步进电机只行动了一次。相反,如果速度等级高,则Move-time的赋值相应小,电机会在更短的时间内再次行动,使步进电机转速看上去“提高”了。


为保证速度之间过渡的平滑性,防止突变对步进电机造成的损伤,每3次进入主循环才允许更改一次速度等级,即每个速度等级步进电机至少走3步。


4 主函数详解
首先判断指针是否需要转动,如果否,直接跳到结束,等待新一轮判断。如果判定结果为需要转动,继续判断上一步是正向还是反向运动。

图2 主函数流程图


若判定结果为正向运动,进入正向运动模块,继续判断当前位置和目标位置是否一致。


如果目标位置和当前位置一致,则表明指针已到达指定位置,此时进入防抖模块,并将Move-time 置为1。
如果目标位置和当前位置不一致,则要进一步判断目标位置是否大于当前位置。如果目标位置小于当前位置,则表明在步进电机的正向运动中检测到反向运动的请求。此时,进入反向运动需求相应模块,逐渐减小步进电机转速,最后改变步进电机运行方向标志位。


如果目标位置大于当前位置,则表示运动需求仍为正向,此时需要判断目标位置和当前位置之差的大小。如果位置差很大,而步进电机转速没有到达最大,则提速;如果转速已达到最大,则保持该速度。如果位置差小于某一特定值,则进入减速状态。


上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:145,328.10000 毫秒