单片机原理与应用课程设计直流电动机转速测量与控制系统_第1页
单片机原理与应用课程设计直流电动机转速测量与控制系统_第2页
单片机原理与应用课程设计直流电动机转速测量与控制系统_第3页
单片机原理与应用课程设计直流电动机转速测量与控制系统_第4页
单片机原理与应用课程设计直流电动机转速测量与控制系统_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山东大学威海分校机电工程学院课 程 设 计课程名称 单片机原理与应用 课题名称 直流电动机转速测量与控制系统 专 业 班 级 07级 学 号 姓 名 任课教师 2010年 06月 14日设计内容与设计要求设计内容: 直流电机200w, 电压:24v, 调速范围-30%。设计要求:画出控制系统结构图;闭环转速测控系统的具体设计,包括所选传感器、执行器和控制器的类型、原理、输入输出接口和工作电路等;系统流程图及控制算法;控制系统界面的软件设计,包括程序流程图和实现代码;控制算法的实现,包括程序流程图和实现代码或仿真代码。目录目录错误!未定义书签。第1章 前言- 3 -第2章 基本原理- 5 -第3

2、章 功能说明- 5 -第4章 硬件电路的设计方案- 7 -4.1 转速传感器kmi15应用电路51单片机部分错误!未定义书签。4.2 转速测量部分错误!未定义书签。4.3 测速调速电路51单片机部分错误!未定义书签。4.4 直流电机测速调速电路转换显示部分错误!未定义书签。第5章 系统程序流程图- 13 -5.1 系统流程图- 13 -5.2 转速测量程序流程图- 14 -5.3 显示程序流程图错误!未定义书签。5.4 测速调速控制程序流程图错误!未定义书签。第6章 控制算法实现- 17 -第7章 硬件测试- 25 -第8章 软件仿真- 26 -8.1 keil仿真错误!未定义书签。8.2 算

3、法控制仿真错误!未定义书签。第9 总结与体会- 25 -参考文献错误!未定义书签。附录- 27 -附录一 单片机程序清单错误!未定义书签。附录二 控制算法程序清单错误!未定义书签。附录三 元件清单错误!未定义书签。第1章 前言单片机作为嵌入式微控制器在工业测控系统,智能仪器和家用电气中得到广泛应用。虽然单片机的品种很多,但80c51系列单片机仍不失为单片机中的主流机型。本课程一80c51系列以及派生系列单片机芯片为主介绍单片机的原理与应用,与其特点是由浅入深,注重接口技术和应用。 近年来,微型计算机的发展速度足以让世人惊叹,以计算机为主导的信息技术作为一种崭新的生产力,正在向社会的各个领域渗透

4、,也使机电一体化的进程大大加快。 机电一体化是当今制造技术和产品发展的主要倾向,也是我国机电工业发展的必由之路。可以认为,它是用系统工程学的观点和方法,研究在机电系统和产品中如何将机械、计算机、信息处理和自动控制技术综合应用,以求机电系统和产品达到最佳的组合。机电一体化产品所需要的是嵌入式微机,而单片机具有体积小、集成度高、功能强等特点,适于嵌入式应用。智能仪器、家用电器、数控机床、工业控制等机电设备和产品中竟相使用单片机。 就目前而言,单片机的发展势头依然不减,各种型号和功能更强的单片机和超级接口芯片不断出现,进一步向高层次发展的重要标志就是构成多机系统和分布式网络。世界上单片机芯片的产量以

5、每年27%的速度递增,到本世纪初已达30亿片,而我国的年需求量也超过了亿片的数量,这表明单片机有着广阔的应用前景。本课程设计主要针对目前我国早期应用比较广泛的“80c51”单片机进行系统的讲解和分析。为使用和开发各类机电一体化设备和仪表建立基础。第2章 基本原理直流电动机具有良好的起动、制动性能,适宜在大范围内平滑调速,在许多需要调速或者快速正反向的电力拖动系统中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动机的基础。早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了

6、直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能计算法可以采用软件技术来完成,为直流电机的控制提供了更大的灵活性,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效地提高工作效率。本设计就基于直流电动机在51单片机中的应用,设计出大功率直流电动机转速的测量与控制。第3章 功能说明单片机控制直流电机的基本方法是通过改变直流电机电枢电压的接通时间与通电周期的比值(即占空比)来控制电机速度,这种方法成为脉冲宽度调制(pulse width modulation),简称pwm。通过控制脉冲占空比来改变电机的电枢电压,改变占空比

