单片机水位控制系统.docx

上传人:b****3 文档编号:6264958 上传时间:2023-05-09 格式:DOCX 页数:11 大小:134.08KB
下载 相关 举报
单片机水位控制系统.docx_第1页
第1页 / 共11页
单片机水位控制系统.docx_第2页
第2页 / 共11页
单片机水位控制系统.docx_第3页
第3页 / 共11页
单片机水位控制系统.docx_第4页
第4页 / 共11页
单片机水位控制系统.docx_第5页
第5页 / 共11页
单片机水位控制系统.docx_第6页
第6页 / 共11页
单片机水位控制系统.docx_第7页
第7页 / 共11页
单片机水位控制系统.docx_第8页
第8页 / 共11页
单片机水位控制系统.docx_第9页
第9页 / 共11页
单片机水位控制系统.docx_第10页
第10页 / 共11页
单片机水位控制系统.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机水位控制系统.docx

《单片机水位控制系统.docx》由会员分享,可在线阅读,更多相关《单片机水位控制系统.docx(11页珍藏版)》请在冰点文库上搜索。

单片机水位控制系统.docx

单片机水位控制系统

1引言

随着集成电路规模日益大型化、复杂化,各种复杂的液位控制系统已成为一个研究的热点。

单片机以其控制精度高,性能稳定、可靠,设置操作方便,造价低等特点,应用到液位系统控制之中,不但保证了系统的准确性和可靠性,而且增强了人机交互的能力。

单片机应用发展迅速而广泛。

在过程控制中,单片机既可作为主计算机,又可作为分布式计算机控制系统中的前端机,完成模拟量的采集和开关量的输入、处理和控制计算,然后输出控制信号。

单片机广泛用于仪器仪表中,与不同类型的传感器相结合,实现诸如电压、功率、频率、湿度、流量、速度、厚度、压力、温度等物理量的测量;在家用电器设备中,单片机已广泛用于电视机、录音机、电冰箱、电饭锅、微波炉、洗衣、高级电子玩具、家用防盗报警等各种家电设备中。

在计算机网络和通信、医用设备、工商、金融、科研、教育、国防、航空航天等领域都有着十分广泛的应用。

项目应用中液位的测量常用方法主要有超声波、激光红外测距、机械浮子、压力传感器测距等几种。

这些测量方式对一般液位的测量来说各有各的优点,可根据不同的应用场合和要求进行选择。

2系统设计方案

2.1系统设计方案及总框图

对于水位进行控制的方式有很多,而应用较多的主要有2种,一种是简单的机械式控制装置控制,一种是复杂的控制器控制方式。

两种方式的实现如下:

(1>简单的机械式控制方式。

其常用形式有浮标式、电极式等,这种控制形式的优点是结构简单,成本低廉。

存在问题是精度不高,不能进行数值显示,另外很容易引起误动作,且只能单独控制,与计算机进行通信较难实现。

(2>复杂控制器控制方式。

这种控制方式是通过安装在水泵出口管道上的压力传感器,把出口压力变成标准工业电信号的模拟信号,经过前置放大、多路切换、A/D变换成数字信号传送到单片机,经单片机运算和给定参量的比较,进行PID运算,得出调节参量。

经由D/A变换给调压/变频调速装置输入给定端,控制其输出电压变化,来调节电机转速,以达到控制水位的目的。

本设计利用单片机设计一个水位控制系统,要求选择合适的水位传感器及电磁阀,当设定完水位后,系统根据水位情况控制电磁阀的开启和关断。

图2-1系统总体框图

2.2硬件设计方案

2.2.1工作原理

基于单片机实现的水位控制器是以AT89C51芯片为核心,由键盘、数码显示、A/D转换、传感器,电源和控制部分等组成。

工作过程如下:

当水位发生变化时,引起连接在水位底部软管管内的空气气压变化,气压传感器在接收到软管内的空气气压信号后,即把变化量转化成电压信号。

该信号经过运算放大电路放大后变成幅度为0~5V标准信号,送入A/D转换器,A/D转换器把模拟信号变成数字信号量,由单片机进行实时数据采集,并进行处理,根据设定要求控制输出,同时数码管显示液位高度。

通过键盘设置液位高、低和限定值以及强制报警值。

该系统控制器特点是直观地显示水位高度,可任意控制水位高度。

2.2.2主控模块设计方案

单片机作为主控模块,使得在对单片机选型上有了较大的空间。

单片机在30多年的发展历程中,形成了多公司、多系列、多型号“百家争鸣”的局面。

因而,选择一个合适的单片机有时真的不太容易,要考虑的方面太多。

大致总结出以下几点:

1>单片机的基本参数。

例如速度、程序存储器容量、I/O引脚数量等。

2>单片机的增强功能。

例如看门狗、双指针、双串口、RTC<实时时钟)、EEPROM、扩展RAM、CAN接口、I2C接口、SPI接口、USB接口。

3>Flash和OTP<一次性可编程)。

