基于单片机的液位控制器的设计

更新时间:2024-05-18 02:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学号: 0000000

XXX大 学 毕业设计(论文) (2012 届)

题 目 基于单片机的液位控制器的设计

学 生 XXX 学 院 XXXXX学院 专 业 班 级 XXXX

校内指导教师 XXXX 专业技术职务 XXX 校外指导老师 XXX 专业技术职务 XXXXX

二○一二年五月

基于单片机的液位控制器的设计

摘要:在日常生活中的很多地方需要液位控制,一个性能良好的液位控制系统可以给生活带来很多方便,设计出一个优良的液位控制系统具有极其重要的意义。

该系统以STC89C52单片机作为核心控制器实现具有液位检测、显示、控制和报警功能的家庭水箱液位控制器。系统采用MPS20N0020D-S型液压传感器检测液位,用三个按键来实现水位设定,用五个7段LED数码管来完成显示部分,用PWM方法控制水流速度。软件部分使用C语言作程序开发,易于编写和升级维护,使得作品性能更优良。

本设计采用单片机作中央处理单元,易于实现水箱液位的控制,而且有造价低、程序易于调试、一部分出现故障不会影响其他部分的工作、维修方便等优点。具有非常高的使用价值和良好的市场前景。

关键词:STC89C52单片机;液位控制;显示;报警;PWM方法

\\

I

The design of water level controller based on single chip

microcomputer

Abstract:A water level control system is in need in many aspect of our daily life. Lots of convenience will be brought to life by an excellent water level control system, and it makes a significant sense to design an excellent water level control system.

The household water tank control system is based on the STC89C52 MCU and includes the functions of water level detection , control and exception alarm. This system contains five parts as follow: the detection of water level, the user operating keys, the control of water level, status display and exception alarm. The hydraulic pressure sensor is used for water level

detection. Three keys can meet the operating need and five 7-segment LED display device are used for status display. The speed of water in and out can be controlled by PWM method. The C programming language is used in this software development, which is good for programming and software update. It contributes much to an excellent work.

The use of MCU makes the control more easily. What is more, low cost , reliable, easily for device programming and convenienced for fixing are the advantages of this system. It’s very useful and has a promising market value.

key words: STC89C52 MCU, water level control, status display, alarm, PWM method

II

目 录

摘要??????????????????????????????????Ⅰ 目录??????????????????????????????????Ⅲ 1引言 .................................................................... 1 1.1课题研究意义及国内外研究状况 ........................................ 1 1.2主要研究内容 ........................................................ 2 1.3方案论证 ............................................................ 2 1.4 总体设计 ............................................................ 4 1.5 本章小结 ............................................................ 4 2系统硬件设计 ............................................................ 5 2.1 单片机最小系统 ...................................................... 5 2.1.1 STC89C52单片机功能简介 .......................................... 5 2.1.2晶振电路 ......................................................... 8 2.1.3复位电路 ......................................................... 8 2.2 水位检测电路设计 .................................................... 8 2.2.1信号采集电路设计 ................................................. 9 2.2.2信号调理电路设计 ................................................ 10 2.2.3接口电路设计 .................................................... 13 2.3人机接口电路设计 ................................................... 16 2.3.1数码管显示电路设计 .............................................. 16 2.3.2键盘电路设计 .................................................... 18 2.4执行单元电路设计 ................................................... 18 2.4.1TIP122达林顿管 .................................................. 19 2.4.2水阀驱动电路的设计 .............................................. 19 2.5电源电路设计 ....................................................... 20 2.6本章小结 ........................................................... 20 3系统软件设计 ........................................................... 21 3.1系统软件编译开发环境 ............................................... 21 3.2主程序流程图 ....................................................... 21 3.3初始化子程序设计 ................................................... 22 3.4显示子程序 ......................................................... 23 3.5A/D数据采集子程序 .................................................. 24 3.6液位超限、水阀异常报警子程序 ....................................... 25 3.7按键检测子程序 ..................................................... 26 3.8水阀开度控制方法的设计与编程 ....................................... 27 3.8.1水阀电感线圈电流与PWM 波占空比的关系 ........................... 27 3.8.2PWM脉冲输出的程序设计 ........................................... 29 3.9 本章小结 ........................................................... 30

III

4 系统仿真及调试 ......................................................... 31 4.1系统仿真及分析 ..................................................... 31 4.2 实物软、硬件调试及分析 ............................................. 32 4.3 本章小结 ........................................................... 34 总结 ..................................................................... 35 参 考 文 献 .............................................................. 36 致谢 ..................................................................... 37 附录一 电路原理图 ........................................................ 38 附录二 PCB布线图 ........................................................ 39 附录三 实物图 ............................................................ 40 附录四 系统程序代码 ...................................................... 41

IV

a)主电源引脚Vcc和Vss

VCC(40脚): +5V主电源正端 Vss(20脚):+5V主电源地端 b)外接晶振引脚XTAL1和XTAL2

XTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。

XTAL2(18脚): 接外部晶振的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。 c)控制信号或与其它电源复用引脚

RST(9脚): 单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)。

PSEN(29脚): 在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别89C52是否在工作。

ALE/PROG(30脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。

EA/VPP(31脚): 当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。在对87C51EPROM编程时,此引脚用于施加编程电压VPP。

d)输入/输出引脚P0口、P1口、P2口及P3口

P0口(32-39脚):P0口是一个漏极开路的8位准双向I/0口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。P0口有三个功能: ①外部扩充存储器时,当作数据总线(D0~D7); ②外部扩充存储器时,当作地址总线(A1~A7)。③不扩充时,可做一般I/O口使用,但内部没有上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1口(1-8脚):P1口是一个带内部上接电阻的准双向I/O口。P1的每一位能驱动4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,此时P1引脚由内部上接电阻接成高电平。

