基于STM32的PH自动控制加液机的设计.docx
- 文档编号:3594026
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:50
- 大小:5.01MB
基于STM32的PH自动控制加液机的设计.docx
《基于STM32的PH自动控制加液机的设计.docx》由会员分享,可在线阅读,更多相关《基于STM32的PH自动控制加液机的设计.docx(50页珍藏版)》请在冰豆网上搜索。
基于STM32的PH自动控制加液机的设计
毕业设计(论文)
学生姓名:
王程学号:
**********
所在学院:
自动化与电气工程学院
专业:
自动化
设计(论文)题目:
基于STM32的pH自动控制加液机的设计
****************
2015年5月20日
基于STM32的pH自动控制加液机的设计
摘要
pH值的控制过程广泛存在于石油、化工、造纸、制药、废水处理及给水处理中,在工业生产过程中必须将pH值严格控制在某特定范围之内,否则将会造成产品质量的下降,原料的浪费,导致生产不能运行,经济效益下降,环境污染。
因此pH值的控制有着非常重要的意义。
本文的核心在于基于ARM的pH值自动控制系统,该系统的pH采样部分采用高精度的pH传感器将pH值转化为电压值,采用高性能的A/D转换模块将采集到的电压值转化为数字量,该数字量一部分通过显示模块显示,另一部分进入PID控制器控制蠕动泵加酸或加碱,最终使pH值控制在设定范围之内。
该系统通过建立闭环控制系统以实现对pH值的控制。
由于闭环控制可以有效地抑制闭环中各种扰动的影响,这将使得被控量趋近于设定值。
关键词:
PID控制器ARMA/D转换
ThedesignofpHautomaticcontrolliquidfillingmachinebasedonSTM32
Abstract
pHcontrolprocesswidelyinpetroleum,chemical,pHarmaceutical,paper,wastewatertreatmentandwatertreatment,thepHvalueintheindustrialproductionmustbestrictlycontrolledwithinaspecifiedrange,otherwisemaycausethedeclineinproductquality,rawmaterialwaste,productioncannotbecarriedoutsmoothly,economicdecline,orevencauseenvironmentalpollution,sothepHwithinacertainrangeofgreatsignificance.
ThecoreofthisarticleisthepHautomaticcontrolsystembasedonARM.ThepHsamplingpartsofthesystemusesthehigh-precisionpHsensorstoconvertedpHvalueintovoltagevaluesandusesthehighperformanceA/Dconversionmoduletocollectedvoltageintodigitalquantity.Theonepartofthedigitalisdisplayedbythedisplaymodule,theotherpartgointothePIDcontrollertocontroltheperistalticpumpaddingacidoralkali,Finally,whichmakesthepHcontrolwithintheset.ThesystemthroughtheestablishmentoftheclosedloopcontrolsysteminordertorealizethecontrolofthepHvalue.Becausetheclosedloopcontrolcaneffectivelycurbtheinfluenceofvariousdisturbancesinclosedloop,whichwillmakethechargedamounttendtosetvalue.
KeyWords:
ThePIDcontrollerARMA/Dconversion
第一章绪论
1.1pH自动控制系统的研究背景和意义
在如制药、发酵、造纸、电镀、废水处理及给水处理等这些现代化工业生产过程中,由于pH值对溶液的物理性质以及化学性质都有很大的影响,因此pH值的检测问题时刻存在。
然而pH值的自动控制在整个工业自动化中是一个薄弱的环节,甚至还会出现即使是使用的相同仪表,但应用在不同设计和不同的场合中所取得的pH值控制效果相差甚远的现象。
因此,在工业生产过程中我们必须让pH值严格控制在特定范围内,否则可能会造成产品质量下降,原料浪费,生产不能顺利进行,企业的竞争力下降,甚至造成环境污染,另外强酸强碱还会腐蚀生产设备,降低设备寿命,并影响生产,甚至产生危险,故pH值的控制问题在工业过程中占有举足轻重的地位。
因此,无论是对工业生产过程控制而言,还是对生态环境的保护而言,对pH值进行有效控制具有重要的意义。
针对此现象,设计各种相应的pH值过程自动控制系统是很重要的。
1.2pH自动控制系统的发展概况
传统的酸碱废水处理是通过人工进行调节的,经过人工的分析,并由人工操作不断加入调节剂,经过分析化验后排掉废水。
这样处理调节周期长,加酸或加碱的量不能把握,而且占地面积大,能耗高,且手工配药无法在密封的环境下进行,有剧毒的化学物质严重危害着操作者的身心健康。
因此可以看出手动控制安全可靠性差,工作效率低,很难满足实时控制系统的要求和符合合格排放标准。
所以采用pH值自动控制系统取代人工调节系统是未来发展的必然趋势。
从国内外pH值自动控制系统的控制策略的研究来看,多数控制方法采用的是模拟量调节器,这在今后大型化和复杂化的工业生产过程中将会举步维艰,也无法满足生产控制在安全、平稳、优质、高效等方面的要求。
所以急需将计算机控制技术、过程控制技术、仪表技术、电子技术等多种技术结合起来,研制出能适用于各种工业生产过程场合的通用的高精密pH值全自动控制系统。
随着数字化产品向小型、高速、大容量、低成本的迅速发展,使得各种性能的微处理器不断推出,特别是适用于实时控制的工业计算机、单片机、可编程控制器(PLC)、ARM等在控制领域的应用,更加促进pH值自动控制系统的发展。
1.3课题的主要工作概述
本课题是基于ARMCortex-M3控制芯片对pH自动加液系统进行设计,在掌握步进电机的驱动原理、数据采集和A/D转换方法、显示模块驱动条件、PID控制原理及算法等基础上设计一基于ARMCortex-M3的pH自动控制加液系统。
ARMCortex-M3控制芯片可以实现步进电机的驱动、A/D转换、数据的静态显示动态显示及显示曲线、PID控制。
为了研究此系统方案的正确性和可行性,可在实体模型上进行调试及改进。
论文的研究内容包括以下几个方面:
1.完成步进电机驱动部分的设计
2.完成动态数据、静态数据及曲线显示部分的设计
3.完成数据采集及A/D转换部分的设计
4.完成PID控制器的设计
5.完成按键调节部分的设计
6.调试和结果分析
本章小结
本章首先介绍了pH自动控制系统的研究背景、意义以及发展概况,接着叙述了该课题的工作概述,为下面章节对pH自动控制系统的研究提供了方向。
第二章pH自动控制系统的原理和方法
2.1pH自动控制系统的原理
pH自动控制加液机采用STM32系列Cortex-M3微控制器作为核心控制部件,链接现场的传感器、加酸泵、加碱泵等现场设备。
该系统通过建立闭环控制系统以实现对pH值的控制,闭环控制可以有效地抑制系统各种外部扰动的影响,来使得测量值慢慢趋近于设定值。
在pH值自动控制系统中,使用pH控制器将溶液的pH值转换为标准量程的电流信号,经过阻抗匹配电路将电流信号转化为电压信号,然后送给STM32自带的12位的模数转换器件,得到0~4095之间数字量经量程变换得到对应的pH值。
CPU将该pH值与设定值比较产生偏差,并按PID控制算法对偏差进行运算,并根据运算得到的数字量给步进电机发送脉冲,通过发送脉冲的个数来控制加酸泵和加碱泵的流量,实现对pH值的闭环控制,其方框图如图2-1所示。
STM32F103计算得到的数字量除了驱动步进电机之外还经过某些数学变换送到显示模块。
该系统在数据采样之前还必须要进行信号调理,方可使采集的信号比较精确。
图2-1pH自动控制加液机方框图
pH自动控制加液机—双泵自动添加酸性或碱性液体,既可以对溶液进行pH值静态或在线检测调整,也可进行以pH值为指标的试液控制添加。
该系统集pH值的自动检测显示、pH值的自动调节控制、pH值的自动加酸加碱机构于一体。
结构简单紧凑,pH精度高,有广泛的用途。
2.2pH自动控制系统的设计方法
在实际工程设计中,比例、积分、微分控制是应用最为广泛的控制规律,其简称PID控制,或者PID调节。
PID控制器问世至今已有近70年历史,它以其工作可靠、稳定性好、结构简单、调整方便而成为工业控制的主要技术之一。
当被控对象的参数和结构不能被完全掌握,或者控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定不能得到精确的数学模型时,应用PID控制技术最为方便。
即当我们不能通过有效的测量手段来获得系统参数或不完全了解一个系统的被控对象时,使用PID控制技术最为适合。
PID控制器是根据系统设定值和采样值间的偏差,利用比例、积分、微分计算出控制量控制执行机构的。
PID控制分为模拟量PID控制和数字量PID控制。
由于该系统是采用嵌入式系统进行控制的,因此连续的PID控制算法不能使用,只能采用数字PID控制,它是根据采样时刻的偏差来计算控制量。
根据系统要求,在确定数字PID算法时可以有两种方法:
1.位置式PID控制算法
2.增量式PID控制算法
由于增量式PID输出的控制量是增量式输出,如果STM32微控制器出现故障,输出的增量对执行机构(步进电机)的误动作影响较小,而执行机构本身也具有记忆的功能,仍保持原位,因此不会严重影响系统工作;而位置式的输出直接给执行机构,因此对系统影响较大。
而且增量式PID对内存的要求相对较低,所以选择增量式PID控制算法更合适。
2.3硬件和软件介绍
2.3.1STM32微控制器简介
STM32系列Cortex-M3微控制器用于处理要求低功耗和高度集成的嵌入式应用。
ARMCortex-M3是下一代的新生内核,它提供系统增强型特性,其包括支持更高级别的块集成以及现代化调试特性。
STM32系列Cortex-M3微控制器的CPU采用的是哈佛结构、具有3级流水线并且包含一个支持随机跳转的内部预取指单元,其操作频率最高可达72MHZ。
STM32系列Cortex-M3微控制器带有独立的数据总线、用于外设的稍微低性能的第三条总线和本地指令集。
在本课题的设计中,我们采用的是STM32F103RBT6,其外设组件包含128K的FLASH存储器、20K的SRAM、2个IIC接口、2个SPI接口、1个USB、2个12位ADC、1条CAN通道、1个16位的高级定时器、普通的16位定时器、3个串口和51个通用I/O引脚。
2.3.2软件介绍
2013年10月,Keil公司(ARM公司之一)正式推出KeilMDKV5,该版本使用uVision5IDE集成开发环境,是目前针对ARM微控制器,尤其是ARMCortex-M内核微控制器最佳的一款集成开发工具。
MDKv5向后兼容KeilMDK-ARMuVision4,以前的项目同样可以在MDKv5上进行开发,MDKv5同时加强了针对Cortex-M微控制器开发的支持,并且对传统的开发模式和界面进行升级,将分成两个部分,MDKCore和SoftwarePacks。
其中,SoftwarePacks可以独立于工具链进行新芯片支持和中间库的升级。
MDKCore包含微控制器开发所有的所有组件,包括IDE(uVision5)、编辑器、ARMC/C++编辑器、uVision调试跟踪器和PackInstaller。
MDK最为强大的一个功能就是能够提供软件的仿真,通过软件的仿真可以让我们发现许多将要出现的问题,这避免了下载到ARM里来找出这些问题,这样的最大好处就是能很方便发现程序存在的潜在问题。
由于在MDK的仿真界面,我们可以读取很多硬件相关的寄存器,通过对这些寄存器的观察,我们可以知道代码是不是正确。
MDK的另外一个优点是不要进行频繁的刷机,因此延长了ARM的FLASH寿命。
虽然,软件仿真的功能很强大,但是它不是万能的,有许多问题还是要在线调试才能解决的。
本章小结
本章首先介绍了pH自动控制加液系统的原理,加深了对该系统的理解,在此基础上提出了增量式PID的设计方法。
接着对软硬件进行了介绍,从而为后面软硬件结合研究打下了坚实的基础。
第三章pH自动控制加液机硬件设计
3.1pH自动控制加液机硬件组成
ARM单片机及外围电路的总体设计如下图3-1所示,其主要由输入采集部分、输出控制部分和控制决策部分组成。
系统中采用一片STM32F103作为控制器的核心芯片,前项通道为数据采集部分,后项通道为控制部分,通过按键和显示屏显示进行人机交互。
图3-1ARM单片机及外围电路的总体设计
◆输入采集部分主要采集本系统的参数即pH值,并通过A/D转换将采集到的pH值转化为数字量;
◆控制输出部分是把控制器输出的控制量作用于执行机构,实现对pH值的控制;
◆控制决策部分由STM32F103来实现,该部分是根据系统的工况、测量内容、显示方式等要求设计的,是硬件电路设计的核心部分;
◆键盘输入部分可以设定pH设定值、PID参数;
◆显示部分用于显示pH设定值、采样pH值、PID参数及设定值与采样值曲线。
为了完成该pH自动控制系统,我们设计了基于STM32F103的控制板作为控制部分,其板载资源如下:
1.CPU:
STM32F103RBT6,LQFP64,FLASH:
128K,SRAM:
20K;
2.1个标准的2.4/2.8寸LCD接口,支持触摸屏
3.1个USB串口,可用于程序下载和代码调试
4.1组5V电源供应/接入口
5.1组3.3V电源供应/接入口
6.1个启动模式选择配置接口
7.1个RTC后备电池座(带电池)
8.1个复位按钮,可用于复位MCU和LCD
9.3个功能按钮
10.1个电源开关,控制整个板的电源
11.2个步进电机驱动接口
3.2STM32F103最小系统简介
3.2.1pH自动控制系统MCU简介
图3-2STM32F103RBT6原理图
pH自动控制系统选择的是STM32F103RBT6作为MCU,STM32F103的型号众多,我们选择这款的原因是看重其性价比,作为一低端开发板,选择STM32F103RBT6是最佳的选择。
128KFLASH、20KSRAM、2个SPI、3个串口、1个USB、1个CAN、2个12位的ADC、RTC、51个可用IO脚…,该芯片配置充足,价格低廉,其高的性价比让我们选择它作为主芯片,其原理图如上图3-2所示。
3.2.2复位电路
复位电路的基本功能是:
系统上电时提供复位信号,当为可靠起见电源稳定后还要经一定的延时直至系统电源稳定后才撤销,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
图3-3STM32F103复位电路图
如图3-3STM32F103复位电路图,STM32F103的复位信号是从RST脚输入到片内触发器中的复位电路。
当系统处于正常工作状态,且振荡器工作稳定后,如在RST引脚上有从低电平上升到高电平并维持2个机器周期(24个振荡周期)以上,单片机便实现初始化状态复位。
为了保证应用系统可靠地复位,在设计复位电路时,通常使引脚保持10ms以上的高电平。
只要RST保持高电平,单片机就循环复位。
当RST从高电平变为低电平以后,单片机从起始地址开始执行程序。
在本系统中采用手动复位电路,即在系统带电情况下进行手动复位,使用灵活方便。
3.2.3时钟电路
STM32F103的系统时钟选用8MHZ的HSE晶体作为振荡器晶振。
如图3-4所示,由R4、Y2(HSE晶振)、C5、C6构成的系统时钟电路。
HSE晶体可以通过设置时钟控制寄存器里RCC_CR中的HSEON位被启动和关闭。
图3-4系统时钟电路
STM32F103的实时时钟电路选择LSE时钟模式,如图3-5所示,由Y1(LSE晶振)、C3、C4构成LSE旁路,提供一个32.768KHZ的低速外部晶体或陶瓷谐振器。
它为实时时钟提供或者其他定时功能提供一个低功耗且精确的时钟源。
图3-5实时时钟电路
3.2.4启动模式选择电路
根据BOOT[1:
0]引脚的选择,可以有三种不同的启动模式,如下表3-1所示。
表3-1启动模式
启动模式选择引脚
启动模式
说明
BOOT1
BOOT0
X
0
用户闪存存储器
用户闪存存储器被选为启动区域
0
1
系统存储器
系统存储器被选为启动区域
1
1
内置SRAM
内置SRAM被选为启动区域
一般情况下,在使用串口下载代码,必须先配置BOOT1为0,BOOT0为1,下载完成后需要将BOOT0设为0,以便每次复位后都可以运行用户代码。
因此,串口下载专门设置了一键下载电路,使得不必手动切换BOOT[1:
0]状态。
3.2.5电源电路
由于各电路模块所需的电压不同,所以本设计需要多种电源供电。
STM32F103主控制芯片采用3.3V供电,步进电机驱动则采用5V供电,因此,根据设计要求本设计进行了电源转换的设计。
本设计采用AMS1117-3.3将5V转换为3.3V,其中电容的作用是进行滤波,使得得到的电压更稳定。
具体电路图如图3-6所示。
图3-6电源电路
3.3pH控制器
在该系统中,我们采用pH控制器进行pH值的采集和变送。
本次设计我们采用的是杭州联测自动化技术有限公司LYP510型号的pH控制器,其优点如下:
1.pH控制器集采集与变送于一体使用方便,其作用是将采集到的0-14的pH值信号转化为4-20mA的电流信号输出。
2.pH控制器提供pH值的显示,这样我们可将采集到的pH值和pH控制器上的pH值进行比较来判别采集到的pH值正确与否。
3.pH控制器提供温度显示。
酸碱反应会出现放热,温度显示可以让我们了解反应的温度,操作更安全。
3.4阻抗匹配电路
阻抗匹配是指负载阻抗与激励源内部阻抗相互适配,得到最大功率输出的一种工作状态。
阻抗匹配电路的前端是一个I/V变换电路,它采用250欧姆的电阻将4-20mA的电流信号转化为1-5V的电压信号。
随后的运算放大器作跟随器使用(根据虚短、虚断原理),使输出电压等于输入电压,该器件在电压不变的情况下起很好的隔离作用。
2个10K电阻起到分压作用,由于STM32采集的电压必须小于3.3V,因此我们需将1-5V电压转化为0.5-2.5方便A/D转换。
最后的电容起滤波作用让采集的电压值更稳定。
其电路原理图如图3-7所示。
图3-7阻抗匹配电路原理图
3.5STM32F103RBT6ADC
STM32F103RBT6包含2个ADC,我们使用ADC1的通道1来测量外部电压。
其端口如图3-2中的PA1。
STM32F103的ADC模块特点如下:
◆STM32F103ADC最大转换速率为1MHZ,也就是转换时间为1us(在ADCCLK=14M,采样周期为1.5个ADC时钟下得到),不要让ADC的时钟超过14M,否则将导致结果准确度下降。
◆STM32F103ADC为12位转换,其范围为0-4095。
◆STM32F103ADC输入范围:
0~3.3V (当你需要将采集的数据用电压来显示的话:
设你采集的数据为:
x[0~4095],此时的计算公式就为:
(x/4096)*3.6))
◆STM32F103ADC供电要求:
2.4V~3.6V(千万不要接到5V上)
◆STM32F103ADC有8种转换模式
◆STM32F103ADC最多有18个通道:
16个外部通道和2个内部通道
3.6蠕动泵
在本系统设计过程中,执行器是蠕动泵,控制器输出驱动其加酸或加碱。
蠕动泵的核心部分是步进电机,本项目中的蠕动泵采用的是型号为57H704的两相步进电机。
下面就详细描述一下步进电机。
步进电机又叫脉冲电机,它是一种将电脉冲信号转换为角位移的机电式数模(D/A)转换器。
该课题使用步进电机作为驱动元件进行加酸和加碱。
步进电机接收微控制器发来的指令脉冲,控制步进电机作相应的转动。
很明显,指令脉冲的总数就决定了加酸和加碱的量。
3.6.1步进电机的工作原理
步进电机的工作就是步进转动。
在一般的步进电机工作中,其电源都是采用单极性的直流电源。
要使步进电机转动,就必须对步进电机定子的各相绕组以适当的时序通电。
步进电机的步进过程可以用图3-8来说明。
图3-8步进电机的内部结构图
初始状态时,A得电,由于A相绕组和转子之间的磁力线作用,使得转子的磁极和A相绕组对齐。
同理B,A1,B1得电亦是如此。
如此给步进电机定子的各相绕组以适当的时序通电,电机就会转动。
对于一个步进电机,如果它的转子齿数为Z,步进电机的工作拍数为N,则它的步距角θ可以表示如公式3-1所示:
θ=360°/(NZ)(3-1)
在本课题中,步进电机的步距角为1.8度并设置了25000细分,这使得步进电机运行更加稳定。
3.6.2两相步进电机的工作方式
1.两相步进电机两拍工作方式
单两拍工作方式各相的通电顺序为:
A-B-A-…,各相通电的电压波形为图3-9所示。
2.两相步进电机四拍工作方式
双四拍工作方式各相的通电顺序为:
A-AB-B-…,各相通电的电压波形为图3-10所示。
图3-9单两拍工作电压波形图3-10双四拍工作电压波形
3.6.3步进电机驱动器
步进电机驱动器是一种将电脉冲信号转化为角位移的执行机构。
其原理图如下图3-11所示。
每当驱动器接收到一个脉冲信号,它就会驱动步进电机按设定的方向转动一个步距角。
因此,可以通过脉冲的数量来控制角位移,从而达到准确定位的目的,本次课题就是利用其此特点来精确控制加酸加碱的量。
图3-11步进电机驱动器原理图
该系统我们采用的是雷塞公司的M542驱动器,其接口描述如下:
1.M542驱动器弱电接线信号接口如表3-2描述
表3-2M542驱动器弱电接线信号接口描述
名称
功能
PUL+(+5V)
脉冲信号,脉冲控制信号,此时脉冲下降沿有效,PUL-高电平时4-5V,低电平0-0.5V为了可靠响应,脉冲宽度大于1.5Us。
如采用+12V或+24V时需串电阻限流。
PUL-
DIR+(+5V)
方向信号,方向控制信号,保证电机可靠响应。
电机的初始化运行方向和电机的接线密切相关,互相任一相绕组(如A+、A-交换)的交换都能够改变电机初始运行的方向,DIR-高电平时4-5V,低电平时0-0.5V。
DIR-
ENA+(+5V)
使能信号,此输入信号用于使能/禁止,高电平使能,低电平时驱动器不能工作。
一般情况下可以不接,使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 PH 自动控制 加液机 设计