控制小直流电机转速微机原理课程设计[文档在线提供]
小直流电机调速实验课程设计

小直流电机调速实验课程设计说明书单片机原理与接口技术专业电气工程及其自动化学生姓名王岩班级B电气072学号0710601229指导教师陆广平完成日期2010年12 月27 日目录一理论部分 ............................................................................................................ 错误!未定义书签。
1课题要求与内容 (3)2 系统方案设计 (3)3 系统硬件的设计 (2)4 系统软件设计 (4)二实践部分 (7)1 系统硬件原理简介 (7)2 系统硬件调试中出现的问题及解决措施 (7)3 系统软件 (7)3.1 软件设计 (7)3.2软件调试中出现的问题及解决措施 (7)三附录 (8)一理论部分理论设计课题名称:小直流电机调速实验。
1课题要求与内容掌握单片机数控直流电机的速度,利用DAC0832芯片进行数/模控制,输出的电压经放大后驱动小直流电机的速度进行数字量调节对基于小直流电机调速系统进行设计。
所设计的系统功能为:以MCS-51系列单片机作为控制核心,利用DAC0832芯片进行数/模控制,输出的电压经放大后驱动小直流电机的速度进行数字量调节,掌握单片机数控直流电机的速度。
键盘输入采用阵列式输入,用4*4的键盘形式,这样可以有效的减少对单片机I/O口的占用。
2 系统方案设计根据设计内容要求:图1系统总体框图通过4*4的键盘向DAC0832的DI0~DI7 (8位数字信号输入端)输入信号,使得DAC0832的Iout1和Iout2(电流输出线)后,经反相放大器和三极管输出电压信号,从而实现直流电机调速。
图2 系统原理图I C 013 系统硬件的设计直流电机调速系统原理图2所示系统由控制模块,输入模块,电源模块。
3.1控制模块如图3STC12C5A16S2单片机我选用的是,其优点是:高速,低功耗,超强抗干扰的新一代8051单片机,指令代码完全兼容以前的8051,但速度快了10倍。
单片机课设PWM控制微型直流电机调速、正反转、启停

永磁直流电动机划分:稀土永磁直流电动机、铁氧体永磁直流电动机和铝镍钴永磁直流电动机。稀土永磁直流电动机:体积小且性能更好,但价格昂贵,主要用于航天、计算机、井下仪器等;铁氧体永磁直流电动机:由铁氧体材料制成的磁极体,廉价,且性能良好,广泛用于家用电器、汽车、玩具、电动工具等领域;铝镍钴永磁直流电动机:需要消耗大量的贵重金属、价格较高,但对高温的适应性好,用于环境温度较高或对电动机的温度稳定性要求较高的场合。
1.2
任务:1.通过单片机产生可调的PWM信号驱动微型直流电机;
2.通过按钮可控制电机启停、正反转以及加减速;
3.显示电机的工作状态以及速度档位。
要求:进行控制系统硬件电路设计,编写程序、画出电路原理图、利用proteus进行仿真。
1.3
硬件:keil和proteus软件、PC机一台
开发语言:C语言
对51系列单片机来说,最小系统一般应该包括:单片机、复位电路、晶振电路。 复位电路:使用了独立式键盘,单片机的P1口键盘的接口。考虑到对控制功能的扩展,本设计使用了6路独立式键盘。复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,晶振电路用30PF的电容和一个12M晶体振荡器组成为整个电路提供时钟频率。89C51单片机的时钟信号通常用两种电路形式电路得到:内部震荡方式和外部中断方式。在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。其电容值一般在5~30pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多。内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。复位及时钟振荡电路如图3.2.1所示。
小功率直流电机控制器(课程设计)