P2口(21-28脚):P2口是一个带内部上接电阻的8位准双向I/O口。P2口每一位能驱动4个LS型TTL负载。P2口有两个功能: ①扩充外部存储器时,当作地址总线(A8~A15)使用。 ②做一般I/O口使用,其内部有上拉电阻。

P3口:P3口是一个带内部上拉电阻的8位准双向I/O口。P3口每一位能驱动4个LS型TTL负载。P3口与其它I/O口有较大区别,每个引脚还具有专门功能,除了作

第 6 页 共 48页

为I/O口使用外(内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。P3口的第2功能见表1.1。

端口1、2、3有内部上拉电阻,当作为输入时,其电位被拉高,若输入为低电平可提供电流源;其作为输出时可驱动4个LS TTL。而端口0作为输入时,处在高阻抗的状态,其输出缓冲器可驱动8个LS TTL(需要外部的上拉电阻)。

表1.1 P3口第二功能

引脚 第2功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断) P3.3 INT1(外部中断) P3.4 T0(TIMER0的外部输入脚) P3.5 T1(TIMER1的外部输入脚) P3.6 WR(外部数据存储器的写入

控制信号)

P3.7 RD(外部数据存储器的读取

控制信号)

(2)STC89C52RC单片机的中断系统

计算机暂时中止正在执行的主程序,转去执行中断服务程序,并在中断服务程序完了之后能自动回到原主程序处继续执行,这个过程叫做“中断”。大体来说,采用中断系统改善了计算机的性能,主要表现在以下几个方面:

a)有效地解决了快速CPU与慢速外设之间的矛盾,可使CPU与外设并行工作,大大提高了工作效率。

b)可以及时处理控制系统中许多随机产生的参数与信息,即计算机具有实时处理的能力,从而提高了控制系统的性能。

c)使系统具备了处理数据的能力,提高了系统自身的可靠性。由此可见,“中断”已成为现代计算机的1种重要功能,而中断系统功能的强弱已称为衡量1台计算机功能完善与否的重要标志之一。

中断源——所谓中断源就是引起中断的事件,亦即是什么部件要求中断。STC89C52单片机提供了8个中断源:4个外部中断请求INT0、INT1、INT2和INT3,3个片内定时器/计数器T0、T1和T2的溢出中断请求TF0、TF1和TF2及串行口中断请求TI或RI(合为一个中断源)。

中断响应的条件——单片机响应中断的条件为中断源有请求(中断允许寄存器IE相应位置1),且CPU开中断(即EA=1)。这样,在每个机器周期内,单片机对所有中断源都进行顺序检测,并可在任1个周期的S6期间,找到所有有效的中断请求,还对其优先级进行排队。但是,必须满足下列条件:①无同级或高级中断正在服务;②现行指令执行到最后1个机器周期且已结束;③若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且紧随其后的另1条指令也已执行完。单片机便在紧

第 7 页 共 48页

接着的下1个机器周期的S1期间响应中断。否则,将丢弃中断查询的结果。

中断响应的过程——单片机一旦响应中断,首先对相应的优先级有效触发器置位。然后执行1条由硬件产生的子程序调用程序,把断点地址压入堆栈,再把与各中断服务程序的入口地址送入程序计数器PC,同时清除中断请求标志,从而程序便转到中断服务程序。

2.1.2晶振电路

晶振电路是单片机的心脏,它控制着单片机的工作节奏。STC89C52单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和XTAL2 分别为反相放大器的输入和输出端,外接晶振(或陶瓷谐振器)和电容组成振荡器,典型的晶振值取12MHz。振荡器产生的时钟频率主要由晶振的频率组成,电容C1和C2的作用有两个:其一是使振荡器起振,其二是对振荡器的频率f起微调作用(C1、C2变大,f变小),其典型值为30pF,电路图如下所示。

图2.2 晶振电路原理图

2.1.3复位电路

如图2.3所示,上电复位电路由两个电阻、一个按键和一个电容构成。RC时间常数为t=1uF*10kΩ =0.01s=10ms>10us,满足了上电复位的高电平持续时间要求。上电时,电容没有电荷,相当于短路,RST引脚为高电平,10ms之后电容充电饱和,单片机复位,之后RST引脚被10k电阻拉到低电平。按键按下时,电容通过1k电阻放电,按键松开后类似于上电的过程,电容又经历一个10ms充电过程,使得RST引脚维持了10ms的高电平,单片机复位。

图2.3 上电复位电路原理图

2.2 水位检测电路设计

MPS20N0020D-S型液压传感器将水位转换成电压信号输出,但该信号在几十毫伏数量级别,必须经过信号调理电路进行放大才能供后级电路读取[5],再利用AD0809转换

第 8 页 共 48页

芯片进行数模转换,输出数据供单片机读取。 2.2.1信号采集电路设计

本设计采用MPS20N0020D-S型液压传感器检测液位,其基本参数如下:

表2.1 MPS20N0020D-S型液压计参数 参数 测量压力范围 最大过压能力 分辨率 工作电源 输入阻抗 输出阻抗 工作温度 存储温度 可接触介质 零偏电压

满量程输出电压 桥电阻 线性度

迟滞

零偏温度系数 灵敏度温度系数

参数值 3

3倍测量范围 0.0145 5

4—6 4—6 -40—85 -40—125

清洁、干燥、无腐蚀性气体 ±25 30—60 4—6 ±0.3 ±0.7 ±0.08 -0.21

单位 PSI PSI VDC KΩ KΩ ℃ ℃ mV mV KΩ %F.S. %F.S. %F.S./ ℃ %F.S./ ℃

备注 20KPa

100Pa

-40°F--+185°F 40°F--+257°F

液压传感器内部结构及引脚分布如图2.4所示。

(a)内部结构 (b)引脚分布图

图2.4 MPS20N0020D-S型液压计