4>封装:

DIP<双列直插),PLCC

5>工作温度范围,工业级还是商业机。

6>功耗。

7>工作电压范围。

例如设计电视机遥控器,2节干电池供电,至少应该能在1.8~3.6V电压范围内工作。

8>供货渠道畅通。

9>价格。

10>烧录器价格,能否ISP<在线系统编程)。

11>仿真器。

12>单片机汇编语言支持。

13>资料尽量丰富。

14>抗干扰性能好。

15>和其他外设芯片放在一起的综合考虑。

单片机采用由Atmel公司生产的双列40脚AT89C51芯片,如图2—2所示。

其中,P0口用于A/D转换和显示。

P1口连接一个3×5的键盘。

P2口用于控制电磁阀和水泵动作。

P3口用于上、下限指示灯,报警指示灯以及用于读写控制和中断等。

图2-2AT89C51的管脚图

2.2.3电机控制模块设计方案

选用继电器作为电机控制的元件。

继电器是一种电子控制器件,它具有控制系统<又称输入回路)和被控制系统<又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。

故在电路中起着自动调节、安全保护、转换电路等作用。

继电器主要产品技术参数:

1>额定工作电压。

是指继电器正常工作时线圈所需要的电压。

根据继电器的型号不同,可以是交流电压,也可以是直流电压。

2>直流电阻。

是指继电器中线圈的直流电阻,可以通过万能表测量。

3>吸合电流。

是指继电器能够产生吸合动作的最小电流。

在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。

而对于线圈所加的工作电压,一般不要超过额定工作电压的1.5倍,否则会产生较大的电流而把线圈烧毁。

4>释放电流。

是指继电器产生释放动作的最大电流。

当继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态。

这时的电流远远小于吸合电流。

5>触点切换电压和电流。

是指继电器允许加载的电压和电流。

它决定了继电器能控制电压和电流的大小,使用时不能超过此值,否则很容易损坏继电器的触点。

根据以上的参数,结合设计的演示性,选用额定工作电压120VAC/24VDC,工作电流3A,控制电压5VDC的小型继电器。

2.2.4A/D转换模块设计方案

ADC0809是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

是目前国内应用最广泛的8位通用A/D芯片。

1、主要特性

<1)8路输入通道,8位A/D转换器,即分辨率为8位。

<2)具有转换起停控制端。

<3)转换时间为100μs(时钟为640kHz时>,130μs<时钟为500kHz时) 

<4)单个+5V电源供电

<5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

<6)工作温度范围为-40~+85摄氏度

<7)低功耗,约15mW。

2、内部结构和外部引脚

ADC0809的内部结构和外部引脚分别如下两图所示。

内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下:

<1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。

<2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。

8位排列顺序是D7为最高位,D0为最低位。

<3)ADDA、ADDB、ADDC——模拟通道选择地址信号,ADDA为低位,ADDC为高位。

地址信号与选中通道对应关系如表11.3所示。