电子技术综合训练设计报告题目:小功率直流电机控制器设计与制作姓名:学号:班级:同组成员:指导老师:日期:直流电机以其优良的性能应用于当代社会的各行各业中,而直流电机控制器的优劣直接影响了直流电机的使用。
对于小功率直流电机控制器,应能实现对电机的正反转控制和无级调速控制。
用H桥可实现电机的正、反转控制。
通过对多谐振荡器的占空比调节产生PWM波形,用PWM方式实现对电机的无级调速控制。
为方便使用,在控制器中增加了测速系统。
利用光电转换装置将电机转速转换为脉冲电信号,用计数器对采集到的脉冲电信号进行计量,最后用寄存器对输出信号锁存并加译码器和数码管进行译码显示。
整个设计利用Multisim软件进行仿真测试,最后进行电路板的焊接与调试。
关键词:直流电机控制器 H桥 PWM控制转速检测1 设计任务和要求 (4)1.1 设计任务 (4)1.2 设计要求 (4)2 系统设计 (4)2.1 系统要求 (4)2.2 方案设计 (4)2.3 系统工作原理 (4)3 单元设计 (5)3.1 电源模块 (5)3.1.1电路结构与工作原理 (5)3.1.2电路仿真 (6)3.1.3元器件的选择与参数确定 (6)3.2 PWM调速模块 (6)3.2.1电路结构与工作原理 (6)3.2.2电路仿真 (8)3.2.3元器件的选择与参数确定 (9)3.3 H桥模块 (10)3.3.1电路结构与工作原理 (10)3.3.2电路仿真 (11)3.3.3元器件的选择与参数确定 (12)3.4 光电转换模块 (12)3.4.1电路结构与工作原理 (12)3.3.2元器件的选择与参数确定 (13)3.5 测速模块 (13)3.5.1 总体电路结构与工作原理 (13)3.5.2 部分电路设计与仿真 (14)4 系统仿真 (21)4.1 控制器系统总图与仿真 (21)4.2 测速系统总图与仿真 (22)5 电路安装、调试与测试 (25)5.1 电路安装 (25)5.2 电路调试 (25)5.3 系统功能与性能测试 (25)5.3.1测试方法设计 (25)5.3.2测试结果与分析 (25)6 结论 (27)7总结、体会和建议 (28)8参考文献 (29)附录1 元件清单 (30)附录2 部分芯片引脚图 (31)一、设计任务和要求1.1 设计任务设计并制作一个小功率直流电机控制器,能够实现对小功率直流电机的控制,并能够对电机的转速进行测量和显示。
微机课程设计——电机的控制 课程设计