由图2.4知,该液位传感器由四个电阻构成,将6脚和1脚接在一起就形成了一个电阻电桥。从5脚和2脚输入5V电压,3脚和1-6脚可作为信号的输出。水位的变化会影响内部电阻阻值的变化,进而引起电桥输出电压的变化。

该液位传感器的工作电路搭建非常简单,将1脚和6脚连在一起后,只需将2脚连

第 9 页 共 48页

接+5V,5脚接地,那么3脚和1-6脚就作为信号的输出,其电路图如图2.5所示:

图2.5 液位传感器工作电路原理图

2.2.2信号调理电路设计

液位传感器的量程为2m水柱,满量程输出为30—60mV,由于要求检测的水位在40cm之内,所以液位传感器的输出电压最大值在7—15mV之间,不能直接输入ADC0809进行数模转换,中间需要信号调理电路将电压信号转换到0到5V之间[6]。 (1) 运算放大器OP07A简介

OP07A是一种低噪声,非斩波稳零的双极性运算放大器。由于OP07A具有非常低的输入失调电压(最大为25μV),所以OP07A在很多应用场合不需要额外的调零措施。OP07A同时具有输入偏置电流低(为±2nA)和开环增益高(为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07A特别适用于高增益的测量设备和放大传感器的微弱信号等方面。

足够宽的输入电压范围(最少±13V)与高达110dB的共模抑制比和高输入阻抗的结合,在同相电路阻态中提供了很高的精度,即使在很高的闭环增益下,也能保持极好的线性和增益精度。

失调和增益对时间或温度变化的稳定性也是极好的。不加外调零措施的OP07A的精度和稳定性,即使在高增益下也能使OP07A成为一种新的仪器用和军用的工业标准。

OP07A适用于在-55℃到+125℃的整个军用范围内,其主要性能特性如表2.2所示。

表2.2 OP07A主要性能参数

参数名称 输入失调电压 输入偏置电流 输入失调电流 开环增益

频率响应、截止频率 转换速率 OP07A 10uV 700pA 300pA

Min:150 Max:1500 0.6MHz 0.3V/us

第 10 页 共 48页

表2.2(续) OP07A主要性能参数

参数名称

输入阻抗 差模 共模 共模抑制比CMRR 共模输入电压范围 输出电压摆幅

电源电压 正常工作电压 最低工作电压 最高工作电压

OP07A 80MΩ 200GΩ 123dB ±14V ±12V ±15V ±2.0V ±22V

OP07A具有上述的众多优异特性,因此,它特别适合于作数据采集系统中的有源滤波器、精密仪表放大器高质量的积分器与高输入阻抗的放大器等。采用一个OP07A就能单独组成具有高输入阻抗,高性能的差动放大器,它的引脚分布如图2.6。

图2.6 OP07A的功能引脚分布 (2)仪表放大器概述

为了解决抑制共模输入电压与增益调节和阻抗匹配之间的互相牵连和矛盾,提出了仪表放大器(又称为测量放大器)[7],其原理如图2.7所示,可以很容易地看出U1和U2之间的直流阻抗接近无穷大,满足了直流电桥的阻抗匹配要求。

仪表放大器由3个运算放大器组成,可将其分为两级来进行分析。前级由两个同相放大器组合而成,输出分别是U3和U6;后级由A3和R4、R5、R6、R7组成,后级的输入为U3和U6,后级的输出为U0。

图2.7仪表放大器电路原理图

第 11 页 共 48页

A1和A2按理想放大器分析,可得到U4=U1,U5=U2的结论,则R3上的电流为:

U1?U2 I?………….…….………………….….……(1)

R3并进一步推得

(U1?U2)R1U3?U1?…………………………..……(2)

R3(U1?U2)R2U6?U2?………………………….……(3)

R3若定义:

Udif?U1?U2,则

U3?U6?Udif?(1?R1?R2)…………………...……(4) R3U3-U6是后级的差分输入电压,若保证R4=R6,R5=R7,则后级为标准的差动放大器,其输出为:

R5R1?R2R5[8]

Uo?(U3?U6)??Udif?(1?)?….…(5)

R4R3R4在仪表放大器的电路设计中取R2=R1,R4=R5则仪表放大器的输出为:?

2R1Uo?Udif?(1?)…………………………….…….(6)

R3如果R7的接地端(参考电位端)的电位为Ur,则上述推导中的Uo换为Uo-Ur,

上述推导仍然成立。

由仪表放大器的输出表达式知调节R3即可方便地调节仪表放大器的增益,集成化的仪表放大器大多采用这样的设计用外接的R3来调节仪表放大器的放大倍数。 仪表放大器的输入失调:可以证明,在前级的A1和A2参数匹配,即它们的外部电路参数相同且其电气特性(包括失调参数)也相同的情况下,两个输入端的失调所导致的输出是互相抵消的,尤其是在集成仪表放大器中,A1和A2用相同工艺制作,所以集成的仪表放大器的输入失调很小。A3组成的后级放大器是一个标准的差动放大器,其产生的输出误差失调在增益为1的情况下也是很小的。

仪表放大器的共模干扰:通过对电路的分析可以知道,在前级的A1和A2参数匹配,两个输入端的共模干扰信号在R3上不产生电流,因此也不会得到放大,这就是说在输出电压中不会出现共模干扰信号的影响,说明仪表放大器对于共模干扰信号具有很强的抑制能力。

(3)信号调理电路设计

根据上面对仪表放大器的论述,设计出的液位传感器信号调理电路如图2.8所示:

第 12 页 共 48页

图2.8 液位传感器电路原理图

水压传感器的满量程输出为30mv-60mv,水箱水位为40cm时输出电压在7—15mV之间,要放大到5V供AD采样就要对此电流进行700倍左右的放大。若最大输出电压按照7mV计算,那么放大倍数可以这样计算:第一级将输入信号放大7倍左右,第二级再对电压放大100倍。第一级的电阻VR3可调,可以调整增益。经放大后的信号大致为:

7mV?7?100?4.9V………………………………………(7)

再对增益进行调整即可将电压放大到适合的档位。 经过上面的论述,根据式(6),最终选取出的元件参数如图2.8所示,R1=R2=50kΩ,R5=R7=100kΩ,R3=50kΩ可调,R4=R6=1kΩ。结合上述增益计算方法,若R3取16kΩ,则可计算该放大电路的增益为

1?2?50k/16k)?(100k/1k)?725(增益可调)……...(8) (2.2.3接口电路设计

单片机处理的数字信号,而信号调理电路输出的为模拟量,单片机不能直接进行处

理,中间需要数模转换电路,将模拟量转换为数字量。

(1) ADC0809芯片功能简介

ADC0809是8路模拟信号的分时采集模数转换芯片,片内有8路模拟选通开关,以及相应的通道锁存电路,其转换时间为100μs左右。

ADC0809的引脚分布如图2.9所示,对其主要信号引脚的功能说明如下:

·IN0-IN7——模拟量输入通道。

·ALE ——地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器

中。

·START ——转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯

片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST。

·A、B、C——地址线。 通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,

ADDB和ADDC。其地址状态与通道对应关系见表2.3。

第 13 页 共 48页

·CLK ——时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因

此有时钟信号引脚。通常使用频率为500KHz的时钟信号

·EOC ——转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信

号即可作为查询的状态标志,又可作为中断请求信号使用。

·D0-D7 ——数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0

为最低位,D7为最高

·OE ——输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。

OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。

·Vcc —— +5V电源。

·Vref ——参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V)。

