基于单片机的流量控制系统副本.docx

上传人:b****8 文档编号:9383341 上传时间:2023-02-04 格式:DOCX 页数:17 大小:152.89KB
下载 相关 举报
基于单片机的流量控制系统副本.docx_第1页
第1页 / 共17页
基于单片机的流量控制系统副本.docx_第2页
第2页 / 共17页
基于单片机的流量控制系统副本.docx_第3页
第3页 / 共17页
基于单片机的流量控制系统副本.docx_第4页
第4页 / 共17页
基于单片机的流量控制系统副本.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于单片机的流量控制系统副本.docx

《基于单片机的流量控制系统副本.docx》由会员分享,可在线阅读,更多相关《基于单片机的流量控制系统副本.docx(17页珍藏版)》请在冰豆网上搜索。

基于单片机的流量控制系统副本.docx

基于单片机的流量控制系统副本

第一章.绪论…………………………………………………………………………2

1.1研究目的、意义及研究内容………………………………………………2

1.2流量计的应用领域…………………………………………………………2

1.3流量计概述及分类…………………………………………………………2

第二章工作原理及系统硬件设计…………………………………………………3

2.1系统工作原理………………………………………………………………3

2.2硬件构成……………………………………………………………………4

第三章系统软件设计………………………………………………………………4

3.1软件设计思路………………………………………………………………5

3.2主程序设计…………………………………………………………………6

3.3流量控制子程序……………………………………………………………6

第四章中断服务子程序……………………………………………………………7

4.1设定值输入程序…………………………………………………………7

4.2A/D中断子程序…………………………………………………………8

4.3定时器中断子程序………………………………………………………12

4.4数码管显示子程序………………………………………………………14

4.5步进电机控制程序………………………………………………………15

总结……………………………………………………………………………17

参考文献………………………………………………………………………18

 

第一章绪论

1.1研究目的、意义及研究内容

流量是衡量设备的效率和经济性的重要指标。

流量测量与控制是实现工业生产过程自动化的一项重要任务。

本课题的主要研究内容是对流量进行控制,主要由流量传感器采集流量信息,然后经过AD转换器将连续的模拟信号离散化后传给单片机,单片机在软件系统的控制下,根据预先的设置和预期的控制要求,通过步进电机来精确控制阀门的开度,实现对流量的精确控制。

1.2流量计的应用领域

流量计主要用于以下几个领域。

●工业生产过程

●能源计量

●环境保护工程

●交通运输

●生物技术

●科学实验

1.3流量计概述

所谓流量是指单位时间内通过某一截面的物料数量,即瞬时流量。

用于测量流量的仪表称为流量计,流量计是过程自动化仪表与装置中的大类仪表之一。

流量计也成为流量传感器,是一种指示被测流量和(或)在选定的时间间隔内流体总量的流速监测装置。

主要功能是当流速未达到设定的流速阀值时发出检测信号,经计算机控制,进行报警或启动连锁保护系统,保护关键设备,能够以及时制止在生产中的突发事故,对生产安全和经济效益,有不可估量的实际作用。

 

第二章工作原理及系统硬件设计

2.1系统工作原理

系统的工作原理是流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将模拟电信号转化为离散信号,传给单片机。

单片机软件系统根据事先的设定值对采集的信息进行处理,输出离散的控制信号。

DA转换器将离散的控制信号转化为模拟电量。

通过模拟电量来控制阀门的动作,从而调节流量,实现流量的精确控制。

2.2硬件构成

本系统主要由水泵、流量传感器、电动阀门和MCS-51单片机控制系统以及液体管线和控制线、监视线等组成。

系统结构框图如下所示:

流量是指单位时间内通过管道某一截面的物料数量。

本控制系统的任务是对通过某一管道截面的物料数量即降粘剂流量进行控制。

本系统采用单片机控制,通过流量计采集流量信息,传给单片机。

单片机通过预先设定值和系统软件进行分析,发出相应的控制信号,驱动调节阀动作,从而确定降粘剂的配比与耗量,实现生产过程自动化。

系统硬件结构图如图所示:

其中,电磁流量计作为流量传感器,采集流量信息,经放大器放大后送到AD转换器。

AD转换器将连续的模拟量转化为单片机能接受的离散的数字量。

单片机收到流量信号后,在控制系统软件的作用下,发出相应的执行命令给执行机构——步进电机。

步进电机带动阀门动作,对流体流量进行控制。

 

第三章软件设计

3.1软件设计思路

该控制系统的软件设计可以分为三部分:

1.主程序部分:

该部分完成存储器分区、数据定义和系统的初始化等,以及调用各个子程序,完成主要的控制功能。

2.流量控制程序:

通过PID控制算法,编写出相应的流量控制子程序,实现对流量的控制,达到预期的控制要求;

3.各子程序:

各个子程序完成具体的实现方法,主要包括:

设定值输入、数码管显示、步进电机控制、AD转换中断、T0定时器中断、采样中断等。

软件流程图如下:

3.2主程序设计