7、的方法有三种:1) 定宽调频法,这种方法是不改变高电平的维持时间,仅改变低电平的维持时间,这样调制电压频率也随之改变;2) 调宽调频法,他要求不改变低电平的维持时间,仅改变高电平的维持时间,这也调制电压频率也被改变;3) 定频调宽法,这种方法是同时改变高低电平的维持时间,而两个维持时间的总和不变,即调制电压频率不变。由于前两种方法都改变了调制电压频率,当调制电压频率与电机电压频率接近时,将会引起系统振荡,造成系统工作的不稳定,因而在实际应用当中,常使用定宽调频法。测量直流电动机转速的传感器有磁电式和光电式,霍尔传感器由于体积小、无触点、动态特性好、使用寿命长等特点,在测量转动物体旋转速度领域得

8、到了广泛应用。目前,转速传感器正朝着高灵敏度、高可靠性和全集成化的方向发展。典型产品有飞利浦(philips)公司生产的kmi15/16系列磁阻式集成转速传感器,包括kmi15-1、kmi15-2、kmi15-4、kmi16-1等型号。其性能优良,安全性好,稳定性强,是分立式转速传感器理想的升级换代产品。本例采用飞利浦(philips)公司生产的kmi15-1传感器,它主要包括以下六部分:磁敏电阻传感器;前置放大器a1;施密特触发器;开关控制电路源;恒流源;电压控制器。它是由4只磁敏电阻构成的一个桥路,需固定在靠近齿轮的地方,当齿轮转动时,由于气隙处的磁力线发生变化,磁路中磁阻也随之改变,在传

9、感器上就产生了电信号。该传感器具有很强的方向性,他对与之连接的传动物体十分敏感,而对该物体的震动或者抖动量很不敏感,这正是测量转速所需要的。传感器产生的电信号频率和转动速度呈正比,根据单位时间间隔内的脉冲数,即可求得被测电机的转速。kmi15/16旋转速度传感器与霍尔传感器或电磁式传感器相比,具有多种优点,如可以完成“静止”状态下速度的测量,并且结构简单、价格低廉、信噪比高等,在汽车电子、工业测量、仪器仪表及国防等领域应用广泛。电机驱动需要较高的电压和电流,一般需要根据电机的具体参数设计合适的驱动电路。目前市场上有很多性能优良的电机专用驱动芯片,本例就采用电机驱动芯片uln2003用于直流电机

10、的驱动控制。电机采用24v,200w,最大转速200r/s。uln2003是耐高压、大电流达林顿系列,由七个硅npn达林顿管组成。该电路的特点如下:uln2003的每一对达林顿都串联一个2.7k的基极电阻,在5v的工作电压下他能与ttl和cmos电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。uln2003工作电压高,工作电流大,灌电流可达500ma,并且能够在关态时承受50v的电压,输出还可以在高负载电流并行运行。uln2003采用dip-16或sop-16塑料封装,其内部结构如图3-1所示。图 3-1 uln2003内部结构图uln2003的引脚说明如下:in1-in7:七个

11、输入端,输入信号支持ttl,cmos电平。out1-out7:七个输出端。com:公共端,一般用于测试芯片用,当芯片连接完毕,公共端的电压足可以点亮一个发光管。gnd:信号地端。第4章 硬件电路的设计方案整个系统硬件可以分为三个部分:51单片机部分,转速测量部分,转速显示部分和转速调整控制部分。kmi15-1输出脉冲信号到单片机测量电机转速,led显示模块由max7219驱动控制,直流电机的控制由51单片机输出pwm脉冲信号送入芯片uln2003驱动直流电机。 4.1 转速传感器kmi15应用电路51单片机部分 图4-1 转速传感器kmi15应用电路51单片机部分如图4-1所示,51单片机利用

