基于51单片机pid直流电机调速课程设计内容摘要:

2) 电机速度采集算法 本系统中电机速度采集是一个非常重要的部分,它的精度直接影响到整个控制的精度。 在设计中采用了 红外 传感器做为测速装置,其计算公式为: 这里主要是采集圆盘边缘上凹槽数的多少决定 的,圆盘有 4 个凹槽,每转一圈便会产生4 个脉冲,通过上面的等式就可得出电机的转速。 主 程序流程 主流程图如图 11 所示: 9 图 11 主程序流程图 其中中断初始化中设置为定时器 TO 计脉冲数,定时器 T1 为高优先级中断。 数码管显示的速度为三位整数,一 位小数。 当测得的速度在设定速度的正负 5的范围之外时,蜂鸣器响。 定时器 1 中断流程 图 12 T1 中断 程序流程图 10 五、硬件设计 软件介绍 Keil C51 是 美国 Keil Software公司出品的 51 系列兼容 单片机 C 语言软件开发系统,与汇编相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 Keil 提供了包括 C 编译器 、宏汇编 、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个 集成开发环境 ( uVision)将这些部分组合在一起。 运行 Keil 软件需要 WIN9 NT、 WIN20 WINXP 等操作系统。 如果你使用 C 语言编程,那么 Keil几乎就是你的不二之选,即使不使用 C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 硬件调试 当认真 的把板子焊接完成,之后也认真的检查了一下连接线路,确认无误后,将程序下载进去后。 发现数码管显示不正常,再次将与数码管连接的 P0 口线路认真检查一下后,发现与之连接的一个 I/O 口有虚焊的现象。 将虚焊点重新焊接后显示正常。 但单片机走程序时,第二位数码管显示变动很大,比电机速度的改变大很多。 最后认真检查程序,发现程序中显示的那一部分按错了一个符号,导致其运算结果不正确。 软 件调试 软件编写 是在 KEIL 开发环境上编写的。 是采用模块化程序的方法,各个功能的程序都使用不同的子程序编写。 需要使用的时候,在主函数中进 行调用即可。 当发现问题的时候,首先检查主函数的调用是否有问题,如果没有问题,就到相应的子函数中,对子函数进行检查。 可以使用 Keil 中的单步调试,查看程序运行是否流畅,同时还可以查看相应变量的值以及寄存器的值,这样就可以知道程序那里出现了问题。 而不应该认为是软件出现了问题。 或者认为是硬件连接的问题,因为之前的硬件都已经调试过没有问题了。 在软件调试的过程中就不应该去怀疑硬件。 其实软硬件的调试是相辅相成的,并没有非常明确的界限。 硬件的调试有时候需要通过软件的现象来检测,光看电路图是,或者只是单纯地用万用表检查有没有短路也是没有意义的。 11 六、设计总结、心得体会 设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。 下面我对整个设计的过程做一下简单的总结。 第一,接到任务以后进行选题。 选题是设计的开端,选择恰当的、感兴趣的题目,这对于整个设计是否能够顺利进行关系极大。 好比走路,这开始的第一步是具有决定意义的,第一步迈向何方,需要慎重考虑。 否则,就可能走许多弯路、费许多周折 ,甚至南辕北辙,难以到达目的。 因此,选 题时一定要考虑好了。 第二,题目确定后就是找资料了。 查资料是做设计的前期准备工作,好的开端就相当于成功了一半,到图书馆、书店、资料室去虽说是比较原始的方式,但也有可取之处的。 总之,不管通过哪种方式查的资料都是有利用价值的,要一一记录下来以备后用。 第三,通过上面的过程,已经积累了不少资料,对所选的题目也大概有了一些了解,这一步就是在这样一个基础上,综合已有的资料来更透彻的分析题目。 第四,有了研究方向,就应该动手实现了。 其实以前的三步都是为这一步作的铺垫。 通过这次设计,我对数 字电路设计中的逻辑关系等有了一定的认识,对以前学的数字 电路又有了一定的新认识,温习了以前学的知识,就像人们常说的温故知新 ,但在设计的过程中,遇到了很多的问题,有一些知识都已经不太清楚了,但是通过一些资料又重新的温习了一下数字电路部分的内容。 在这次设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法我们更好的理解知识,所以在这里非常感谢帮助我的同学。 在此要感谢我的指导老师,感谢老师给我这样的机会锻炼。 在整个设计过程中我懂得了许多东西,也培养了我独立工作的能力,树立 了对自己工作能力的信心。 而且大大提高了动手的能力,使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。 虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次设计的最大收获和财富, 将 使我终身受益。 12 七、 参考文献 1. 李朝青 .单片机原理及接口技术(简明修订版) .北京:北京航空航天大学出版社,1999 2. 李群芳,等 .单片微型计算机与接口技术 .北京:电子工业出版社, 2020 3. 钱逸秋 .单片机原理与应用 .北京:电子工业出版社, 2020 4. 朱定华,等 .单片微型计算机原理与应用 .北京:清华大学出版社, 2020 5. 何立民 .单 片机高级教程 .北京:北京航空航天大学出版社, 2020 13 附录一:源程序 include define uchar unsigned char define uint unsigned int uchar code table[10]={0x3f,0x06,0x5b, 0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //共阴数码管显示码 (09) sbit xiaoshudian=P0^7。 sbit wei1=P2^4。 //数码管位选定义 sbit wei2=P2^5。 sbit wei3=P2^6。 sbit wei4=P2^7。 sbit beep=P2^3。 //蜂鸣器控制端 sbit motor = P1^0。 //电机控制 sbit s1_jiasu = P1^4。 //加速按 键 sbit s2_jiansu= P1^5。 //减速按键 sbit s3_jiting=P1^6。 //停止 /开始按键 uint pulse_count。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。