◆主程序部分,主要完成存储器分配、系统初始化和系统整体控制等,并通过调用各子程序段,实现软件的总体设计功能。

主程序流程图

◆初始化:

系统初始化程序的功能是对8155和89C51进行初始化,使D/A输出为0,步进电机处于停机状态,将RAM中的标志位和工作单元置为初始状态,提示符CPUREADY写入缓冲器。

更新显示器子程序的功能是将显示缓冲器的内容,分别转化为段数据,输出到8155。

显示器0~12的显示数据缓冲器分别为73H~7FH单元。

当系统处于停机状态时,显示器0~4显示参数,显示器5~7显示参数地址,所以73H~77H作为数据缓冲器,78H~7AH作为地址缓冲器,在运行状态时,73H~77H作为瞬时流量缓冲器,78H~7FH作为累计流量缓冲器。

初始化程序的流程如图所示:

3.3流量控制子程序

在流量测试的基础上,把流量设定值和实际测试得到的瞬时流量进行比较计算出误差,采用数字PID调节算法,计算输出到AD0809的变量Uio增量式PID控制算法的计算公式为

式中:

ei为本次实际测得的流量和设定值之差;

P为比例系数;I为积分系数;D为微分系数;

输出控制变量表达式为:

程序的入口参数:

偏差ek、ek-1、ek-2、测量值y、给定值r。

这5个参数均为3字节的浮点数,分别将它们存放在RAM单元中。

低字节存放浮点数的阶数和符号,其中符号存放在最高位,阶数以补码的形式存放在另7位中。

尾数以原码的形式存放在另2个字节中。

 

第四章中断服务子程序

4.1设定值输入程序

本程序将4位BCD码按千、百、十、个依次存放在89C51片内RAM的30H~33H单元中,每个地址单元的高4位为0,低4位为BCD码。

程序代码如下:

RDS:

MOVR0,#30H;初始化,存放单元首址

MOVR2,#7FH;P1口高4位置控制字及低4位置输入方式

MOVR3,#04H;读入4个BCD码

MOVA,R2

LOOP:

MOVP1,A;P1口送控制字及低4位置输入方式

MOVA,P1;读如BCD码

ANLA,#0FH;屏蔽高4位

MOV@R0,A;送入存储单元

INCR0;指向下个存储单元

MOVA,R2;准备下一片拨盘的控制端置0

RRA;

MOVR2,A;

DJNZR3,LOOP;未读完返回

RET;读完结束

4.2A/D中断子程序

A/D中断子程序流程图如下所示:

程序代码如下:

INT0:

PUSHACC;保护现场

PUSHDPH

PUSHDPL

PUSHPSW

SETBPSW.3;选工作寄存器区1

MOVDPTR,#0DF01H;读取8155A口数据

MOVXA,@DPTR

MOVR2,A

ANLA,#0F0H;屏蔽低4位

JNZND5;

MOVA,R2

JNB02H,D51;判断是否采样零信号

MOVC,ACC.0;

MOV30H,C

MOVC,ACC.7

MOV37H,C

AJMPD14

D51:

MOVC,ACC.0;万位和标志位→荷重信号缓冲器

MOV48H,C

MOVC,ACC.7

MOV4FH,C

AJMPD14

ND5:

MOVA,R2;判断是否读出千位

JNBACC.7,ND4

JNB02H,D41;判断是否采样零信号

ANLA,#0FH;千位→零信号缓冲器

SWAPA

MOV25H,A

AJMPD14

D41:

ANLA,#0FH

SWAPA

MOV28H,A

AJMPD14

ND4:

JNBACC.6,ND3;判断是否读出百位

JNB02H,D31;判断是否采样零信号

MOVR1,#25H;百位→零信号缓冲器

ANLA,#0FH

XCHPA,@R1

AJMPD14

D31:

MOVR1,#28H

ANLA,#0FH

XCHDA,@R1

AJMPD14

ND3:

JNBACC.5,ND2;判断是否读出十位

JNB02H,D21;判断是否采样信号

ANLA,#0FH;十位→零信号缓冲器

SWAPA

MOV24H,A

AJMPD14

D21:

ANLA,#0FH

SWAPA

MOV24H,A

AJMPD14

ND2:

JNB02H,D11;判断是否采样零信号

ANLA,#0FH;个位→零信号缓冲器

MOVR,#24H

XCHDA,@R1

CLR02H

MOVDPTR,#0DFF3H;启动A/D转换

MOVA,#30H

MOVX@DPTR,A

ADS1:

SETBP1.6

NOP

NOP

CLRP1.6

AJMPD14

D11:

ANLA,#0FH

MOVR1,#27H

XCHDA,@R1

MOV2AH,24H;采样数据送处理缓冲器

MOV2BH,25H

MOV2CH,26H

MOV2DH,27H

MOV2EH,28H

MOV2FH,29H

SETB03H;置一次A/D采样结束标志

D14:

POPPSW;恢复现场

POPDPL

POPDPH

POPACC

RETI