微机课程设计——电机的控制一、项目设计内容与要求1.设计内容利用电机平台上的步进电机和直流电机,实现步进电机的转角控制和直流电机速度的控制。
2.设计要求(1)步进电机的转角控制可以通过调整电机的转过的步数来实现。
一次转过的步数和方向可用按键设定。
还可以用按键控制步进电机一步一步的转动,要分正反转。
转过的步数要显示在发光二极管上。
(2)直流电机的转速是根据用数模转换电路的输入数据变化,要求用发光二极管显示转速数据值。
(3)可以用按键或开关输入相应的转速控制数据。
二、电路连接图三、各模块的设计1.键盘模块本程序的键盘功能的设计采用扫描法实现,各个键的键值由扫描法得到。
各个键的键值如下表所示:程序流程图:2.直流电机的转速控制模块设计思路:直流电机的转速是根据用数模转换电路的输入数据变化,可以把键盘按下的数字键的键值送入数模转换电路(DAC0832的208H),按下不同的按键就实现转速的控制。
要求用发光二极管显示转速数据值,可以直接把按键的键值送B口显示,本程序把旧键值左移四位送CH,新键值BH加上CH存BH并送发光二极管显示,再送数字进208口处理.此模块实现的功能也即数字键要处理的功能,作为键盘模块的子程序使用。
程序流程图:3. 步进电机控制模块设计思路:本设计采用的是四相步进电机,步进电机用直流+12V电压,每项电流为0.20A,电机线圈由A、B、C、D四相组成。
驱动方式为四相单四拍方式,按A→B→C→D→A次序通电为正转;按A→D→C →B→A次序通电为反转。
正向单步转可用一个寄存器来标志给哪相通电,如CL=0,A通电;CL=1,B通电;CL=2,C通电;CL=3,D通电。
反转单步走则类似。
这个模块作为键盘主程序的子程序使用,使用键盘的第三行为功能键,操作步进电机的正反转,数字键送入NUM的值则控制电机的步数。
功能键说明:“+”控制步进电机正向转NUM步“-“控制步进电机反向转NUM步“,”控制步进电机正向单步走“.”控制步进电机反向单步走正向走NUM步的程序流程图:(反向走NUM步的省略)正向单步走程序流程图:(反向单步的省略)四、源程序代码:CODE SEGMENTASSUME CS:CODE,DS:CODESTART: MOV CH,00h ;键值左移4位存CH用,先初始化MOV CL,00h ;控制步进电机单步走用作标志MOV DX,203H ;置8255A控制口地址MOV AL,90H ;A口输入,C口输出OUT DX,ALLOOP1: MOV DX,202H ;8255A的C口MOV AH,00000110BMOV AL,00000110B ;键盘第一行OUT DX,ALMOV DX,200h ;8255A的A口IN AL,DX ;获取列码CMP AL,0FFHJNE LOOP2 ;有键按下MOV DX,202H ;列码全1无键按下扫描第二行MOV AH,00000101BMOV AL,00000101BOUT DX,ALMOV DX,200hIN AL,DXCMP AL,0FFHJNE LOOP2MOV DX,202H ;第三行MOV AH,00000011BMOV AL,00000011BOUT DX,ALMOV DX,200hIN AL,DXCMP AL,0FFHJNE LOOP2JMP LOOP1LOOP2: CALL Delay ;消除抖动IN AL,DXCMP AL,0FFHJE LOOP1MOV BL,0FEH ;确定有键按下则求列值MOV BH,0 ;BH存键值LOOP3: CMP AL,BL ;扫描列值JE ONECMP BH,7 ;所有列码都扫描完JE LOOP1 ;重新检测按键INC BHROL BL,1 ;列码循环左移一位JMP LOOP3ONE:CMP AH,00000110B ;第一行按键JE ONE2CMP AH,00000101B ;第二行按键JE TWO2CMP AH,00000011B ;第三行功能键JE THREE2CALL JUMPJMP wait1ONE2:CALL First ;调用第一行处理程序JMP wait1TWO2: CALL Second ;调用第二行处理程序JMP wait1THREE2:CALL Third ;调用第三行处理程序wait1: MOV DX,200hwait2: IN AL,DXCMP AL,0FFhJNE wait2 ;等待按键JMP LOOP1ORG 200HNUM DB ? ;存步进电机步数First PROC NEARMOV DX,203H ; 开控制口MOV AL,90h ;A口输入,C口输出OUT DX,ALCMP CH,0 ;第一次执行按键JZ CH0 ;ADD BH,CH ;显示八位,CH0: MOV DX,201H ;B口MOV AL,BH ;键值送ALOUT DX,AL ;在二极管上显示BH即输入的键值MOV DX,208H ;打开D/AOUT DX,AL ;控制直流电机转速MOV NUM,AL ;步进电机转的步数MOV CL,4SAL BH,CL; BH值左移四位MOV CH,BH ;BH值送CHMOV CL,0 ;CL清零,不影响步进电机单步走RETFirst ENDPSecond PROC NEARADD BH,8h ;扫描第二行MOV DX,203HMOV AL,90hOUT DX,ALCMP CH,0 ;JZ CH1ADD BH,CHCH1: MOV DX,201H ;8255A的B口输出MOV AL,BHOUT DX,AL ;输出键盘的值MOV DX,208HOUT DX,ALMOV NUM,AL ;步进电机步数MOV CL,4SAL BH,CL ;左移4位MOV CH,BHMOV CL,0RETSecond ENDPThird PROC NEARADD BH,10H ;扫描第三行MOV DX,203H ;设置方式控制字MOV AL,90HOUT DX,ALMOV DX,201H ;二极管显示为全0;B口MOV AL,00h ;OUT DX,ALCMP BH,13H ;比较键值13H为”+”JZ DONE2;正转CMP BH,12H ;12H为”-”JZ DONE3;反转CMP BH,11H ;11H为”,”JZ DONE4;正向一步一步转CMP BH,10H ;10H 为”.”JZ DONE5 ;反向一步一步转RETThird ENDPDONE2: CALL PROGRAM1DONE3:CALL PROGRAM2DONE4:CALL PROGRAM3DONE5:CALL PROGRAM4Delay PROC NEAR ; 键盘延时子程序PUSH CXMOV CX,1800HNEXT: DEC CXJNE NEXTPOP CXRETDelay ENDPDelay2 PROC NEAR ;电机延时子程序PUSH CXMOV CX,5000HNEXT2: DEC CXJNE NEXT2POP CXRETDelay2 ENDPJUMP PROC NEARRETJUMP ENDPPROGRAM1 PROC NEAR ;正向连续转PUSH CXMOV DX,203HMOV AL,90HOUT DX,ALMOV DX,202H; C口MOV CL,NUM ;电机步数ZHENG: MOV AL,10H ;正向OUT DX,AL ;给A相通电CALL Delay2DEC CL ;计算已进步数JZ DONE1 ;步数已完成,返回MOV AL,20H ;输出第二拍模型OUT DX,AL ;给B相通电CALL Delay2 ;延迟;DEC CLJZ DONE1MOV AL,40H ;输出第三拍模型OUT DX,AL ;给C相通电CALL Delay2DEC CLJZ DONE1MOV AL,80H ;输出第四拍OUT DX,AL ;给D相通电CALL Delay2DEC CLJZ DONE1MOV AL,10H ;回到原点OUT DX,ALCALL Delay2DEC CLJNZ ZHENG ;ABCDA循环通电JMP LOOP1POP CXRETPROGRAM1 ENDPDONE1:JMP LOOP1PROGRAM2 PROC NEAR ;反向连续转PUSH CXMOV DX,203HMOV AL,90HOUT DX,ALMOV DX,202H ;C口MOV CL,NUM ;设置转的步数FAN: MOV AL,10H ;反向转动OUT DX,AL ;给A通电CALL Delay2DEC CLJZ DONE1MOV AL,80H ;给D通电OUT DX,ALCALL Delay2DEC CLJZ DONE1MOV AL,40H ;给C通电OUT DX,ALCALL Delay2DEC CLJZ DONE1MOV AL,20H ;给B通电OUT DX,ALCALL Delay2DEC CLJZ DONE1MOV AL,10H ;给A通电OUT DX,ALCALL Delay2DEC CLJNZ FAN ;ADCBA通电JMP LOOP1POP CXRETPROGRAM2 ENDPPROGRAM3 PROC NEAR ;正向单步走MOV DX,203HMOV AL,90HOUT DX,ALMOV DX,202H ;C口CMP CL,00H ;第一次按,给A通电转一步JZ AA1;CMP CL,01H ;CL=1,B通电JZ BB1CMP CL,02H ;CL=2,C通电JZ CC1CMP CL,03H ;CL=3,D通电JZ DD1JMP LOOP1 ;检测键盘AA1: MOV AL,10HOUT DX,ALCALL Delay2INC CL ;自动加一,CL为01HJNZ DONEBB1: MOV AL,20HOUT DX,ALCALL Delay2INC CLJNZ DONECC1: MOV AL,40HOUT DX,ALCALL Delay2INC CLJNZ DONEDD1: MOV AL,80HOUT DX,ALCALL Delay2MOV CL,00H;JZ DONEJMP LOOP1 PROGRAM3 ENDPPROGRAM4 PROC NEAR ;反向单步走MOV DX,203HMOV AL,90HOUT DX,ALMOV DX,202H;MOV CL,0CMP CL,00H ;CL=0,A通电JZ AA2CMP CL,01H ;CL=1,D通电JZ DD2CMP CL,02H ;CL=2,C 通电JZ CC2CMP CL,03H ;CL=3,B 通电JZ BB2JMP LOOP1 ;检测键盘AA2: MOV AL,10HOUT DX,ALCALL Delay2INC CLJNZ DONEDD2: MOV AL,80HOUT DX,ALCALL Delay2INC CLJNZ DONECC2: MOV AL,40HOUT DX,ALCALL Delay2INC CLJNZ DONEBB2: MOV AL,20HOUT DX,ALCALL Delay2MOV CL,00H ;CL重新置0;JZ DONEJMP LOOP1PROGRAM4 ENDPDONE: JMP LOOP1 ;扫描键盘CODE ENDSEND START五、设计的问题及难点刚开始在实现键盘扫描功能时遇到比较多的问题,如怎么根据行码和列码来判断到底是哪个键被按下,以及键值该如何处理,数字键和功能键又怎么区分等等,在询问同学和老师的过程中了解到了实现的一些方法。
直流电机控制课程设计

