您的当前位置:首页正文

储水罐液位计算机控制系统设计

来源:帮我找美食网
计算机控制技术课程设计

储水罐液位计算机控制系统设计

学生姓名

7日

学 号

学院名称

专业名称

指导教师 2011

6月

目 录

1.储水罐液位系统设计原理 ........................................................................................... 2

1.1 本设计任务和主要内容 ................................................................................ 2

1.1.1设计任务 ........................................................................................ 2 1.1.2主要内容 ........................................................................................ 1

2.系统模型建立 ............................................................................................................ 1

2.1系统组成 ...................................................................................................... 1 2.2系统工作原理 ............................................................................................... 1 2.3系统模型 ...................................................................................................... 2

3.硬件选择 ................................................................................................................... 4

3.1 液体压力传感器选择.................................................................................... 4 3.2水泵选择 ...................................................................................................... 5 3.3微控制器的选择 ........................................................................................... 5

3.3.1 80C51电源 ..................................................................................... 6 3.3.2 80C51时钟 ..................................................................................... 6 3.3.3 80C51 控制线 ................................................................................. 6 3.3.4 80C51 I/O接口 ............................................................................... 6

3.4 A/D转换器选择 ............................................................................................ 7

4.硬件电路设计 ............................................................................................................ 8

4.1 80C51单片机外围电路设计 .......................................................................... 8

4.1.1 时钟电路 ........................................................................................ 8 4.1.2 复位电路 ........................................................................................ 8

4.2水泵驱动电路设计 ........................................................................................ 8

4.2.1 继电器电路 .................................................................................... 8 4.2.2 双向晶闸管过零调功调速原理 ........................................................ 9 4.2.3过零检测电路 ................................................................................. 9 4.2.4 双向晶闸管触发电路 .................................................................... 10

4.3数码管电路 ................................................................................................ 11

5.系统软件设计 .......................................................................................................... 12

5.1 软件设计流程图 ........................................................................................ 12 5.2 软件主函数 ............................................................................................... 12 5.3 软件水泵控制程序 ..................................................................................... 13

6.结论 ........................................................................................................................ 14

参考文献 ................................................................................................................... 14 附录 .......................................................................................................................... 14

附录1 ............................................................................................................. 14 附录3 ............................................................................................................. 22 附录4 ............................................................................................................. 22

1.储水罐液位系统设计原理

1.1 本设计任务和主要内容

1.1.1设计任务

本设计主要研究水箱水位自动控制系统。此系统实现了水位报警,水位实时显示。在2min内达到并稳定在1m水位高度,并且偏差在10%。

徐州工程学院课程设计

1.1.2主要内容

被控系统为一储水罐。系统如图1-1所示,储水罐内为清水,下部设有出水管,流量记为Q2。储水罐通过水泵将清水池内的清水补入罐内,流量记为Q1,清水池内的水位可视为固定值2米(即在储水罐补水过程中液位不变化)。已知储水罐的截面积A=1平方米,高度H=2米,要求控制目标液位高度为1米。

当水箱水位低于1m时,启动水泵,从清水池抽水供给给储水罐;当水箱水位高于1m时水泵自动停止;当水箱水位高于1.8m时外部报警灯自动点亮,手动复位控制系统。

图1-1 储水罐系统

2.系统模型建立

2.1系统组成

储水罐液位系统的原理图如图2-1所示。此系统由清水池,储水罐,直流水泵,微控制器,液体压力传感器,A/D转换器等组成。

清水池在此设计中属于理想状态,即水位高度不变;

直流水泵选用TPH2T6K型号,220V离心式水泵,此水泵工作效率为50m/H; 微控制器选用Atmel公司生产的89C51单片机; 液体压力传感器选用PT500-500液体压力传感器; A/D转换器则选用 ADC0808 8位精度转换器。

图2-1 储水罐液位系统的原理图

3

2.2系统工作原理

此系统由液体压力传感器测出储水罐液位压力,以0~20mA电流形式输入到一个125电阻上,A/D转换器采样电阻两端电压,然后输入微控制器80C51,微控制器80C51经过处理判断水位高度进行相应的处理,并控制数码管显示现在水位高度。系统工作流程图如图2-2。

第 1 页 共 29 页

2.3系统模型

徐州工程学院课程设计 图2-2 储水罐液位系统工作流程图