图2.10 ADC0809内部逻辑结构

图2.9 ADC0809引脚图

Vref+ Vref-

第 14 页 共 48页

如图2.10所示,图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表2.3为通道选择表。

表2.3 通道选择表

C B A 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 被选择的通道 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送,为此可采用下述三种方式。 a)定时传送方式

对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 b)查询方式

A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。 c)中断方式

把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以RD信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。不管使用上述那种方式,只要一旦确认转换结束,便可通过指令进行数据传送。 设计中采用的定时传送方式。 (2)AD0809接口电路设计

第 15 页 共 48页

图2.11 ADC0809与51单片机连接电路图

原理图说明:

ADC0809的通道0是液位传感器信号输入,转换后的数据通过P1口传给单片机。本设计采用定时传送方法读取AD转换的数据,所以ADC0809的EOC引脚悬空,经上文对ADC0809使用的介绍可知,它只需要连接START、ALE、和CLOCK这几个控制信号就可以正常工作。本设计的控制信号连接如图2.11所示,表2.4列出了ADC0809与51单片机相连的对应信号引脚。

表2.4 ADC0809与51单片机

相连信号引脚

ADC0809 ALE START CLOCK

2.3人机接口电路设计

STC89C52 P3.0 P3.1 ALEP

人机接口是用户和系统交互的界面,LED数码管将显示当前水位、目标水位、最高和最低水位等信息,用户通过键盘灵活设置系统参数。本设计以简单、灵活为目标,设计出友好的用户交互接口。 2.3.1数码管显示电路设计

LED显示器是一种由发光二极管显示字段的显示器件,也可称为数码管。单片机系统中通常使用8段LED数码显示器,其外形及引脚如图2.12(a)所示,由图可见8段LED显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示各种数字,包括A~F在内的部分英文字母和小数点“ .”等字样。

第 16 页 共 48页

(a)引脚分布 (b)内部结构

图2.12 4位共阴数码管

(2)数码管的驱动方式

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,设计中采用74LS138译码器实现位选,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为10~20ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 (3)LED数码管显示电路设计及分析

先从单片机的输出驱动能力开始分析。单片机输出驱动分为高电平驱动和低电平驱动两种方式,所谓高电平驱动,就是端口输出高电平时的驱动能力,所谓低电平驱动,就是端口输出低电平时的驱动能力,当单片机输出高电平时,其驱动能力实际上是靠端口的上拉电阻来驱动的,实际测试表明,51单片机的上拉电阻的阻值在 330K左右,也就是说如果靠高电平驱动,本质上就是靠330K的上拉电阻来提供电流的,当然该电流是非常小的,小的甚至连发光二极管也难以点亮,如果要保证LED正常发光,必须要外接一个1K左右的上拉电阻。

共阴LED负端接地,正端直接P口,发光管亮的时候电流是从电源正——上拉电阻——LED ——地。这时上拉电阻也是限流用的。P口为高电位或高阻状态时LED亮。LED灭的时候电流是从电源正——上拉电阻——P口,这时LED无电流流过,P口为低电位,限流电阻上流过电流全部从P口流入。

第 17 页 共 48页

图2.13 显示部分电路图

原理图说明:段码从P0口输出,位选由74LS138控制,74LS138的ABC输入端分别和P2.0、P2.1、P2.2相连。其中P0口接上拉电阻。

上拉电阻的选择:红的LED压降约为1.6V,考虑到4个管动态扫描显示,段平均电流为3mA,则最大段电流为4*3mA,则 R=(5-1.6)/(3*4) = 0.280 K,选用300欧的电阻合适。 2.3.2 键盘电路设计

用户可以通过键盘对系统参数进行设定,如设定工作模式,设定目标水位、上下限水位。设计中有三个按键,key1是工作模式选择,key2、key3分别是数值增减。

键盘功能是靠单片机的外部中断引脚实现的,如图2.14所示,初始时,P3.5、P3.6、P3.7输出高电平,三输入与门全输入1,输出为1。当有按键按下时,与门会在P3.2产生下跳沿跳变而触发中断,在中断服务函数中延时消抖之后,立刻读入P3.5、P3.6、P3.7引脚的值,即可判断出按下的按键。悬空的引脚电平极易受到外界的干扰,为了引脚电平的稳定,P3.5、P3.6、P3.7引脚须加上10K的上拉电阻。

