基于单片机变频恒压供水课程设计报告汇总Word文件下载.docx
- 文档编号:21052931
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:13
- 大小:83.40KB
基于单片机变频恒压供水课程设计报告汇总Word文件下载.docx
《基于单片机变频恒压供水课程设计报告汇总Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机变频恒压供水课程设计报告汇总Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
二、实验设备
IA7000实验台一台
51单片机试验箱
西门子MM440变频器
三相水泵:
AB-12,380V,40W,流量12升/分,扬程3米
压力变送器:
DC24,4~20mA
装有实验软件的计算机一台
PC-PPI通讯电缆一根
导线若干
三、设备工作原理简介
1、西门子MM440变频器工作原理
MM440变频器具有多个继电器输出、多个模拟量输出。
原理图如下
MM440的接线原理图
MM440的每个端子都有一个对应的参数用来设定该端子的功能(如下表)
表1MM440六个数字开关量输入端子功能
数字输入端子
编号
参数编号
出厂设置
DIN1
5
P0701
1
DIN2
6
P0702
12
DIN3
7
P0703
9
DIN4
8
P0704
15
DIN5
16
P0705
DIN6
17
P0706
功能说明
=1接通正转/断开停车
=2接通反转/断开停车
=3断开按惯性自由停车
=9故障复位
=10正向点动
=11反向点动
=12反转(与正转命令配合使用)
=13电动电位计升速
=14电动电位计降速
=15固定频率直接选择
=16固定频率选择+ON命令
=17固定频率编码选择+ON命令
2、变频器参数复位:
参数复位是将变频器的参数恢复到出厂时的参数默认值。
在变频器初次调试,或者参数设置混乱时,需要执行该操作,以便于将变频器的参数值恢复到一个确定的默认状态。
MM440包含六个数字开关量输入端子,每个端子都有一个对应的参数用来设定该端子的功能。
恢复变频器缺省值,按下“P”健,变频器开始复位到工厂缺省值。
表2.由BOP操作时的工厂缺省设置值
参数号
出厂值
设置值
说明
P0010
0
30
工厂的设定值
P0970
0
参数复位
3、压力变送器工作原理
压力变送器的主要作用把压力信号传到电子设备,进而在计算机显示压力。
其原理大致是:
将水压这种压力的力学信号转变成电流(4-20mA)这样的电子信号。
压力和电压或电流大小成线性关系,一般是正比关系。
所以,变送器输出的电压或电流随压力增大而增大,由此得出一个压力和电压或电流的关系式。
压力变送器的被测介质的两种压力通入高、低两压力室,低压室压力采用大气压或真空,作用在δ元(即敏感元件)的两侧隔离膜片上,通过隔离片和元件内的填充液传送到测量膜片两侧。
压力变送器是由测量膜片与两侧绝缘片上的电极各组成一个电容器。
当两侧压力不一致时,致使测量膜片产生位移,其位移量和压力差成正比,故两侧电容量就不等。
主要优点
(1)压力变送器具有工作可靠、性能稳定等特点;
(2)高准确度,高稳定性;
(3)4-20mADC二线制信号传送,抗干扰能力强,传输距离远;
(4)铝合金压铸外壳,三端隔离,静电喷塑保护层,坚固耐用;
(5)专用V/I集成电路,外围器件少,可靠性高,维护简单/体积小、重量轻,安装方便。
4、PID工作原理
PID是比例(P)、积分(I)、微分(D)控制算法。
但并不是必须同时具备这三种算法,也可以是PD,PI,甚至只有P算法控制。
我以前对于闭环控制的一个最朴素的想法就只有P控制,将当前结果反馈回来,再与目标相减,为正的话,就减速,为负的话就加速。
现在知道这只是最简单的闭环控制算法。
比例(P)、积分(I)、微分(D)控制算法各有作用:
比例:
反应系统的基本(当前)偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;
积分:
反应系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差;
微分:
反映系统偏差信号的变化率e(t)-e(t-1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的动态性能。
但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。
积分和微分都不能单独起作用,必须与比例控制配合。
增量式PID:
是指数字控制器的输出只是控制量的增量Δu(k)。
采用增量式算法时,计算机输出的控制量Δu(k)对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置。
增量型PID算式:
PID=Uk+KP*[E(k)-E(k-1)]+KI*E(k)+KD*[E(k)-2E(k-1)+E(k-2)];
增量式算法优点:
(1)算式中不需要累加。
控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;
(2)计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;
(3)手动—自动切换时冲击小。
当控制从手动向自动切换时,可以作到无扰动切换。
课题实施方案
1、硬件设计
在本方案中,由51单片机试验箱、变频器MM440、压力变送器组成。
1)、51单片机试验箱
完成对模拟量输入输出EM235模块数字输入信号的读取,并且负责PID输入输出的计算,并将结果化为数字量放入模拟量输入输出EM235模块。
2)、变频器MM440
主要是用来完成对水泵的控制,当频率为0HZ时水泵不抽水,液位维持不变;
当频率为50HZ时,水泵最大功率输出,提高液位。
3)、压力变送器
主要任务是将水缸中的水的压力信号转换成4-20mA的电流信号并且输入模拟量输入输出EM235模块从而达到监视系统水位的目的。
4)、模拟量输入输出EM235模块
负责将模拟量转化为数字量以方便单片机读取,并且将PLC-200的输出数字量转化成模拟量以便控制变频器MM440。
电路原理图
2.软件设计
PID算法部分:
/*PID=Uk+KP*[E(k)-E(k-1)]+KI*E(k)+KD*[E(k)-2E(k-1)+E(k-2)];
(增量型PID算式)
函数入口:
RK(设定值),CK(实际值),KP,KI,KD
函数出口:
U(K)*/
//pid.c
/*PID=PID->
UK_REAL+PID->
KP*[E(k)-E(k-1)]+PID->
KI*E(k)+PID->
KD*[E(k)-2E(k-1)+E(k-2)];
PID->
RK(设定值),PID->
CK(实际值),PID->
KP,PID->
KI,PID->
KD
//#include"
defines.h"
#include"
pid.h"
#defineMAXOUT0xff
//#defineMAXGAP100
voidpid_exe(pid_str*PID)//指针指向PID结构体
{
EK[2]=PID->
EK[1];
//Double上差量->
上次差量
EK[1]=PID->
EK[0];
//上次差量->
当前差量
EK[0]=PID->
RK-PID->
CK;
//当前差量=水位设定值-水位实际值
if(PID->
EK[0]<
=10&
&
PID->
EK[0]>
=-10)
EK[0]=0;
UK_REAL=PID->
UK_REAL+PID->
KP*(PID->
EK[0]-PID->
EK[1])//微分一次后积分即原数
+(float)PID->
KI*PID->
EK[0]//直接积分
KD*(PID->
EK[0]-2*PID->
EK[1]+PID->
EK[2]);
//二阶微分后积分即一阶微分
if((PID->
UK_REAL>
>
BITMOV)>
=MAXOUT)//AD输出量>
上限值
{
UK=MAXOUT;
//AD输出量=上限值
}elseif(PID->
BITMOV<
=0)//AD输出量
UK=0;
}else
UK=PID->
BITMOV;
//实际输出量
}
}
PID头文件:
主函数部分:
/*******************************************************************************
*
*普中科技
--------------------------------------------------------------------------------
*实验名:
AD显示试验
*实验说明:
使用LCD1602显示AD读取到的各个数值
*连接方式:
见连接图
*注意:
*******************************************************************************/
#include<
reg51.h>
i2c.h"
lcd.h"
//--定义PCF8591的读写地址--//
#defineWRITEADDR0x90//写地址
#defineREADADDR0x91//读地址
pid_strswkz;
voidDelay(unsignedinti)
while(i--);
voidset_pid_para(void)
swkz.KP=3;
swkz.KI=0.5;
swkz.KD=0;
swkz.RK=450;
swkz.EK[2]=0;
swkz.EK[1]=0;
swkz.EK[0]=0;
swkz.BITMOV=1;
swkz.UK_REAL=0;
*函数名:
Pcf8591SendByte
*函数功能:
写入一个控制命令
*输入:
channel(转换通道)
*输出:
无
voidPcf8591SendByte(unsignedcharchannel)
{
I2C_Start();
I2C_SendByte(WRITEADDR,1);
//发送写器件地址
I2C_SendByte(0x40|channel,0);
//发送控制寄存器
I2C_Stop();
Pcf8591ReadByte
读取一个转换值
dat
unsignedcharPcf8591ReadByte()
unsignedchardat;
I2C_SendByte(READADDR,1);
//发送读器件地址
dat=I2C_ReadByte();
//读取数据
//结束总线
returndat;
Pcf8591DaConversion
PCF8591的输出端输出模拟量
value(转换的数值)
voidPcf8591DaConversion(unsignedcharvalue)
//发送写器件地址
I2C_SendByte(0x40,1);
//开启DA写到控制寄存器
I2C_SendByte(value,0);
//发送转换数值
voidDis_Play(unsignedintdata1)
LcdWriteData('
0'
+data1/1000);
//发送显示数据
+data1%1000/100);
+data1%100/10);
+data1%10);
main
主函数
voidmain()
unsignedintAD_Read=0;
//AD_Read->
信号输入量
LcdInit();
//1602液晶初始化
set_pid_para();
//给PID赋初值
while
(1)
{
AD_Read=Pcf8591ReadByte()*2;
//ADC读取外部输入电压先空读一次
swkz.CK=AD_Read;
//把读入的AD值付给PID.CK
write_str(1,0,"
AD:
"
);
Dis_Play(AD_Read);
//显示当前读入AD电压值0-510->
水位的高度
Pcf8591SendByte(3);
//发送电位器转换命令
//再度读一次,读出当前数据AD_Read->
信号输入量0-510->
//--PIDDA输出--//
pid_exe(&
swkz);
//PID计算出AD输出量
write_str(0,0,"
OUTPUT:
Dis_Play(swkz.UK);
Pcf8591DaConversion(swkz.UK);
//AD输出量给控制
//Delay(100000);
//延时时间改变控制周期!
3、结果分析
模拟量电压0-5V对应数字量0-510(设定的数字量最大值MAXOUT=0xff=255,实际值PID->
UK_REAL右移一位PID->
BITMOV,即除以2以后与255比较,所以实际值变化范围为510),水位变化范围为0-100cm,PID中有:
swkz.KI=0.8;
swkz.KD=0.7;
结果显示,设定值比实际值大致多70(如,给定值为400,实际输出值为330,对应水位是52cm),最终按要求将水位控制在60cm(给定值为450)和40cm(给定值为328)。
个人总结
本次课程设计任务是用单片机实现PID算法控制液位,由12人共同完成。
我和其他四位同学主要负责PID算法部分,一开始都不会做,就在网上查资料,中间也走了弯路,幸而在老师指点下及时改正,最终从三篇较好的程序中选择了一篇程序相对较精简且容易理解的作为参考,在此基础上深入理解并加以修改,从而变成一个能用而且好用的PID算法程序。
程序很早就写好了,然后就与负责其他两部分的同学交流一起做其他部分,争取尽快完成任务,在各部分都有了雏形,整个系统可以顺利运行后,我们组的同学就开始调PID算法程序。
由于暑假期间参加了西门子杯工业自动化挑战赛,对过程控制有部分了解,所以PID算法中的参数给定主要是我在负责。
经过多次实验,终于使得水位控制相对精确,但是由于水平有限,PID参数部分调地并不完美,导致水位震荡较大,任然有很大的改进空间。
通过这次12人共同完成一个课程设计,我体会到了明确分工,积极合作的重要性,也更明白了包容和谦让的力量,同时对之前所学的知识进行了一次应用,更有助于理解。
这次课程设计也让我认识到了自己的不足,对于一个系统来说任何细节都很重要,需要从各个方面考虑才行。
最后,十分感谢谭老师的指导以及其他11位同学对我的帮助。
参考文献
《单片机》XX百科词条
《计算机控制技术》施保华
《电子技术基础》康华光
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 变频 供水 课程设计 报告 汇总