直流电机控制课程设计一、课程目标知识目标:1. 学生能理解直流电机的工作原理,掌握直流电机的基本结构及其功能。
2. 学生能掌握直流电机控制的基本方法,包括启动、调速、制动等。
3. 学生能了解并描述直流电机在自动化控制中的应用。
技能目标:1. 学生能运用所学知识,进行简单的直流电机控制电路的设计与搭建。
2. 学生能通过实际操作,熟练使用相关仪器设备进行直流电机控制实验。
3. 学生能通过实验数据分析,解决直流电机控制过程中出现的问题。
情感态度价值观目标:1. 学生对直流电机控制技术产生兴趣,培养探究精神和创新意识。
2. 学生在小组合作中,培养团队协作能力和沟通表达能力。
3. 学生关注直流电机控制技术在现实生活中的应用,增强学以致用的意识。
分析课程性质、学生特点和教学要求:1. 本课程为工程技术类课程,注重理论与实践相结合,强调学生的动手能力。
2. 学生为初中年级学生,具备一定的物理基础和动手操作能力,但对复杂电路和控制原理理解有限。
3. 教学要求以学生为主体,注重启发式教学,引导学生主动探究和解决问题。
二、教学内容1. 直流电机的工作原理与结构- 直流电机的组成及其功能- 直流电机的工作原理- 直流电机的类型及特点2. 直流电机控制方法- 直流电机的启动方法- 直流电机的调速方法- 直流电机的制动方法3. 直流电机控制电路设计与搭建- 控制电路元件的识别与选用- 控制电路的设计原理与步骤- 控制电路的搭建与调试4. 直流电机控制实验- 实验设备的使用与操作- 实验步骤与方法- 实验数据的收集与分析5. 直流电机控制技术应用- 直流电机控制技术在现实生活中的应用案例- 直流电机控制技术的未来发展教学内容安排与进度:第一课时:直流电机的工作原理与结构第二课时:直流电机控制方法第三课时:直流电机控制电路设计与搭建第四课时:直流电机控制实验第五课时:直流电机控制技术应用教材章节关联:教学内容与教材第二章“直流电机的原理与应用”相关联,涵盖直流电机的基本概念、原理、控制方法及其在实际中的应用。
微机原理及应用课程设计说明书微型直流电机调速系统设计