此系统是一个典型的一阶系统。储水罐相当于一个流体容器,由物质守恒可以得到:

Qin = Q + Qout (2.1)

式中

Qin——表示流入储水罐的水量;

Q —— 表示储水罐中保留的水量;

Qout——表示流出储水罐的水量。

假设A是储水罐的横截面积,h'为储水罐中水位的高度则(2.1)可写成:

Qin = Adh + Qoutdt (2.2)

出水流量取决于储水罐的流量系数,储水罐的液位高度,储水罐的出水口面积,和重力常数。即:

Qout = Cda2gh (2.3)

式中 Cd——表示储水罐出口的流量系数;

a——表示储水罐的出水口面积; g——表示重力常数(9.8m/s2)。 结合(2.2),(2.3)我们能得到

Qin = AdhCda2ghdt (2.4)

假设Qin是个常数则出水流量将达到一个稳态值Qout Q0,水位高度也将能达到一个恒定值。

Q0= Cda2gh0 (2.5)

我们假设Qin有个小的扰动值,我们能得到:

Qin Qin Q0 (2.6)

同时液位高度也将会有小的扰动:

hhh0 (2.7)

将(2.6)、(2.7)带入(2.4)我们可以得到:

AdhCda2(hh0)Qin Q0dt (2.8)

应用泰勒级数将(2.8)线性化,泰勒级数:

第 2 页 共 29 页

徐州工程学院课程设计

dff(x)f(x0)dxxx0(xx0)d2f21!dxxx0(xx0)2.....2! (2.9)

取泰勒级数第一级得到:

f(x)f(x0)dfdxxx0(xx0) (2.10)

或者

f(x)dfdxxx0x (2.11)

将(2.8)用(2.11)线性化后得到:

AdhQ0dt2hhQin0 对(2.12)进行拉普拉斯变换,我们可以得到:

h(s)Q)1in(sAsQ02h0 带入数据可得:

h(s)1Qin(s)s0.1 电机的电气方程: LadiadtuaiaraCe(t) 电机的机械方程:

Jd(t)dtTTL 式中 Ce——表示电机电势系数; ra——表示电枢电阻; ua——表示电枢电压; ia——表示电枢电流; La——表示电枢电感;

第 3 页 共 29 页

2.12)

2.13)

2.14)

(2.15)(2.16)