12、定时器t0实现定时1s,在此期间计数器t1对传感器输出频率信号计数,既可以测得信号频率。根据所测频率的数值判断电机的对应转速,51单片机的两个id端口p2.2、p2.6连接绿色和红色发光管,用于对电机转速是否超出设定的最大值与最小值的指示标志。4.2 转速测量部分基于kmi15的转速传感器的前端电路如图4-2所示,整个电路包括三个部分:电源过压保护、输出低通滤波器电路、比较电路。 图4-2基于kmi15的转速传感器前端电路图图4-2中,二极管d1作为电路反极性保护和反向过压保护;二极管d2作电路正向过压保护,但要求有一定过载能力。rl为115负载电阻,将磁阻信号转换成电压电平。r3、c6构成输

13、入信号低通滤波电路,其截至频率为10khz。r5、r6确定一个分压值,作为比较器的阈值,r9、r10和r7组成反馈和r4来确定迟滞电压,来保证工作特性不受外界因素干扰,最终转速传感器通过lm393比较器输出端输出标准ttl电平信号,该信号频率与转速成正比,该信号送入51点偏激的t1计数器输入端用于测量转速。测速过程中kmi15-1传感器的输出端接到51单片机的t1端口。 图 4-3 转速测量、单片机部分电路图4.3 测速调速电路51单片机部分 图 4-4 直流电机测速调速电路51单片机部分51单片机p0口的p0.0输出电机驱动信号,p0.0通过npn三极管连接到直流 电机驱动器uln2003的

14、输入通道in1。p0.0可以通过上拉电阻连接到uln2003的输入通道in1,改变p0.0输出周期性脉冲的高电平宽度,即可实现对电机的调速控制。4.4 直流电机测速调速电路转换显示部分 图 4-5 直流电机测速调速电路转速显示部分图4-5中所示的显示电路部分包涵三个led数码管,数码管驱动器件采用串行接口的max7219,数码管亮度决定于max7219的v+和iset之间的电阻数值,在本电路当中选择47k,一般来说可以选择10k以上的电阻。51单片机的p1口的p1.0、p1.1、p1.2分别作为单片机与max7219串行通信接口的数据输入线、时钟信号线、数据加载线(片选线)。基于这三条通信线,

15、51单片机即可实现对8位数码管驱动芯片max7219的操作。max7219的数据输出端dout用于多片max7219级联使用时连接下一片max7219的数据输入端din;数码管工作段电流决定于max7219的v+端与iset端接入的电阻大小,一般选择的范围为10k以上。为了能够稳定地显示数据,需要在max7219的电源输入端加滤波电容,这是由于max7219工作时对输入电源会产生很大的干扰,可以造成max7219本身工作的不稳定以及数据的接收误码。图4-5所示的数码管为八位共阴数码管,它们的公共段可以分别接到数码管芯片max7219的位控制端口dig0-dig2,实现8位数码管的位控制。第5章

16、 系统程序流程图 根据设计要求和设计思路,进行模块设计。包括系统流程图,转速测量程序流程图,显示程序流程图,测速调速控制程序流程图。5.1系统流程图图 5-1 系统流程图 图5-1所示为系统流程图,系统经初始化之后,调用测速调速程序,之后调用显示子程序动态显示电动机转速。5.2转速测量程序流程图 图 5-2基于kmi15转速测量程序流程图 定时计数器t0、t1配合,实现转速测量的程序流程如图5-2所示,t0用于产生1s定时,在此期间t1计传感器部分送来的转速频率脉冲,完成后对转速进行分析,根据转速值进行相应的程序处理。 默认转速最大值为200r/s,最小转速为140r/s,如果超过200或低于

17、140,则红色发光管告警。如果测量速度在两者之间时,绿色发光管点亮。定时器0定时参数为50ms,20次定时实现1s,1s定时开始对t1输入端计数,20次定时时间到,t1停止计数,从而得到比较精确的电机转速。根据实际情况即可转换为实际的电机转速。5.3显示程序流程图图5-3 51单片机基于max7219驱动8位数码管流程图 51单片机基于max7219驱动8位数码管流程图如图5-3所示。51单片机通过max7219数码管驱动芯片实现8位数码管显示的程序中,主要的工作集中在51单片机模拟max7219串口操作时序,实现对max7219工作方式的正确配置以及3个显示数据的正确写入。5.4测速调速控制