微机原理及应用课程设计说明书设计题目:微型直流电机调速系统设计、系统功能要求分析1二、方案设计及其说明 (2)三、原理线路设计 (3)1.原理线路2.工作原理说明3.操作时序分析4.特点说明四、程序设计 (4)1.程序结构及流程2.程序算法分析3.关键程序段说明4.源程序清单五、....................................................... 系统调试及结论. (5)1.调试方法2.重点问题及解决方法3.运行结果及结论六、设计体会 (6)参考文献 (7)、系统功能要求分析此设计要求利用实验装置,设计一个直流电机控制系统的原理线路,编制应用程序,实现直流电机转速控制的功能,并且进一步可增加转速测量的功能。
系统功能具体要求及分析如下:(1)开始运行,电机停止:未按任何键之前,设定初值,使经DA0832转换后的电流为零,电机不转。
(2)按档调速功能:直流电机可有三个转速,分为一、二、三档,其中按下按键“一”电机在低速档运行;按下按键“二”电机在中速档运行;按下按键“三”电机在高速档运行。
(3)连续调速功能:按下“加速”键,编程控制DA0832输入数字量累加,直流电机可在原速基础上升速;按下“减速” 键,编程控制DA0832输入数字量自减,直流电机可相对原速减速。
(4)停止功能:设有停止键,控制电机的停止运行。
调节电位器改变DA0832 的基准电压,使得初值00H对应的输出电流为0,从而电机停止运行。
(5)改变转向功能:原理上,调节DAC0832勺基准电压,使得某一中间值对应转速为零,则在输入数字量大于此值时为正电压,电机正转;再输入数字量小于此值时为负电压,电极反转。
(6)测速功能:在一定时间内对霍尔元件产生的脉冲数计数,从而求得电机转速,并在数码管显示。
二、方案设计及其说明(一)硬件设计在硬件上,所用到的芯片主要有:CPU8086并行通信接口芯片8255A、可编程定时计数芯片8253、可编程中断控制器8259A以及键盘扫描显示芯片8279。
8086微机应用DAC0832控制小直流电机转速的设计