key1 key2 key3

2.14 键盘电路

2.4执行单元电路设计

执行单元电路的目的在于控制水阀开度的大小,控制水阀开度大小的方法有数控电压源控制、数控电流源控制、PWM方法控制等[9]。数控电压源、数控电流源控制的方

第 18 页 共 48页

法实现起来太过复杂,将其舍弃,设计中采用的是PWM的方法。PWM控制方法中驱动的器件是TIP22达林顿管,其具体实现如下所述。 2.4.1 TIP122达林顿管

TIP122是一种NPN型达林顿管,其内部结构如图2.15(b)所示。该器件应用广泛,被大量应用于线性电源、开关电源、电机驱动等电路当中。承受电压高达100V,集电极最大电流为5A,最大耗散功率65W,宽工作温度范围-60~150℃,具有这些优良性能,能够满足本设计中驱动水阀的要求。具体参数如表2.5所示。

(a)外形 (b)内部结构

图2.15 TIP122

表2.5 TIP122特性参数

符号 VCBO VCEO VEBO IC ICM IB Ptot Tstg Tj hFE

2.4.2 水阀驱动电路的设计

图2.16中51单片机的P2.3,P2.4引脚直接控制TIP122的基极,当这两个引脚输出高电平时,电流从上拉电阻流入TIP122的基极,其大小为:

(5-0.7)V/5k=860uA,致使达林顿管饱和导通,驱动了水阀;当P2.3,P2.4变为低电平时,TIP122会截止,水阀将通过并联的二极管续流。当P2.3,P2.4输出一定频率的PWM脉冲时,TIP122快速通断,不同的占空比对应等效成不同的驱动电流,从而实现水

第 19 页 共 48页

参数

集电极-基极电压 集电极-发射极电压 发射极-基极电压 集电极电流

集电极峰值电流 基极电流

耗散功率 Tcase<25℃

Tamb<25℃

存储温度

上限工作温度 β值 数值 100 100 5 5 8 0.1 65 2

-60-150 150 1000 单位 V V V A A A W W ℃ ℃

阀开度的控制。水阀是靠电磁线圈工作的,当达林顿管关断时线圈会产生一个极大的电动势,因此必须在水阀电磁线圈两端并联二极管作为保护[10],在达林顿管关断时起到续流作用。

图2.16 水阀驱动电路原理图

2.5电源电路设计

电源由220V交流电经过1:9—20W的变压器后,电压降到±12V输出,整流滤波后直接向水阀提高+12V电压,向信号调理电路输出±12V电源供运放使用。数字控制系统的+5V电压由LM7805稳压片提供[11],如图2.17所示。

(a)±12V电源 (b)+5V电源

图2.17 电源电路原理图

2.6 本章小结

本章主要介绍了各个功能模块的硬件电路设计:电源电路为整个系统提供了稳定的电源、数据采集电路和信号调理电路完成了模拟量的采集和处理;数模转换实现了数模转换;主控芯片STC89C52在搭建的最小系统中能上电后自动运行;人机接口电路提供了良好的交互接口;执行单元利用TIP1122耦合了控制信号和驱动器件,实现了水阀的开度控制。

第 20 页 共 48页

3系统软件设计

该控制系统的程序采用C语言编写,利用了其可读性强、编写灵活、维护及修改简单的特点[12]。程序在主函数中设置了大循环,大循环中结合中断系统相继处理各种事件。事件的处理由子程序实现,子程序有:初始化子程序、显示扫描子程序、AD采样子程序、按键中断子程序、报警子程序等等,具体实现由下阐述。 3.1 系统软件编译开发环境

8051系类单片机共拥有111条系统指令,可实现51种基本操作。然而汇编语言指令却由于程序的可读性低,程序开发人员的开发时间长与开发难度大,程序移植性差等缺点。

C语言是一种编译型程序设计语言。它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写目标系统软件,会大大缩短开发周期,增加软件的可读性,便于改进和扩充。用C语言进行51系列单片机程序设计是单片机开发与应用的必然趋势。

KEIL C51开发工具套件可用于汇编C语言程序、汇编源程序,链接和定位目标文件和库,创建HEX文件以及调试目标程序。

本设计使用KEIL C51 μVision4为开发编译环境,使用C语言编写程序,实现各模块功能设计。 3.2主程序流程图

该系统在主函数中的死循环中动态扫描数码管,实现显示功能;它有四种工作模式:自动运行模式、设置上限水位、设置下限水位、手动运行模式,分别对应变量state的值为0、1、2、3。在T0中断服务函数中实现液位数据采集;处于自动运行模式时,水阀的通断由PWM输出子程序控制,处于手动控制模式时,水阀的通断由用户通过按键决定。主函数的每次循环都会读取是否有进、排水、报警标志,并执行相关的动作。

第 21 页 共 48页

开始系统初始化读取水位手动控制模式?否根据PWM脉冲控制水阀通断是根据按键控制水阀通断满足超限、水阀异常报警条件?是处理排、进水、报警事务否数码管扫描图3.1 主函数流程图

3.3初始化子程序设计

单片机上电后马上执行程序,为了使系统正常工作时有一个稳定的软件环境,在系统进入大循环之前需要建立好各种初始化数据,如设置定时器工作模式、设置定时时间、设置IO引脚使水阀默认关闭、系统初始工作模式等等,该功能由初始化函数完成。

初始化子程序主要设置的变量、寄存器如下表:

表2.6 系统初始化的变量、端口

变量/端口 初始值 功能 WATER_IN/P2.3 0 进水控制端,初始为不进水 WATER_OUT/P2.4 0 排水控制端,初始为不排水 WARNING/P2.6 0 水位超限报警,初始为不报警 UNEXPECT/P2.7 0 水阀异常报警,初始为不报警 State 0 工作模式选择,初始为自动运行模式