18、程序流程图 图5-4 基于单片机的直流电机测速调速程序流程图 基于51单片机的直流电机测速调速系统程序流程如图5-4所示。其中,定时器t0用于1s定时,同时t1用于1s内脉冲计数,从而达到电机测速的目的。 该程序设计重点在定、时器中断,定时器0中断服务程序当中包括电机测速部分、电机转速显示部分、电机转速调整部分。电机转速调整部分只需要对转速和设定转速值进行比较,根据比较结果调整p0.0输出周期脉冲的高电平宽度即可调整电机转速。第6章 控制算法实现 图 6-1 电机速度控制算法流程图 图6-1为电机速度控制算法流程图,电机控制信号输出端p0.0初始输出低电平,将测得的电机转速值与设定的值比较,当

19、测速大于设定的最高速度时,减小p0.0脉冲的高电平宽度,减小电机速度;当测速小于设定的最小值(即最大值的70%)时,增大p0.0脉冲的高电平宽度,增大电机速度;当测速在设定的最大值与最小值之间时候,正确显示速度。第7章 硬件测试 图 7-1 转速传感器前端电路 图 7-2 51单片机、速度测量、控制及显示部分 图 7-3硬件电路整体仿真图图7-1、图7-2、图7-3为用multisim软件仿真的结果。由于multisim资源库中没有原本设计中用到的max7219、uln2003、kmi15器件,在仿真过程中电路作了较大改动。用proteus仿真的硬件电路与用multisim所作的硬件电路图有较

20、大的区别。基于原来设计的电路图的软件部分已经写好、调试好,但放在multisim仿真的硬件电路中不适合,因为硬件部分作了较大改动。再改软件来适合multisim仿真的硬件电路比较麻烦,由于时间原因就没有改,所以真正的硬件仿真效果图并没有做出来。第8章 软件仿真8.1 keil仿真先新建一个工程,并保存在所建工程弹出的对话框中选择80-51处理器。新建一个文档以编辑程序,将所设计的程序输入到新建文档中,并保存文档.asm(汇编源文件)。将所保存的文档添加到工程中去,再进行工程配置,点击project菜单下的options for target ,在弹出的对话框中设晶振为12mhz,将create

21、 hex file打上勾,再编译文件。 图 8-1 p2.2口初始状态 图 8-2 中断调试时p2.2口状态p2.2设置为红色报警信号,从图8-1、图8-2可以看出,初始状态下p2.2是1,当运行到中断时,p2.2变为0,也即当测速小于140r/s时,红色指示灯亮。 图 8-3 p1.2口初始状态 图 8-4 中断调试时p1.2口状态p1.2为max7219数据加载口,从图8-3、图8-4可以看出进入中断后p1.2口的电平从1变为0,也即数据被加载进入max7219。 图8-5初始化时p0.0口的状态 图8-6中断调试时p0.0口的状态p0.0口为电机控制信号的输出端,从图8-5、图8-6可以

22、看出,调试中断时p0.0口的高低电平变化,则当p0.0为0时候,有信号输出。 图8-7 图8-8从图8-7、8-8可以看出定时器t0进入中断时各个端口数值的变化。8.2算法控制仿真 图8-9 图8-10图8-9、图8-10为电机转速控制算法仿真波形图,从图中可以看出,初始状态时电机转速从0迅速升高到最大值200r/s。之后电机转速在最大值200,最小值140之间徘徊。如果高于最大值,会被迅速拉低,如果低于最小值,会被迅速拉高,知道转速被控制在最大值与最小值之间。第9章 总结与体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具

23、体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从开始设计方案到最终确定方案,从器件的选用到最后的确定,从理论到实践,在两个多星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正

24、为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管npn管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。这次的课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在同学的帮助下,终于迎刃而解。同事,在其他同学身上我学到了很多东西,学会了怎样编程、怎样调试以及怎样用multisim和proteus画硬件电路图。虽然学习的还不

25、是很深入,keil、multisim和proteus软件还没有掌握,只是懂得了一些,在以后的学习应用当中我一定会更加积极、主动、深入的学习这几款软件。在此对帮助过我的同学们表示衷心的感谢!参考文献 1、曹立军.单片机原理与应用.西安电子科技大学出版社,20092 、张迎新.单片微型计算机原理、应用及接口技术.国防工业出版社,19933、房小翠.编单片机实用系统设计技术.国防工业出版社,19994、何立民.编单片机应用系统设计.北航出版社,20055、雷伏容.51单片机常用模块设计查询手册.清华大学出版社,20106、刘国荣.单片微型计算机技术.机械工业出版社,19967、吴炳胜.8051单片机

