版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 电子工艺课程设计报告 姓名 卢星星 班级 T983-6 学号 20090830616 指导老师 王思山 标题 直流电机调速与控制系统设计 一课程设计课题总体分析1.1 直流电机调速原理图1.1所示电枢电压为Ua,电枢电流为Ia,电枢回路总电阻为Ra,电机常数Ca,励磁磁通量是。根据KVL方程:电机转速n=(Ua-IaRa)/Ca,其中,对于极对数p,匝数为N,电枢支路数为a的电机来说:电机常数Ca=pN/60a,意味着电机确定后,该值是不变的。而在Ua-IaRa中,由于Ra仅为绕组电阻,导致IaRa非常小,所以Ua-IaRa约等于Ua。由此可见我们改变电枢电压时,转速n即可随之改变。图1.1
2、直流电机原理图1.2 系统硬件组成原理图1.2 调速系统硬件原理框图直流电机调速系统硬件原理框图如图1.2所示,以89C51单片机为控制核心,包括测速电路、电源电路、数模转换电机驱动电路、显示电路、键盘控制电路。1.3 直流电动机转速控制系统的工作原理直流电动机的转速与施加于电动机两端的电压大小有关。本系统用DAC0832控制输出到直流电动机的电压的方法来控制电动机的转速。当电动机转速小于设定值时,DAC0832芯片的输出电压增大,当大于设定值时则DAC0832芯片输出电压减小,从而使电动机以设定的速度恒速旋转。我们采用比例调节器算法。控制规律:Y=KPe(t)+KI 式中:Y-比例调节器输出
3、,KP-比例系数,KI -积分系数e(t)-调节器的输入,一般为偏差值。系统采用了比例积分调节器,简称PI调节器,使系统在扰动的作用下,通过PI调节器的调节器作用使电动机的转速达到静态无差,从而实现了静态无差。无静差调速系统中,比例积分调节器的比例部分使动态响应比较快(无滞后),积分部分使系统消除静差。1.4 转速测量电路原理转速是工程上一个常用的参数,旋转体的转速常以每分钟的转数来表示。其单位为r/min。转速的测量方法很多,由于转速是以单位时间内的转数来衡量的,因此采用霍尔元器件测量转速是较为常用的一种测量方法。霍尔器件是有半导体材料制成的一种薄片,器件的长、宽、高分别为l、b、d。若在垂
4、直于薄片平面(沿厚度d)方向施加外加磁场B,在沿l方向的两个端面加以外电场,则有一定的电流经过。由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:flqVB式中:fl洛仑磁力,q载流子电荷,V载流子运动速度,B磁感应强度。这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个侧面间的电位差称为霍尔电压。霍尔电压大小为: =IB/d(mV) 式中:-霍尔常数,d-元件厚度,B-磁感应强度,I-控制电流设= /d ,则=IB (mV)为霍尔器件的灵敏系数(mV/mA/T),它表示该霍尔元件在单位磁感应强度和单位控制电流下输出霍尔电动势
5、的大小。应注意,当电磁感应强度B反向时,霍尔电动势也反向。若控制电流保持不变,则霍尔感应电压将随外界磁场强度而变化,根据这一原理,可以将一块永久磁钢固定在电动机的转轴上转盘的边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响,故输出脉冲信号,其频率和转速成正比,测出脉冲的周期或频率即可计算出转速。 二系统设计2.1 硬件设计通过自制5V电源来确保工作电压正常,由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号,送至单片机的计数器T1,由T1测出电动机的实际转速,并与设定值比较形成偏差。根据比较结果,使DAC083
6、2输出控制电压增大或减小。功放电路将DAC0832输出的模拟电压转换成具有一定输出功率的电动机控制电压。2.1.2电机测速及驱动部分测速在这里选用美国史普拉格公司(SPRAGUE)生产的3000系列霍尔开关传感器3013,它是一种硅单片集成电路,器件的内部含有稳压电路、霍尔电势发生器、放大器、史密特触发器和集电极开路输出电路,具有工作电压范围宽、可靠性高、外电路简单、输出电平可与各种数字电路兼容等特点。LM324,它价格便宜,带有真差动输入的四运算放大器。因为DAC0832输出的为电流,所以需要接一个运放,将信号转化为电压输出。电路如图2.1.2所示。图2.1.2电机测速及驱动部分2.1.3数
7、模转换DAC0832是采用CMOS工艺制成的单片电流输出型8位D/A转换器,其内部结构如图图2.1.3a所示:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。该片逻辑输入满足TTL电压电平范围,可直接与TTL电路或微机电路相接。图2.1.3a DAC0832内部结构图Vcc:芯片电源电压, 为:+5V+15V;VREF:参考电压,为:-1
8、0V+10V ;RFB:反馈电阻引出端, 此端可接运算放大器输出端;AGND:模拟信号地;DGND:数字信号地;DI7 DI0:数字量输入信号,其中: DI0为最低位,DI7为最高位;ILE:输入锁存允许信号, 高电平有效;CS:片选信号, 低电平有效;WR1:写信号1,低电平有效;当ILE、CS、WR1同时有效时, LE=1,输入寄存器的输出随输入而变化;WR1在上升沿时 , LE=0, 将输入数据锁存到输入寄存器;XFER:转移控制信号,低电平有效;WR2:写信号2,低电平有效;当XFER、WR2同时有效时, LE2=1,DAC寄存器输出随输入而变化; WR1在上升沿时, LE=0, 将输
9、入数据锁存到DAC寄存器,数据进入D/A转换器,开始D/A转换;IOUT1:模拟电流输出端1,当输入数字为:全”1”时, 输出电流最大,约为:255/256;全”0”时, 输出电流为0;IOUT2:模拟电流输出端2 ,IOUT1 + I OUT2 = 常数。数模转换如图2.5.3b所示。其中DAC0832的DI0 DI7 8个数字量输入端接89C51单片机的P0.0P0.7端。由于DAC0832采用了直通的方式,所以可以直接往其数据端口加上数值,就能从DAC0832后面的运放的输出端得到所需的模拟电压。由于其输出电压可根据公式: =X/计算得来,因而在需要输出某个电压值时,按该式求出对应的数值
10、,通过P0端口输出,就可以得到所需的模拟电压。图2.1.3b数模转换2.1.4 8421BCD编码键盘手动控制转速部分采用8421编码的键盘,“0”表示“0000”,“1”表示“0001”,, “9”表示“1001”。如图2.1.4所示图2.1.4 8421BCD编码键盘2.1.5显示部分采用74LS164串入并出的移位寄存器给出串行口扩展的3位L ED 显示接口电路,如图2.1.5所示图2.1.5显示部分2.1.6系统心脏AT89C51单片机VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入
11、。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为
12、输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。口管脚备选功能P3.0RXD(串行输入口)P3.1T
13、XD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3口同时为闪烁编程和编程校验接收一些控制信号RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率
14、的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/E
15、A将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE
16、管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 串口通讯:单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢? SBUF 数据缓冲寄存器这是一个可以直
17、接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99H。CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字sfr定义为一个变
18、量就可以对其进行读写操作了,如sfr SBUF = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h 或at89x51.h 等头文件中已对其做了定义,只要用#include 引用就可以了。 SCON 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51 芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义如下: SM0 SM1 SM2 REN TB8 RB8
19、 TI RI SM0、SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。SM0SM1模式功能波特率000同步移位寄存器fosc/120118位UART可变1029位UARTfosc/32 或fosc/641139位UART可变在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。表中的fosc 代表振荡器的频率,也就是晶振的频率。UART 为(Universal Asynchronous Receiver)的英文缩写。 SM2 在模式2、模式3 中为多处理机通信使能位。在模式0 中要求该位为0。 REM 为允许接收位,R
20、EM 置1 时串口允许接收,置0 时禁止接收。REM 是由软件置位或清零。如果在一个电路中接收和发送引脚P3.0,P3.1 都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0 来禁止接收,在子程序结束处加入REM=1 再次打开串口接收。大家也可以用上面的实际源码加入REM=0 来进行实验。 TB8 发送数据位8,在模式2 和3 是要发送的第9 位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。 RB8 接收数据位8,在模式2
21、和3 是已接收数据的第9 位。该位可能是奇偶位,地址/数据标识位。在模式0 中,RB8 为保留位没有被使用。在模式1 中,当SM2=0,RB8 是已接收数据的停止位。 TI 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI 置位后,申请中断,CPU 响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到SBUF 后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。 RI 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模
22、式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU 取走数据。但在模式1 中,SM2=1时,当未收到有效的停止位,则不会对RI 置位。同样RI 也必须要靠软件清除。常用的串口模式1 是传输10 个位的,1 位起始位为0,8 位数据位,低位在先,1 位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值(溢出速率)。AT89C51 和AT89C2051 等51 系列芯片只有两个定时器,定时器0 和定时器1,而定时器2是89C52 系列芯片才有的。 波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特
23、率是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600 会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600 个二进位,而一个字节要8 个二进位,如用串口模式1 来传输那么加上起始位和停止位,每个数据字节就要占用10 个二进位,9600 波特率用模式1 传输时,每秒传输的字节数是960010960 字节。51 芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M 的晶振来计算,那么它的波特率可以达到1M。模式2 的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于PCON 寄存器中的SMOD
24、位,如SMOD 为0,波特率为focs/64,SMOD 为1,波特率为focs/32。模式1 和模式3 的波特率是可变的,取决于定时器1 或2(52 芯片)的溢出速率。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。 波特率(2SMOD32)定时器1 溢出速率 上式中如设置了PCON 寄存器中的SMOD 位为1 时就可以把波特率提升2 倍。通常会使用定时器1 工作在定时器工作模式2 下,这时定时值中的TL1 做为计数,TH1 做为自动重装值 ,这个定时模式下,定时器溢出后,TH1 的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确
25、。在这个定时模式2 下定时器1 溢出速率的计算公式如下: 溢出速率(计数速率)/(256TH1) 上式中的“计数速率”与所使用的晶体振荡器频率有关,在51 芯片中定时器启动后会在每一个机器周期使定时寄存器TH 的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51 芯片的计数速率为晶体振荡器频率的1/12,一个12M 的晶振用在51 芯片上,那么51 的计数速率就为1M。通常用11.0592M 晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就知道了。如我们要得到9600 的波特率,晶振为11.0592M 和12M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1
26、为何值。代入公式: 11.0592M 9600(232)(11.0592M/12)/(256-TH1) TH1250 12M 9600(232)(12M/12)/(256-TH1) TH1249.49 上面的计算可以看出使用12M 晶体的时候计算出来的TH1 不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。2.2 软件设计1、 编程思路:控制系统程序的功能是用89C51单片
27、机的T0、T1测出电动机的实际转速,并与给定值进行比较。根据比较结果,使DAC0832芯片的输出控制电压增大或减小。30H单元存放实际转速与设定值是否相等的标志。“1”表示相等,“0”表示不相等。40H单元存放送入DAC0832芯片的数字控制电压。7FFFH为DAC0832地址。2、 系统流程图如图2.2所示:图2.2 直流电动机转速控制系统流程图2.3PWM初始化、占空比设置、频率计算(3)调速(4)通信模块的设计void send(unsigned int n)/发送SBUF=n;while(!TI);TI=0;void Receive() /接收速度设定值if(RI=1) /接收二位十六
28、进制数 并进入PID调速speed_t=SBUF;RI=0;(5)中断服务模块 PCA测速void PCA_interrupt (void) interrupt 7 TR0=0; /关定时器T0if(CCF1=1) /PCA模靠块1中断 CCF1=0; /清PCA模块1中断标志catch_speed+=1; catch=256*CCAP1H+CCAP1L;catch=catch/1000.0;speed=1000*0.9216/catch;CH=CL=0x00;catch=0; TR0=1; /开定时器T0(6)键盘修改转速void key_xiugai(void)if(KEY3=0) whi
29、le(!KEY3) /消除抖动 ;switch(k2) case 1: gewei+;if(gewei9) gewei=0; break;case 2: shiwei+;if(shiwei9) shiwei=0; break; case 3:shiwei+;if(baiwei9) baiwei=0; break;default:break;if(KEY4=0) while(!KEY4) /防止掉显 ;switch(k2) case 1: gewei-;if(gewei9) gewei=9; break;case 2: shiwei-;if(shiwei9) shiwei=9; break; case 3:shiwei-;if(baiwei9) baiwei=9; break;default:break; 四调试与分析 本系统用单片机构成电动机转速的控制系统,采用比例积分调节器算法,效率高,电路简单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年法律常识与法律实务模拟题及答案参考
- 提高水利工程建设效率的对策研究
- 住宅用地争议协议书
- 不愿拆除危房协议书
- 代销呼吸机合同范本
- 临时承包劳动协议书
- 铺面租赁中介合同范本
- 藤椅出售转让合同范本
- 0541.2026年工业索类行业分析报告-图文
- 产业扶贫分红协议书
- 氟气基础知识
- 中小学校园中匹克球推广策略与实践研究
- 助贷电销知识培训课件
- CN101664072A-奶皮子及其生产制作方法配方专利技术
- 光伏发电设计合同范本
- 四川省2024年高等职业教育单独招生考试中职类语文试题及答案
- 2025年广西玉林市自来水公司招聘笔试参考题库含答案解析
- 跨文化视域下的过程写作:发展、比较与反思
- 第七章绳索取心
- 商务楼租赁合同范本
- 涂层抗粘附性研究-洞察分析
评论
0/150
提交评论