设定定时器工作方式:T0为16位定时器模式,

TMOD 0x21 T1为8位自动重装定时器模式

T0定时50ms TH0 0x3c

第 22 页 共 48页

表2.6(续)系统初始化的变量、端口

变量/端口 TL0 TH1 TL1 EA EX0 ET0 ET1 TR0 TR1 IT0

初始值 0xaf 0xbf 0x00 1 1 1 1 1 1 1

功能

T1定时64us 开总中断 开外部中断0 开定时器中断0 开定时器中断1

定时器0运行,启动了AD转换 定时器1运行

设置外部中断0为下跳沿触发

3.4显示子程序

显示子程序将特定的数据输出到固定的数码管中显示出来。由于AD采样的数据是二进制形式,要转换成十进制形式才能在数码管上显示,因而需要将数据进行十进制BCD转换,方法为个位数字可直接对10求余获得,十位数字须先除以10再对10求余,再利用转换结果查表找到数码管的码值,该步骤称为显示码值转换,嵌套在显示子程序中,显示子程序流程如下:

入口

取出显示码值显示码值转换输出码值输出位选信号位选信号加1延时20ms否扫描到最后一位?是返回图3.2 显示子程序流程图

第 23 页 共 48页

3.5 A/D数据采集子程序

液位传感器输入信号的采集是在T0的中断服务函数中进行的,为了减轻系统的开销,我们设置为每450ms进行一次液位AD数据采样,只需在定时中断服务函数中调用采样函数,为了数据更准确需要进行数字滤波,其函数流程如图3.4所示,方法为累计三次采集数据后取平均值,可以每450ms更新一次显示的数据,这样已能很好地满足速度、实时性、精确度的要求。

ADC0809的操作时序如图3.3所示,START的上升沿清除内部寄存器(复位),下降沿启动控制电路开始转换。ALE上跳沿将地址打入内部通道地址寄存器中,下跳沿锁住地址。

在ADC0809的采样函数中,数据输出采用定时传送方式,ADC0809D的转换时间为128us,故需要在读端口之前作个简单延时,确保数据有效。AD采样函数的操作流程如图3.4所示。

ALE

START

AD启动

地址锁存 地址

寄存器清0 图3.3 ADC0809的操作时序图

第 24 页 共 48页

图3.4 ADC0809操作程序流程图

中断返回定时器再次赋值、启动是取平均值赋给全局变量累加了3次?否采样值累加启动AD采样读取采样值T0中断入口3.6液位超限、水阀异常报警子程序

该判断函数由主函数调用,和数码管扫描函数共同处于主函数的大循环当中,每次检测后都会根据检测结果设置相应的全局标志,其他模块则根据这一全局标志执行相应的动作进行相应的处理:控制水阀的通断、发出报警信号等等,判断流程如图3.5所示。

水阀异常是指当进水或排水命令发出时,若15s之后液位基本没有变化则判为水阀故障异常。而水位在15s之内可变高可变低,会出现水位有变动,但前后两次检测的水位值相同的情况,这样会被误判为水位无变动,因而不能采用简单地比较15s前后水位的水阀异常判断方法。本设计采用水位变动累计的方法(累加变动的绝对值),这样做的好处是避免了误判,提高可靠性。若在15s期间水位有明显变动,则将定时累计值清零,重新开始下一段15s的检测,实现程序流程如图3.6所示。

第 25 页 共 48页

开始液位超上限?否液位超下限?否进水或排水阀开启,15s后水位无变化?否是是是关进水阀、开排水阀,发出报警,关排水阀、开进水阀,发出报警发出水阀异常报警结束判断图3.5 水位超限、水阀异常判断流程图

入口15s到?是否水位累计变动<2cm?否液位变动>6cm?否返回图3.6 水阀异常报警流程图

是水阀异常报警是关闭异常报警重新累计15s3.7 按键检测子程序

本设计利用外部中断0实现按键功能,其检测流程如图3.7。中断产生后将在中断服务函数中作简单延时消抖,之后再次读入P3.5、P3.6、P3.7的数据,若确实有按键按下则进行相应的处理,否则直接退出中断服务函数,不做任何处理。

第 26 页 共 48页

3.8水阀开度控制方法的设计与编程

设计中应用PWM控制理论,将采集到的数据和参考值做比较后利用巧妙的软件算法产生不同占空比的矩形波,使得水阀有不同的开度。 3.8.1水阀电感线圈电流与PWM 波占空比的关系

电磁水阀的主要元件是线圈,它具有一定的内阻,可以把它看做是一个纯电感与一个电阻串联的RL电路。

图3.8 RL电路充放电曲线示意图

INT0中断入口延时消抖再次判断是否有键按下?否是按键处理中断返回 图3.7 按键中断处理流程

第 27 页 共 48页

图3.9所示为水阀电感线圈充电以及放电曲线图,If是电路在直流情况下的最大电流。设在PWM 占空比为m 时电路中的电流值在充电曲线上的t1时刻的电流值附近波动,此时应该满足以下条件:t1点的充电曲线斜率为k1,a点处放电曲线斜率为k2, 应有:

k1?m?T?k2?(1-m)?T………..…………………….(9)

其中T为PWM脉冲的周期。

驱动电路中的电流因此维持在一个恒定值附近稍有波动[13]。从示意图分析可知,当启动驱动电路后,经过若干个充放电周期电流达到一个相对稳定的值,之后电流在这个稳定值附近波动。对每个周期而言,充电时电流曲线的斜率在不断下降,在图3.9中相对的放电电流曲线的斜率绝对值在不断增加。对于PWM脉冲波而言,最终会建立满足(9)式的平衡,此时电流相对稳定,不同的占空比m,根据(9)式会对应一个不同的平衡点a,得出不同的电流。

图3.9 电感电流随PWM 占空比变化示意图