<4)VR(+>、VR(->——正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。

在单极性输入时,VR(+>=5V,VR(->=0V;双极性输入时,VR(+>、VR(->分别接正、负极性的参考电压。

<5)ALE——地址锁存允许信号,高电平有效。

当此信号有效时,A、B、C三位地址信号被

锁存,译码选通对应模拟通道。

在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。

<6)START——A/D转换启动信号,正脉冲有效。

加于该端的脉冲的上升沿使逐次逼近寄存止,重新从头开始转换器清零,下降沿开始A/D转换。

如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中。

地址

选中通道

ADDC

ADDB

ADDA

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7

图2—3ADC0809外部引脚图

7)EOC——转换结束信号,高电平有效。

该信号在A/D转换过程中为低电平,其余时间为高电平。

该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。

在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。

<8)OE——输出允许信号,高电平有效。

当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。

在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。

3硬件电路设计

3.1传感器电路

系统选用B2119压阻式压力传感器,压阻式压力传感器是利用单晶硅的压阻效应制成的器件。

这种传感器精度高、工作可靠,容易实现数字化,比应变式压力传感器体积小而输出信号大。

它是目前压力测试中使用最多的一种传感器。

压阻式压力传感器使用集成电路工艺技术,在硅片上制造出四个等值的薄膜电阻,并组成电桥电路,当不受到压力作用时,电桥处于平衡状态,无电压输出;当受到压力作用时,电桥失去平衡,电桥输出电压。

电桥输出的电压与压力成正比例。

其工作原理图如3—1所示

图3—1

压阻式压力传感器原理图

3.2时钟电路与复位电路

要使单片机按照设计要求正常工作,完整单片机最基本的工作要求,考虑到系统无需精确地定时功能,且为了方便串口通信波特率的计算,采用11.0592MHz的晶振提供系统时钟。

并附加复位电路,组成单片机最小系统。

图3—2复位电路及时钟电路

3.3A/D采集转换电路

本系统A/D芯片所选用的是ADC0809,该大规模集成电路芯片是一种由单一+5V电源供电,采用逐次逼近转换原理,能够对8路0—+5V输入模拟电压进行分时转换的八位并行通用型可编程模数转换器。

ADC0809由单片机控制驱动,对传感器进行定式循环采集,然后单片机将各测量参数传至PC机,进行后台数据处理。

电路连接如图3-3。

图3—3A/D转换电路图

3.4按键设计

键盘在单片机应用系统中是一个很关键的部件,它能实现向单片机系统输入数据、发送命令等功能,是人工干预单片机的主要手段。

考虑到本设计实际需要的按键较少,故采用独立式键盘接口电路。

在程序查询方式下,通过I/O端口读入按键状态,当有按键按下时,相应的I/O端口变为低电平,而未被按下的按键在上拉电阻作用下为高电平,这样通过读I/O口的状态判断是否有按键按下。

图3—4系统按键电路

4软件程序设计

4.1系统主程序流程图

系统主程序的功能主要是完成对单片机的初始化,设置警戒液位的上下限,实时显示液位值以及键盘扫描等工作。

主程序流程图如图4-1所示。

图4—1主程序流程图

4.2显示与A/D转换的数据处理

系统中,显示输出的要求为压缩BCD码,而A/D转换输入的数据是8位16进制码,因此在实现显示之前需要编码的转换。

对8位A/D转换器而言,其十六进制、相对满偏电压比率、相对电压幅值的关系对应如表4-2:

十六进制

二进制

满刻度比率

相对电压幅值Vref=2.5V

高四位

低四位

高四位电压

低四位电压

F

1111

15/16

15/256

4.800

0.320

E

1110

14/16

14/256

4.480

0.280

D

1101

13/16

13/256

4.160

0.260

C

1100

12/16

12/256

3.840

0.240

B

1011

11/16

11/256

3.520

0.220

A

1010

10/16

10/256

3.200

0.200

9

1001

9/16

9/256

2.880

0.180

0

1000

8/16

8/256

2.560

0.160

7

0111

7/16

7/256

2.240

0.140

6

0110

6/16

6/256

1.920

0.120

5

0101

5/16

5/256

1.600

0.100

4

0100

4/16

4/256

1.280

0.080

3

0011

3/16

3/256

0.960

0.060

2

0010

2/16

2/256

0.640

0.040

1

0001

1/16

1/256

0.320

0.020

0

0000

0/16

0/256

0.000

0.000

表4-2A/D转换幅值数据关系对照表

显示转换部分程序简略如下:

uchardis_transform(ucharnum>

{

ucharac,quotient,play,mid。

ac=num%5。

quotient=(num-ac>/5。

if(ac>2>

quotient++。

ac=quotient%10。

mid=(quotient-ac>/10。

play=ac+mid*16。

returnplay。

}

4.3系统主程序

ORG0000H

AJMPMAIN

ORG0060H

MAIN:

MOVP1,#FFH。

P1P3口初始化置1

MOVP3,#FFH

JNBP1.3,AVT;若手动在自动位置,跳到自动模式程序

AJMPMEN;否则转到手动模式子程序

END

AUT:

NOP<空命令)

JNBP1.2,LG。

水位高—LG

JBP1.1LD,;水位没低---LD

CLRP3.1;水位低报警

JBP1.0,LDD;水位未低低---LDD

CLRP3.0;水位低低报警

JNB3.1P1.6,Y1;M1已启动—Y1

CLRP1.4;否则启动M1

Y1:

JNBP1.7,Y2;M2已启动---Y2

CLRP1.5;否则启动M2

Y2:

ACALLDELAY;延时1分钟

AJMPAUT;返回自动模式

LDD:

JNBP1.6,Y3;单独运行M1

CLRP1.4

Y3:

JBP1.7Y2

SETBP1.5

AJMPY2

LG:

CLRP3.2。

水位高报警

LD:

AJMPMAIN。

返回主程序

5总结

在即将毕业之际,作为一名电气的大四学生,通过做这次课程设计是很有意义的,而且也是必要的。

在做这次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。

为了让自己的设计更加完善,查阅这方面的实际资料是十分必要的,也是必不可少的。

其次,在这次课程设计中,我们运用了以前学过的专业课知识,如:

proteus仿真、汇编语言、模拟和数字电路知识等。

虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

最后,要做好一个课程设计,就必须做到:

在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。

在这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有在经常写与读的过程中才能提高,这就是这次课程设计的最大收获。

参考文献

1张艳兵.计算机控制技术,国防工业出版社,2006

2孙涵芳.MCS-51/96系列单片机原理及应用<修订版)北京航空航天大学出版社,1994

3李朝青.单片机原理及接口技术<第三版).北京航空航天大学出版社,2005.9

4王力虎,李红波.PC控制及接口程序设计实例.科学出版社,2004

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2