课程设计任务书2009~2010学年第1学期一、设计题目8086微机应用DAC0832控制小直流电机转速的设计二、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。
通过本课程设计,使学生初步了解8086系列微机系统的硬件设备,学会8086系列编程指令的基本功能。
三、设计内容与要求1、内容采用8086CPU构建微机系统,扩展4K EPROM和2K静态RAM作为存储系统,采用最小模式,利用DAC0832,编制程序输出双极性模拟电压驱动小直流电机,使电机能以不同转速正反向运行。
2、设计要求(1)、查阅文献资料,了解DAC0832双极性电压输出控制原理,并在报告书中综述之。
(2)、设计系统的硬件连接原理图,对原理图加以说明。
(3)、画出程序框图,并说明。
(4)、编写应用程序,并注解程序。
(5)、提交课程设计说明书。
四、设计资料与参数1、电机转速由8个按钮开关以补码形式给定输入,并以发光二极管形式显示出来。
电机的转速变化范围为反向500 rpm~正向500rpm;2、DAC0832双极性电压输出控制原理,控制小直流电机以不同转速运行。
3、小直流电机额定电压为5V。
电源:5V由外部提供。
五、设计前准备DAC0832双极性电压输出控制原理自学DAC0832 是电流形式输出,当需要电压形式输出时,必须外接运算放大器。
根据输出电压的极性不同,DAC0832 又可分为单极性输出和双极性输出两种输出方式。
(1) 单极性输出。
DAC0832 的单极性输出电路如图一所示。
VREF 可以接±5V 或±10V 参考电压,当接+5V 时,输出电压范围是0V~-5V;当接-5V 时,输出电压范围是0V~+5V;当接+10V 时,输出电压范围是0V~-10V ;当接-10V 时,输出电压范围是0V~+10V。
若输入数字为0~255 ,则输出为:Uout =-VREF×D/256。
式中D为输入DAC0832的十进制数,因为转换结果Ioutl 接运算放大器的反相端,所以,式中有一个负号。
课程设计(论文)_小功率直流电机的测速和控制