( ((

徐州工程学院课程设计

J——表示折算到轴上的转动惯量; T——表示电动机电磁转矩; TL——表示负载转矩;

将(2.15)、(2.16)式进行拉式变换可以得到转速和输入电压的传递函数:

1(s)CeH(s) (2.17) 2Uc(s)TmTlsTms1电机经验公式:

得出该电机的传递函数为:

由上式我们可以得到此液位系统的框图如图2-3

图2-3 储水罐液位系统框图

3.硬件选择

3.1 液体压力传感器选择

本设计中储水罐的高度液位高度最高为2M,根据

P液gh,可算出在此设计中最大

压强为19.6Kpa。可选择压力传感器量程为0—20Kpa,最终选用了PT500-500液体压力传感器,PT500-500采用高精度高稳定性电阻应变计做为变送器的感压芯片,选进的贴片工艺,配套带有零点、满量程补偿,温度补偿的高精度和高稳定性放大集成电路。主要技术要求如表3-1所示。

表3-1 PT500-500液体压力传感器技术参数

技术参数 被测介质 量程 输出 综合精度 供电 绝缘电阻 负载电阻 介质温度 环境温度 相对湿度 过载能力 参数值 气体、液体及蒸气 -100KPa-20Kpa~60 Mpa~150 Mpa间任意可选 0~20mA(二线制) ±0.1%FS(量程60MPa以上)、±0.25%FS、±0.5%FS 12~36V DC ≥1000 MΩ/100VDC 最大800Ω -20~85℃、-20~150℃、-20~200℃、-20~300℃(可选) -20~85℃ 0~95% RH 150%FS 第 4 页 共 29 页

徐州工程学院课程设计

响应时间 电气连接 ≤10mS 不锈钢防水密封端子、四芯航空接插件、赫丝曼接头等 此液体压力传感器完全可以满足控制的要求,选择此传感器主要因为:供电要求12~36V DC,电压范围广,输出0~20mA标准电信号,方便A/D采集。

3.2水泵选择

此设计中应用了TPH2T6K离心式单相交流水泵,其技术参数如表3-2。此水泵采用单

33mm相交流电,易于控制,流量50/H=0.83/min,在两分钟内可以达到要求。

表3-2 TPH2T6K离心式单相交流水泵技术参数 技术参数 工作电压 工作频率 流量 扬程 进出口径 马达转速 参数值 220V 50HZ 50m3/H 55m 25cm 2900RPM 3.3微控制器的选择

此设计采用ATMEL80C51作为控制芯片。它是在MCS-48系列的基础上发展的高性能的8位单片机。所出的系列产品有8051、8031、8751。其代表就是8051。其他系列的单片机都以它为核心,所以本设计采用的核心芯片是8051单片机。CPU是它的核心设备,从功能上看,CPU包括两个部分:运算器和控制器,它执行对输入信号的分析和处理。每片80C51包括:一个8位的微型处理器CPU;128B的片内数据存储器RAM;4KB片内程序存储器ROM;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHZ。以上各个部分通过内部总线相连接。

整个系统电控部分以ATMEL公司的8051为核心芯片,控制信号采集、处理、输出三个过程。这种芯片内置4KROM,因为系统要求控制线较多,如果采用8031外置EPROM程序控制结构,则造成控制线不够,而8051却可以利用P0、P2口作控制总线,大大简化了硬件结构,并可以直接控制LED数据显示,方便现场调试和维护,使整个系统的通用性和智能化得到了很大的提高。

现在介绍下在此设计中用到的引脚,引脚图如图3-1所示。

单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。

第 5 页 共 29 页

徐州工程学院课程设计

3.3.1 80C51电源

VCC - 芯片电源,接+5V; VSS - 接地端;

3.3.2 80C51时钟

XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

3.3.3 80C51 控制线

 ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址

PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。  PSEN:外ROM读选通信号。  RST/VPD:复位/备用电源。

RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。  EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。

Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

3.3.4 80C51 I/O接口

 P0口(39脚~32脚):P0.0~P0.7统称为P0口。当不接外部存储器与不扩展I/O

接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。

 P1口(1脚~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。对于

MCS—52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。

 P2口(21脚~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。当

接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。

 P3口(10脚~17脚):P3.0~P3.7统称为P3口。它为双功能口,可以作为一般的

准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立

第 6 页 共 29 页

徐州工程学院课程设计

定义为第1功能的输入输出或第2功能。

图3-1 80C51单片机引脚图 图3-2 ADC0808引脚图

3.4 A/D转换器选择

本设计采用ADC0808作为A/D转换器,ADC0808是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。

ADC0808转换器引脚图如图3-2所示 ADC0808转换器引脚介绍:  IN0~IN7:8路模拟量输入端。  OUT1~OUT8:8位数字量输出端。

 AL::地址锁存允许信号,输入,高电平有效。

 START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动

(脉冲上升沿使0808复位,下降沿启动A/D转换)。

 EOC:A/D转换结束信号,当A/D转换结束时,此端输出一个高电平(转换期间

一直为低电平)。

 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高

电平,才能打开输出三态门,输出数字量。

 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。  VREF(+)和VREF(-):参考电压输入端。  Vcc:主电源输入端5V。  GND:接地。

 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路,通道

选择表如表3-3所示。

 注意事项:输出端out8为最低位out1为最高位,与单片机连接是要注意。

表3-3 通道选择

ADDC 0 0 0 0 1 1 ADDB 0 0 1 1 0 0 ADDA 0 1 0 1 0 1 选择的通道 IN0 IN1 IN2 IN3 IN4 IN5 1 1 第 7 页 共 29 页

0 IN6 徐州工程学院课程设计

1 1 1 IN7 4.硬件电路设计

4.1 80C51单片机外围电路设计

4.1.1 时钟电路

80C51用内部振荡电路,这时需要XTAL1、XTAL2来外接石英晶振和微调电容,如图4-1所示。外接石英晶振为12MHZ,两个电容为30PF为起振电容。

图4-1 80C51外部时钟电路

4.1.2 复位电路

80C51单片机有一个复位引脚RST,高电平有效。在时钟电路工作以后,当外部电路使得RST端出现两个机器周期(24个时钟周期)以上的高电平,系统内部复位。复位方式有两种:上电复位和按钮复位。本设计选用按钮复位,因为遇到特殊情况系统出错,可以及时复位保证系统损失减到最低。复位电路如图4-2所示。 图4-2 80C51按钮复位电路

4.2水泵驱动电路设计

4.2.1 继电器电路

因为本设计中用到的是单相交流水泵用的220V交流电属于强电范围,不能直接与单片机连接所以采用了继电器来充当开关。继电器电路如图4-3所示。

继电器的触发电路应用了光耦隔离,当单片机的P2.2口输出控制低电平时,光耦输

第 8 页 共 29 页

徐州工程学院课程设计

入端导通,使得光耦内部三极管导通,经过R4,R3电阻分压后使得Q1基极电压变高,使得Q1导通,从而使得继电器工作。其中D1是为了消耗继电器中线圈中掉电后的剩余电流。

图4-3 继电器开关电路

4.2.2 双向晶闸管过零调功调速原理

本设计中应用双向晶闸管对水泵进行调速控制,根据

PT (4.1) 式中

P——表示电功率KW; T——表示外部阻力矩N·m;

——表示角速度rad·s-1。

当外部情况不变即T保持不变时,在规定时间内电功率的变化将导致角速度的改变,因此调电功就可达到调速的目的。

可控硅过零控制波形见图4-5。可以看出,过零调功通过的工作电压是完整的正弦波形,过零导通且过零截止。过零调功方式就是通过在给定的时间内改变加在负载上的交流正弦波个数来调节负载功率的一种控制方法。

图4-5 双向晶闸管过零控制信号波形图

4.2.3过零检测电路

过零检测电路的最终目标是实现当50HZ的交流电压通过零点时取出其脉冲。本设计中用两个光耦实现脉冲的检测,如图4-6所示。交流电源经R7后加到两个反并联的二极管上,在交流电源的正、负半周,U2中二极管和U8中二极管轮流导通,从而使 U1中三极管和U8中三极管也轮流导通,在导通期间光耦的5号输出引脚输出低电平,只有在

第 9 页 共 29 页

徐州工程学院课程设计

交流电源过零的瞬间,两个二极管均截止,5号引脚输出高电平,因此5号引脚得到周期为10ms的脉冲信号,再将此信号通过7407逻辑门进行整流,从而得到图4-5中过零脉冲。电路总R7的大小选取与索取的光耦触发电流有关,本设计中采用600电阻。

图4-6 过零检测电路图

4.2.4 双向晶闸管触发电路

本设计中应用了光耦对双向晶闸管进行驱动,电路如图4-7所示。此电路的工作原理是:单片机响应用户的参数设置,在 I/O口输出一个高电平,经反向器反向后,送出一个低电平,使光电耦合器导通,同时触发双向可控硅,使工作电路导通工作。R5为触发限流电阻,R6为双向晶闸管门极电阻,防止误触发,提高抗干扰能力。在本设计中负载是水泵属于感性交流负载,这样会使得双向可控硅承受的电压值远远超过电源电压,可能击穿并且烧坏晶闸管,所以双向晶闸管两极间并联一个RC阻容吸收电路 ,实现晶闸管的过电压保护。各个电阻和电容值均为光耦推荐电路中值未加改动。

在给定的时间内水泵得到的功率为:

nUINP (4.2)

式中 P——表示负载得到的功率;

n——表示给定时间内双向晶闸管导通的正弦波的个

第 10 页 共 29 页

徐州工程学院课程设计

数;

N——表示给定时间内正弦波的总个数;

U——表示不加双向晶闸管时负载得到的电压有效值;

I——表示不加双向晶闸管时负载得到的电流有效值。

由(4.2)式可以看出只要N,U,I为定值,只要改变n就可以到达调速的目的。

图4-7 双向晶闸管触发电路

4.3数码管电路

第 11 页 共 29 页

徐州工程学院课程设计

本设计中应用了7SEG-MPX2-CC8段式共阴极双数码管,段码引脚接入80C51的P1口,位选两条线分别接单片机的P2^0,P2^1口。在本设计中采用了数码管的动态显示,利用了人的视觉暂留效应。

5.系统软件设计

5.1 软件设计流程图

本系统程序主要有AD转换模块、数码管显示模块、PI调节模块、报警灯控制模块、电机控制模块组成。工作流程如图5-1所示。

图5-1 主程序工作流程图

5.2 软件主函数

根据流程图设计出软件的主程序如下: void main() { ik=0; e1=0; kp=2; ki=4;

initdingshi(); //中断初始化 st=0; while(1) { ad();

//AD初始化

if(getdata>=230) //判断是否水位超过1.8米如果超过 {

//打开报警灯否则关闭报警灯

lamp=0; kg=0; }

else

lamp=1; if(getdata<127) {

//判断数位是否低于1米如果低于打开继电器,

kg=0; //并设定双向晶闸管导通次数

第 12 页 共 29 页

徐州工程学院课程设计

}

} }

EX1=1; //外部中断1允许位打开

y=100-(100*uk)/127;

else kg=1;

5.3 软件水泵控制程序

水泵控制程序是在外部中断1、定时器0共同配合下进行的,他们实现了在1秒内控制通过双向晶闸管半波个数,从而精确控制水泵转速。外部中断1每10MS触发一次,而定时器0要定时1S后才执行任务,所以时序问题很重要。时序流程图如图5-2所示。具体程序如下:

void dingshi() interrupt 1 {

TH0=(65536-50000)/256; TL0=(65536-50000)%256; w++; while(w==20) {

EX1=1; w=0; } }

//当到1S时打开外部中断1

//定时器0定时50MS中断程序

void waibu() interrupt 2 //外部中断1,产生双向晶闸管触发脉冲,打开定时器0

{

TR0=1; ET0=1; chufa=1; delay(8); chufa=0; delay(8); x++;

if(x==y)//当过零脉冲到达调节数时关掉外部中断1并

//关闭晶闸管触发脉冲

第 13 页 共 29 页

徐州工程学院课程设计

{ chufa=1; x=0; EX1=0; } }

图5-2 中断时序流程图

6.结论

本系统主要介绍了水体的液位检测控制,介绍了8051单片机在液位控制系统中的应用,介绍了它们的引脚和在系统中的电路图,本设计还采用了液体压力传感器来对液位的信号采集,利用数码管来进行信号的输出显示,我设计的硬件系统的结构简化,系统精度高,具有良好的人机交互功能,并设有液位报警灯,有问题立即就能发现,减小损失。通过自动调节控制液位并实现水体的液位报警。液位控制在设定值上正常运行不需要人工干预,操作人员劳动强度小。

采用单片机设计出的工业水位控制器,能够针对水位的不同状态和不同外界条件进行控制,水位运行稳定、控制品质良好、控制效果明显改善;同时大大提高了控制系统的抗干扰能力,保证了工业水体液位方面作业的稳定运行。控制装置具有成本低、抗干扰能力强、控制性能好等优点,且系统硬、软件维护简单方便。

本系统采用双向晶闸管控制水泵,电路简单,实用性强,控制精确。本设计在双向晶闸管驱动电路方面准备用MOC3041过零保护光耦合器,最终由于在PROTUES中仿真一直报错,最终没有找到解决办法,最终用了普通的NPN型光耦合器代替,增加了双向晶闸管的工作负担。

参考文献

[1] John Wiley &Sons,Ltd.Microcontroller Based Applied Digital Control [M].The Atrium, Southern Gate, Chichester,West Sussex PO19 8SQ, England.John Wiley & Sons Ltd.2006.

[2] 谢维成,杨加国.单片机原理与应用及C51程序设计 [M].第二版.北京.北京国马印刷厂.2009-7. [3] 樊月珍.江发潮.基于AT89C51的交流电机调速控制系统设计[EB/OL]. 北京林业大学工学院网站. 2008 2011-6.

[4] 胡寿松.自动控制原理 [M].第五版.北京.科学出版社.2007 .

[5] 余孟尝.数字电子技术基础简明教程 [M].第三版.北京.高等教育出版社.2009.

附录

附录1

第 14 页 共 29 页

徐州工程学院课程设计

系统程序: #include #include #include

#define uchar unsigned char #define uint unsigned int sbit w1=P2^0; //数码管位选1 sbit w2=P2^1; //数码管位选2 sbit st=P3^0; //ADC0808启动信号 sbit eoc=P3^1; //ADC0808转换标志位 sbit dian=P1^7;//数码管点的控制I/O口 sbit kg=P2^2; //继电器控制位

sbit chufa=P2^3; //双向晶闸管触发控制位 sbit lamp=P2^4; //报警灯控制位 uchar kp,ki,uk,pk,ik; //PID系数定义 uint getdata; uint temp;

uint qd=127; //1M位置 float e,e1,e2,yk; //PID中间量 int zkb,w=0,t=0,p=0,x=0,y=20; //变量定义 uchar dispbuf[3]={0,0,0}; //数码管缓冲数组 uchar code table[]={ //段码 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,

第 15 页 共 29 页

徐州工程学院课程设计

0x39,0x5e,0x79,0x71};

void delay(uchar i) //1us定时 { }

void led(); while(i--) _nop_();

void pi(); void ad (); void initdingshi(); void main() {

ik=0; e1=0; kp=0.8; ki=1.5;

initdingshi(); //中断初始化

st=0;

while(1) {

//AD初始化

ad();

if(getdata>=230) //判断是否水位超过1.8米如果超过

{

//打开报警灯否则关闭报警灯

lamp=0; } else lamp=1;

第 16 页 共 29 页

kg=0;

徐州工程学院课程设计

}

}

if(getdata<127) //判断数位是否低于1米如果低于打开继电器,

{ kg=0; //并设定双向晶闸管导通次数

EX1=1; //外部中断1允许位

y=100-(100*uk)/127; if(y>100);

y=100;

} else { kg=1;

}

void ad () //AD初始化子程序 {

if(p==5)

//每25MS进行采集一次

{ st=1;

//开启AD delay(1);

//满足触发时间 st=0;

while(eoc==0); //等待采集完成

delay(1);

getdata=P0;

//采集数据存到变量中

temp=(getdata*4/51);//将数据进行转换 dispbuf[1]=temp/10;

第 17 页 共 29 页

徐州工程学院课程设计

dispbuf[0]=temp%10;

p=0;

//将计时变量清零 //PI处理

pi();

}

}

void initdingshi()

{

TMOD=0x11; IT1=1;

//定时器1,定时器0选择16位定时方式 //中断初始化程序

led();

//数码管显示

//外部中断1为边沿触发方式

TH0=(65536-50000)/256;//定时器0定时初始化50MS

TL0=(65536-50000)%256;

TH1=(65536-5000)/256;//定时器1定时初始化5MS TL1=(65536-5000)%256; TR1=1; EA=1; ET1=1; }

//数码管显示子程序

//启动定时器1 //中断打开

//定时器1溢出中断允许位

void led()

{

P1=table[dispbuf[1]]; w1=0;w2=1; dian=1; delay(5); w1=1;w2=1; P1=table[dispbuf[0]];

第 18 页 共 29 页

徐州工程学院课程设计

w1=1;w2=0; dian=0; delay(5); w1=1;w2=1; }

void pi()

{

e=qd-getdata; pk=kp*e;

ik=ki*e+e1; uk=pk+ik; e1=ik;

}

void dingshi() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; w++; while(w==20) { EX1=1; w=0;

}

}

void dingshi2() interrupt 3 { TH1=(65536-5000)/256;

TL1=(65536-5000)%256;

//PI调节器程序 //误差

//定时器0定时50MS中断程序

//当到1S时打开外部中断1

//定时器1定时5MS中断程序

第 19 页 共 29 页

徐州工程学院课程设计

}

p++;

void waibu() interrupt 2 //外部中断1,产生双向晶闸管触发脉冲,打开定时器0

{ TR0=1; ET0=1; chufa=1; delay(8); chufa=0;

delay(8);

x++; if(x==y)

{ chufa=1; x=0;

EX1=0;

}

}

//当过零脉冲到达调节数时关掉外部中断1并关闭晶闸管触发脉冲第 20 页 共 29 页

徐州工程学院课程设计

第 21 页 共 29 页

徐州工程学院课程设计

附录3

Protues仿真结果

(用灯泡代替水泵)

图A 当水位高于1.8米报警灯亮水泵不工作

图B 水位低于1.8米报警灯熄灭水泵不工作

图C 水位低于1米水泵工作

图D过零检测电路产生过零

脉冲

附录

4

将此系统传递函数应用matlab simulink 进行仿真可确定PI调节系数

图E

matlab simulink仿真

第 22 页 共 29 页

徐州工程学院课程设计

图F 仿真结果

第 23 页 共 29 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Top