基于单片机原理的流量控制装置.docx
- 文档编号:9973119
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:24
- 大小:288.97KB
基于单片机原理的流量控制装置.docx
《基于单片机原理的流量控制装置.docx》由会员分享,可在线阅读,更多相关《基于单片机原理的流量控制装置.docx(24页珍藏版)》请在冰豆网上搜索。
基于单片机原理的流量控制装置
数理与信息工程学院毕业设计(论文)
题目:
基于单片机原理的流量控制装置
专业:
电气工程及其自动化
班级:
姓名:
学号:
指导教师:
日期:
基于单片机原理的流量控制装置设计
摘要:
本文介绍的是一种以单片机为中心的流量控制装置。
流量计测量流量的大小,并经过变送器转化为4^20mA的直流电流经A/D转换成数字信号,等待进入AT89C52单片机的内部空间,一方面将流量大小送到显示屏显示,一方面送入运算器。
由键盘输入设定值,计算偏差量,编写正确的PID算法并最终得到控制量,由单片机传送到输出接口,经D/A变换成电压,并将电压送入控制执行结构。
执行组织操控活门开度,从而控制流量大小。
本装置在两个方面进行设计:
一是硬件设计,二是软件设计。
并通过一系列的仿真调试以及对装置的抗干扰性和稳定的检验的方案,证明该装置满足稳定、精确、快速控制要求。
关键词:
流量计;AT89C52单片机;PID控制
引言
据史书记载很早以前就有人利用堰法测量流量,并用树枝、泥土、和石块对水量进行控制。
近现代以来,人类社会发展进步巨大,经过许多科学家的研究与探索,促使流量的测量和控制也飞速发展。
当代是智能化、网络化、信息化的时代。
高新技术的出现离不开信息的全球化传播,用于测量和控制的仪表技术随着新材料技术、网络技术、新工艺技术、微机技术等高新技术的提升而获得快速提升。
在市场经济的大潮下,如何适应时代发展,将其他高新技术与流量与控制结合起来至关重要。
现代的新技术的发明使流量计的种类特别多。
流量计有电磁流量计,有差压是流量计,有根据超声波的特性而制成的超声流量计,有用于液体检测的最普遍的涡街流量计等等。
随着计算机技术的发展,计算机与流量的检测与控制技术密切相关,人们越来越多的采用单片机对工业系统中的流量进行测量与控制。
PC机有着巨大的数据监测与处理功能,而单片机的小型化,经济化使它在流量检测控制中得到极大的运用。
计算机可以与单片机直接通信,从而实现PC机对流量的实时控制。
计算机使PID技术在流量操控领域得到大规模采用,使控制系统的调节更加的精确。
总而言之,经过许多年的发展,流量控制系统正朝着多元化的方向发展,许多的优秀的技术接踵而至,而其中一个最典型的技术便是基于单片机原理的流量控制。
本设计用单片机设计技术结合自动控制技术用于流量控制装置。
该装置并能与计算机通信。
它的优点是使测量更加准确,控制更加精确,系统更加稳定,更加智能并且成本较低,方便生活,适合大规模生产,对生产生活具有重大意义。
1绪论
1.1设计背景
流量可以分为两类,即体积流量和质量流量。
长时间的流量累计叫做累积流量。
工业生产中,对流量的测控有广泛地需求,一些先进的流量测控方法和仪器仪表技术相继出现。
流量与压力、温度和物位联系密切,构成了过程控制中重要变量,人们通过这些变量,对系统进行监视与控制。
对液体流量进行精确的测量和控制是保证生产过程运行更加经济安全、提升产品品质、减少物质浪费、增加经济利润、保证科学管理的基本。
流量的测量和控制是石油、化工、冶金等领域的重要组成部分。
流量的测量是指对在一定的管道内的流体的流量大小进行测量。
出于流量检测的性和多样性,流量检测的分类方法很多。
按检测结果分类:
一是体积流量测量,二是质量流量的测量。
依靠被测流体的温度,被测量流体密度,被测量流体的粘度,环境压力,以及测量产所等,研究合宜的测量技术,使测量结果准确是流量测量主要任务。
在工业过程中,让一些参量按人的控制而保持有周期的变化的过程称为过程控制。
操控过程冗杂是过程控制主要的特点,通用系统设计难,控制方案丰富,定值控制等,仪表结合被控过程。
过程控制的主要任务是确定控制目标,选择控制量,选择被控参数,确定控制方案,设计联锁保护装置,拣择控制方法,挑拣执行器,安排报警装置等。
将流量的控制与单片机结合意义巨大。
20世纪以来,发展最迅速的是计算机技术,计算机技术的发展使单片机也得到发展,现在越来越多的流量控制装置都采用单片机技术。
将单片机运用到控制装置中,使装置更加的小型化,数字化,智能化。
1.2海内外研究近况及发展趋势
400年前欧洲的托里拆利对差压式流量计的发明,标志现代流量测量技术的开始。
之后,许多类型仪表形成自己的雏形。
如堰、容积、皮托管、示踪法、涡轮、靶式流量计、文丘里管等。
20世纪由于能源计量、公共生活、过程工业中流量测量的方法越来越不满足人们的要求,仪表技术得到快速的前进,仪表更新换代离不开微电子技术和计算机技术的飞跃发展,新型流量计大量涌现。
就目前已有上百种流量计投向市场。
现代流量测量的技术依旧是欧美一些发达国家的技术遥遥领先。
我国从改革开放以来,引进技术,不断创新,在流量测控方面有了快速的发展,但是仍是和西方有差距。
现在中外合资越来越多,会遇到许多的机遇,一些技术也弥补了中国在流量测控方面的空缺,中国在这方面已渐渐成熟。
近二十年来计算机技术飞跃发展,基于计算机的强大运算与存储能力,单片机也得到发展,现在越来越多的流量控制装置都采用单片机技术。
将计算机的RS-432接口与单片机串行接口连接,进行通信,从而进行实现对流量的实时控制。
未来流量控制与单片机技术结合是重要的研究方向。
1.3研究内容
本文研究的是结合单片机技术,本设计用单片机设计技术结合自动控制技术用于流量控制装置,实现对管道内流量进行控制。
系统利用流量传感器进行模拟量采样,A/D转换成数字信号送入AT89C52单片机的内部空间参与运算,通过显示器对流量进行显示,得到经数字PID算法的控制量,由单片机送到到输出接口,并由D/A输出模拟电压,模拟电流供应执行机构,执行机构中的伺服电机转动带动电磁阀运动,电磁阀的开度决定了流量的大小,开度越大流量越大,开度越小流量越小。
2流量计
2.1流量计的分类
1.容积式流量计
容积式流量计是采用机械的特殊构造测量流量,它的种类最多,运用的比较多。
双转子流量计和椭圆齿轮流量计等等都属于容积式流量计。
2.差压式流量计
差压式流量计依靠节流的特性也被称为节流式流量计,依靠管道大小、流体条件及测件尺寸测量流量。
可直接测体积流量,也可间接测质量流量。
3.涡街流量计
内部置漩涡发生体,产生有规律的漩涡,漩涡频率与流量成比例,测量频率间接测流量。
流体粘度、温度、压力、密度等一些误差不影响直接测量体积流量。
4.超声流量计
超声束,也成为超声脉冲,通过流体对其的作用来测量流量的仪表称为超声流量计。
根据超声波的一些特性,检测方法不同,超声波流量计种类很多。
属于无阻碍流量计,且不受流体温度,密度,物位影响。
在工业大管道中用的很多。
5.电磁流量计
电磁流量计是依靠法拉弟电磁感应定律研制出的用来测量导电性液态流体的仪表。
电磁流量计能适应高腐蚀高温环境。
近20年电磁流量在技术上越来越成熟,取得巨大进步。
2.2流量计的选型
流量计的选型一方面要考虑到被测量流体的密度,被测量流体温度,被测量流体的粘度,环境压力,以及测量产所等。
另外还要考虑到实际的设计要求选用是要数字式的还是模拟式。
涡街流量计原理:
它凭借流体会发生震荡的现象的理论测量,流体介质在管道中通过涡街流量变送器时,会在横置的发生体上产生漩涡,被测流体流量与漩涡的出现频率有关,一方面同时与流速有关,另一方面还与发生体的宽度有关。
图2-1涡街流量计原理图
F:
频率单位HZ
v:
平均速度m/s
d:
发声体宽度m
St:
斯特劳哈尔数
St=F(
)
q=vA
涡街流量计的功能:
1、自动补偿温压干扰功能。
迅速将非标情况的流量换算成标准情况下流量。
2、电路设计全智能化,数字化控制,自行补偿流体密度干扰误差。
3、补偿修正功能、数字滤波使流量测量准确。
4、无需外接电源电池供电可连续工作两年以上。
5、点阵汉字显示。
图2-2灵巧型涡街流量变送器
3.单片机
现今在市场主要的有Cygnal、ATMEL、PIC、AVR、SIEMENS、INTEL、PHILIPS等闻名的产商供应的数百个型号80C52种类的单片机。
该单片机的特点是性能价格比优越,集成度高,被广泛的应用在工业测量控制领域内。
图3-1AT89C52引脚图
AT89C52是MCS-51系列单片机之一,MCS-51是Intel公司生产的单片机的系列符号,其所有的不同型号单片机是相互兼容的,它们的差异是部分引脚功能不同。
AT89C52核心CPU由INTEL公司提供,结合ATMEL公司FLASH存储器技术制造,有稳定可靠的性能,内部存储器在程序不太大时,不必扩展外部存储器,这些对于追求产品小型化,追求可靠性而言,意义重大。
AT89C52技术优势是将4K宇节FLASH和8位多功能CPU组合在一起。
由于其集成度高、功能强,ATMEL的89C52深受设计者的欢迎,AT89C52占了市场很大份额。
AT89C52引脚功能:
表3-1AT89C52引脚列表
引脚名称
引脚号
引脚功能
P0口
32~39
作为地址总线或数据总线
P1口
1~8
通用I/O口
P2口
21~28
I/O口、外部扩展存储器高8位地址线
P3口
10~17
I/O通用口及第三功能(见附录)
Vcc
40
接5v电源
Vss
20
接数字地
XTAL1
19
外部时钟电路输入端
XTAL2
18
时钟电路输出端
RST
9
复位引脚
/VPP
31
外部程序存储器访问控制端、VPP为FLASH变程电压输入端
ALE/
30
地址信号锁存端。
为FLASH编程脉冲输入端
29
片外ROM读选通控制端
4装置硬件设计
4.1总体设计方案
4.1.1装置工作原理
该装置是对流量的大小进行过程控制,主要从三个模块设计,主要部分为对控制系统进行设计,其次对执行器、测量变送设计。
装置原理图如图4-1所示。
1.涡街流量计:
对流量进行检测。
并将采集的流量大小转化为标准的模拟电压。
2.伺服电机:
根据D/A输出控制电压经驱动电路的变化直接控制伺服电机的运转,根据电压能自动正转反转。
3.控制系统:
采用单片机为装置的控制中心,A/D转换将流量信号采集,经过PID算法,计算控制量的大小,利用D/A转换将控制量变为模拟电压输出。
输出后直接控制电机的运转。
4.阀门:
直接控制流量的执行机构。
图4-1装置原理图
4.1.2总体硬件设计
流量计测量流量的大小,并经过变送器转化为4^20mA的直流电流经A/D转换成数字信号,等待进入AT89C52单片机的内部空间,一方面将流量大小送到显示屏显示,一方面送入运算器。
由键盘输入设定值,计算偏差量,编写正确的PID算法并最终得到控制量,由单片机传送到输出接口,经D/A变换成电压,并将电压送入控制执行结构。
执行部分操控阀门,从而操控流量大小。
硬件功能结构如图4-2所示。
图4-2硬件功能结构图
4.2主要电路设计
4.2.1A/D变换电路
ADC有两种类型:
一类直接接到电子电路中;另一类可和单片机直接连接。
ADC0809(图4-3)是一种8位逐次逼近式A/D转换器,可以和单片机相连。
图4-3ADC0809引脚图
ADC0809引脚功能如表4-1所示:
表4-1ADC0809引脚功能表
引脚名称
引脚号
引脚功能
IN0~IN7
1~5,26,27,28
8路模拟信号输入端
D0~D7
8,14,15,18~21
转换成的数字量输出端
A,B,C,ALE
22~25
控制8路模拟输入通道切换
OE
17
输出允许端
START
6
启动信号输入端
CLK
10
时钟信号输入端
VREF(+)VREF(-)
12,16
基准电压输入端
2.ADC0809与单片机的接口电路
用指令先选择一个模拟通道。
单片机给一个信号给START引脚开始转化。
发出EOC(高电平)信号结束转化。
单片机执行
信号,控制逻辑电路OE端为高电平把转化的数字量读入单片机。
图4-4ADC0809接口电路
4.2.2键盘显示接口电路
1.键盘电路
设计键盘输入设定的流量的的大小,并将流量的大小数到显示屏显示。
矩阵式键盘结构分成行线、列线,行、列的交点为按键所在处。
按键处一直为高电平;当有键按下时,行线电平将由与此行线相连的列线的电平决定。
以此判断按键是否按下。
矩阵键盘与单片机的接口如下图4-5所示。
图4-5键盘接口电路
2.显示电路
图4-6数码管结构
八段LED数码显示管(图4-6)原理很简单,是通过在同名管脚所加高电平点亮发光二极管而显示字形的。
例如:
若在共阴LED管的dp,a,b接低电平,c,d,e,f,g管脚上分别加上7FH控制电平(即:
dp,a,b上为0伏,不亮;其余为TTL高电平,全亮),则LED显示管显示字形为“6”。
7FH采用十六进制编码,被叫做字型码。
因此,LED上所显示字形对应相应字形码。
LED分为共阴和共阳两种。
如图4-6所示是共阴共阳两种结构。
显示屏与单片机的接口如图4-7所示。
图4-7显示接口电路
4.2.3D/A变换电路
图4-8DAC0832引脚图
1.DAC0832芯片
引脚功能如下:
DI0~DI7:
数字信号输入端
:
片选段
ILE:
数据锁存控制端
:
写选通控制端
:
数据传送控制
:
写选通控制端
IOUT1:
电流的输出端1IOUT:
电流输出端2
Rfb:
外部反馈信号输入端Vcc:
电源输入端
DGND:
数字信号地AGND:
模拟信号地
2.DAC8032与单片机接口如所示:
单片机将经PID控制算法得到的控制量经DAC0832变换成标准的模拟电压输出,经过电压放大电路,可直接控制伺服电机的转动。
伺服电机的能够正反转而且转速随电压变化而变化能够控制阀门的开度,开度越大流量越大开度越小,流量越小。
图4-9DAC0832接口电路图
5.装置软件的设计
装置软件设计,是整个设计的大脑。
系统软件控制着整个系统的运行顺序,设计一个好的软件系统,能使一些功能实现的更加迅速。
整个系统程序分为定时器中断子程序、A/D转化程序、PID程序、显示器程序、键盘输入程序、D/A转化程序。
首先对系统软件进行初始化,使各个I/O初始化,并对键盘输入的值进行传送。
然后开始调运各子程序,采样流量数据,送入单片机,与键盘键入值比较,通过PID运算,计算误差后,将误差转化为对应的模拟电压输出,从而控制伺服电机转动,使阀门到相应位置,使流量保持与设定值相同。
图5-1主程序流程图
5.1主程序设计
主程序流程(图5-1)。
部分程序如下:
main()//主程序
{TMOD=0x21;//定时器0,8位,选择计数方式
TH0=0xfc;
TL0=0x18;
TH=0x7f;//赋初值
TL1=0;
EA=1;
ET0=1;
ET1=1;//开中断
while
(1)
{if(sw==1)
{ADC_val();//ADC0809函数
display(uuu);
KB_Scan1(void)
}
elsedisplay(sc);
}PID();}//每次进行一次PID运算
图5-2A/D程序流程图
5.2A/D转换程序
A/D转换程序如5-2所示。
voidAD_val()
{
uchari,temp=0;
cs=1;//初始化,启动
sclk=0;
cs=0;
_nop_();
for(i=0;i<8;i++)//读取采集数据,读取的是上一次采集数据
{
sclk=1;
temp=temp<<1;
if(Dataout)temp|=0x01;
sclk=0;
}
cs=1;
AD=temp;
for(i=0;i<5;i++)//延时17us以上,进行复位
_nop_();
Int_result=AD*100/256;//处理整数
uuu=Int_result;
}
5.3PID程序
PID调节规律是指调节器输出分别于偏差的大小,偏差的积分,偏差的变化率成正比。
增量表达式是:
图5-3PID算法程序流程图
计算增量是的程序框图如图所示:
typedefstructPID
{intSetPoint;
intProportion;
intIntegral;
intDerivative;
intLastError;
intPreError;
}PID;
main()
{PIDvPID;
PIDInt(&vPID);
vPID.Proportion=10;
vPID.Integral=10;
vPID.Derivative;
vPID.SetPoint=;
while
(1)
{
Verror=Measure();
Error=vPID.SetPoint-Verror;
tempi=PIDCal(&vPID,Error;
laser.Value+=tempi;
laser
LASERH=laser.Num[0];
LASERL=laser.Num[1];}}
voidPIDInit(PID*pp)
{memset(pp,0,sizeof(PID));
intPIDCal(PID*pp,intThisError);
intpError,dError,iError;
longtempl;
pError=ThisError-pp->LastError;
iError=ThisError;
dError=ThisError-2*(pp->LastError)+pp->PreError;
templ=pp->Proportion*pError+ pp->Integral*iError+pp->Derivative*dErro;
pp->PreError=pp->LastError;
pp->LastError=ThisError;
return((int)(templ>>8));}
5.4显示程序
显示程序流程图如5-4所示。
图5-4显示程序流程图
voidLED_display(uintnum)
{ucharqian,bai,shi,ge;
qian=num/1000;
bai=num/100%10;
shi=num/10%10;
ge=num%10;
if(num>0)
{
wx=0;
P0=0xf7;
wx=1;
dx=0;
P0=discode[ge];dx=1;
delay1ms
(1);
wx=0;
P0=0xfb;
wx=1;
dx=0;
P0=discode[shi];dx=1;
delay1ms
(1);
wx=0;
P0=0xfd;wx=1;
dx=0;
P0=discode[bai];dx=1;
delay1ms
(1);
wx=0;
P0=0xfe;wx=1;
dx=0;
P0=discode[qian];
dx=1;
delay1ms
(1);}}
5.5键盘程序
键盘输入时,键盘中的按键相当于开关,按键的断开和闭合时和出现按键抖动,所以要有解决消除抖动的方法。
常用的消除抖动的方法是用软件延时的方法来消除按键抖动,在检测到有按键按下时,对应的行线会有低电平,执行10ms的子程序,在此确认是否为低电平,结果是低电平就算按下。
按键松开变为高电平,执行10ms子程序,检测仍为高电平,则断开。
程序框图如下
voidKB_Scan1(void)
{uchartmp,line,i,flag,press;//定义局部变量
if(lie1==0|lie2==0|lie3==0)return;
line=0xFE;
for(i=1;i<=4;i++)
{P2=line;
tmp=P2;
tmp&=0x70;
if(tmp!
=0x70)
{tmp=P2;flag=1;break;}
elseline=(line<<1)|0x01;}
if(i==5){tmp=0xFF;flag=0;}
图5-5键盘程序流程图
switch(tmp)
{case0xEE:
press=1;break;
case0xDE:
press=2;break;
case0xBE:
press=3;break;
case0xED:
press=4;break;
case0xDD:
press=5;break;
case0xBD:
press=6;break;
case0xEB:
press=7;break;
case0xDB:
press=8;break;
case0xBB:
press=9;break;
case0xD7:
press=0;break;
default:
break;}
if(flag==1)
{buf[2]=buf[1];
buf[1]=buf[0];
buf[0]=press;}}
5.6D/A变换程序
D/A变换流程图如5-6所示
#include
#defineDAC0832Addr0fffe
#defineucharunsignedchar
#defineunitunsignedint
sbitP26=0xA6;
sbitP27=0Xa7;
voidTransformData(ucharc0832data);
voidDelay();
main()
{ucharcDigital=0;
Delay();
While
(1)
{TransformData(cDigital);
cDigital++;
Delay();
图5-6D/A流程图
}}
voidTransformData(ucharc0832data);
{*((ucharxdata*)DAC0832Addr)=c0832data
}
VoidDelay(){
uniti;
for(i=0;i<200;i++);
}
6.总结
模拟仿真硬件图如图所示:
经过这段时间,我的毕业论文基本的告罄了,让我获益匪浅。
从我得到论文题目开始,我就在平时下班时间搜索相关的资料。
这些资料都是专业性特别强的论文期刊,由于以前上课没怎么听讲,这些文章对我来说无疑是一本厚厚的天书。
开始,我一片茫然。
重拾课本,从数模电甚至是电路学,一些最基本的东西开始看,弄懂了不会的东西。
然后继续看单片机原理的课本,使我了解了单片机的构成以及设计步骤。
渐渐地我慢慢形成了自己的系统的设计思维。
在编写论文期间,我学会了如何准备写作材料,学会了如何查找编写资料,及时地和导师沟通,慢慢的一些问题都迎刃而解。
就比如说,最初,我拿到这个题目时,我开始设想的是将单片机作为主体,然后设计采集信号电路,再做显示电路,键盘中断电路,接着做D/A转化的电路。
但是这些电路网上的资料里一般都有,如何写出自己的东西呢?
带着这个问题,我去网上查了一些厂家的产品,从他们的公司产品介绍上,我整合了我需要的信息,有了自己想要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 原理 流量 控制 装置
![提示](https://static.bdocx.com/images/bang_tan.gif)