26、原理与应用技术.冶金工业出版社,2003附录附录一 单片机程序清单/*/程序功能为电机控制信号输出端口p0.0初始输出低电平,将测得的电机转速值与设定的值比较,当测速大于设定的最高速度时,减小p0.0脉冲的高电平宽度,减小电机速度;当测速小于设定的最小值(即最大值的70%)时,增大p0.0脉冲的高电平宽度,增大电机速度;当测速在设定的最大值与最小值之间时候,正确显示速度。*/#include#include#define uchar unsigned char#define uint unsigned int /数码管显示数据单元uchar bit100;uchar bit10;uchar b

27、it1;uchar dig1;uchar dig2;uchar dig3;uchar cout; /1s定时控制参数uchar cnt1;uchar cnt2; /延时参数单元uchar rvalue; /电机转速单元uchar hvalue; /电机最高允许转速uchar lvalue; /电机最低允许转速sbit p00=p00;sbit din=p10; /串行数据输入端sbit clk=p11; /串行时钟sbit load=p12; /数据加载控制sbit green=p26; /转速正常指示灯sbit red=p22; /转速超出设定范围报void sendcode0(uchar

28、code0);void sendword(uchar addr,uchar num);void delay(uchar cnt) for(cnt;cnt0;cnt-); /while(cnt-);/发送一个字节的数据到max7219void sendcode0(uchar code0)uchar i,temp;_nop_();for (i=0;i8;i+) temp=code0&0x80;code0=code01;if (code0) /发送1din=1;clk=0;clk=1;elsedin=0;clk=0;clk=1;void sendword(uchar addr,uchar num)

29、load=0; /max7219准备接受16位数据 _nop_(); sendcode0(addr); /max7219接收8位寄存器地址 _nop_(); sendcode0(num); /max7219接收8位寄存器数据 _nop_(); load=1; /max7219锁存进相应寄存器 /数码管驱动max7219初始化程序void start(void)sendword(0x0b,0x02); /设置扫描界限 sendword(0x09,0xff); /设置译码模式sendword(0x0a,0x0a); /设置亮度sendword(0x0c,0x01); /设置为正常工作模式/转速显示

30、程序void display(void)sendword(dig3,bit100); /发送数码管百位显示码到max7219;sendword(dig2,bit10); /发送数码管十位显示码到max7219;sendword(dig1,bit1); /发送数码管个位显示码到max7219;/主函数void main() sp=0x70;cout=0x14;cnt1=0x00;cnt2=0x00;hvalue=0xc8; /最大转速设置为200r/slvalue=0x8c; /最小转速设置为140r/sth1=0x00;tl1=0x00;th0=0x3c; /50ms定时参数设定tl0=0xb

31、b;tmod=0x51;/ max7219初始化start();dig1=0x01;dig2=0x02;dig3=0x03;display();ea=1; /中断设置et0=1;et1=1;tr0=1; /启动t0计时,t1计数tr1=1;while (1)if (rvaluehvalue) / 转速大于200red=0; /红色指示灯报警green=1; / 绿灯灭p00=1;cnt1-; /驱动信号高电平维持时间减少,是转速变小delay(cnt1);cnt2=0xff-cnt1; /低电平维持时间增加p00=0;delay(cnt2);return;else /转速大于等于140且小于等

32、200red=1; /红色指示灯灭green=0; / 正常显示绿灯亮p00=1;delay(cnt1); /驱动信号维持不变p00=0;delay(cnt2); return;/定时器0中断服务函数 void time0_int(void)interrupt 1uchar temp;et0=0; /关闭t0中断tr0=0;cout=cout-1; /1s定时控制参数if (cout=0) /1s定时到cout=0x14;rvalue=tl1;th1=0x00; /重新设置电机测速参数tl1=0x00;th0=0x3c;tl0=0xbb;bit1=rvalue%0x0a; /转速数值转换temp=rvalue/0x0a;bit10=temp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论