计算机控制技术PWM电机速度控制系统设计方案_第1页
计算机控制技术PWM电机速度控制系统设计方案_第2页
计算机控制技术PWM电机速度控制系统设计方案_第3页
计算机控制技术PWM电机速度控制系统设计方案_第4页
计算机控制技术PWM电机速度控制系统设计方案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

计算机控制技术PWM电机速度控制系统设计方案1/3《计算机控制技术》课程设计姓名:学号:系别:专业:班级:指导教师:二○一一年十二月十六日目录4K字节可编程闪烁存储器,可擦除的的只读存储器(PEROM>,ATMEL的AT89C51是一种高效微控制器.AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案.三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和电模式、片内振荡器和时钟电路:电路框图如图2图2电路组成框图方案分析:方案一只能以减小所给电压值而能使电动机的转速有相应的减小,此方案操作性差且不安全。方案二不能及时的从电动机那里得到相应的转动速度,而是直接从程序哪儿调用相应的数值给数码显示。所以,此处的电路在速度的显示上失去了其真实性。方案三在可操作性与实时性方面都都结合了本专业特点,从控制理论与控制技术出发,充分发挥与应用本学科特点。所以,设计采用方案三。3.1.2设计模块方案比较与分析电机调速控制模块:方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案三:采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。3.2设计方案的图表<一)PWM波软件软件设计程序流程图:产生矩形波开始产生矩形波开始按键查询OPEN是否按下时定时器T0开始计时Add_speed是否按下初始化是是增大矩形波占空比Sub_speed是否按下是减小矩形波占空比Swap或close是否按下改变转向或关闭电机软件电机控制的方框图<二)测速软件设计开始开始初始化OPEN是否按下定时器T1开始计时对单位时间内的脉冲计数 N根据公式计算出电机的速度液晶显示电机速度软件测速的方框图<一)电路原理图LCD显示电路<二)霍尔传感器的电路原理图霍尔传感器的测速电路<三)直流电机的调速功能仿真当按下open键时,电机开始工作。若需要加快电机的转速,则按下add_speed键,直到电机转速适中;相反,需要减慢电机的转速时,则按下sub_speed键,待转速满意后,放开按键。当然,在某种特定的环境下,还需改变电机的转速,此时,你可以按一下swap键,以达到改变电机转向的目的。当电机不工作时,则按下close键。直流电机调速系统的Proteus仿真图1.调速前的波形图电机启动时的脉冲波形占空比2.调速后的波形图电机减速后的脉冲波形占空比<四)电机速度的测量并显示功能仿真对电机转速的显示,为使用者提供了更为直观的界面。用户可以根据液晶显示屏上的数字,调整电机的转速,为调速提供了方便。从显示数字的稳定程度,也可以判断电机转速的稳定性。若显示数字几乎不变,则说明电机工作十分稳定;与之相反,显示数字不停地变化,则说明电机工作非常不稳定。直流电机系统的Proteus仿真<五)系统的电路原理图直流电机调速系统的Protel原理图由电源模块、单片机控制单元、电机驱动电路、LCD显示电路、霍尔传感器电路构成。<六)系统的PCB图3.3论述方案的各部分工作原理3.3.18051单片机的基本组成8051单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法。其基本组成如下图所示:图2-28051基本结构图2.CPU及部分部件的作用功能介绍如下中央处理器CPU:它是单片机的核心,完成运算和控制功能。内部数据存储器:8051芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H—7FH。通常说的内部数据存储器就是指这前128个单元,简称内部RAM。内部程序存储器:8051芯片内部共有4K个单元,用于存储程序、原始数据或表格,简称内部ROM。定时器:8051片内有2个16位的定时器,用来实现定时或者计数功能,并且以其定时或计数结果对计算机进行控制。中断控制系统:该芯片共有5个中断源,即外部中断2个,定时/计数中断2个和串行中断1个。3.8051单片机引脚图图2-38051单片机引脚图3.3.2PWM的基本原理PWM<脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。如图2-8所示:图2-8PWM方波设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为Va=Vmax*D,其中Va指的是电机的平均速度;Vmax是指电机在全通电时的最大速度;D=t1/T是指占空比。由上面的公式可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。3.3.3PWM发生电路主要芯片的工作原理1.数据比较器具有数据比较功能的芯片有74LS6828,74LS6838等8位数值比较器,4位数值比较器4585等。本PWM发生电路通过两片4位数值比较器4585就可实现PWM信号的产生,因此选用4585作为信号发生电路。芯片4585的引脚图:图2-104585引脚图图2-104585引脚图2.串行计数器系统PWM信号发生电路中还使用到一片串行计数器,有串行计数功能的芯片有4024、4040等,它们具有相同的电路结构和逻辑功能,但4024是7位二进制串行计数器,而芯片4040是一个12位的二进制串行计数器,所有计数器位为主从触发器,计数器在时钟下降沿进行计数。当CR为高电平时,它对计数器进行清零,由于在时钟输入端使用施密特触发器,故对脉冲上升和下降时间没有限制,所有的输入和输出均经过缓冲。本系统使用4040作为串行计数器,芯片4040的引脚图如图2-11所示:图2-114040引脚图图2-114040引脚图3.3.4H桥驱动电路图2-1所示的H桥式电机驱动电路包括4个三极管和一个电机,电路得名于“H桥驱动电路”是因为它的形状酷似字母H。如图1.1-1所示,要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。图4H桥驱动电路要使电机运转,必须使对角线上的一对三极管导通。例如,如图2-2所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动<电机周围的箭头指示为顺时针方向)。图5H桥驱动电机顺时针转动图2-3所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动<电机周围的箭头表示为逆时针方向)。图6H桥驱动电机逆时针转动3.3.5霍尔传感器的工作原理霍尔效应:在一块半导体薄片上,其长度为l,宽度为b,厚度为d,当它被置于磁感应强度为B的磁场中,如果在它相对的两边通以控制电流I,且磁场方向与电流方向正交,则在半导体另外两边将产生一个大小与控制电流I和磁感应强度B乘积成正比的电势UH,即UH=KHIB,其中kH为霍尔元件的灵敏度。该电势称为霍尔电势,半导体薄片就是霍尔元件。工作原理:霍尔开关集成电路中的信号放大器将霍尔元件产生的幅值随磁场强度变化的霍尔电压UH放大后再经信号变换器、驱动器进行整形、放大后输出幅值相等、频率变化的方波信号。信号输出端每输出一个周期的方波,代表转过了一个齿。单位时间内输出的脉冲数N,因此可求出单位时间内的速度V=NT。3.3.6PI转速调节器原理图及参数计算图3-1PI转速调节器原理图图3-1PI转速调节器原理图3.4相关的计算3.4.1PI转速调节器参数计算按照典型II型系统的参数选择方法,转速调节器参数和电阻电容值关系如下:Kn=Rn/R0Γn=Rn/CnTon=1/4R0*Con参数求法:电动机P=10KWU=220VI=55An=1000转/分电枢电阻R=0.5欧姆取滤波电路中Ro=40千欧Rn=470千欧Cn=0.2uFCon=1uF则:Umax=220VUmin=<220/0.9)*0.5=122VYi-1=0W=1000转/分P=Kp=Rn/Ro=11.7I=Kp*T/Ti=1253.4.2相关程序#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitopen=P2^0。sbitclose=P2^1。sbitswap=P2^2。sbitsub_speed=P2^3。sbitadd_speed=P2^4。sbitPWM1=P3^0。sbitPWM2=P3^1。/************************液晶显示*************/sbitE=P3^7。sbitRW=P3^6。sbitRS=P3^5。sbittest=P3^4。inttime=0。inthigh=20。intperiod=30。intchange=0。intflag=0。intnum_medium=0。intnum_display=0。intcount_speed=0。ucharwword[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}。/*******************延时t毫秒****************/voiddelay(uchart>{ uinti。 while(t> { /*对于11.0592MHz时钟,延时1ms*/for(i=0。i<125。i++>。t--。 }}//写命令函数LCDvoidwc51r(ucharj>{ RS=0。 RW=0。P1=j。 E=1。 E=0。 delay(3>。}//写数据函数LCDvoidwc51ddr(ucharj>{RS=1。 RW=0。P1=j。 E=1。 E=0。 delay(2>。}//初始化函数LCDvoidinit(>{ wc51r(0x01>。//清屏 wc51r(0x38>。//使用8位数据,显示两行,使用5*7的字型wc51r(0x0c>。//显示器件,光标开,字符不闪烁 wc51r(0x06>。//字符不动,光标自动右移一格}/***********8T0中断服务程序************PWM波的生成**********/voidtime0_int(void>interrupt1{ time++。//time为中断次数 TH0=0xec。 TL0=0x78。 if(change==0>{PWM2=1。 if(time==high>//high次中断后电平由高电平变成高电平PWM1=0。 elseif(time==period>//period相当于周期,保持不变的{ PWM1=1。time=0。}} else{PWM1=1。 if(time==high> PWM2=0。 elseif(time==period> { PWM2=1。 time=0。 }} }/****T1中断服务程序********单位时间<S)方波的个数*************/voidtime1_int(void>interrupt3{count_speed++。if(count_speed==20> {count_speed=0。num_display=num_medium。num_medium=0。}}/************************速度显示的数据处理*********************/voiddatamade(>{uintdataMM,NN。wc51r(0xc2>。wc51ddr('S'>。 wc51ddr('p'>。 wc51ddr('e'>。 wc51ddr('e'>。 wc51ddr('d'>。wc51ddr(0x3a>。NN=num_display%100。MM=num_display/100。wc51ddr(wword[MM]>。MM=NN/10。NN=NN%10。wc51ddr(wword[MM]>。wc51ddr(wword[NN]>。}/**********通过按键实现对电机开关、调速、转向的控制***************/voidmotor_control(>{ if(open==1> EA=1。if(close==1> EA=0。if(swap==1>{ change=~change。 while(swap!=0>{}} if(sub_speed==1> {high++。//改变high来改变占空比if(high==30> EA=0。 while(sub_speed!=0> {} }if(add_speed==1> {high--。 if(high==5>high=5。 while(add_speed!=0> {} } }/***************************主函数*********************************/voidmain(> { P2=0x00。 ET0=1。//to中断允许位 ET1=1。 TMOD=0x11。 TH0=0xec。//定时器T0设置参数 TL0=0x78。 TH1=0x3c。//定时器T1设置参数 TL1=0xb0。 TR0=1。 TR1=1。 init(>。//液晶显示初始化程序 while(1> { wc51r(0x84>。 wc51ddr('H'>。 wc51ddr('e'>。 wc51ddr('l'>。 wc51ddr('l'>。 wc51ddr('o'>。if(test==0>num_medium++。datamade(>。motor_control(>。}}3.5编写设计说明书直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能

温馨提示

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

评论

0/150

提交评论