小功率直流电机的测速和控制[摘要] 本设计采用两片MCU(AT89S52),完成了小型直流电机转速的采集、计算、显示、键盘设定,并将非均匀采样情况下的增量式积分分离PID控制算法应用于直流电机的PWM调速,实现了对电机转速的测量和控制,解决了通常低采样周期时系统的超调以及PID算法的积分饱和问题。
[关键词]转速PID控制mcu AT89S52 PWM目前见到的许多关于直流电机的测速与控制类文献中,虽然能实现直流电机的无级调速,但还存在一些问题,如无法与计算机直接接口,许多较为复杂的控制算法无法在不增加硬件成本的情况下实现,控制器的人机界面不理想。
总的来讲,控制器的智能化程度不高,可移植性差。
虽然采用PWM芯片来实现电机无级调速的方案成本较低,但当控制器针对不同的应用场合增加多种附加功能时,其灵活性不够,而且反而增加硬件的成本[5]。
还有一些使用PLC控制器或高档处理器芯片(如DSP器件)的文献,它们虽然具有较高的控制性能,但由于这些高档处理器价格过高,需要更多的外围器件,因此也不具备在通常情况下大规模使用的条件。
从发展趋势上看,总体的研究方向是提出质量更高的算法和调速方案,以及在考虑成本要求的前提下选择适合这种算法的核心控制器。
1设计方案论证根据设计任务,要求调速采用PID控制器,因此需要设计一个闭环直流电机控制系统。
该系统采用脉宽调速,使电机速度等于设定值,并且实时显示电极的转速值。
通过对设计功能分解,设计方案论证可以分为:系统结构方案论证,速度测量方案论证,电机驱动方案论证,键盘显示方案论证,PWM软件实现方案论证。
1.1系统结构方案论证方案一:采用一片单片机(AT89S52)完成系统所有测量、控制运算,并输出PWM控制信号。
方案二:采用两片单片机(AT89S52),其中一片做成PID控制器,专门进行PID运算和PWM 控制信号输出;另一片则系统主芯片,完成电机速度的键盘设定、测量、显示,并向PID控制器提供设定值和测量值,设定PID控制器的控制速度等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书2009~2010学年第1学期学院: 信息科学与工程学院专业年级: 自动化075班课程: 微机原理与应用指导教师: 柴琳学号:200704134117姓名:王强一、设计题目8086微机应用DAC0832控制小直流电机转速的设计二、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。
通过本课程设计,使学生初步了解8086系列微机系统的硬件设备,学会8086系列编程指令的基本功能。
三、设计内容与要求1、内容采用8086CPU构建微机系统,扩展4K EPROM和2K静态RAM作为存储系统,采用最小模式,利用DAC0832,编制程序输出双极性模拟电压驱动小直流电机,使电机能以不同转速正反向运行。
2、设计要求(1)、查阅文献资料,了解DAC0832双极性电压输出控制原理,并在报告书中综述之。
(2)、设计系统的硬件连接原理图,对原理图加以说明。
(3)、画出程序框图,并说明。
(4)、编写应用程序,并注解程序。
(5)、提交课程设计说明书。
四、设计资料与参数1、电机转速由8个按钮开关以补码形式给定输入,并以发光二极管形式显示出来。
电机的转速变化范围为反向500 rpm~正向500rpm;2、DAC0832双极性电压输出控制原理,控制小直流电机以不同转速运行。
3、小直流电机额定电压为5V。
电源:5V由外部提供。
五、设计前准备DAC0832双极性电压输出控制原理自学DAC0832 是电流形式输出,当需要电压形式输出时,必须外接运算放大器。
根据输出电压的极性不同,DAC0832 又可分为单极性输出和双极性输出两种输出方式。
(1) 单极性输出。
DAC0832 的单极性输出电路如图一所示。
VREF 可以接±5V 或±10V 参考电压,当接+5V 时,输出电压范围是0V~-5V;当接-5V 时,输出电压范围是0V~+5V;当接+10V 时,输出电压范围是0V~-10V ;当接-10V 时,输出电压范围是0V~+10V。
若输入数字为0~255 ,则输出为:Uout =-VREF×D/256。
式中D为输入DAC0832的十进制数,因为转换结果Ioutl 接运算放大器的反相端,所以,式中有一个负号。
若VREF=+5V,输入数字为:0~255 时,V out =-(0~4.98)V。
图一DAC0832的单极性输出(2) 双极性输出。
即在单极性电压输出的基础上,在输出端再加一级运算放大器,就构成了双极性电压输出。
通过运放A2将单向输出转变为双向输出。
由VREF 为A2运放提供一个偏移电流,该电流方向应与A1输出电流方向相反,且选择R1=R3=2R2。
使得由VREF引入的偏移电流恰为A1输出电流的1/2。
因而A2的运放输出将在A1运放输出的基础上产生位移。
双极性输出电压与VREF及A1运放输出V1的关系是:Uout = -(2U1+ VREF)。
DAC0832 的双极性输出电路如图二所示。
根据前面单极性输出表达式U1 =-VREF×D/256,故Uout = -(2U1+ VREF) = VREF×D/128-VREF图二 DAC0832的双极性输出在本次设计中,VREF 取+5V ,采用DAC0832的双极性输出。
六、总体设计本次设计总体上可分为硬件设计部分与软件的编写部分,其中硬件部分又可细分为CPU 组态的选择与连接;储存单元的地址分配,译码与线路连接;控制信号的产生;数据输入输出的接口设计;DAC0832的连接等。
软件编写时又可分为数据的读取,数据处理以及数据输出三大部分。
设计的整体框架如图三所示:图三 设计的整体框架图总体设 计硬件设计软件设计CPU 组态的选择与连接 控制信号的产生储存单元的地址分配,译码 数据输入输出的接口设计 数据输入数据处理 数据输出DAC0832的连接七、详细设计—硬件部分1.8086最小组态的连接本次设计中,8086CPU采用最小组态的连接,由一片8086CPU芯片,一片时钟发生器芯片8284,3片地址锁存器芯片74LS373,一片双向总线驱动器芯片74LS245组成。
如图四所示:其中,8284是专门为8086CPU提供时钟的,其频率由外接的石英晶体来决定,同时8284还提供给8086CPU复位的功能,其复位开关由RC放电电路连接8086CPU的低八位地址线与数据线公用,故在工作时必先将地址信号锁存,否则地址信号必然丢失。
在74LS373中,将其/OE端接地,表示输出允许;LE 端接8086CPU的ALE控制信号,配合完成地址锁存。
3片74LS373的20个输出管脚组成了地址总线,与其他设备连接。
74LS245为双向总线驱动芯片,其类似于在8086CPU数据端与数据总线加了一道单向通行的门,其开通与否及方向有8086CPU的/DEN及DT//R信号控制。
该芯片一端连接CPU,另一端连接数据总线。
除了数据总线及地址总线外,8086CPU最小组态还应引出控制总线,不过在本次设计中所实现的功能很简单,故只用引出/RD,/WR,IO//M三根控制线。
2.控制信号的相应处理在实际的运用中,我们一般会较形象的运用/MEMR,/MEMW,/IOR,/IOW 这四种控制信号,故需要一定的物理电路来实现逻辑变换,将从CPU引出的/RD,/WR,IO//M三个控制信号变为/MEMR,/MEMW,/IOR,/IOW,相应电路图如图五所示:RD32AD016LOC/WR 29AD115QS0ALE 25AD214QS1INA 24AD313AD412S0,DEN 26AD511S1DT/R 27AD610S2M /IO 28AD79AD88RQ/GT031AD97RQ/GT130AD106AD115AD124NMI 17AD133INTR 18AD142AD1539M N/M X 33TEST 23A16/S338READY22A17/S437A18/S536A19/S635CLK 19RESET21BHE/S734U18086F/C 13READY 5EFI 14CLK 8CSYNC 1PCLK 2ASYNC15OSC 12RESET10X117X216RDY14RDY26AEN13RES11AEN27U28284A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E 19DIR1U374LS245D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE 1LE 11U474LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE 1LE11U574LS373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE 1LE 11U674LS373U715M Hz10K+10uF地址总线数据总线124VCC数据总线地址总线RDIO/MWRRDWR12AIO/M图四 8086最小组态连接图123U1A74LS00456U1B74LS008910U1C74LS00111213U1D74LS0012U2A34U2B56U2C89U2D1011U2E1213U2FRDIO/MWRIORM EM RIOWM EM WIORMEMRIOWMEMW1234RDIO/MWR图五 四个控制信号的产生图3. 储存单元的地址分配,译码存储单元连接图如图六所示,/MEMR ,/MEMW 信号作用于2K RAM 完成对其的读写操作,/MEMR 作用于4K ROM 完成对其的读操作。
2K RAM 有11根地址线,4K ROM 有12根地址线。
通过138译码器来产生片选信号,同时留出两个地址空间/PS0和/PS1用作I/O 设备的地址,/PS0用作写I/O 设备的地址,/PS1用作读/O 设备的地址。
地址分配的详情如下表所示:A15 A14A13 A12 A11A10~A0 一个可用地址2K RAM PS0 PS1 4K ROM1 1 1 1 1 1 1 10 0 0 0 0 1 0 1 0 1 1 ×全0~全1 全0~全1 全0~全1 全0~全1C000H ~C7FFH C800H ~CFFFH D000H ~D7FFH F000H ~FFFFH其中需要注意的是,A19到A16四根地址线未参与译码,故给出的地址都只是物理地址的后16位(本应有20位物理地址),同时CPU 重启后是从FFFF0H 这个地址开始读程序的,故储存程序的4K ROM 的地址范围一定要包含这一地址即低16位地址应有FFF0H 。
在该储存单元中应为一跳转指令,跳到程序首部地址A08A17A26A35A44A53A62A71A823A922A1019E18G 20W 21D09D110D211D313D414D515D616D717U16116A08A17A26A35A44A53A62A71A823A922A1019A1121CE18OE/VPP20D09D110D211D313D414D515D616D717U22732地址总线地址总线A10--A0A11--A0数据总线数据总线2K RAM 4K ROMM EM RM EM WMEMRMEMWA 1B 2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U374LS138A11A12A13A14A15A15--A11123PS0PS 0124PS1PS 1123图六 存储单元连接图4. DAC0832的连接DAC0832的连接图如图七所示,其采用单缓冲双极性输出,其I/O 端口地址为/PS0,参照前面的地址分配表,/PS0的地址空间为C800H ~CFFFH ,为了方便后面编程,可令/PS0地址为C800H本次设计中DAC0832的单缓冲工作方式是使输入寄存器和DAS 寄存器同时处于受控的锁存器状态,分别受到地址选中信号/PS0和外设写信号/IOW 的控制。
DAC0832的输入数据线直接与数据总线相连,DAC0832的双极性输出可参看前面所述V c c20Iou t111lsb DI07Iou t212DI16DI25Rfb 9DI34DI416Vref8DI515DI614m sbDI713ILE 19WR218CS 1WR12Xfer 17U1DAC0832PS0IOWPS 0IOW数据总线数据总线2RR2R 542A542AUout124Motor+5V图七 DAC0832单缓冲双极性输出图5. 数据输入接口设计系统通过读取8个开关的状态从而读取数据,为防止直接接入数据总线给DAC0832工作带来影响,在开关与数据总线之间加入了数据输入三态缓冲器74LS244,如图八所示:其输出端直接与数据总线相连,输入端连接在带有开关的电路中。