单片机直流电机调速系统实训报告.doc
单片机综合实训报告专 业:汽车电子技术学 号:08341-12姓 名:指导教师:柳 铭时 间:2010年5月30日7月10日摘要在电气时代的今天,电动机在工农业生产与人们日常生活中都起着十分重要的作用。直流电机作为最常见的一种电机,具有非常优秀的线性机械特性、较宽的调速范围、良好的起动性以及简单的控制电路等优点,因此在社会的各个领域中都得到了十分广泛的应用。直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。本文设计了直流电机控制系统的基本方案,阐述了该系统的基本结构、工作原理、运行特性及其设计方法。主要研究直流电机的控制和测量方法,从而对电机的控制精度、响应速度以及节约能源等都具有重要意义。本设计系统以单片机AT80C52为核心,附以外围电路,实现直流电机调速的系统;运用单片机的运算和处理能力和L293D电机驱动芯片来实现电机的手动加速、减速调速等智能控制系统,并运用软件Proteus进行仿真来得到实验结果。关键词单片机 L293电机驱动 直流电机 PWM目 录一、 实训目的与要求11.1实训目的11.2实训要求1二、 实训题目及总方案12.1实训题目12.2设计方案12.3主要元件介绍22.3.1 AT89C5222.3.2 L293D32.4电路原理42.5原理图及原理框图4三、 设计过程53.1筹备过程53.2制作过程53.3调试过程63.4显示结果73.5元件清单7四、总结84.1个人实训小课题84.1.1题目84.1.2原理及调试84.1.3秒表原件清单94.2结论总结104.3心得体会10五、 参考文献11附录12附图12开关控制电路12驱动电路13程序14单片机综合实训报告一、 实训目的与要求1.1实训目的学习知道单片机的性能与功能,在现实生活中的应用。并且设计并制作一采用PWM调制方式实现直流电机斩波调速系统。并熟练对单片机编程及Proteus仿真软件的实际应用。1.2实训要求(1)采用PWM调制方式实现直流电机斩波调速(2)转速从100-3000rad/min(3)具有手动速度调整按键(速度+速度)二、 实训题目及总方案2.1实训题目 单片机直流电机调速系统设计2.2设计方案本设计通过AT89S52单片机的I/O口对L293D电机驱动芯片赋值来控制电机,并通过单片机的定时器来控制L293D的EN1口来进行调速,通过中断来实现按钮式控制过程。 PWM控制波形的实现可以通过模拟 电路或数字电路实现,例如用555搭成的触发电路,但是,这种电路的占空比不能自动调节,不能用于自动控制电机的调速。而目前使用的大多数单片机都可以直接输出这种PWM波形,或通过时序模拟输出,最适合直流电机的调速。2.3主要元件介绍2.3.1 AT89C52AT89C52(如图1所示)是51单片机系列的一个型号,它是ATMEL公司生产的。 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。图1 AT89C52引脚图2.3.2 L293D L293D是步进电机驱动芯片。L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。这种双极型脉冲调宽方式具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区:低速平稳性好等。L293D通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM)。另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号,IN1、IN2分别为1,0时,电机正转,反之,电机反转。选用一路PWM连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。选择一路I/O口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转。其控制逻辑如下:电机运行情况 EN A(B) IN1(IN3) IN2(IN4) 正转 H H L 反转 H L H 快速停止 H 同IN2(IN4) 同IN1(IN3) 停止 L X X即:通过用单片机对L293D的相应管脚写0或者1,即可实现。2.4电路原理AT89C52是集成40个I/O口的单片机,拥有12MHZ的晶振周期,电路拥有可控复位电路,INT0口外接一个BUTTON使其外中断0获得高低电平。L293D电机驱动电路可以实现电机的速度调整。本电路实现电机调速主要利用了L293D的EN1引脚的电平控制,让其电平的高低变化可以跟据单片机的定时器来进行调节,本电路分别进行了设置,当BUTTON按下一次时,单片机定时器T0被启用,并且设定为65.468ms,此延时可以控制电机一定速度的减速,当BUTTON第二次按下时,单片机定时器T1被启用,并且设定为33.069ms此时电机为第一次按下电机速度的2倍,第三次按下时为最快速度,第四次电机停止。前后电机3次变速,速度逐渐递增。2.5原理图及原理框图图2单片机直流调速系统原理总图(部分图见附录) 系统供电A89c52开关控制电路L293D电机驱动电机图3 单片机直流调速系统原理框图直流电机调速系统硬件原理图和原理框图如图2和图3所示,以AT89C52单片机为控制核心,包括开关控制电路、系统供电电源电路、L293D电机驱动电路、电机电路。三、 设计过程3.1筹备过程上网及到图书馆查找关于直流电机调速系统的资料,查找调速方案,确定方案。在在查找关于AT89C52的相关书籍及其控制电机调速系统的方案,查找电机驱动L293D的相关资料,同时学习软件Proteus仿真的使用教程及编程语言编程技巧。3.2制作过程安装完Proteus仿真软件后,根据设计原理图从库文件Library中调用相应的器件,在新建的制作图纸上设计电路、连接电路、标注器件,检查完毕后导入写好的程序文件,然后进行调试,在出现错误提示后进行修改电路完善电路并同时进行相应程序的修改直至完成准确无误的设计电路。在完成设计电路后进行设计报告内容的填写及修改。3.3调试过程本设计在调试过程中主要式控制电机驱动L293D的EN1端口的电平高低中断周期,通过调整定时器的中断周期来实现对电机速度的调整通过计算和程序的多次调整实现了合理的电机调速控制系统。在调试时不能直接用L293D电机驱动和电机,可以直接用二极管实现调试。图4 调试原理图图5 调试成功图3.4显示结果表1 显示结果中断次数一次二次三次四次定时时间65.468ms33.069ms0sSTOP3.5元件清单表2 元件清单器件名称规格数量 单片机AT89C521电机驱动L293D1 直流电机 1开关按式2电解电容100uf1 电阻R1 10K1导线 若干四、总结4.1个人实训小课题在本次实训当中我还用AT89C51完成了秒表的电路设计与调试并且获得了成功,是我对单片机的功能有了进一步的了解,其具体情况如下:4.1.1题目秒表的设计4.1.2原理及调试图6秒表原理图根据相关的单片机材料,利用所学的单片机知识,结合单片机微机仿真实验系统中的软件和硬件(七段数码管,开关电路及时钟信号电路等),编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,最后达到完成该实验课程设计的目的要求。图7秒表调试成功图4.1.3秒表原件清单器件名称规格数量 单片机AT89C511晶振1电容3开关拨式2七位断码管7SEG-COM-ANODE1电阻10K3导线若干表3 秒表原件表此课题能够将单片机软硬件结合起来,对程序进行编辑,校验。使我加深了对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。掌握了定时器、外部中断的设置和编程的一些原理。4.2结论总结设计中单片机AT89C52在工作时,调整定时器TO,T1来达到合适的定时时间来调整L293D电机驱动芯片的EN1引脚的电平高低切换,使周期上有所变化来达到速度上的调整,实验过程中调试电机速度的过程是一难点,要通过单片机的计算公式来计算相应所需的定时时间使其电机的速度变化有明显的改变。同时INT0口的控制也使实验结果又更加明朗的变化过程。由于设计中使用的是单片机作为核心的控制元件,附以外围电路使本本设计具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。但是在我们设计和调试的过程中,也发现了一些问题,譬如程序设计水平有限,实际的速度很难确切控制,会超出我们的设计需求范围。4.3心得体会时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。 俗话说“好的开始是成功的一半”。说起课程实训,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性. 在实训过程中要注意增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。五、 参考文献1.电子技术基础(模拟部分) 高等教育出版社 康华光著2.C程序设计题解与上机指导 清华大学出版社 谭浩强著3.单片机应用的C语言应用程序设计 北京航空航天大学出版社 周航慈著4.8051单片机彻底研究基础篇 人民邮电出版社 林伸茂著5.单片机原理及应用 高等教育出版社 张毅刚著6.C程序设计 清华大学出版社 谭浩强著7. 单片机应用系统设计与产品开发 人民邮电出版社 赵亮编著附录附图开关控制电路附图一附图二驱动电路附图三程序ORG 0000H;主程序及终端入口LJMPSTARTORG 0003HLJMPINTEX0;跳转到第78行,外中断0入口ORG 000BHLJMPINTOORG 001BHLJMPINTO1ORG 0023H RETI ORG 002BH RETIORG 0100HCLEARMEMIO: MOVTMOD,#10H MOVR2,#14H MOVTL1,#0B0H MOVTH1,#3CH MOV32H,#00HSETBEX1SETBIT1SETBEX0SETBIT0RETCAT:CLR P1.0RETSTART:MOVSP,#70H;主程序 LCALLCLEARMEMIO SETBP1.3CLR P1.2 SETBTR1 SETBEA SETBP1.1MAIN: LCALL CAT LCALLCAT AJMPMAIN NOP NOP LJMPSTARTINTEX0:PUSHACC;外中断0入口PUSHPSW CLRTR0 CLREX0JBP3.2,IN0RET INC32H MOVA,32H CJNEA,#06H,J1 CLRP1.1 ;停车程序 CLRET1 CLRTR1J1:CJNEA,#01H,J2LCALL STOPSLOWLJMPIN0RETJ2:CJNEA,#02H,J3LCALL STOPSLOW1 LJMPIN0RETJ3:CJNEA,#03H,J4LCALL STOPSLOWLJMPIN0RETJ4:CJNEA,#04H,J5LCALL STOPSLOW1LJMPIN0RETJ5:CJNEA,#05H,J1LCALLGOLJMPIN0RETPOPPSWPOPACC RETIIN0RET:CLR IE0POPPSWPOPACCSETBEX0RETISTOPSLOW:SETBP1.1;慢车程序MOVTH0,#80HSETBPT1SETBET0SETBTR0RETINTO:JBC P1.1,LOUTHOUT:SETBP1.1MOVTH0,#80HRETILOUT:MOVTH0,#80HRETISTOPSLOW1:SETBP1.1MOVTH0,#30H;MOVTL0,#3CHSETBPT1SETBET1SETBTR1RETINTO1:JBCP1.1,LOUT1HOUT1:SETBP1.1MOVTH0,#30HMOVTL0,#3CHRETILOUT1:MOVTH0,#30H MOVTL0,#3CH RETIGO:SETB P1.1 SETB P1.3 CLR P1.2 CLRET1 CLRTR1RETEND实训成绩评定书序号评定项目评定等级A(优)B(良)C(中)D(及格)E(不及格)1考勤2软件基本操作能力3基本编程能力4软件调试能力5硬件连接能力6独立思考独立解决问题能力7软硬件联调结果8平时表现9实训报告综合评定等级指导教师:柳铭2010年7月10日-18-