小直流电机调速控制系统设计_第1页
小直流电机调速控制系统设计_第2页
小直流电机调速控制系统设计_第3页
小直流电机调速控制系统设计_第4页
小直流电机调速控制系统设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、小直流电机调速控制系统设计一、前言(一)、单片机控制调速系统发展现状单片微型计算机的诞生是计算机发展史上的一个新的里程碑。近年来,随着技术的发展和进步,以及市场对产品功能和性能的要求不断提高,直流电动机的应用更加广泛,尤其是在智能机器人中的应用。直流电动机的起动和调速性能、过载能力强等特点显得十分重要,为了能够适应发展的要求,单闭环直流电动机的调速控制系统得到了很大的发展。而作为单片嵌入式系统的核心单片机,正朝着多功能、多选择、高速度、低功耗、低价格、大存储容量和强i/o功能等方向发展。随着计算机档次的不断提高,功能的不断完善,单片机已越来越广泛地应用在各种领域的控制、自动化、智能化等方面,特

2、别是在直流电动机的调速控制系统中。这是因为单片机具有很多优点:体积小,功能全,抗干扰能力强,可靠性高,结构合理,指令丰富,控制功能强,造价低等。所以选用单片机作为控制系统的核心以提高整个系统的可靠性和可行性。(二)、课题来源 直流电动机在冶金、矿山、化工、交通、机械、纺织、航空等领域中已经得到广泛的应用。而以往直流电动机的控制只是简单的控制,很难进行调速,不能实现智能化。如今,直流电动机的调速控制已经离不开单片机的支持,单片机应用技术的飞速发展促进了自动控制技术的发展,使人类社会步入了自动化时代,单片机应用技术与其他学科领域交叉融合,促进了学科发展和专业更新,引发了新兴交叉学科与技术的不断涌现

3、。现代科学技术的飞速发展,改变了世界,也改变了人类的生活。由于单片机的体积小、重量轻、功能强、抗干扰能力强、控制灵活、应用方便、价格低廉等特点,计算机性能的不断提高,单片机的应用也更加广泛特别是在各种领域的控制、自动化等方面。所以在本系统设计中我采用了由单片机控制单闭环直流电动机的调速控制系统。二、总体设计方案:(一)系统总体结构本课程设计所介绍的单片机控制直流电机调速系统,具有结构简单,输出档位可显示,反映灵敏等特点,其输出档位采用数码管显示,方面操作与观察,该设计控制器使用单片机at89s52,数模转换dac0832芯片,用二位共阳极led数码管以并口传送数据,实现档位的显示,能准确达到以

4、上要求,同时在单片机最小系统中设计了总开关和按钮控制。利用dac0832芯片进行数/模控制,输出的电压经放大后驱动小直流电机的速度进行数字量调节,并显示运行状态djxx和d/a输出的数字量。按钮s1,s2分别完成减一加一的功能,和拨码开关配合使用,使控制电机转速的档位转换更加灵活,简便。控制更加直接,易于掌握和操作。1、 总体设计框图at89s52变量k0k7总开关k0数码管显示速度输出电机转速按钮s1, s22、芯片选择本次课程设计我们选择的芯片是dac0832,8255和at89s52(1)dac0832简介dac0832是8分辨率的d/a转换集成芯片。与微处理器完全兼容。这个da芯片以其

5、价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。d/a转换器由8位输入锁存器、8位dac寄存器、8位d/a转换电路及转换控制电路构成。a.主要特性参数:分辨率为8位电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+5v+15v);低功耗,200mw。b芯片结构:d0d7:8位数据输入线,ttl电平,有效时间应大于90ns(否则锁存器的数据会出错);ile:数据锁存允许控制信号输入线,高电平有效;cs:片选信号输入线(选通数据锁存器),低电平有效;wr1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ile、

6、cs、wr1的逻辑组合产生le1,当le1为高电平时,数据锁存器状态随输入数据线变换,le1的负跳变时将输入数据锁存;xfer:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;wr2:dac寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由wr1、xfer的逻辑组合产生le2,当le2为高电平时,dac寄存器的输出随寄存器的输入而变化,le2的负跳变时将数据锁存器的内容打入dac寄存器并开始d/a转换。iout1:电流输出端1,其值随dac寄存器的内容线性变化;iout2:电流输出端2,其值与iout1值之和为一常数;rfb:反馈信号输入线,改变rfb端外接电阻值

