安工步进电机控制系统毕业论文 - 图文(7)

2019-03-29 10:55

图2-14 步进电机控制系统总体设计电路图

3.7 步进电机控制系统实物图

步进电机控制系统实物图如图2-15所示:

图2-15 步进电机控制系统实物图

27

第四章 软件设计

4.1 程序设计思路

步进电机控制系统的软件需要同时完成读取键盘、处理键盘、控制步进电机转动、控制数码管动态显示等任务,这就必须通过中断技术来实现。

在本设计中,主程序采用查询方式扫描键盘端口,检测按键动作是否发生,若有按键动作则处理键盘,根据按键值修改相应参数值,实现键盘的实时处理功能。定时器0中断服务程序控制步进电机的转动:根据当前速度进行计算并查表得到T0定时时间常数,设置TH0和TL0的值,达到对转速精确控制的目的;根据转动方向控制位的值,控制脉冲信号循环移动的方向,达到对转动方向控制的目的。定时器1中断服务程序用来完成数码管动态显示当前转速的任务。

4.2程序流程图

4.2.1 主程序流程图

步进电机控制系统的主程序在对整个系统初始化后主要完成读键盘和处理键盘的功能,如图3-1所示:

开始初始化系统参数设置T0、T1读键盘等待中断处理键盘

图3-1 步进电机控制系统主程序流程图

系统上电复位后,先调用初始化子程序,对步进电机各端口,相关参数进行初始化,设置T0、T1工作方式控制字和时间常数。初始化完成后,步进电机处于停止状态,T0、T1定时器处于关闭状态。然后循环调用读键盘子程序和键盘处理子程序,等待中断,以便实现步进电机转动控制和转速的动态显示。

28

4.2.2 读键盘子程序流程图

读键盘子程序流程图如图3-2所示:

开始读键盘与初始值比较不相等延时10ms再次读键盘与初始值比较不相等保存键值到临时变量读键盘相等相等与临时变量比较不相等保存临时变量值相等退出

图3-2读键盘子程序流程图

首先初始化实际键值参数为0FH,然后扫描P2口,与初始值比较,相等则说明没有键按下,不相等则软件消抖,以便确认是否真的有键按下。延时10ms后再次扫描P2口,第二次与初始值比较,若相等则表明前一次比较不相等是由抖动产生;如果相等则表明确实有键按下。此时保存键值到临时变量。接着第三次扫描键盘并与临时变量比较,若相等则循环,这是为了确保每一次按键只执行一次相应的处理程序。最后从临时变量取出键值送实际键值参数,为键盘处理子程序做准备。

29

4.2.3 键盘处理子程序流程图

按键处理子程序流程图如图3-3所示:

开始取出键值P2.3是否按下否P2.2是否按下否P2.1是否按下否P2.0是否按下否退出是TR0取反,通过启停T0启停步进电机是取反方向控制位改变电机转动方向是修改速度参数值,加速是修改速度参数值,减速

图3-3键盘处理子程序流程图

键盘处理子程序开始时要从存放实际键值的参数中取出刚读取到的键值送到累加器A,依次判断累加器A的低四位。若检测到低电平,则说明与该位对应的按键按下,从而转到相应的处理子程序段,完成相应的操作,实现相应的功能后返回。若没有检测到高电平,则返回。

步进电机的启停控制通过启停定时器0来实现,因为定时器0控制着脉冲信号的输出,关闭定时器0也就阻止了脉冲信号的输出。 4.2.4 电机控制中断程序流程图

定时器中断0服务程序流程图如图3-4所示:

30

开始保护现场根据当前转速查表设定TH0根据当前转速查表设定TL0判断转动方向控制位的值是0循环左移脉冲信号并输出是1循环右移脉冲信号并输出恢复现场退出

图3-4定时器中断0服务程序流程图

定时器中断0服务程序的中断时间由当前的转速决定。进入中断程序后,首先要保护现场,再根据当前速度进行计算并查表得到T0定时时间常数,设置TH0和TL0的值。然后判断转动方向控制位的值,如果是0则控制脉冲信号循环左移并输出,如果是1则控制脉冲信号循环右移并输出。最后恢复现场,返回,等待下次中断。

通过用当前转速控制中断时间,控制了脉冲的输出频率,也就到达了控制步进电机转动速度的目的;通过检测方向控制位的电平,选择脉冲信号的循环左移或循环右移,控制了步进电机各引出端的接通顺序,也就到实现了步进电机转动方向的控制。 4.2.5 数码显示中断程序流程图

定时中断1服务程序流程图如图3-5所示:

31


安工步进电机控制系统毕业论文 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:地铁车站主体结构施工方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: