开始保护现场P2.6置1,关闭个位数码管取出当前转速值,求出十位的值根据十位值查表取出段选信号并输出P2.7清0,显示十位延时1msP2.7置1,关闭十位数码管根据个位值查表取出段选信号并输出P2.6清0,显示个位重新设定T1初始值恢复现场退出
图3-5定时中断1服务程序流程图
数码显示中断程序的定时时间为1ms。进入中断程序后,首先要保护现场,然后关闭个位数码管,根据当前转速求出十位与个位的值。查表得到十位的字段码送P1口,控制十位上的数码管显示。然后延时1ms,接着关闭十位数码管,查表得到个位的字段码送P1口,控制个位上的数码管显示。最后重新设置定时时间,恢复现场并返回。
32
第五章 调试与改进
5.1 调试与改进
在系统完成后测试系统,检查硬件和软件是否能够协调运行,并对系统出现的情况进行分析,看是否能够达到系统创作之初所设想的效果,如达不到则重新修改系统的硬件结构或者修改软件的程序部分,直到达到设计需要为止。
本系统的设计思路为:首先从整体上划分出各功能模块,然后硬件和软件同时进行依次完成各个功能模块,最后将各个模块联系起来完成整个系统。
在硬件调试的过程中,遇到了很多问题。主要有:
1.设计好单片机最小系统后,上电复位,程序不能正常运行,检查后发现单片机的31引脚未接高电平。31脚为内外程序存储器选择控制端,当保持低电平时,只访问外部程序存储器,不论是否有内部程序存储器;31脚保持为高电平时,单片机优先访问内部程序存储器,PC值超出内部程序存储器最大值时才执行外部程序存储器内的程序。修改电路板,使单片机31引脚接上高电平后问题解决。
2.键盘设计完成后,在多次运行过程中发现按键是否按下难以直观准确判断,在此处进行改进设计,为每一个按键接上一个发光二极管,当有键按下时,相对应的发光二极管变亮,使得按键动作形象直观。
3.LED数码管设计完成后,调试过程中发现两个数码管显示较暗,并伴有闪烁,检查电路板后发现,两个数码管的公共端被一小滴焊锡连接在一起,从新焊接数码管的公共端后,问题解决。
软件测试的时候也有些问题,主要有:
1.键盘程序段设计完成后,调试运行,当按下加速键后,速度迅速增加到最高转速,多次调试问题没有解决,最后在老师的帮助下,发现键盘触发方式为电平触发,增加相应程序代码,将电平触发修改为边沿触发,从新运行程序,问题得到解决。
2.控制步进电机转动的程序段完成后,调试发现对步进电机速度的控制范围过小,查阅资料后发现设计思路不太合理,原先的设计思路是用主程序控制步进电机转动,采用延时方式控制步进电机速度,由定时器处理键盘;随即改进程序,主程序用来处理键盘,由定时器控制步进电机转动,步进电机转动速度由定时器定时时间决定。问题得到解决,不仅扩大了步进电机速度的控制范围,也使得单片机对步进电机速度的控制更加
33
精确。
5.2 运行结果
连接好硬件电路,上电复位,程序开始运行。此时步进电机不转动,LED数码管不显示;按下启停键,步进电机开始转动,LED数码管显示数值25,即当前步进电机的转速为25转/分;此时每按下加速键一次,LED数码管显示数值加1,步进电机转动速度相应增加;此时每按下减速键一次,LED数码管显示数值减1,步进电机转动速度相应减少,直到减少到最低转动速度20转/分时不再减少,;此时若按下方向控制键,步进电机立即向相反方向转动,转动速度保持不变;此时若按下启停键,步进电机停止转动,LED数码管停止显示;若再次按下启停键,则步进电机按照停止前的速度和方向转动,LED数码管显示的速度也与停止前相同。运行结果正常,符合设计要求。
34
结 论
经过老师耐心细致的指导,经过近一个月的努力,本次毕业设计课题步进电机控制系统告一段落。步进电机控制系统主要分为硬件设计和软件设计两个部分:
硬件设计主要是把单片机最小系统、键盘控制模块、步进电机驱动模块、数码显示模块等各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件运行提供一个硬件平台。
软件设计主要是通过编写程序代码,实现对整个系统的控制。在系统上电复位后程序自动运行,通过接受外部的键盘操作修改系统参数值,控制步进电机的启停,以及转速的增减和转动方向的改变;定时器T0根据系统参数控制步进电机的转动;定时器T1实现步进电机转动速度的动态显示。
本系统具有相当的实用功能,能基本符合实际应用需求,本次设计由于设计时间较短,个人能力以及精力等因素的限制,加之设计经验的不足,该系统还有许多不尽如人意的地方。该系统未能完全的实现设计的所有功能。如:利用键盘输入转速值实现转速的控制,动态设置最低转速和最高转速等。
35
致 谢
经过老师耐心细致的指导,经过近一个月的努力,本次毕业研究课题步进电机控制系统告一段落。
在此,我还要感谢在一起愉快的度过大学生活的同学,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。
通过这次毕业研究,使我从一开始对系统的不太熟悉,到能开发一个简单的系统,在这整个过程中我学到了很多东西,掌握了一些常用的开发技能,也发现了大量的问题,有些在研究过程中已经解决,有些还有待今后慢慢学习。只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。
近一个学期的研究,使我受益匪浅。我不仅了解了把理论设计转换成现实实物的整个过程。如:电路设计、分析计算、画电路图、焊接电路、检查调试、软件流程控制、编写调试软件、烧写软件到整个软硬件系统的调试,最后直到系统完成。为我以后的设计打下了一个好的基础。而且使我更加熟悉了整个研究的过程和一些软件及硬件设备的使用。对我以后面对这方面的工作有了很大的帮助。
36