扬州大学单片机课设直流电机控制调速硬件.docx
- 文档编号:29359787
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:9
- 大小:23.17KB
扬州大学单片机课设直流电机控制调速硬件.docx
《扬州大学单片机课设直流电机控制调速硬件.docx》由会员分享,可在线阅读,更多相关《扬州大学单片机课设直流电机控制调速硬件.docx(9页珍藏版)》请在冰豆网上搜索。
扬州大学单片机课设直流电机控制调速硬件
扬州大学单片机课设直流电机控制调速硬件
扬州大学水利与能源动力工程学院 课程设计报告 题 目:
直流电机的转速控制 课 程:
单片机原理及应用课程设计 专 业:
电气工程及其自动化 班 级:
姓 名:
学 号:
第一部任 务书 2 分 《单片机原理及应用》课程设计任务书 一、课题名称 详见《单片机课程设计题目》:
主要是软件仿真,利用Proteus软件进行仿真设计并调试; 《单片机课程设计题目》:
主要是硬件设计,利用单片机周立功实验箱进行设计并调试。
二、课程设计目的 课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
《单片机原理及应用》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。
单片机原理及应用课程设计的目的是让学生在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高。
为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。
通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。
三、课程设计内容 设计以89C51单片机和外围元器件构成的单片机应用系统,并完成相应的软硬件调试。
1.系统方案设计:
综合运用单片机课程中所学到的理论知识,学生根据所选课题的任务、要求和条件进行总体方案的设计。
2.硬件电路设计:
对方案中以单片机为核心的电路进行设计计算,包括元器件的选择和电路参数的计算,并画出总体电路图。
3.软件设计:
根据已设计出的软件系统框图,用汇编语言或C51编制出各功能模块的子程序和整机软件系统的主程序。
4.调试:
在单片机EDA仿真软件环境Proteus下进行仿真设计并调试;或在单片机周立功实验箱上进行相关设计并调试。
四、课程设计要求 1.掌握PWM电机功率驱动电路的原理;2.按键能增减PWM波的占空比; 3.LED数码管显示PWM波的占空比;4.设计硬件原理图;5.编写程序。
3 五、进度安排 序号12345内容布置任务,熟悉课题要求总体方案确定,硬件电路设计软件编程Proteus仿真,或在周立功实验箱上调试总结,撰写课程设计报告天数 2 七、课程设计报告内容:
总结设计过程,写出设计报告,设计报告具体内容要求如下:
1.课程设计的目和设计的内容。
2.课程设计的要求。
3.控制系统总框图及系统工作原理。
4.控制系统的硬件电路连接图,电路的原理。
5.软件设计流程图及其说明。
6.电路设计,软件编程、调试中遇到的问题及分析解决方法。
7.实验结果及其分析。
8.体会。
4 第二部分 课 程设计报告 5
目 录 1课题简介....................................................................................................................................................................7 课题的目的.....................................................................................................................................................7课题的设计任务及要求................................................................72直流电机的转速控制方案设计................................................................................................................................7 总体设计思路.................................................................................................................................................7总设计框图.....................................................................................................................................................83直流电机的转速控制硬件电路设计........................................................................................................................9 硬件电路总图.................................................................................................................................................9硬件电路分块介绍....................................................................9 单片机..................................................................................................................................................9按键电路............................................................................................................................................11显示电路............................................................................................................................................12 电动机及其驱动电路........................................................................................................................13 4直流电机的转速控制软件编程设计............................................................................................................13 程序总设计思路...........................................................................................................................................13程序分段介绍...............................................................................................................................................13 主程序................................................................................................................................................13定时中断程序....................................................................................................................................14 外部中断程序....................................................................................................................................15 显示程序............................................................................................................................................165实验与结果分析......................................................................................................................................................16 系统调试方案...............................................................................................................................................16调试过程中出现的问题及解决方法...........................................................................................................16 调试结果图...................................................................................................................................................176小结与体会..............................................................................................................................................................18
去处理中断事件B,对事件B处理完毕后,再回到原来被中断的地方,称为中断返回。
实现上述中断功能的部件称为中断系统。
单片机中断源:
/INT0:
外部中断0。
可IT0选择其为低电平有效还是下降沿有效。
当CPU检测到引脚上出现有效的中断信号时,中断标志IE0置1,向CPU申请中断。
/INT1:
外部中断1。
可IT1选择其为低电平有效还是下降沿有效。
当CPU检测到引脚上出现有效的中断信号时,中断标志IE1置1,向CPU申请中断。
TF0:
片内定时/计数器T0溢出中断请求标志。
当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。
TF1:
片内定时/计数器T1溢出中断请求标志。
当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。
RI或TI:
串行口中断请求标志。
当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断,这两位必须软件清零。
3、单片机定时器/计数器简介 51单片机内部设有两个16位的可编程定时器/计数器。
可编程的意思是指其功能均可指令来确定和改变。
在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器。
16位的定时/计数器分别两个8位专用寄存器组成,即:
T0TH0和TL0构成;T1TH1和TL1构成,这些寄存器是用于存放定时或计数初值的。
此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。
TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。
当定时器工作在计数方式时,外部事件通过引脚T0和T1输入。
按键电路 11 图按键电路图 按键电路图如上所示,总共三个按键S0、S1和S3,分别接在单片机的、INT0和INT1端口上,另一端都接地。
首先介绍S0的作用,其功能为开启电机,当按下时整个程序才会启动。
再者是S1,其功能是加速,在图中连接外部中断0,在主程序中不断查询键是否被按下,如果键被按下则调用相应的子程序,改变高低电平的软件计数次数,则可以改变占空比,从而实现电机转速的增加。
同理,S2使用的是外部中断1,作用是减速。
显示电路 图显示电路图 显示电路如上所示,采用的是ZLG7290的芯片,于采用了I2C总线接口,因而硬件电路连接非常简单。
它的数据线SDA引脚接到AT89C51的引脚上,时钟信号线SCL引脚接到AT89C51的引脚上,RST引脚接到AT89C51的引脚上。
ZLG7290的工作原理 ZLG7290的核心是一块ZLG7290B芯片,它采用I2C接口,能直接驱动8位共阴式数码管,同时可扫描管理多达64只按键,实现人机对话的功能资源十分丰富。
除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能,并可提供10种数字和21种字母的译码显示功能,用户可以直接向显示缓存写入显示数据,而且无需外接元件即可直接驱动数码管,还可扩展驱动电压和电流。
此外,ZLG7290B的电路简单,使用也很方便。
用户按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。
正常情况下,微控制器只需要判断INT引脚就可以得到键盘输入的信息。
微控制器可通过两种方式得到用户的键盘输入信息。
其一是中断方式,该方式的优点是抗干扰能力强,缺点是要占用微控制器的一个外部中断源。
其二是查询方式,即通过不断查询INT引脚来判断是否有键按下,该方式可以节省微控制器的一根I/O口线,但是代价是I2C总线处于频繁的活动状态,消耗电流多并且不利于抗干扰。
于采用了I2C总线接口,因而用ZLG7290与微控制器设计电力仪表的硬件电路连接非常简单。
它只需要两根信号线(一根数据线SDA,一根时钟信号线SCL)。
但应注意进行I2C通信的双方要共地,并应用,INT传递键盘中断信号。
微控制器通过RST可以将ZLG7290复位。
12 ZLG7290的功能 ZLG7290能够直接驱动8位共阴式数码管,同时还可以扫描管理多达64只按键。
其中有8只按键还可以作为功能键使用,就像电脑键盘上的Ctrl、Shift、Alt键一样。
另外ZLG7290B内部还设置有连击计数器,能够使某键按下后不松手而连续有效。
采用I2C总线方式,与微控制器的接口仅需两根信号线。
可控扫描位数,可控任一数码管闪烁。
电动机及驱动电路 图电动机及驱动电路图 直流电动机及驱动电路接线图如上所示。
H桥功率驱动电路是一种典型的智能功率集成电路,4个三极管组成H的4条垂直腿,而电机就是H中的横杠。
H桥式电机驱动电路包括4个三极管和一个电机。
要使电机运转,必须导通对角线上的一对三极管。
根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的运转。
ZDJ_A的电平为高、ZDJ_B为低电平则电机正转,反之则电机反转,如果两端电平相同则电机不转。
本实验目的是PWM调速,所以忽略正转反转问题,直接把ZDJ_B接入口,其输出的方波进而控制直流电机转速,虽然不是精准控制但粗略可达到调速效果。
4直流电机的转速控制软件编程设计 程序总设计思路 在主程序内部进行AT89S51单片机内部的定时器T0初始化,并且设置定时开始器中断,产生PWM波形。
然后不断查询键是否被按下,如果没有,继续查键;如果有键被按下了,则判断是键1还是键2,接着执行相关操作,改变PWM波形的初始化占空比,从而改变电动机的转速,并且在数码管上显示占空比。
程序分段介绍 设置占空比初始值主程序 主程序中主要进行定时器初始化,设置占空比初值,调用序,然后不断查询按键,如果键被按下,则调用相应改变转速的子程序。
主 13 启动定时器显示程程序流程调用显示程序查键并执行相应子程序图如右所示。
MAIN:
MOVSP,#70H LCALLRE7290 MOVTMOD,#01H MOVTH0,#0FCH ;1MS MOVTL0,#018H S1:
MOVP2,#0FFH ;总开关 JB,S1 SETBEA SETBET0 SETBTR0 ;开中断 SETBEX0 SETBIT0 SETBEX1 SETBIT1 MOVR1,#0 ;计数值初值 MOVR2,#50;占空比初值 LJMP$ 定时器中断程序1、定时中断程序总体介绍 定时中断程序是用来产生PWM波形的。
整个程序是把一个波形周期分为100份,每份1ms,也就是说单片机产生的是周期为100ms的方波。
用寄存器R1表示扫描次数,即分成100份,总共扫描100次。
R2为占空比的份数,即为高电平占得百分比。
每当定时中断产生,先判断R1和R2大小,即R1小于R2让口置高电平即方波的高电平波形部分。
反之R1大于R2就置0,为低电平部分。
然后判断R1有没有到100,即一个周期的100份有没有走完,没有会继续累加R1,有的话清零,一个周期结束。
IT00:
MOVTH0,#0FBH 14 MOVTL0,#0AEH INCR1 CLRC MOV30H,R2 MOVA,R1 CJNEA,30H,P_OUT P_OUT:
JCP_OUT1 ;计数值小于预置r2高电平 CLR ;计数值大于预置r2低电平 AJMPOUT_END P_OUT1:
SETB LJMPOUT_END OUT_END:
CJNER1,#100,NEXT;判断一个周期结束 MOVR1,#0NEXT:
RETI 外部中断程序 外部中断程序0和1分别是用来控制电机加速与减速的。
在定时中断程序中提到R1是一个100份扫描的计数寄存器,R2是高电平所占份数。
所以可以利用中断产生改变R2的值从而达到改变占空比的目的。
程序中为每次按下按键,就行中断。
当加速时,会使R2值加1,如达到100则保持不变。
加速时对应R2会减1,变为1时保持不变。
UP:
INCR2 ;加速 CLRC CJNER2,#100,UP1 UP1:
JCUP_END ;未到最大值返回 MOVR2,#100;否则保持最大值UP_END:
LCALLPLAY RETI DOWN:
DECR2 ;减速 CLRC CJNER2,#1,DOWN1 DOWN1:
JNCDOWN_END ;未到最小值返回 MOVR2,#1 ;否则保持最小值 15
DOWN_END:
LCALLPLAY RETI 显示程序 在程序最后调用显示程序,把R2即占空比百分数赋给7290然后调用相关显示程序进行占空比显示,需要用到三个数码管,其余位赋零。
PLAY:
PUSHACC MOVA,R2 ;显示占空比 MOVB,#100 DIVAB MOV68H,A MOVA,B MOVB,#10 DIVAB MOV67H,A MOVA,B MOV66H,A MOV69H,#0 MOV6AH,#0 MOV6BH,#0 MOV6CH,#0 MOV6DH,#0 LCALLleddisp POPACC RET 5实验与结果分析 系统调试步骤 按照PROTEL上的图,在硬件上连接电路。
然后打开电脑上的Keil软件,编译程序,没有错误后,设置好相关参数。
接着打开单片机实验箱开关,运行程序,观察实验箱上的电动机运转和数码管的显示情况,按键观察电机的转速变化和显示的占空比。
根据电动机的运转和数码管的显示反复调整修改程序,直到达到要求。
调试过程中出现的问题及解决方法问题1:
程序编译时候出现各种错误。
解决方法:
我们的程序在编译时出现很多错误,下面举几个典型的例子。
第一,显示的错误是:
数码管一直出现乱码,不予显示。
在老师建议下,我们把显示程序与主程序分开后再次运行。
可还是不解决,这个问题卡了我们大量的时间,最终在许多同学帮助下,我们发现,是因为7290的特殊工作模式,其调用程序需要 16 放在指定位置以防与源程序进行冲突。
问题2:
电动机正常转动,数码管,但是按键加减速时,电机和灯都没有反应。
解决方法:
我们试着把程序一步一步走着运行,进而发现程序入口处出现错误,存在寄存器冲突和未复位情况。
问题3:
接通电源时电机会出现一会转一会儿停的情况。
解决方法:
起初我们以为是程序延迟的情况,但我们查了下并未添加造成延迟的程序。
我们仔细检查程序的每部分,也未发现任何错误。
最终我们分析整个电机转动原理,才明白我们的一个周期设定的过长,导致方波控制电机的缺陷显现出来,过长的周期会导致有较长时间段端口一直处于低电平,电机自然就会停止一段时间,后来我们将周期缩短,解决了问题。
调试结果图 图启动 当按下总开关,电机开始运行,初值的占空比为百分之五十,显示如上图。
17 图减速 每次按下减速键占空比显示会相应减1,图上为按下27次减速图。
图加速 我每次按下加速键占空比显示会相应加1,图上为按下17次加速图。
6小结与体会 为期一周半的单片机课程设计圆满地画
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 扬州 大学 单片机 直流电机 控制 调速 硬件