4.3定时器中断子程序

定时器T0中断程序流程图如下图所示。

 

程序代码如下:

PIT0:

PUSHPSW;保护现场

PUSHACC

PUSHDPH

PUSHDPL

JNB00H,T01;允许采样否?

DJNZ10H,T02;采样周期计数器减1,不为1转T02

DJNZ11H,T02

MOV10H,#0A0H;恢复采样周期计数器初值

MOV11H,#0FH

SETB0FH

CLR0DH

CLRP3.4

MOVDPTR,#0DFF3H;对零点采样

MOVA,#00H

MOVX@DPTR,A

SETB04H

SETB04H

T02:

JB01H,T05

T01SETBP1.7

NOP

CLRP1.7

T05:

CLRP1.6

DJNZ16H,T06;调试用脉冲周期计数器减1

CPLP1.4;使P1.4产生方波

MOV16H,17H

T06:

POPDPL;恢复现场

POPDPH

POPACC

POPPSW

ERTI

4.4数码管显示子程序

程序流程图如下所示:

 

在单片机内部RAM的20H和21H单元中有四位十六进制数(20H中为高两位),以下是将其自左到右显示出来的程序。

程序代码如下:

ORG2000H

SDIAPLAY:

MOVA,20H;20H中数送A

ANLA,#0F0H;截取高4位

MOVP1,A;送1#MC14495

MOVA,20H;20H中数送A

SWAPA;低4位送高4位

ANLA,#0F0H;去掉低4位

INCA;A1A0指向2#MC14495

MOVP1,A;送2#MC14495

MOVA,21H;21H中数送A

ANLA,#0F0H;截取高4位

ADDA,#02H;A1A0指向3#MC14495

MOVP1,A;送3#MC14495

MOVA,21H;21H中数送A

SWAPA;低4位送高4位

ANLA,#0F0H;去掉低4位

ADDA,#03;A1A0指向4#MC14495

MOVP1,A;送4#MC14495

RET

4.5步进电机控制程序

程序代码如下:

ORG2100H

PUSHACC;保护现场

MOVR4,#N;步进马达步进数送R4

CLRC;Cy清零

ORLC,PSW.5;转向标志状态送Cy

JCROTE;若为反转,则转ROTE

MOVR0,#20H;正转模型始址送R0

AJMPNEXT;转入NEXT

ROTE:

MOVR0,#27H;反转模型始址送R0

NEXT:

MOVA,@R0;输出控制模型的值

MOVP1,A;输出控制脉冲

ACALLDELAY;延时(形成脉宽)

INCR0;准备下个模型指针

MOVA,#00H;判断送完一遍模型值

ORLA,@R0

JZTPL;若模型结束,则TPL

LOOP:

DJNZR4,NEXT;若步进数未走完,则NEXT

POPACC;恢复现场

RET:

返回

TPL:

MOVA,R0

CLRC

SUBBA,#06H

MOVR0,A;恢复模型始址

AJMPLOOP;判断步进马达步数走完?

DELAY:

MOVR2,#M1;延时

DELAY1:

MOVR2,#M2

DELAY2:

DECA

JNZDELAY2

DJNZR2,DELAY1

RET

END

上述控制程序是利用程序延时来控制电机的通电时间(即形成控制脉冲)以达到正转、反转、启动和停止的。

这种控制的缺点是CPU因执行延时程序而降低了效率。

为了提高CPU的使用效率,常常也可采用单片机内部定时/计数器编制上述程序。

总结

在设计的这段日子里,我学到了很多东西,突然觉得自己做什么事情都特别的认真了起来,也许是以前从未认真做过一件事吧。

每天守着一大堆资料,随时还要上网查询,有时为了查一个数据就要耗去近一个小时的时间,证实了却又感到莫名地兴奋与愉悦。

整个设计过程都是那么的紧张、严紧。

偶然间就回到了过去的学习深处,也就是在那里留下了我些许的遗憾和欣慰。

遗憾里有后悔,有痛恨,曾经是那么的无知。

欣慰的是事过境迁,深刻地认识了自己,一切改过还来的及。

顺利如期的完成本次设计给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心,无论给水系统还是排水系统,我都采用了一些新的技术和设备他们有着很多的优越性但也存在一定的不足这些不足在一定程度上限制了我们的创造力,这些不足正是我们去更好的研究更好的创造的最大动力,只有发现问题面对问题才有可能解决问题,不足和遗憾不会给我打击只会更好的鞭策我前行的道路。

参考文献

【1】李英顺.单片机原理及应用.北京:

中国水利水电出版社,2010

【2】张家生.电机原理与拖动基础[M].北京:

北京邮电大学出版社,2006

【3】马斌等.单片机原理及应用---C语言程序设计与实现[M].北京:

人民邮电出版社,2009

【4】王宜怀等.嵌入式系统[M].北京:

北京航空航天大学出版社,2008

【5】顾德英,张健,马淑华.计算机控制技术[M].北京:

北京邮电大学出版社,2006

 

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

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1