7、可调整转换满量程精度;vcc:电源输入端,vcc的范围为+5v+15v;vref:基准电压输入线,vref的范围为-10v+10v;agnd:模拟信号地dgnd:数字信号地c.工作方式:根据对dac0832的数据锁存器和dac寄存器的不同的控制方式,dac0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。(2)8255简介:a 一个并行输入/输出的lsi芯片,多功能的i/o器件,可作为cpu总线与外围的口.b 具有24个可编程设置的i/o口,即使3组8位的i/o口为pa口,pb口和pc口.它们又可分为两组12位的i/o口,a组包括a口及c口(高4位,pc4pc7),b组包括b口及c口(

8、低4位,pc0pc3).a组可设置为基本的i/o口,闪控(strobe)的i/o闪控式,双向i/o3种模式;b组只能设置为基本i/o或闪控式i/o两种模式,而这些操作模式完全由控制寄存器的控制字决定.c 8255引脚功能:reset:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成输入方式。 cs:芯片选择信号线,当这个输入引脚为低电平时,即/cs=0时,表示芯片被选中,允许8255与cpu进行通讯;/cs=1时,8255无法与cpu做数据传输. rd:读信号线,当这个输入引脚为低电平时,即/rd=0且/cs=0时,允许8255通过数据总线向c

9、pu发送数据或状态信息,即cpu从8255读取信息或数据。 wr:写入信号,当这个输入引脚为低电平时,即/wr=0且/cs=0时,允许cpu将数据或控制字写入8255。 d0d7:三态双向数据总线,8255与cpu数据传送的通道,当cpu 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 pa0pa7:端口a输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 pb0pb7:端口b输入输出线,一个8位的i/o锁存器, 一个8位的输入输出缓冲器。 pc0pc7:端口c输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓

10、冲器。端口c可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口a和端口b配合使用,可作为控制信号输出或状态信号输入端口。a0,a1:地址选择线,用来选择8255的pa口,pb口,pc口和控制寄存器.当a0=0,a1=0时,pa口被选择;当a0=0,a1=1时,pb口被选择;当a0=1,a1=0时,pc口被选择;当a0=1.a1=1时,控制寄存器被选择.(3)at89s52简介:a主要性能 :与mcs-51单片机产品兼容 、8k字节在系统可编程flash存储器、 1000次擦写周期、 全静态操作:0hz33hz 、 三级加密程序存储器 、 32个可编程i/

11、o口线 、三个16位定时器/计数器 八个中断源 、全双工uart串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符b功能特性描述:p0 口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下p0具有内部上拉电阻。在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 p1 口:p1 口是一个具有内部上拉电阻的8 位双向i/o 口,p1 输出缓冲器能驱

12、动4 个 ttl 逻辑电平。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2 的触发输入(p1.1/t2ex),具体如下表所示。在flash编程和校验时,p1口接收低8位地址字节。引脚号第二功能p1.0t2(定时器/计数器t2的外部计数输入),时钟输出p1.1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5mosi(在系统编程用)p1.6miso(在系统编程用)p1.7sck(在系统编

13、程用)p2 口:p2 口是一个具有内部上拉电阻的8 位双向i/o 口,p2 输出缓冲器能驱动4 个ttl 逻辑电平。对p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送1。在使用8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。 p3 口:p3 口是一个具

14、有内部上拉电阻的8 位双向i/o 口,p2 输出缓冲器能驱动4个ttl 逻辑电平。对p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。p3口亦作为at89s52特殊功能(第二功能)使用,在flash编程和校验时,p3口也接收一些控制信号。 端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2into(外中断0)p3.3int1(外中断1)p3.4to(定时/计数器0)p3.5t1(定时/计数器1)p3.6wr(外部数据存储器写选通)p3.7rd(外部数据存储器读选通)三、硬

