《毕业设计(论文)-数字化调节器的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-数字化调节器的设计.doc(25页珍藏版)》请在三一文库上搜索。
1、目录1 概述12 数字化调节器的设计要求12.1调节功能12.2显示功能13 数字化调节器硬件电路设计33.1 数字化调节器控制系统硬件设计33.1.1 A/D输入通道设计33.1.2 D/A输出通道设计53.1.3按键电路:73.2数字化调节器控制显示硬件设计73.2.1接口部分73.2.2微处理器部分83.2.3数码管及其驱动部分84数字化调节器软件程序设计114.1基于V/F的A/D转换接口程序设计114.1.1计频114.1.2数据标定处理124. 2基于DAC7513N的串行12位D/A转换程序设计134.3按键处理程序设计144.3.1状态设定按键的程序设计144.3.2数字设定按
2、键程序设计144.4看门狗的应用144.5显示系统设计154.5.1串行通信模块154.5.2显示模块154.5.3主程序模块165参考文献:206附录211 概述一般的控制器或控制设备均具有显示和调节功能,即实测量的显示功能和电位器调节设定功能。电位器作为一种模拟器件,具有连续调节能力,但容易出现接触不良的问题,而且与数字化发展方向不吻合。目前虽有数字电位器可供选用,但分辨率普遍较低,抽头数最高的如XICOR公司的X9110,只有1024抽头,即1024级,不能适应某些特殊使用要求。数字化调节器的研究正是基于这种背景。该调节器具有显示与调节两种功能,调节级数为4096,远远高于一般的数字电位
3、器,为而且由于是按键操作,克服了电位器旋钮不能密封的固有缺陷,可广泛应用于电位器调节的应用场合和密封要求较高的应用场合。例如,电镀用的各种电源,一般工作在强酸性环境中,由于密封性问题会导致调节器容易损坏或失灵,而采用数字化调节器可较好解决这类问题。2 数字化调节器的设计要求数字化调节器的主要功能是调节与显示,具体设计要求如下:2.1调节功能 (1) 具有电压与电流两种调节方式(主要是为了适应不同的控制要求)。例如,在电镀电源中,有些是恒压控制的,而有些是恒流控制的,需要能分别进行调节,即要有切换功能。 (2)电压的调节范围为:012V;电流的调节范围为:01000A. (3) 电压的调节分辨率
4、至少为0.1V,电流的调节分辨率至少为1A。(4)具有粗调和细调两种调节方式,以适应不同的调节需要,细调为粗调的1/10.2.2显示功能(1)同时显示实测值和调节设定值。(2)采用数码管显示,能适应您不同的照度环境要求。(3)12位显示,前6位设定值,后6位实测值,各自的首位用“a”或“b”表示电流或电压,用“a.”或“b.”表示目前位细分设定状态。鉴于上述设计要求,本调节器中12位显示电路的设计成为关键。原因是:如果采用诸如MAX7219等专用数码管显示接口芯片,由于其负载能力通常只有8位,采用级联扩展方式时需要2片,不仅成本高,而且也使系统体积增大;如果采用通用接口芯片如Intel8279
5、或Intel8255等实现,需要扩展若干驱动或译码电路,体积也较大,而且采用并行接口方式,不利于主控制电路与显示电路的分离。因此,本调节器采用调节器分为控制系统和显示系统两个部分,前者负责调节,后者负责显示,两者之间通过串行方式进行接口,有利于显示系统的灵活安装。下面的讨论围绕两个系统分别展开。12位数码管显示系统高级数字调节控制系统串行通信方式图1 数字调节器原理示意图3 数字化调节器硬件电路设计3.1 数字化调节器控制系统硬件设计控制系统设计的关键在于实测量的采样与数字化及高分辨率数字电位器功能的实现等方面。除此之外,选用性价比高的微处理器也是首先要考虑的问题,选用的依据有以下几个方面:(
6、1) I/O接口能力;(2) 串行通信方式;(3) 微处理器是否含系统正常运行所需的功能部件,如WDT、A/D、D/A等。 鉴于目前大多数系列的微处理器内含D/A或A/D部件均不能达到本系统的设计分辨率要求,因此采用外部扩展方式。而且,串行接口方式的A/D或D/A在各种嵌入式系统中的应用越来越普遍,也容易得到,故系统选用串行方式。因此,控制系统的微处理器选用ATMEL的89C2051。3.1.1 A/D输入通道设计 设计A/D输入通道的目的在于将被测量模拟量数据转换为数字量以供处理和显示、由于显示刷新周期本身不高。通常为几十毫秒以上,因此对被测模拟量的采样和转换的速度要求也不高,从串行传输和光
7、电隔离两个方面考虑,采用V/F方式实现对被测量模拟数据的数字化,不失为一种好的途径。根据不同的转换精度要求和稳定性要求,可以采用LM331或AD650等V/F转换接口芯片,前者转换精度相对较低,后者转换精度较高。本系统采用LM331来实现模拟量的数字化,已能满足显示的需要。关于该芯片的性能和应用参阅资料【LM231/LM331 DATASHEET. Http:/www.national,com】,现围绕该芯片讨论A/D通道的设计。A/D通道的具体实现参见图3-3.从图中可知,这部分电路包括:V/F转换;与微处理器的光电隔离接口。Vcc为LM331的电源电压,选为+10V,AG为电源地(模拟地)
8、。按照LM331设计要求,V/F转换关系式见公式(3-1),按照该公式,设计相关阻容参数如图2所示,调节电位器W2,当W2和R33的总阻值为14.212K,时,输入电压与输出频率对应关系为:010V010KHZ.因此当模拟量输入为05V时,输入电压与输出频率应为05KHZ。R31与C21构成一阶高频滤波器,用于对输入信号Vin中的高频干扰信号进行滤波,提高输出频率的稳定性。 (3-1)图2 A/D通道电路原理图经V/F转换后的频率信号VF送入4N25高速光耦隔离后,形成FIN频率信号,再送入微处理器的INT2外中断1引脚,通过中断子程序对该信号进行计数。其中VT2用于光电隔离4N25的输出信号
9、的驱动,可提高FIN信号的负载能力;R2为4N25的发光二极管的限流电阻,按照4N25的设计要求,应选300左右,过大会导致驱动电流不够而不能使4N25正常工作。按照图中设计,当VF为低电平时,FIN为低电平。FIN频率信号与输入模拟信号的对应关系必须结合具体的量程来确定。对于01000A的被测电流,当电流传感器转换为05V输入电压V时,其对应的频率为05KHZ,因此电流与频率的对应关系为: (3-2)而频率f与采样周期(闸门时间)T的关系如下: (3-3)式中,D为计数值;本系统中将闸门时间T设为0.2ms。综合式(3-2)和式(3-3)得到电流与计数值的关系为式: (3-4)由此得到的电流
10、i的精度是多少呢?答案是:近似11位。分析如下:按图2设计,则LM331的最高输出频率位10KHZ,即周期为100us,为达到11位精度,其闸门时间应根据式(3-5)进行设定,即T=204.8ms,取整数后即为200ms。 (3-5)同理,可得到被测电压v与计数值之间的关系: (3-6)由于被测量是电压、电流两种,因此必须进行信号选择。本系统采用了单刀双掷小型继电器实现通道的切换方式,见附录图1中的J1部分。在满足系统要求的前提下,其与微处理器的接口最为简单。当然作为一种机械切换方式,继电器切换不能应用在切换频率较高的场合,原因是机械触电的寿命有限,即通断次数有一定限制,优质继电器触点寿命一般
11、在10万次以上。3.1.2 D/A输出通道设计D/A通道的主要功能是实现的能,即将设定的数字量转化为模拟量输出,数字量的设定通过按键“+”和“-”实现。从性能和价格两方面结合考虑,选择12位的D/A转换芯片,可以达到4096级的分辨率。考虑市场因素,最后选用Texas的DAC7513N,其特性可简述为:(1)低能耗,上电后输出为0;(2)工作电压范围宽:+2.7+5.5V; (3)建立时间为10us;(4)3线串行接口;(5)两种封装:SOT23-8和MSOP-8.基于DAC7513N的D/A输出通道设计如图3所示。从图中可知,该通道主要包含与微处理器接口电路、D/A转换后的模拟信号的驱动电路
12、两个主要部分。其中前者主要涉及到DA7513N接口所需的3串行信号,数据输入:DIN,时钟:SCLK,转换同步信号:SYNC,采用3片4N25进行光电隔离,提高系统抗干扰能力。4N25为高速光耦,其响应时间为1.2us ,在12MHz系统串行信号输入/输出的速度要求。DAC7513N的基准电压由MC1403基准电路提供,电压为+2.5V,目的是为了保证D/A转换的稳定性。设数字量为D,则DAC7513N的输出电压与输入数字量之间的关系如下:按照运算放大器的“虚短”原则,不难推导得到经U11A运算放大器放大后的输出V与的关系如下: 图3 基于DAC7513N的D/A通道运放U11B设计为一级跟随
13、器,主要是提高输出信号Vo的负载能力。U11A和U11B使用了性价比极高的LM324,允许单电源和双电源供电,为简化电源电源电路,本系统采用单电源方式,电压为+10V。因此,其最大输出为10-1.58.5V,由于DAC7513N转换后的输出电压Vo1最大为2.5V,因此该电源电压符合设计要求。图3-4中中的电阻R18为平衡电阻,其阻值应为R16与R17的并联值。电阻R16、R17及R18应采用1的金属膜紧密电阻。3.1.3按键电路:常用的非编码键盘,每个键都是一个常开开关电路。图4 按键电路3.2数字化调节器控制显示硬件设计鉴于上述提出的三个要求,显示系统的硬件设计以89C52为核心,是非常有
14、效的一种方案。理由如下:(1)89C52具有串行通信口;(2)具有4*8=32条I/O口线,能满足12位或更多数码管显示所需。以12位数码管为例,扫描方式下段驱动为8条口线,位驱动为12条口线,即共需要20条口线;每增加1位数码管,则增加1条口线;(3)89C52每条口线理论上均具有20mA的驱动能力(当然微处理器总的驱动电流有一个限制,共80mA),对于高亮度数码管而言,每个字段均点亮的极端状态下,总电流约为8*5=40mA,因此在动态扫描方式下,89C52应能满足驱动需要。显示系统的硬件设计如图3-11所示。在图3-11上,显示系统分为接口部分、微处理器部分、数码关机驱动部分等三个主要部分
15、。分别分析如下:3.2.1接口部分接口部分主要是指图中的CZ1部分,包含串行通信信号:RXD(接收)、TXD(发送)、GND(地)、+5V(电源)及RST(同步复位)等。在通信距离15m且波特率为2400bps的条件下,RXD、TXD不需要进行电平转换,直接与控制系统的TXD、RXD交叉连接,使用TTL电平进行通信。RST(同步复位)信号来自控制系统,可以是控制系统的复位信号,也可以由控制系统的某一引脚产生,对89C52而言,只要高电平持续200ms以上,就能使之可靠复位,本调节系统采用前一种复位方式,但在设计控制系统软件时,要注意延时的设置,以保证在显示系统软硬件复位完成的情况下才接收显示数
16、据,否则,将无法正常通信和显示。3.2.2微处理器部分微处理器部分主要是时钟电路、数码管段驱动及位驱动信号。对于系统时钟,选择了6MHZ,不需要更高主频,在保证2400通信波特率精确的前提下,甚至可以选择更低的主频,以降低功耗,提高可靠性。主频和波特率之间互相关联,对于6MHZ主频,对应2400波特率,定时器1的定时时间参数为:(TH1)=0F3H,(TL1)=0F3H,其波特率误差5%,可满足正常通信的要求。在其他主频下,波特率误差可能会有所不同,设计选用时应注意此点。P1口作为段驱动,是一种直接驱动,其限流电阻可以选择在5101K之间,过小会使得89C52过载;太大,则会使得数码亮度受到影
17、响,而且影响动态扫描的效果。位驱动由P0(8位)和P2(8位)共16位承担,其限流电阻设计为2K,由于位电流为段电流之和,因此采用小型PNP三极管9012进行驱动,它工作在饱和导通和截止两种工作状态,分别使各个共阳极数码管点亮或熄灭。3.2.3数码管及其驱动部分数码管选用高亮或超高亮小型共阳极数码管,可满足直接由微处理器驱动的要求。本系统只要12位,在硬件电路中只要取前12位即可。下面是图1是控制部分原理图,图2是显示部分原理图。图1图24 数字化调节器软件程序设计数字化调节器控制系统软件按照功能可划分为:A/D转换及其处理器模块;数据发送通信模块(送显);按键处理模块;D/A转换输出模块;D
18、/A转换输出模块;主模块。下图所示描述了上述各模块之间的关系。A/D转换处理模块数据发送通信模块显示主模块D/A转换输出按键处理模块如图 系统主程序流程图以下着重讨论A/D转换接口程序、12位串行D/A转换程序及按键相应和处理程序三个子程序模块的设计。4.1基于V/F的A/D转换接口程序设计基于V/F的A/D转换接口程序主要包含:计频和数据标定处理两个方面。对于前者,即是在闸门时间内的频率计数值,与此有关的是闸门开启与关闭、频率的计数;对于后者,则要根据不同的检测对象及量程和精度要求,做相应的数据变换,以供显示等。4.1.1计频为实现预定11位转换精度的计频,使用了微处理器的定时器0定时中断和
19、外中断1的下降沿中断,前者用做闸门的开启与关闭,开启时间设定为200ms,由20次10ms定时中断产生;后者则简单地对INT1引脚的负跳变惊醒计数。由于本系统使用了3种中断程序,为确保中断现场正确保护和恢复,减少程序中现场保护与恢复的代码,每个中断程序使用了不同的工作寄存器组并进行切换。具体如下:主程序及一般程序: 寄存器组0定时器0定时中断程序: 寄存器组1外中断1中断程序: 寄存器组2外中断0按键中断程序: 寄存器组3由于外中断1中断程序相对简单,因此这里只讨论定时器0定时中断程序的流程设计问题,具体如下所示。重置定时器定时时间常数看门狗喂狗输入切换状态清数据全部接收标志中断次数减120次
20、中断了吗?NY置全部接收标志,中断次数初始化为20暂禁止外中断1,停止T0计时中断返回如图:定时器0的10ms定时中断子程序4.1.2数据标定处理关于数据标定的算法已在前面进行了讨论,这里只讨论数据标定处理的程序实现问题。这里有两个问题必须考虑:(1)12位显示分为前6位,需要标定处理的数据分别来自按键设定和V/F输入,因此必须加以区分。系统采用了标志的办法,即位标志F-d12,如等于0,则处理的是按键设定的数字量;否则,处理的是V/F输入得到的数字量。(2)对每项中的电压与电流标定处理算法是不一样的,也采用了以位标志isv加以区分的办法,即如为0,表示处理的是电流,否则处理的是电压。而该标志
21、是根据按乒乓键S1得到的。前6位和后6位的显示对象是一致的,或是电压,或是电流。在上述设计思路的基础上,数据标定程序的实现就简单了。以V/F输入数据中的电压标定处理程序为例,结合下图的程序流程做简要阐述。对于电压,显示精度为两位小数,小数定在第4位上。判断是全步/细步状态细步全步首位最高位置1带小数显示b首先显示b(表示电压)第2位熄灭第2和第3位熄灭10 000吗?频率计数值*12取乘积前4位,定点显示NY取乘积前3位,定点显示返回返回如图 数据标定处理程序流程(V/F中的电压部分)4. 2基于DAC7513N的串行12位D/A转换程序设计 基于DAC7513N的串行12位D/A转换接口程序
22、,其实只有一个写DAC7513N接口程序。要实现对DAC7513N的正确写入,必须严格遵循DAC7513N的时序规范。 DAC7513N的写入有以下几个特点:(1)写入必须由SYNC的下降沿启动,止于上升沿。如果16位写入正在进行中,而该信号拉高,将导致写入无效。(2)16位数据写入的顺序为从高位到低位,前两位可为任意值。在本系统中,统一写入00。(3)数据写入操作在时钟的下降沿完成。4.3按键处理程序设计数字化调节器的按键共4个,分为两类:(1)状态设置按键,即S1:CORV,S4:STEP;(2)增加、减少等数字设定按键,即S2:+,S4: 。第(1)类按键采用了中断工作工作方式,以提高响
23、应的快速性;第(2)类按键采用查询工作方式。下面分别讨论。4.3.1状态设定按键的程序设计由于S1、S4经与门后送入外中断1作为触发信号,因此两键统一在外中断1程序中进行处理。外中断1采用下降沿跳变触发方式。中断响应后再通过分别查询两键的状态,区分是何键按下。4.3.2数字设定按键程序设计数字设定按键的程序设计以:“”键为例进行讨论,“”键的处理与之完全相似。每按一次“”键,则输出增加,增加量(步进量)由S4全步/细步状态设定,为数字量100或10;达到上限后,不再增加。在输出增加的过程中,显示也同步更新。按键的去抖动在调用该子程序的相关程序中处理。4.4看门狗的应用考虑到调节系统长期连续运行
24、的实际情况,为避免系统受到各种干扰后死机,因此使能电源监视电路MAX813L的看门狗功能,其看门狗定时器溢出周期为1.6s,即在该时间内未能使WDI输入信号的状态发生跳变(喂狗),则将使WDO引脚输出持续200ms以上的低电平,通过系统控制电路中开关二极管D2(4148)使手动引脚产生对应的低电平,从而使复位输出有效(高电平),使系统复位,系统自行从死机中恢复。对于本系统,将看门狗喂狗动作分解为拉高和拉低,然后分别安排在定时器0定时中断中和主程序中,其目的是为了既能有效防止中断系统失效(表现为不能产生拉高操作),又能有效防止主程序跑飞导致的失效(表现为不能产生拉低操作),从而保证系统的顺畅运行
25、。4.5显示系统设计数字化调节器显示系统的软件设计遵循了通用性原则,使得该显示系统不仅为本数字化调节器而设计,还能广泛应用于其他需要多位数码管显示器的场合。软件设计包含三个主要模块:串行通信模块,显示模块,主程序模块。下面分别讨论。4.5.1串行通信模块由于本显示系统与控制系统采用“三线”通信方式,控制系统发送显示数据(显示刷新)又是随机的,从提高响应及时性考虑,串行通信采用中断接收方式。接收的字节数由收到的第1字节决定,每接收11字节即存入接收缓冲区中,由全局标志txf指示接收完成与否。4.5.2显示模块多位显示一般采用动态扫描法,即每个数码管按照显示代码值点亮若干毫秒后熄灭,依次点亮下一个
26、数码管,循环往复,利用人眼的视觉暂留,达到显示信息的效果。其部分程序流程如下图:根据显示代码取首位的段码送段驱动口通过使位驱动无效关闭所有数码管根据显示代码最高位决定是否带小数点段码修正为带小数点带小数点不带小数点段码不做修正使当前位位驱动有效,点亮数码管个数增1延时适当的毫秒数以稳定视觉使当前位位驱动无效(即熄灭)判显示所有数码管否返回依次继续显示下一数码管 如图 显示子程序流程图 4.5.3主程序模块主程序是程序的主框架,其设计与各子模块设计互相关联。合理地分配功能、实现模块化设计,是保证主程序流程清晰而且调试维护简单的前提。从这个意义上说,设计主程序的过程,就是设计整个程序的过程。本显示
27、系统在进行软件规划时,就是立足于模块化原则,按照功能要求,设计若干个独立性较强、关联较弱的子模块(中断程序模块或一般模块),在此基础上,主程序再进行装配与调度。主程序流程图如下图所示。关穿行中断波特率等系统初始化显示缓冲区初始化为熄灭代码开放串行中断以便接收数据清接收缓冲区清接收字节数变量和通信标志清接收缓冲区、个数变量和通信标志有效码?所有显示数据都接收了吗?显示接收代码送显示缓冲区检查接收数据的有效性 如图 显示部分主程序流程图 显示模块源程序DBUF EQU 30H ;全局显示缓冲区,共12字节,依次存放DCNT EQU 12 ;显示数码管个数SEGTAB DB 0C0H,0F9H ;0
28、,1的段码表;DISPLAY: MOV P0, #0FFH ;关闭所有数码管MOV P2, #0FFHMOV R2, #0 ;已显示数码管计数变量初始化为0MOV R0,#DBUF ;数据指针指向显示缓冲区MOV A, R0 ;取出显示代码JB ACC.7, DISPLAY_0;带小数点则转MOV DPTR, #SEGTAB ;指向段码表MOVX A, DPTR+A ;根据显示代码从程序区取出段码SJMP DISPLAY_1DISPLAY_0:MOV DPTR, #SEGTABMOVC A, DPTR+AANL A, #7FH ;带小数点DISPLAY_1:MOV P1, A ;从P1口送出段
29、码CLR DIG1 :当前数码管点亮INC R2 ;已显示数码管增1INC R0 ;指向下一个显示代码(位)LCALL DELAY4MS ;延时SETB DIG1 ;当前位熄灭MOV A, R2 ;判所有位显示完否XRL A, #DCNTJNZ DISPLAY_2 ;没有,则继续显示下一位RET ;已完,则返回主程序模块MAIN: CLR ESLCALL INITMOV R1, #12 ;显示12位MOV R0, #DBUFMOV A, #13HMAIN_-:MOV R0, A INC R0DJNZ R1 MAIN_0SETB ESMOV RBUFF_TAIL, #0MOV R0, #RBUF
30、FMOV R1, #14 ;字节数+累加和+12字节MOV A, #0MAIN_1:MOV R0, AINC T0DJNZ R1, MAIN_1MOV CNT, #0CLR TX_FMAIN_3:JNB TX_F, MAIN_5LCALL RECEIVEOKJNB ISOK, MAIN_4MOV R0, #DBUFMOV R1, #RBUFFINC R1INC R1MOV R2, #12MAIN_30:MOV A, R1MOV R0, ADJNZ R2, MAIN_30MAIN_4:MOV RBUFF_TAIL, #0MOV R0, #RBUFFMOV R1, #14 :5参考文献:智能仪器,
31、程德福,北京:机械工业出版社,2005智能仪器原理及应用,赵茂泰,北京:电子工业出版社,2004单片机应用系统开发实例导航,靳达,北京:人民邮电出版社,2004基于单片机的智能系统设计与实现,沈红卫,北京:电子工业出版社,20056附录郑州轻工业学院课 程 设 计 任 务 书题目 数字化调节器设计专业、班级 电信04-1 学号 46 姓名 张雨来 主要内容、基本要求、主要参考资料等:主要内容及基本要求设计数字化的调节器,要求该调节器具有电压电流两种调节方式,电压调节范围为012V,分辨率为0.1V,电流的调节范围为01000A,分辨率为1A。 另外,要求调节器能够显示实测值和调节设定值。要求完成以下几个环节1检索资料,论证方案2设计系统硬件电路图,要求采用抗干扰措施3画出主要程序流程图4编写主要程序5完成课程设计说明书主要参考资料:智能仪器,程德福,北京:机械工业出版社,2005智能仪器原理及应用,赵茂泰,北京:电子工业出版社,2004单片机应用系统开发实例导航,靳达,北京:人民邮电出版社,2004基于单片机的智能系统设计与实现,沈红卫,北京:电子工业出版社,2005完 成 期 限:2008.1.7 - 2008.1.11指导教师签名: 专业负责人签名: 2008年 1 月 4 日24
链接地址:https://www.31doc.com/p-3949486.html