单片机直流电机调速系统.doc
如有侵权,请联系网站删除,仅供学习与交流单片机直流电机调速系统【精品文档】第 18 页单片机课程设计报告题目: 单片机直流电机调速系统 院 (系) 专 业 年 级 姓 名 学 号 指导教师 年 月 日电子信息工程专业09级学生单片机原理课程设计任务书课程设计题目十、单片机直流电机调速系统指导教师职称设计任务和要求:1基本要求(1) 采用PWM调制方式实现直流电机斩波调速(2) 具有手动速度调整按键(速度+速度-)2.设计步骤(1) 使用Proteus按设计要求绘制电路图。(2) 按要求编写相应程序。(3) 使用Proteus仿真程序,对程序进行调试。(4) 撰写课程设计报告3撰写课程设计报告课程设计报告内容包括题目、摘要、目录、正文、结论、致谢、参考文献等。学生在完成上述全部工作之后,应将全部内容以先后顺序写成设计报告一份,阐述整个设计内容,要求重点突出、特色鲜明、语言简练、文字通畅,字迹工整。报告书以A4纸打印,装订成册(文字不少于3000 字)。单片机直流电机调速系统一、 设计任务与要求1.基本要求(1)采用PWM调制方式实现直流电机斩波调速(2)具有手动速度调整按键(速度+速度-)2.设计步骤(1) 使用Proteus按设计要求绘制电路图。(2) 按要求编写相应程序。(3) 使用Proteus仿真程序,对程序进行调试。(4) 撰写课程设计报告3.撰写课程设计报告课程设计报告内容包括题目、摘要、目录、正文、结论、致谢、参考文献等。学生在完成上述全部工作之后,应将全部内容以先后顺序写成设计报告一份,阐述整个设计内容,要求重点突出、特色鲜明、语言简练、文字通畅,字迹工整。报告书以A4纸打印,装订成册(文字不少于3000 字)。二、 方案设计与论证1.方案一如图1所示,系统以89C51单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。可看出此方案电路图复杂,所用元件多,容易出错。图1 2.方案二如图2,元件较少,电路简单、直观。且此电路能实现正反转、加减速功能。综上所述,选择方案二较好。三、 单元电路设计1系统组成直流电机PWM调速方案如图1.1所示: 图1.12方案说明直流电机PWM调速系统以AT89C2051单片机为控制核心,由命令输入模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转控制。2.1直流电机驱动模块主要由一些二极管、电机和L298直流电机驱动模块组成。直流电机可按其结构、工作原理和用途等进行分类,其中根据直流电机的用途可分为以下几种:直流发电机(将机械能转化为直流电能)、直流电动机(将直流电能转化为机械能)、直流测速发电机(将机械信号转换为电信号)、直流伺服电动机(将控制信号转换为机械信号)。2.2直流电机的中断键盘控制模块2.2.1 外部中断设置(1)外部中断允许设置中断控制寄存器IE的EX0对应INT0,EX1对应INT1,EA为中断的总开关,若要开放外部中断,只要将IE对应的位和总开关EA置1即可。如:开放外部中断0的设置:SETB EX0SETB EA开放外部中断0和1的设置:SETB EX0SETB EX1SETB EA(2)外部中断触发方式设置单片机外部中断有两种触发方式,一种是电平触发方式,另一种是脉冲触发方式,单片机外部中断触发方式与TCON的IT位有关。 TF1TR1TF0TR0IE1IT1IE0IT0电平触发设置方法:CLR ITX,为低电平触发方式。脉冲触发设置方法:SETB ITX1,为脉冲下降沿触发方式。在使用外部中断时,如果不进行设置,则为电平触发方式。(3) 外部优先级设置 外部中断IN0、INT1的中断优先级的设置是通过设置IP寄存器实现的,IP的PX0对应INT0,PX1对应INT1。PX置1为高级中断,PX为0为低级中断。×××PSPT1PX1PT0PX02.2.2外部中断扩展方法在图2.1为外部中断扩展方法,设X1、X2、X3、X4、X5为外部警情信号,X1代表是加速信号,X1=0表示加速;X2代表减速信号,X2=0表示减速;X3代表正转信号,X3=0表示正转;X4代表反转信号,X4=0表示反转;X5代表停止信号,X5=0表示停止处理。 图2.1当系统检测到有中断请求时,响应如下中断服务流程图2.2。图2.2四、 总原理图及元器件清单1.原理图图22.元件清单元件序号名称型号数量1单片机AT89C5112二极管1N400343电阻34直流电机MOTOR-ENCODER15电机驱动芯片L29816排阻RESPACK-817开关5五、 软件部分直流电机PWM调制控制系统具有加速、减速、正转、反转、停止控制功能。操作开关通过中断控制直流电机的加速、减速、正转、反转、停止控制功能。振荡、时钟电路和复位电路由80C51单片机内部给出。主体电路:即直流电机PWM控制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小和了解电机的转向,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。其间是通过80C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。该直流电机PWM控制系统由以下电路模块组成:设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。设计控制部分:主要由80C51单片机的外部中断扩展电路组成。六、 调试与分析启动目标系统,按正转,然后接加速开关,我们观察到电机开始运转,每按一次加速,电机的速度都要增加,此时如果按减速,则电机的转速慢慢地减小。同样按反转转键也看到同样的结果,当按停止键时,电机慢慢停下来。图6.1是启动时的图像,图6.2是在正转情况下的仿真结果,图6.3是在反转情况下的仿真结果。图6.1图6.2图6.3七、 总结与心得经过2个星期的课程设计,学到了很多有用的东西,让我对单片机和程序设计都有了新的理解。首先,对单片机的工作原理和具体的功能实现有了一个更高的认识。对于硬件电路,以前只是大概了解,实验后对单片机的各个端口,寄存器都有了一个比较系统的认识。其次,学会了程序编写。程序编写对于以后的学习都会有很大的帮助。另外,程序编写还可以帮助理解单片机的硬件电路工作原理,一举两得。最后,学习单片机实验不仅是学会其电路的工作原理和程序编写,更要学会一种学习的方法。对待以后的课程,要有一种细心的态度。这次实验留给我印象最深的是要设计一个成功的电路,必须要有扎实的理论基础,还要有坚持不懈的精神。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,这是对以前所学过的知识理解得不够深刻,掌握得不够牢固。八、 致谢这次毕业设计,凝结了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。 首先,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,想要完成这个设计是难以想象的。因此,感谢老师的耐心细致指导。其次,学校在这方面也给我们提供了很大的支持和帮助,每个设计小组配有专门的指导老师,帮助我们能顺利完成整个设计。最后,还要感谢同学四年来对我的关心与支持,感谢各位老师在学习期间对我的严格要求。同时也要感谢身边朋友的热心帮助,没有你们的关心与支持,我不可能这么快完成我的毕业设计!这几个月的岁月是我学生生涯中最有价值的一段时光,也将会成为我以后永远的美好的回忆。九、 参考文献1杨永辉现代电子技术J .20052何立民J 基于HCS12的小车智能控制系统设计20073方建军何广平智能机器人M北京:化学工业出版社2004 4张立 5滕志军今日电子J基于超声波检测的倒车雷达设计20066徐科军传感器与检测技术M北京:电子工业出版社,20077潘新民王燕芳微型计算机控制技术实用教程M附件ORG 0000HSJMP DISPLAYORG 0003H LJMP BUTTON ORG 000BHLJMP DINGSHI RS EQU P3.0RW EQU P3.1E EQU P3.4ORG 0030H DISPLAY: SETB EA SETB EX0 SETB IT0 MOV TMOD,#01H MOV TL0,#0FFH MOV TH0,#0FFHSETB ET0 CLR P0.5 CLR P0.6CLR P0.7SETB TR0 MOV DPTR,#TAB MOV R0,#00H MOV R1,#16 MOV R3,#00HMOV R4,#00HLP9: LCALL CHUSHILP2:ACALL BUSYMOV A,#00HMOVC A,A+DPTRMOV P1,AACALL DATASINC DPTR DJNZ R1,LP2 LP3: CJNE R3,#00H,LP4CJNE R4,#00H,LP4SJMP LP3 LP4: MOV R7,#00H MOV R5,#09H ACALL BUSYMOV P1,#0C0HACALL ENABLEMOV DPTR,#MMTABACALL BUSYLP5: MOV A,#00HMOVC A,A+DPTRMOV P1,AINC DPTRACALL DATASACALL BUSYDJNZ R5,LP5 MOV DPTR,#STABMOV A,R2MOV P1,AACALL DATASACALL BUSYMOV A,R3 MOVC A,A+DPTRMOV P1,AACALL DATASACALL BUSYMOV A,R4 MOVC A,A+DPTRMOV P1,A ACALL DATAS LP8: CJNE R7,#00H,LP7 LJMP LP8 LP7:SJMP LP4CHUSHI: ACALL BUSY MOV P1,#00000001B ACALL ENABLE ACALL BUSY MOV P1,#00111000B ACALL ENABLEACALL BUSY MOV P1,#00001111B ACALL ENABLEACALL BUSYMOV P1,#00000110B ACALL ENABLEACALL BUSYMOV P1,#80H ACALL ENABLE RETENABLE: SETB ECLR RSCLR RWCLR ERETDATAS: SETB ESETB RSCLR RWCLR ERETBUSY: CLR EMOV P1,#0FFHCLR RSSETB RWSETB EJB P1.7,BUSYRETORG 2000HDINGSHI: CPL P0.7 JNB P0.7,Z1 MOV A,#0FFHSUBB A,R0 MOV TH0,ASETB TR0RETIZ1: MOV TH0,R0 SETB TR0RETI BUTTON: PUSH ACC CLR EX0CLR EAINC R7 ;MOV A,#0FFHMOV P2,AMOV A,P2JNB ACC.0,AA0 JNB ACC.1,KK0JNB ACC.2,ZZJNB ACC.3,FFJNB ACC.4,WW0AJMP QQAA0: CJNE R0,#0FFH, AA1 AJMP QQ AA1: MOV A,R0ADD A,#5MOV R0,AAJMP QQKK0: CJNE R0,#00,MM AJMP QQ MM: MOV A,R0SUBB A,#5MOV R0,AAJMP QQQQ: MOV A,R0 MOV B,#5 DIV ABMOV B,#10DIV ABMOV R3,AMOV R4,BSETB EX0LCALL DELAYLCALL DELAYLCALL DELAYLCALL DELAYSETB EAPOP ACCRETIZZ: SETB P0.5 CLR P0.6 MOV R2,#2BH LCALL DELAYLCALL DELAYLCALL DELAYSETB EX0SETB EA POP ACCRETIFF: CLR P0.5 SETB P0.6 MOV R2,#2DH LCALL DELAYLCALL DELAYLCALL DELAYSETB EX0SETB EAPOP ACCRETIWW0: CLR P0.5 CLR P0.6LCALL DELAYLCALL DELAYLCALL DELAYSETB EX0SETB EA POP ACCRETIDELAY: MOV R5,#0E0HMM0: MOV R6,#30H MM1: DJNZ R6,MM1DJNZ R5,MM0RETTAB: DB 53H,45H,54H,20H DB 53H,50H,45H,45H DB 44H,20H,50H,4CHDB 45H,41H,53H,45H STAB: DB 30H,31H,32H,33HDB 34H,35H,36H,37H DB 38H,39H,41H,42H DB 43H,44H,45H,46HMMTAB: DB 43H,4FH,52H,52HDB 45H,4EH,54H,20H DB 3AHEND