资源描述
吉林工程技术师范学院毕业论文第一章 绪 论 1.1 课题背景随着电子计算机技术应用到各工业、科研领域后,各种电子设备都要求稳定的交流电源供电,而交流稳压电源的出现解决了这一问题。车站信号电源屏从功能上分为调压、转换(包括2路电源转换和输出转换)、输出(包括交流输出和直流输出)几部分,其中稳压部分是电源屏质量的关键。目前铁路车站现场应用的电源屏稳压部分其最主要的缺点是响应速度慢,在两路电网转换过程中容易产生过压或欠压;有机械磨损,易损坏;输出失真大。随着技术进步,继电式设备正逐步被电子设备所取代,设备对电源质量要求越来越高。稳压电路具有效率高、可靠性高、抗干扰能力强。补偿变压器功率较小,从而明显降低材料成本及功率损耗,达到提高效率,减小重量体积的目的。微机控制使控制电路大大简化,还可加入辅助功能,如故障诊断、稳压指示、超限声光报警、延时启动、故障检测、缺相保护等各种功能。因此智能交流稳压电源控制器器正逐步进入电源屏应用领域。交流稳压电源用途广泛,类型较多,大致可分为以下5种。 铁磁谐振式交流稳压器:利用饱和扼流圈与相应的电容器组合后具有恒压伏安特性而制成的交流稳压装置。磁饱和式是这种稳压器的早期典型结构。它结构简单,制造方便,输入电压允许变化范围宽,工作可靠,过载能力较强。但波形失真较大,稳定度不高。近年发展起来的稳压变压器,也是借助电磁元件的非线性实现稳压功能的电源装置。它与磁饱和式稳压器的区别在于磁路结构形式的不同,而基本工作原理则相同。它在一个铁心上同时实现稳压和变压双重功能,所以优于普通电源变压器和磁饱和稳压器。 磁放大器式交流稳压器:将磁放大器和自耦变压器串联起来,利用电子线路改变磁放大器的阻抗以稳定输出电压的装置。其电路形式可以是线性放大,也可以是脉宽调制等。这类稳压器带有反馈控制的闭环系统,所以稳定度高,输出波形好。但因采用惯性较大的磁放大器,故恢复时间较长。又因采用自耦方式,所以抗干扰能力较差。 感应式交流稳压器:靠改变变压器次级电压相对于初级电压的相位差,使输出交流电压获得稳定的装置。它在结构上类似线绕式异步电动机,而原理上又类似感应调压器。它的稳压范围宽,输出电压波形好,功率可做到数百千瓦。但由于转子经常处于堵转状态,故功耗较大,效率低。另因铜、铁用料多,故较少生产。 滑动式交流稳压器:用改变变压器滑动接点位置,使输出电压获得稳定的装置,即是用伺服电机驱动的自动调压式交流稳压器。这类稳压器效率高,输出电压波形好,对负载性质无特殊要求。但稳定度较低,恢复时间较长。 1.2 交流稳压电源的发展现状我国20世纪50年代流行的是磁放大器调整型电子交流稳压器,随着技术水平和用电设备对稳压电源性能指标要求的提高,在此基础上出现了净化型稳压电源;净化型交流稳压器抗干扰性能好、稳压精度较高、响应时间短、电路简单、工作可靠;但其带非线性负载时,有时有低频振荡现象、输入电压调节、范围较窄、而且源电流的谐波分量较多。到了70年代,主要存在的是用继电器触点改变变压器抽头和以炭刷移动接触点为主要控制方式的机械调整型交流稳压电源;调压型交流稳压器制作简单、工作可靠、功率较大、负载适应性好等优点;但这种类型的交流稳压器存在机械磨损、响应时间长、工作寿命短、抗干扰能力差等缺点。到了90年代,随着电力电子技术的发展,又出现了功率补偿式稳压电源和开关型交流稳压器。功率补偿型三相电力稳压器电压调节范围宽、效率高、波形失真小;但其采用电动机调节炭刷触头方式,调节速度慢,并且存在机械磨损,使用寿命短。而开关型交流稳压器响应速度快、体积小、重量轻、波形失真小、效率较高;但其电路复杂。滑动式交流稳压器:用改变变压器滑动接点位置,使输出电压获得稳定的装置即是用伺服电机驱动的自动调压式交流稳压器。这类稳压器效率高,输出电压波形好,对负载性质无特殊要求,稳定度较低,恢复时间较长。47第二章 系统的基本原理和主电路结构2.1 系统统的基本原理和主电路结构2.1.1 系统总体设计和原理框图此稳压器又叫做滑动式交流稳压器,用改变变压器滑动接点位置,使输出电压获得稳定的装置,即是用伺服电机驱动的自动调压式交流稳压器。这类稳压器效率高,输出电压波形好,对负载性质无特殊要求。但稳定度较低,恢复时间较长。总体方案原理框图,如图2-1所示:主控补偿单元驱动单元Ui电源输入Uo电源输出全波波精密整流电路私服电机可控调节节数码管显示采样电压信号放大电路A/D单片机控制系统键盘输入基准电压图2-1 稳压单元的总体方案原理框图2.1.2 系统工作原理系统主要由主电路和控制电路两部分组成。主电路包括变压器主控补偿单元、可控调节单元等,3主控单元有,3个键,4位LED显示,交流互感器信号放大电路,A/D转换电路等。控制电路以单片机AT89C51为控制核心,主要包括输入电压精密全波整流电路,继电器驱动电路、A/D转换电路、故障检测电路、保护电路等。当输入电压Ui波动或负载电流变化时,通过采样元件x5045获取前馈电压(由变压器将电网交流量转化成相应的0V-5V的交流信号),经放大电路将信号放大,再经整流电路进行半波整流后,最后经A/D转换模块后输入单片机与基准值进行比较,由单片机软件进行判断处理,输出控制指令,让伺服电机正反转,改变变压器滑动接点位置,使输出电压获得稳定的装置,即是用伺服电机驱动的自动调压式交流稳压器,从而快速地达到稳定输出电压的目的。电源的补偿原理如图2-2所示,当电网电压负波动时(U为负),伺服电机两端为负电压将反转,使变压器滑动接点向上移动,将提升输出电压并使之趋于稳定,使之工作在稳定的电压精度内。同理,当电网电压正波动超出稳压值时,伺服电机正反转。图2-1-2 系统原理图2.1.3 主电路研究 图2-1-3-1 图2-1-3-21当ui小于给定电压时,单片机判断补偿负电压,伺服电机正转使变压器的触点上移动,使Uo保持一定的电压值。如图2-1-3-1。2.当ui大于给定电压值时,单片机判断补偿正电压,伺服电机反转,使变压器的触点下移动,使Uo保持一定的电压值。 如图2-1-3-2。第三章 控制系统硬件方案的设计3.1 AT89C51型单片机性能及功能简介本课题设计的直流稳压电源的核心控制器件选用AT89C51,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT8920C51是他的精简版,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 3.1.1 引脚说明 图3-1-1 AT89C51引脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。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”时,其管脚被内部上拉电阻拉高,且作为输入。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表3-1-1所示: 表3-3-1 P3口第二功能 P3口第二功能P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1) P3.4T0(外部定时输入0)P3.5T1(外部定时输入1) ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.2 主要性能与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 3.1.3 芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 3.1.4 串口通讯 单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等, SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99H。CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字SFC定义为一个变量就可以对其进行读写操作了,如SFC SBUF = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h 或at89x51.h 等头文件中已对其做了定义,只要用#include 引用就可以了。 SCON 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51 芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义如下: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0、SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置,串行口工作模式设置如图表3-1-4。 表3-1-4SM0SM1模式功能波特率000同步移位寄存器fosc/120118位UART可变1029位UARfosc/32 或fosc/64 1139位UART可变在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。表中的fosc 代表振荡器的频率,也就是晶振的频率。SM2 在模式2、模式3 中为多处理机通信使能位。在模式0 中要求该位为0,REM为允许接收位,REM 置1 时串口允许接收,置0 时禁止接收。REM 是由软件置位或清零。如果在一个电路中接收和发送引脚P3.0,P3.1 都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0 来禁止接收,在子程序结束处加入REM=1 再次打开串口接收。大家也可以用上面的实际源码加入REM=0 来进行实验。 TB8 发送数据位8,在模式2 和3 是要发送的第9 位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。 RB8 接收数据位8,在模式2 和3 是已接收数据的第9 位。该位可能是奇偶位,地址/数据标识位。在模式0 中,RB8 为保留位没有被使用。在模式1 中,当SM2=0,RB8 是已接收数据的停止位。 TI 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI 置位后,申请中断,CPU 响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到SBUF 后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI 不会由硬件清除,所以这时必须用软件对其清零。 RI 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU 取走数据。但在模式1 中,SM2=1时,当未收到有效的停止位,则不会对RI 置位。同样RI 也必须要靠软件清除。常用的串口模式1 是传输10 个位的,1 位起始位为0,8 位数据位,低位在先,1 位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值(溢出速率)。AT89C51 和AT89C2051 等51 系列芯片只有两个定时器,定时器0 和定时器1,而定时器2是89C52 系列芯片才有的。 波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600 会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600 个二进位,而一个字节要8 个二进位,如用串口模式1 来传输那么加上起始位和停止位,每个数据字节就要占用10 个二进位,9600 波特率用模式1 传输时,每秒传输的字节数是960010960 字节。51 芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M 的晶振来计算,那么它的波特率可以达到1M。模式2 的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于PCON 寄存器中的SMOD位,如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,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式2 下定时器1 溢出速率的计算公式如下: 溢出速率(计数速率)/(256TH1) 上式中的“计数速率”与所使用的晶体振荡器频率有关,在51 芯片中定时器启动后会在每一个机器周期使定时寄存器TH 的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51 芯片的计数速率为晶体振荡器频率的1/12,一个12M 的晶振用在51 芯片上,那么51 的计数速率就为1M。 上面的计算可以看出使用12M 晶体的时候计算出来的TH1 不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。3.2 双积A/D 转换器的工作原理图3-2-1双积A/D 转换器如图3-2-1所示:对输入模拟电压和基准电压进行两次积分,先对输入模拟电压进行积分,将其变换成与输入模拟电压成正比的时间间隔 T1,再利用计数器测出此时间间隔,则计数器所计的数字量就正比于输入的模拟电压;接着对基准电压进行同样的处理。在常用的A/D转换芯片(如ADC -0809、ICL7135、ICL7109等)中,ICL7135与其余几种有所不同,它是一种四位半的双积分A/D转换器,具有精度高(精度相当于14位二进制数)、价格低廉、抗干扰能力强等优点。本文介绍用单片机并行方式采集ICL7135的数据以实现单片机A/D转换。ICL7135具有20 000个数的分辨率,而且有BCD码和STB选通信号输出,与微机接口十分方便,因此ICL7135作为微机的高精度A/D接口电路非常多。本文利用的是ICL7135的BUSY输出信号与单片机AT89C51衔接,其波形图如图3-2-2所示。图3-2-2双积A/D转换器的波形图3.2.1 ICL7135主要特点如下1.双积型A/D转换器,转换速度慢。2.在每次A/D转换前,内部电路都自动进行调零操作,可保证零点在常温下的长期稳定。在20000字(2V满量程)范围内,保证转换精度1字相当于14bitA/D转换器。3.具有自动极性转换功能。能在但极性参考电压下对双极性模拟输入电压进行A/D转换,模拟电压的范围为01.9999V。4.模拟出入可以是差动信号,输入电阻极高,输入电流典型值1PA。 5.所有输出端和TTL电路相容。6.有过量程(OR)和欠量程(UR)标志信号输出,可用作自动量程转换的控制信号。7.输出为动态扫描BCD码。8.对外提供六个输入,输出控制信号(R/H,BUSH,ST,POL,OR,UR),能与异步接收或者发送器,微处理器或其它控制电路连接使用。3.2.2 管脚说明图3-2-1-1 7135管脚图V- 负电源端, V+ 外接基准电压输入端, AGND 模拟地, INT 积分器输出,外接积分电容(CINT)端, AZ 外接调零电容 (CAZ)端, BUF 缓冲器输出,外接积分电阻(RINT)端, RR+、RR- 外接基准电压电容(Cr)端, INTO、INHI 被测电压(低、高)输入端, V+ 正电源端, D5、D4、D3、D2、D1位扫描选通信号输出端,其中D5(MSD)对应万位数选通,其余依次为D4、D3、D2、D1(LSD,个位),B8、B4、B2、B1BCD码输出端,采用动态扫描方式输出, BUST指示积分器处于积分状态的标志信号输出端, CLK时钟信号输入端, DGNG数字电路接地端, R/H转换/保持控制信号输入端, ST选通信号输出端,主要用作外部寄存器存放转换结果的选通控制信号, OR过量程信号输出端, UR欠量程信号输出端。 在电路内部,CLK和R/H两个输入端上分别设置了非门和场效应管的输入电路,以保证该两端在悬空时为高电平。V+ = +5V,V- =-5V,TA=25,时钟频率为120KHz时,每秒可转换3次。功耗:1000mW(MAX);电源电压:V+:+6V(MAX);V-:-6V(MAX)。1、R/H(25脚)当R/H=“1”(该端悬空时为“1”)时,7135处于连续转换状态,每40002个时钟周期完成一次A/D转换。若R/H由“1”变“0”,则7135在完成本次A/D转换后进入保持状态,此时输出为最后一次转换结果,不受输入电压变化的影响。因此利用R/H端的功能可以使数据有保持功能。若把R/H端用作启动功能时,只要在该端输入一个正脉冲(宽度300NS),转换器就从AZ阶段开始进行A/D转换。注意:第一次转换周期中的AZ阶段时间为9001-10001个时钟脉冲,这是由于启动脉冲和内部计数器状态不同步造成的。2、/ST(26脚)每次A/D转换周期结束后,ST端都输出5个负脉冲,其输出时间对应在每个周期开始时的5个位选信号正脉冲的中间,ST负脉冲宽度等于1/2时钟周期,第一个ST负脉冲在上次转换周期结束后101个时钟周期产生。需要注意的是,若上一周期为保持状态(R/H=“0”)则ST无脉冲信号输出。ST信号主要用来控制将转换结果向外部锁存器、UARTs或微处理器进行传送。3、BUSY(21脚)在双积分阶段(INT+DE),BUSY为高电平,其余时为低电平。因此利用BUSY功能,可以实现A/D转换结果的远距离双线传送,其还原方法是将BUSY和CLK“与”后来计数器,再减去10001就可得到原来的转换结果。4、OR(27脚)当输入电压超出量程范围(20000),OR将会变高。该信号在BUSY信号结束时变高。在DE阶段开始时变低。5、UR(28脚)当输入电压等于或低于满量程的9%(读数为1800),则一当BUST信号结束,UR将会变高。该信号在INT阶段开始时变低。6、POL(23脚)该信号用来指示输入电压的极性。当输入电压为正,则POL等于“1”,反之则等于“0”。该信号DE阶段开始时变化,并维持一个A/D转换期。7、位驱动信号D5、D4、D3、D2、D1(12、17、18、19、20脚),每一位驱动信号分别输出一个正脉冲信号,脉冲宽度为200个时钟周期,其中D5对应万位选通,以下依次为千、百、十、个位。在正常输入情况下,D5-D1输出连续脉冲。当输入电压过量程时,D5-D1在AZ阶段开始时只分别输出一个脉冲,然后都处于低电平,直至DE阶段开始时才输出连续脉冲。利用这个特性,可使得显示器件在过程时产生一亮一暗的直观现象。8、B8、B4、B2、B1(16、15、14、13脚)该四端为转换结果BCD码输出,采用动态扫描输出方式,即当位选信号D5=“1”时,该四端的信号为万位数的内容,D4=“1”时为千位数内容,其余依次类推。在个、十、百、千四位数的内容输出时,BCD码范围为0000-1001,对于万位数只有0和1两种状态,所以其输出的BCD码为“0000”和“0001”。当输入电压过量程时,各位数输出全部为零,这一点在使用时应注意。3.2.3 ICL7135的波形图如图3-2-3所示,第一个ST负脉冲在上次转换周期结束后101个时钟周期产生。因为每个选信号(D5-D1)的正脉冲宽度为200个时钟周期(只有AZ和DE阶段开始时的第一个D5的脉冲宽度为201个CLK 周期),所以ST负脉冲之间相隔也是200个时钟周期。需要注意的是,若上一周期为保持状态(R/H=“0”)则ST无脉冲信号输出。ST信号主要用来控制将转换结果向外部锁存器、UARTs或微处理器进行传送。图3-2-3 ICL7135的波形图3.2.4 ICL7135的工作方式介绍首先介绍ICL7135的BUSY端的功能。ICL7135是以双积分方式进行A/D转换的电路。每个转换周期分为4个阶段:自动调零阶段;被测电压积分阶段;基准电压进行反积分阶段;积分器返回零阶段。以输入电压V为例,其积分器输出端(ICL7135的4脚)的波形。BUSY输出端(ICL7135的21脚)高电平的宽度等于积分和反积分的时间之和。ICL7135内部规定积分时间固定为10 001个时钟脉冲时间,反积分时间长度与被测电压的大小成比例,如果利用单片机内部的计数器对ICL7135的时钟脉冲计数,利用BUSY作为计数器门控信号,控制计数器只能在BUSY为高电平时计数,将这段BUSY高电平时间内计数器的内容减去10 001,其余数便等于被测电压的数值。T0为16位计数器,最大计数值65535。在6.25次/s的转换速率条件下,满度电压输入时,BUSY宽度为30 001个时钟脉冲。由于单片机内部计数器的输入频率比ICL7135的时钟频率(250 kHz)高1倍,在满度电压输入时,计数器计数值为30 0012=60 002,不超过计数器最大值。在BUSY高电平期间计数器的数值除以2,再减去10 001,便是被测电压的数值。3.2.5 分频电路 图3-2-5分配电路图3-2-5为四分频电路图,按人们习惯说的分频电路有2种:一种是数字分频电路,实际上是一个除法电路,比如1MHz的频率,通过一个2分频电路后, 就变为0.5MHz,主要是用一计数器组成。还有一种是模拟分频电路,就像音箱上用的那种,是将宽的频段分成几段频段。实际上就是用高通、低通、带通滤波器组成的电路。分频器是使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成分,分频器是一种主要变换手段。早期的分频器多为正弦分频器,随着数字集成电路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器,即使在输入输出信号均为正弦波时也往往采用模数转换-数字分频-数模转换的方法来实现分频。正弦分频器除在输入信噪比低和频率极高的场合已很少使用。对于任何一个N次分频器,在输入信号不变的情况下,输出信号可以有N种间隔为2N的相位。这种现象是分频作用所固有的,与分频器的具体电路无关,称为分频器输出相位多值性。脉冲分频器有很宽的工作频带,低频端实际上没有限制,高端极限频率主要决定于使用的器件,但也与电路有关系。本论文是由两个D触发器构成的分频电路来实现分频的3.3 键盘输入与显示3.3.1键盘与单片机接口当键盘的数目最多为4个时,我们最佳的接口方案当然是独立式接法了,即每一个I/O 口上只接一个按键,按键的另一端接电源或接地(一般接地)。占用的I/O 口数最大为4 条。(注意:14 按键的键盘的接法许多,如果接成扫描式可以占用更少的I/O口,但从程序复杂性和系统稳定性的综合考虑的话,独立式键盘接法应该是首选)独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。例如,我们将常开按键的一端接地,另一端接一个I/O 口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O 口与地短路迫使I/O 口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。值得注意的事,我们在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般在10200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒级的单片机而言则是慢长的。为了提高系统的稳定,我们必须去除或避开它。目前的技术有硬件去抖动和软件去抖动,硬件去抖动就是用部分电路对抖动部分加之处理,但是实现的难度较大又会提高了成本。软件去抖动不是去掉抖动,而是避开抖动部分的时间,等键盘稳定了再对其处理。这里我们只研究软件去抖动,实现方法是先查寻按键当有低电平出现时立即延时10200毫秒以避开抖动(经典值为20毫秒),延时结束后再读一次I/O 口的值,这一次的值如果为1 表示低电平的时间不到10200 毫秒,视为干扰信号。当读出的值是0时则表示有按键按下,调用相应的处理程序。定时扫描方式定时扫描方式是利用片内定时器产生中断,CPU响应中断后执行键盘扫描子程序。这样CPU在非响应时间可以执行其他任务,从而提高了CPU的工作效率。 K1:启动K2:加一K3:减一图3-3-1键盘与单片机接口3.3.2 数码管结构输出电压采用7段数码管进行显示。数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0 9、字符A F、H、L、P、R、U、Y、符号“-”及小数点“.”。数码管的外型结构如图3-3-2(a)所示。数码管又分为共阴极和共阳极两种结构,分别如图3-3-2(b)和图3-3-2(c)所示。+5V(a) 外型结构 (b) 共阴极 (c)共阳极图3-3-2 数码管结构图3.3.3 数码管工作原理共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起,通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻3.3.4 数码管字形编码要使数码管显示出相应的数字或字符必须使段数据口输出相应的字形编码。对照图7.10(a),字型码各位定义如下:数据线D0与a字段对应,D1字段与b字段对应,依此类推。如使用共阳极。数码管,数据为0表示对应字段亮。数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如要显示“0”,共阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(即3FH)。按照共阳极为例,依此类推Y可求得数码管字形编码如表3.1所示表3-3-4 数码管字型编码表显示字符字形共 阳 极dpgfedcba字型码0011000000C0H1111111001F9H2210100100A4H3310110000B0H441001100199H551001001092H661000001082H7711111000F8H881000000080H991001000090HAA1000100088HBB1000001183HCC11000110C6HDD10100001A1HEE1000011086HFF100011108EHHH1000100189HLL11000111C7HPP100011008CHRR11001110CEHUU11000001C1HYY1001000191H-10111111BFH.011111117FH熄灭灭11111111FFH3.3.5 静态显示如图所示,静态显示要求每个数码管的字段都需要单独的I/O 口线控制,在数码管为数较多时需要的I/O线也多.根据设计要求我们选择的是出入并出方式驱动多位数码管,使用串行口方式0.在本次设计中,数码显示电路用3个串行移位寄存器74LS164驱动3个LED数码管实现.对于74LS164的控制可用MCS-51串行口工作方式0的移位寄存器工作方式实现.它是从内部RAM的显示数据缓冲区取出要显示的数据,查表获得七段显示码,由串行口送给显示器.也可以选择一般的I/O口编程实现串行移位功能.串行移位寄存器74ALS164 的 A、B与单片机的P00脚连接;CLK与单片机的PO1连接, MR与VCC连接图3-3-5静态显示电路3.4 X5045芯片在单片机系统中的应用 X5045是在单片机系统中广泛应用的一种看门狗芯片,他把上电复位、看门狗定时器、电压监控和E2PROM四种常用功能组合在单个芯片里,以降低系统成本、节约电路板空间。其看门狗定时器和电源电压监控功能可对系统起到保护作用;5128位的E2PROM可用来存储单片机系统的重要数据。3.4.1 X5045芯片的特点图3-4-1 x5045芯片图(1)可编程的看门狗定时器。(2)低电压检测和复位信号提供。(3) 5种标准复位端电压。(4)使用特殊编程序列可重复对低VCC复位电压编程。(5)低功耗,看门狗开:最大电流小于50; 看门狗关:最大电流小于10 ;读数据时最大电流小于工作电压可以在1.8 3.6 V,2.75.5 V或4.55.5 V之间。(6)内置4 Kb E2PROM ,可写入1 M次。(7)使用块保护功能可以保护存入的数据不被意外改写。(8) 3.3 MHz时钟速率。(9)片内偶然性的写保护:写锁存;写保护引脚。(10)最小编程时间:16位页写模式;写周期5 ms(典型)3.4.2 引脚及功能X5045的管脚排列如图1所示,他共有8个引脚,各引脚的功能如下:CS:电路选择端,低电平有效;SO:串行数据输出端;SI:串行数据输人端;SCK:串行时钟输入端;WP:写保护输人端,低电平有效;RESET:复位输出端;VCC:电源端;VSS:接地端。3.4.3 X5045芯片工作原理X5045除了作为看门狗芯片使用外,另外一个基本的功能就是作为E2PROM数据存储器使用,内部包含5128的串行E2PROM,以保证系统在掉电后仍可维持重要数据不变。X5045与MCU采用流行的SPI总线接口方式,可以和任意一款单片机的I/O口直接连接。芯片内部含有一个位指令移位寄存器,该寄存器可以通过SI来访问。数据在SCK的上升沿由时钟同步输入,在整个工作期内,CS必须是低电平且WP必须是高电平。如果在看门狗定时器预置的溢出时间内没有总线活动通常指CS引脚电平变化,那么X5045将提供复位信号输出以保证系统的可靠运行。X5045内部有一个“写使能”锁存器,在执行写操作之前该锁存器必须被置位,在写周期完成之后,该锁存器自动复位。X5045还有一个状态寄存器,用来提供X5045状态信息以及设置块保护和看门狗的定时周期。对芯片内部寄存器的读写均按一定的指令格式进行,表1为X5045的指令格式。表3-4-3-1 X5045的指令寄存器指令名称 指令格式完成的指令WREN 0000 0110 写允许WRDI 0000 0100 写禁止RSDR 0000 0101读状态寄存器WRSR 0000 0001写状态寄存器 看门狗和块锁定READ0000 As011从选定的开始地址单元中都数据WRIE0000 As011向选定的开始地址单元写入数据1-16字节数据读写时,MSB(最高位)在前。表1中的A8表示内部存储器的高地址位。在实际应用中,往往要对状态寄存器进行读写操作,他是一个8位的寄存器,用来标识芯片的忙闲状态、内部E2PROM数据块保护范围以及看门狗定时器的定时周期,其内部格式如表2所示。表3-4-3-2 数据块内部格式X X WD1 WD0 RL1 RL0 WEL WIP其中低2位的WEL,WIP表示芯片锁存器和写数据的忙闲状态,块保护BL1,BL0表示内部数据存储器的保护范围,一旦设置了保护位,则被保护的数据段只允许读,写操作是严格禁止的。看门狗定时器周期设置位WD1,WD0可以由用户通过编程自行设定看门狗的溢出时间 ,如表3-4-3-3表3-4-3-3 看门狗周期WD1WD0看们狗超时周期011.4s 0 1600ms1 0200ms1 1禁止3.4.4 X5045芯片与51内核的单片机连接随着科学技术和生产的发展,需要对各种参数进行测112量。温度是工业对象中主要的被控参数之一。在冶金工业、化工生产、电力工程、机械制造和食品加工等许多领域中,人们都需要对各种加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。图3-4-4-1AT89C51单片机和X5045的接口如图3-4-4-1所示进行接线。虽然接口电路简单,但他为AT89C51单片机扩展了上电复位、看门狗定时器、电源电压监控,4 kb串行E2PROM等功能,并且E2PROM内部数据最小保存期为100年,可擦写100万次以上。3.5 输出电压采样与信号放大这部分设计直接关系到电流的采样精度。因此,必须通过理论分析、反复实验方能确定。这部分线路可采用整流线路,也可采用直接交流比例变换电路,采用哪种线路则直接决定了程序是采用直流采样还是交流采样,程序设计将完全不同(其硬件电路图如附录所示)。 若采用直流采样则线路需采用整流线路,整流线路包括半波整流、桥式全波整流、精密半波整流、精密全波整流等几种形式,二极管半波整流和桥式全波整流都存在二极管的导通压降影响整流线路线性的问题,特别是在信号电压较低的时候,影响更大。为了减小二极管导通压降的影响,应选择肖特基二极管作整流器件,如IN5819,但需要注意的是IN5819耐压值较低(只有40V),因而采样电压信号不宜过大。精密半波或全波整流线路在许多资料中皆有介绍,在此无庸赘述。这种线路的优点是避免了整流二极管正向导通压降的影响,但同时增加了线路的复杂程度,而且还需要为放大器提供正负电源,增加了电源部分的成本。在实际使用中应权衡利弊,综合考虑才能作出选择。 在一些比较高档的仪器仪表中,人们普遍采用交流采样。采样方式是按一定周期(称为采样周期)连续实时采样被测信号一个完整的波形(对于正弦波只需采样半个周期即可),然后将采样得到的离散信号进行真有效值运算,从而得到电流信号的真有效值,这样就避免了被测信号波形畸变对采样值的影响。交流采样的关键技术有几个方面:1.采样周期应远小于被测信号周期,这对于工频电流信号是不成问题的,因为目前单片机的处理速度已经足够。2.要从硬件上避免采样信号畸变,这就需要从几个方面来努力:保证电流互感器在测量范围内输出的电压信号波形失真小。电流互感器的采样信号到单片机输入接口往往需要比例放大,这就要求信号变换电路失真要小。防止噪声干扰,一般的做法是在单片机输入口加一个高频旁路电容。交流采样线路中除去了阻容滤波电容,因而在响应速度方面比直流采样有极大改善,特别对于那些对响应特性要求较高的随动系统非常有益。尽管交流采样有很多直流采样无法比拟的优点,但因其会增加软件编程的难度并要占据较大的存储空间而在一些较简单的小型系统中较少使用。把通过精密半波整流电路得到的半波信号,通过前半部分进行放大,再进行一次倒相得到正信号传到ICL7135。3.6 全波精密整流电路1.整流:将交流电转换为直流电,称为整流。2.精密整流电路的功能:将微弱的交流电压转换成直流电压。整流电路的输出保留输入电压的形状,而仅仅改变输入电压的相位。当输入电压为正弦波时,3.全波精密整流电路其电路图如图3-6-1所示,全波整流输出电压波形如图3-6-2。图3-6-1 全波精密整流电路D1截止D2导通D1导通D2截止图3-6-2 全波精密整流波形图在全波精密整流电路中,当UI0时,U0=-KuI(K0),当UI0时,U01=-2uI,U0=-(-2UI+UI)= UI;当UI1,Tst大,启动迅速,稳定运行范围大,如图3-8-2。(3)控制电压 U2 大小变化时,转子转速相应变化,转速与电压 U2 成正比,U2 的极性改变时,转子的转向改变,如图3-8-3。 图3-8交流伺服电动机的T=f(s)曲线交流伺服电机的输出功率一般为0.1-100 W,电源频率分50Hz、400Hz等多种。它的应用很广泛,如用在自动控制、温度自动记录等系统中。第四章 软件设计 4.1 设计任务 根据硬件要实现的控制原理拟出以下软件设计任务:1.启动7135,对被测量进行A/D转换 2.对转换结果进行处理,AT89C51单片机分析判断3.发出控制指令,实现稳压精度满足正负3%的要求4.2 A/D 模块程序设计P24P25P26P27P20P21
展开阅读全文