图3.9是电感电流随PWM 占空比变化的示意图。可发现在PWM 占空比为40%~80%区间,电感上电流值随PWM 波占空比线性变化。对于高占空比的区间段,由于充电曲线斜率已经趋近不变,此时电流值也趋于最大值,而在低区间段,由于充电时间较短,电路中损耗较大,电感上电流值也趋近于零。

占空比

75% 58% 41%

图3.10 水阀开度控制PWM波形

图3.10是水阀开度控制的PWM波形示意图,占空比75%、58%、41%分别对应水阀的三个开度,关断和全开只要分别输出连0和连1即可。PWM波就是控制开关管的,PWM波的频率越高则对负载电压变化作出的调整就越快,但PWM的频率越高,后端电路上的纹波也就越大;当PWM波的频率过低时会造成电感线圈的断流,致使水阀不能正常工作。由于本系统晶振频率只有12M,机器周期为1us,属于慢速器件,经测试设计中

第 28 页 共 48页

的PWM脉冲频率选取3kHz。 3.8.2PWM脉冲输出的程序设计

PWM的输出是根据当前水位和目标水位之间的差值决定的,它们之间的关系如表3.1所示。

该功能的的实现需要使用到51单片机的T1定时器,T1定时器的中断服务函数根据水位差值在一定的时间内将输出引脚置1或清0来实现PWM脉冲的输出。程序流程图如图3.11所示。

设软件中有一变量

(10) t?水位差值……………………………………….从流程图中可以看出,中断产生后若是PWM脉冲新周期的开始,则IO口会输出高电平,

之后进行判断软定时是否累加到t,若是则将IO口输出低电平,接下来的PWM波周期中IO口都为低,直至新PWM波周期的开始。由此可得出,水位差值绝对值t越大,PWM脉冲周期中IO口出现低电平的时间越迟,PWM波的占空比越高,水阀开度越大,反之越小,从而实现了反馈控制[14]。

表3.1 液位差与PWM占空比的关系

当前水位和目标水位的差PWM的占空比(%) 值的绝对值 ≥5cm 4cm

3cm 2cm 1cm

当前水位=目标水位

第 29 页 共 48页

100 85 71 57 42 0

图3.11 PWM波输出流程图

T1定时中断新的PWM周期开始?是IO口输出高电平软计时累加否软计时等于t?是IO口输出低电平否中断返回

3.9 本章小结

本章对整体的软件设计作了详细的论述,包括主函数、初始化子程序、AD采样处理子程序、显示数据处理子程序、PWM脉冲输出子程序、报警子程序、读键盘子程序。画出了各个子程序的处理流程图,并作了相应的分析。

第 30 页 共 48页

4 系统仿真及调试

本章将对系统进行调试,首先在PC机上利用Proteus软件进行仿真调试,发现存在的问题并进行修改,接着在这一基础上进行实物的软、硬件联合调试,其过程如下所述。 4.1系统仿真及分析

仿真调试在PC机上利用Proteus软件来进行,不需要搭建硬件电路,给开发带来了方便。利用仿真调试可以非常容易地发现问题所在,且易于对电路进行修改测试,可结合软件预先进行硬件电路的错误排查,为实物硬件电路的连接做了准备,是系统设计的必要步骤。现将仿真调试过程中发现的问题及找到的解决方法进行总结。仿真效果图如图3.12所示。

(1)调试数码管显示功能

数码管显示功能的测试只需在主函数的大循环中进行数码管的扫描,在这一过程当中发现了以下问题: ① 数码管显示紊乱

原因:数码管位选和段信号的输出顺序颠倒。 解决方法:先输出段值再输出位选值。 ② 数码管显示闪烁明显 原因:延时时间太长。

解决方法:将每一个数码管显示的延时设置为20ms。 (2)调试按键控制功能

按键的调试是在数码管调试结束后进行的,利用数码管显示不同的数字来确定不同的按键被按下,根据数码管数字变化的速度来判断按键是否灵敏,抖动是否良好消除,总结如下: ① 按键无效

原因:按键的引脚没有上拉电阻,引脚悬空,造成读IO口的时候数据不确定。 解决方法:在P3.5 、P3.6、P3.7引脚添加10k的上拉电阻。 ②按键按下后数码管熄灭一阵

原因:按键中断服务程序执行时间太长,致使数码管停止扫描。 解决方法:更改软件结构,减少中断服务函数的执行时间。

(3)调试AD0809采样功能 AD0809功能的检测方法为,将采样结果输出显示到数码管上,根据显示的数值判断采样的效果,发现的问题是:AD0809数据输出不正常

原因:ADC0809是慢速器件,操作的时序的时间要求没掌握好。

解决方法:减缓对器件操作的信号输出速度,与器件的时序要求匹配。 (4)调试PWM波输出功能

仿真调试时,在Proteus上发现水阀不能正常关闭。

原因:AD采用读到的数值为无符号char型,和有符号char型进行比较时出错。

第 31 页 共 48页

解决方法:将数据的类型统一改成有符号类型,再进行比较。

图3.12 仿真图

4.2 实物软、硬件调试及分析

仿真调试毕竟存在它的局限性,不能十分准确的模拟出硬件的细节,在实物调试的过程中可发现了许多仿真调试找不出的缺陷,现将调试过程中发现的问题及解决方法作如下总结。硬件实物图如图3.13所示。 (1)调试数码管显示功能

在仿真调试结束后,数码管已经基本能正常显示,在实物硬件调试的时候遇到的问题有:

①数码管亮度过亮,不利于寿命的延长,甚至可能会烧坏器件。 原因:数码管的驱动上拉电阻300欧姆取得过小。 解决方法:将上拉电阻换成500欧姆。 ②工作模式转换时数码管有些轻微的紊乱

原因:全局变量使用的冲突,致使数码管串位。

解决方法:优化程序结构,修改全局变量使用不规范的地方。 (2)调试按键控制功能