15、件电路设计1、显示电路与at89s52单片机接口电路设计2、at89s52单片机最小系统利用at89s52单片机、晶振电路、复位电路、电源构成单片机最小应用系统,在此基础上扩展显示电路、驱动电路。3、dac0832与at89s52单片机接口电路设计4、d/a 转换0832 电路5、微型直流电机电路四、软件设计1、主程序框图初始化寄存器r0(用于存储输出电压的值),r1(用于存储数码管显示值)。初始化 8255a设定其工作方式为0方式,pa口为数码管片选信号端,pb口接数码管显示端。判断总开关k0的状态,若其为低电平则死循环(继续读取开关量),若为高电平,则程序顺序执行。读取其他开关量,将读取的

16、数值存储到r0,通过对dac0832寻址,输出驱动电流,带动电机转动。同时查表将档位值显示到数码管上。是否否dac0832输出电机转速,led显示转速程序结束开始开中断寄存器初始化8255初始化,写入控制字读开关量判断开关k0是否打开判断是否有中断是开关量加一或者减一五、调试与测试结果分析1、实验系统连接图2、硬件线路调试:(1)按照系统硬件连线图在实验箱上连线,将开关k0k7与at89s52的p1.0p1.7连接,与单片机进行数据交换。使数码管能正确显示档位的变化(2)利用keil uvision2 软件使程序处于单步运行状态,分别调试各子程序,验证子程序功能的正确性。(3)通过拨动开关,观

17、察电机的速度、数码管显示的变化。六、程序清单与注释说明程序清单:org 0000h; ljmp start org 0003h ljmp b0 org 0013h ljmp b7 org 0100hstart: setb ea setb ex0 setb it0 setb ex1 setb it1 mov dptr ,#0ff23h ;设置8255控制状态字 mov a, #80h ;给8255赋初值,8255工作于方式0 movx dptr, ab3: jnb p3.0,b4m0t1: mov dptr,#0ff80h ;选中dac0832mov p1,#0ffh ;将p1设置为输入口mov

18、 a,p1 ;将拨码开关的状态送入a 中movx dptr, a ;将拨码开关的状态送入dac0832中subb a,r5add a,r6acalldis ;调用显示子程序ljmpb3 ;循环?dis: movr0,a movr3,#2fh ;选中百位数码管 mova,r3 mov dptr,#0ff20h ;将8255的pa口地址送入数据指针 movxdptr,a mova,r0 ;将拨码开关送入a 中 movb,#64h ;(b)=100 div ab ;a / b movdptr,#tab ;把表首地址送入数据指针 movca,a+dptr ;查表获得显示码 mov dptr,#0ff2

19、1h ;将8255的pb口地址送入数据指针 movxdptr,a ;把显示数据码送pb口 acalldelay ;调用延时子程序 movr3,#37h ;选中十位数码管 mova,r3 mov dptr,#0ff20h ;将8255pa 口地址送入数据指针 movxdptr,a mova,b ;把余数送到a movb,#10 ;(b)=10 div ab ;取十位上的数 movdptr,#tab movca,a+dptr ;查表取取十位的显示码 mov dptr,#0ff21h ;把8255的pb地址送入数据指针 movxdptr,a ;显示十位数据 acalldelay ;调用延时子程序 m

20、ovr3,#3bh ;选中个位数码管 mova,r3 mov dptr,#0ff20h ;将8255pa的地址送入数据指针 movxdptr,a mova,b;a=b movdptr,#tab ;将列表首地址送入数据指针 movca,a+dptr ;将要显示的个位数据对应的代码送入a中 mov dptr,#0ff21h ;将8255的pb口地址送入数据指针 movxdptr,a ;显示个位数 acalldelay ;调用延时子程序 rettab: db0c0h,0f9h,0a4h,0b0h,99h; 0 1 2 3 4 db92h,82h,0f8h,80h,90h; 5 6 7 8 9dela

21、y: mov r7,#40 del3: mov r6,#123 nop del4: djnz r6,del4 djnz r7,$ retb0: inc r5 retib7: inc r6 retib4: mov dptr,#0ff80h mov a,#00h movx dptr,aacall disljmp b3end七、课程设计总结与体会在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论