单片机汇编语言实现小型直流电机的控制.docx
《单片机汇编语言实现小型直流电机的控制.docx》由会员分享,可在线阅读,更多相关《单片机汇编语言实现小型直流电机的控制.docx(18页珍藏版)》请在冰豆网上搜索。
单片机汇编语言实现小型直流电机的控制
徐州师范大学科文学院
本科生课程设计
课程名称:
单片机原理及应用
题目:
直流电机调速系统
专业班级:
科文11z电气
学生姓名:
李晴
学生学号:
118320025
日期:
2013.4.22-5.10(9-11周)
指导教师:
包建华、张兴奎、赵明伟
实习(设计)科目
单片机原理及应用
实习设计指导老师
包建华、张兴奎、赵明伟
实习设计小组成员
李晴、杜浩、董振国
一、课程设计目的、任务和内容要求:
在工业生产中,大量采用电动机作为原动机去拖动各种生产机械。
这些生产机械要求在不同工作情况下以不同的速度工作,这就要求采用一定的方法改变生产机械的工作速度,最常用的方法是对电动机转速进行调节。
改变直流电动机的电枢电压或交流电动机的定子电压,都可以在一定范围内调整它们的速度。
在电压允许范围内,直流电动机的转速随着电压的升高而加快。
直流电动机转动方向则是由电压的正负来控制的,电压为正则正转,电压为负则反转。
利用DAC0832编制程序输出一串脉冲,经过放大后驱动小型直流电机。
改变输出脉冲的电平和持续时间,达到使电机的正转、反转、加速、减速之目的。
设计中可通过MCS-51单片机的P1口读入8个开关状态来控制直流电机的转动,实现正转四种转速和反转四种转速。
具体设计任务如下:
1.了解小型直流电机转速控制系统的工作原理和作用;
2.写出小型直流电机转速控制系统的设计方案;
3.用51单片机编写代码加以实现;
4.写课程设计报告。
二、进度安排:
单片机系统实训的时间安排在第9至11周。
第1至2天:
选择课题,论证设计方案;
第3至5天:
原理设计,原理仿真、修改;
第6至8天:
购买元器件;
第9至13天:
安装和调试:
分步安装、焊接、调试,电路修改,总调;
第14至15天:
结构设计(有外壳要求);
第16至19天:
撰写电子综合设计报告;
第20至21天:
综合设计验收、答辩。
绪论.........................................................................................................................................................6
2.1.1关于89C52...........................................................................................................8
2.1.2关于DAC0832......................................................................................................8
2.2.1系统电路图...........................................................................................................8
3.1.1流程图...............................................................................................................10
3.1.2程序...................................................................................................................11
摘要
在工业生产中,大量采用电动机作为原动机去拖动各种生产机械。
这些生产机械要求在不同工作情况下以不同的速度工作,这就要求采用一定的方法改变生产机械的工作速度,最常用的方法是对电动机转速进行调节。
改变直流电动机的电枢电压或交流电动机的定子电压,都可以在一定范围内调整它们的速度。
在电压允许范围内,直流电动机的转速随着电压的升高而加快。
直流电动机转动方向则是由电压的正负来控制的,电压为正则正转,电压为负则反转。
利用DAC0832编制程序输出一串脉冲,经过放大后驱动小型直流电机。
改变输出脉冲的电平和持续时间,达到使电机的正转、反转、加速、减速之目的。
设计中可通过MCS-51单片机的P1口读入8个开关状态来控制直流电机的转动,实现正转四种转速和反转四种转速。
Abstract
Inindustrialproduction,alargenumberofthemotorastheprimemovertodriveallkindsofproductionmachinery.Theseproductionmachineryrequirementsindifferentworkingsituationindifferentspeedwork,whichrequirestheadoptionofacertainmethodchangestheproductionmachineryworkspeed,themostcommonwayistoregulatethemotorspeed.Changeofthedcmotorarmaturevoltageoracmotorstatorvoltage,canbewithinthescopeofcertainandadjusttheirspeed.Intherangeofallowablevoltage,dcmotorspeedalongwiththeriseofvoltageandspeedup.Dcmotorrotationdirectionisthepositiveandnegativevoltagetocontrol,voltageforregularrotation,voltageisnegative,reversal.
UseDAC0832programmingoutputpulsetrain,amplifieddrivesmalldcmotor.Changetheoutputpulselevelandduration,tomakethemotorareturning,inversion,acceleration,decelerationpurposes.DesigncanbethroughtheMCS-51SCMP1mouthreadineightswitchstatetocontroldcmotorrotation,realizeforwardfourkindsofspeedandreversefourspeed.
绪论
学期末的单片机实训,在实际操作中让我进一步的了解单片、学习单片机,从而更好的掌握了单片机,达到能够简单的应用单片机的目的。
在电气时代的今天,电动机一直在现代化的生产和生活中起着十分重要的作用。
无论是在工农业生产、交通运输、国防、航空航天、医疗卫生、商务与办公设备中,还是在日常生活中的家用电器中,都大量地使用着各种各样的电动机。
以前电动机大多使用由模拟电路组成的控制柜进行控制,现在单片机已经开始取代模拟电路作为电机控制器。
当前电机控制器的发展方向越来越趋于多样化和复杂化,现有的专用集成电路未必能满足苛刻的新产品开发要求,为此可考虑开发电机的新型单片机控制器。
此次实训,我们组做的是小型直流电机转速控制系统,利用DAC0832编制程序输出一串脉冲,经过放大后驱动小型直流电机。
改变输出脉冲的电平和持续时间,达到使电机的正转、反转、加速、减速之目的。
设计中可通过MCS-51单片机的P1口读入8个开关状态来控制直流电机的转动,实现正转四种转速和反转四种转速。
1.系统方案与论证
1.1基本要求
利用DAC0832编制程序输出一串脉冲,经过放大后驱动小型直流电机。
改变输出脉冲的电平和持续时间,达到使电机的正转、反转、加速、减速之目的。
设计中可通过MCS-51单片机的P1口读入8个开关状态来控制直流电机的转动,实现正转四种转速和反转四种转速。
1.2系统方案选择
1.2.1系统基本结构框
图1-1硬件电路设计框图
1.2.2方案论证与选择
以单片机为控制核心,通过常用芯片DAC0832,编制程序输出一串脉冲,经放大后驱动小型直流电动机。
DAC0832输出脉冲的占空比决定直流电动机的转速大小,正向占空比越大则电机正转越快;反向占空比越小电机转速越快。
本设计中DAC0832的模拟量输出为双极性,当输入数字量小于80H时输出为负,输入数字量等于80H时输出为0V,输入数字量大于80H时输出为正。
2.系统硬件设计
2.1.1关于89C52
89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
2.1.2关于DACO832
DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
通过MCS-51单片机P1口接8个电平开关,DAC0832采用双极性输出,经过放大电路驱动小型直流电机。
DACO832管脚图
DACO832特点:
8位分辨率;
逐次逼近式A/D转换器双通道A/D转换;
输入输出电平与TTL/CMOS相兼容;
5V电源供电时输入电压在0~5V之间;
工作频率为250KHZ,转换时间32μS;
一般功耗仅为15mW;8P、14P—DIP(双列直插)、PICC 多种封装;
商用级芯片温宽为0°C to +70°C,工业级芯片温宽为−40°C to +85°C;
芯片接口说明:
CS_片选使能,低电平芯片使能。
CH0 模拟输入通道0,或作为IN+/-使用。
CH1 模拟输入通道1,或作为IN+/-使用。
GND 芯片参考0 位(地)。
DI 数据信号输入,选择通道控制。
DO 数据信号输出,转换数据输出。
CLK 芯片时钟输入。
Vcc/REF 电源输入及参考电压输入(复用)。
ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。
通过DI 数据输入端,可以轻易的实现通道功能的选择。
2.2.1系统电路图
小型直流电机转速控制系统电路原理图
3.系统程序设计
3.1.1流程图
小型直流电动机转速控制系统程序流程图
读入开关状态
开关K1为1?
开关K2为1?
开关K3为1?
开关K4为1?
、
开关K5为1?
开关K6为1?
开关K7为1?
开关K8为1?
N
3.1.2参考程序
PORT1EQU7FFFH
ORG0000H
LJMPSTART
ORG0100H
START:
CLREA
CLREA
MOT1:
MOVDPTR,#PORT1
MOVA,#80H
MOVX@DPTR,A
MOVP1,#0FFH
MOVA,P1
JBACC.0,Z1
JBACC.1,Z2
JBACC.2,Z3
JBACC.3,Z4
JBACC.4,N1
JBACC.5,N2
JBACC.6,N3
JBACC.7,N4
LJMPMOT1
Z4:
MOVR3,#80H
MOVA,#30H
MOVR2,A
Z42:
DJNZR3,Z42
MOVA,#0FFH
MOVDPTR,#PORT1
MOVX@DPTR,A
Z43:
DJNZR2,Z43
LJMPMOT1
Z3:
MOVR3,#80H
MOVA,#40H
MOVR2,A
LJMPZ42
Z2:
MOVR3,#80H
MOVA,#60H
MOVR2,A
LJMPZ42
Z1:
MOVR3,#80H
MOVA,#80H
MOVR2,A
LJMPZ42
N1:
MOVR3,#20H
MOVA,#20H
MOVR2,A
N11:
DJNZR2,N11
MOVA,#00H
MOVDPTR,#PORT1
MOVX@DPTR,A
N12:
DJNZR3,N12
LJMPMOT1
N2:
MOVR3,#60H
MOVA,#80H
MOVR2,A
LJMPN11
N3:
MOVR3,#40H
MOVA,#80H
MOVR2,A
LJMPN11
N4:
MOVR3,#30H
MOVA,#80H
MOVR2,A
LJMPN11
LJMPSTART
END
结论
本文所述的小型直流电机转速控制系统是以DAC0832为核心的,通过单片机来实现电机转速控制,相对于其他用硬件或者硬件与软件相结合的方法实现对电机进行调整,采用此方法来实现的转速控制过程具有更大的灵活性和更低的成本,对于简易速度控制系统的实现提供了一种有效的途径。
在设计的过程中,出现了很多问题,包括硬件电路设计、程序的编写、以及电路的走线等问题,虽然问题不是很大,但是也让我们研究了好长时间,在解决这些问题的时候,我不断向老师请教和相互讨论,后来经过一点一点的调试,并认真总结,发现了问题其实在编写中断处理程序时出现了错误,修改后即可实现直流电机调速的目的。
总结这次软件调试,让我认识到了做软件调试的基本方法与流程:
(1)认真检查源代码,看是否有文字或语法错误
(2)逐段子程序进行设计,找出错误出现的部分,重点排查
(3)找到合适的方法,仔细检查程序,分步调试直到运行成功
致谢
这次单片机期末实训,凝结了很多老师的心血,在此我表示由衷的感谢。
没有老师们的帮助,我将无法顺利完成这次实训。
首先,我要特别感谢包老师在这一学期里给我们上了单片机课。
包老师渊博的知识、严谨的作风、诲人不倦的态度和学术上精益求精的精神让我受益终生。
作为一个本科生的实训设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,想要完成这个设计是难以想象的。
因此,特别需要感谢各位老师给予的耐心细致的指导,在此,再一次向全体教师以及关心帮助我的教师同学表示最诚挚的谢意!
其次,学校在这方面也给我们提供了很大的支持和帮助,学校领导比较重视,每天有专门的指导老师,帮助我们能顺利完成实训任务。
对于学校和老师为我的实训所提供的极大帮助和关心,在此我致以衷心的感谢!
最后,还要感谢我的同组同学杜浩和董振国在实训时给予我的帮助,感谢各位老师在学习期间对我的严格要求。
同时也要感谢身边朋友的热心帮助,没有你们的关心与支持,我不可能在这次实训中有如此多的收获!
这三周是我学生生涯中最有价值的一段时光,也将会成为我以后永远的美好的回忆,在这里有治学严谨而不失亲切的老师,也有互相帮助情同骨肉的同学,更有和谐、融洽的学习生活氛围,这里将是我永远向往的地方。
借此论文之际,我想向所有人表达我的最诚挚的谢意,愿我们将来都越来越好。
主要参考文献:
[1]康华光,邹寿彬.电子技术基础(数字部分)(第五版).高等教育出版社,2005
[2]李朝青.单片机原理及接口技术[M].北京航空航天大学出版社,2005
[3]朱勇.单片机原理与应用技术.清华大学出版社,2006
[4]刘海宽.单片机实验与实验教程.东南大学出版社,2009
[5]张鑫.单片机原理及应用.电子工业出版社,2010
答辩记录表
学生姓名:
李晴学号:
118320025班级:
科文11Z电气
答辩地点:
12#
答辩内容记录:
成绩评定表
学生姓名:
李晴学号:
118320025班级:
科文11Z电气
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
平时
完成情况
30
10
按时参加课程设计,无旷课、迟到、早退、违反实验室纪律等情况。
10
设计方案规范合理,设计目标明确,符合专业培养要求,时间安排得当,技术路线可靠。
10
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
报告完成情况
30
10
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理,报告整体格式规范。
10
设计方案合理、可行,论证严谨,逻辑性强;符号统一;图表完备、符合规范要求。
10
能对整个设计过程进行全面的总结,得出有价值的结论或结果;参考文献数量在3篇以上,格式符合要求,在正文中正确引用。
答辩情况
40
20
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
答辩组长:
20
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩:
分
指导教师:
(签字)
日期:
年月日