实物按键的调试出现许多仿真中不存在的问题,如下所述: ① 按下一次按键会读到几次按键输入 原因:按键消抖没做好。 解决方法:增长按键消抖延时时间,在扩展按键的中断引脚P3.3加入了滤波电容[15]。 ②按键按下后会有时造成系统混乱

第 32 页 共 48页

原因:中断引脚P3.3有高频噪声输入,引发中断系统出错。

解决方法:在P3.3引脚和地之间加一个0.1uF的电容滤除高频噪音。 (3)调试AD0809采样功能

对ADC0809采样芯片功能的检测较为简单,只需判断芯片是否正常工作,数据是否稳定,在调试过程中发现了一个问题:数码管的个位数字不断跳动。 原因:采样到的数据包有高频噪音,使得采样到的数据有微小波动。

解决方法:硬件上,在ADC0809的模拟输入引脚和地之间加上一个0.1uF的电容作硬件滤波,软件上舍弃采样值的最后一位二级制有效位,且对采样数据取进行平均值进行数字滤波。

(4)调试PWM波输出功能

调试水阀开度控制功能的方法是,将水阀线圈换成等效的灯泡,根据当前水位和目标水位的差值,看看灯泡的明暗程度是否相应地变化,接着换上继电器看看继电器能否正常吸合和,遇到的问题有:

①水阀不能正常工作,发出强烈震动的噪音

原因:PWM波频率太低,致使水阀内部的线圈断流。 解决方法:将PWM波频率设置为20kHz。 ②水阀启动时系统会紊乱

原因:水阀驱动电流较大,会影响单片机系统的电压稳定,使系统不能正常工作。 解决方法:加大电源的功率,水阀驱动部分和单片机的电路单点接地。 ③添加了水阀工作指示灯后水阀不能正常工作。

原因:指示灯消耗了水阀驱动器件TIP122的b极驱动电流,使TIP122不能正常工作。 解决方法:改用9012小功率晶体管驱动指示灯,由于晶体管的高输入阻抗,隔离了他们之间的互相干扰。 (5)调试报警功能

报警功能的调试已经是系统调试的最后一个步骤,将综合系统的各方面功能一起调试,在调试过程中遇到了以下问题:

①水阀已经正常工作了,但异常报警不能正常关闭。 原因:判断水阀异常的方法不佳。

解决方法:将水位高度变动的数值进行累加,若累加值超过一定的范围则认为水阀工作正常。

②蜂鸣器声音太小

原因:51单片机的IO口的电流驱动能力有限,不能很好地驱动蜂鸣器。 解决方法:利用9012晶体管驱动蜂鸣器。

第 33 页 共 48页

图3.13 实物图

4.3 本章小结

各个功能模块在调试中都会出现许多意想不到的问题,本章对调试过程进行了分析、总结,找到了许多出现问题的原因及解决方法。

第 34 页 共 48页

总 结

这次设计收获了许多,其中设计成功之处有以下几个方面:找到了解决非线性、提高精确度的水位测量方法;利用输出PWM波的方式控制水阀开度大小,减少了成本;采用滞回比较的方法控制水阀的运作,防止水阀工作状态频繁变化;采用水位差值计算后决定输出电平的方法输出PWM脉冲,巧妙灵活,减轻了CPU的负担;采用了水位变动累计的方法判断水阀是否异常,提高了准确度。

设计中也存在的一些缺点,如对信号的滤波做得不够好,显示的数字偶尔会跳动;按键的消抖处理做得还不足,有时会出现按一次按键,产生多次输入的结果;显示部分程序不够完美,表现在工作模式转换时会偶尔出现显示的数字串扰等等。

该液位控制系统的设计是用于家庭中,故操作界面较为简单,若开发一个功能更加完善的系统,就要将它和计算机联合起来开发。在做好底层硬件的基础上,再在计算机中开发操作界面,利用计算机的强大功能可以实现更完美、更复杂的控制方案。或者采用更高档的处理器(ARM系列),安装嵌入式操作系统(Linux、winCE),在系统上开发各种控制软件,亦可实现高复杂度的控制。

在这次毕业设计中,我深深感觉到要设计出一个有水准的作品必须用心去思考,而且思考问题必须严谨。例如在设计水位传感器的时候首先考虑选用硅光电池,接受浮球反光的方法测量水位,但是当按计划进行的时候却出现了问题——光的强度随浮球的高度变化是非线性的。所以,这时必须考虑测量的精确度了。接着我拟采用镍铬合金探棒作传感器的方法测量水位,在测试的时候出现的问题是:由于水中含有杂质,导致水的阻值有较大的变化,最终影响了水位的准确度,所以将该方法舍弃。于是经过我的再三研究,对比了各种方法的优缺点,最终采用了水下压强传感器间接测量水位的方法,经过测试,该方法在精确度上有很大的改观,且制作难度和安装难度等其他方面都表现良好。在水位传感器的选择上,我得出了做设计、做研究要严谨的结论。

电子技术应用广,设计领域多。在熟悉本职的技术工作外,开发设计人员还需对其他各个行业有所了解,这样才能使产品的功能更贴近实际,更合理,更行之有效。如,电子信息工程专业出了要会设计电路之外,还要了解现在工业生产中关于控制的解决方案。

技术的革新日新月异,为了保证开发产品成本更低、性能更强,开发更容易,周期更短,电子电路设计开发人员需要不断地学习掌握新技术,与时俱进。要不断地积累经验,才能在设计电路的时候游刃有余。例如,在设计传感器信号放大电路的时候使用到运放,就需要对运放的基本电路熟悉,了解运放的参数对本次设计是否有大的影响,了解运放外围元件参数的选择规则等等,这些都需要长期的积累才能掌握。

第 35 页 共 48页

本文来源:https://www.bwwdw.com/article/lre7.html

Top