基于PID算法控制的水位控制系统

(整期优先)网络出版时间:2021-04-27
/ 2

基于 PID 算法控制的水位控制系统

汪刘生 王道权 吴子豪 靳硕硕 芮杰

宿州学院机械与电子工程学院 安徽 宿州 234000

摘要】水位问题在农业有极大的体现,农作物对于水位的要求十分苛刻。目前这种水位问题,大多数依赖于人工。该系统可以对水位进行精准的测量,实时的反馈数据加上系统的控制系统可以很好对水位进行控制。提高农作物收成,减少人员劳动力。水位问题在洪涝季节是一个很大的问题,水位的实时数据变的十分重要。减少风险,提高安全保障。

关键词】单片机; 传感器; PID:水位控制






1 引言

在工农业生产过程中,经常需要对水位进行测量和控制。但是,在一般的情况下,往往需要测量的水箱或水塔和控制室都有相当长的距离,常常需要架设在上百M或者上千M的输电和控制线路,很显然上述性的工作如果是人工完成的话无论从时间和资金上都将造成很大的浪费。给测量和控制带来了一定的麻烦和不便,同时也容易出差错。因此急需一种能自动检测水位,并根据水位变化的情况自动调节的自动控制系统。

2 水位系统结构

水位控制系统结构 基于水位显示电路和单片机的水位控制系统结构如图所示。该系统主要由显示电路、水位传感器、STM32F103单片机注水电机以及报警设备组成。

在外部系统的驱动下,水位会发生改变,水位传感器获取水位信息后会将信息传送给水位显示电路和单片机,单片机与水位显示电路之间通过 RS232 通讯线进行通信,水位显示电路能获得单片机所读取的水位实时信息并进行组态动画和数据显示。当水位降低到补水阈值时,单片机的电机驱动程序驱动注水电机注水,一直将水增加到预设的水位,当水位降低到补水阈值还没有注水水位会一直下降,当水位降低到报警阈值时,单片机的报警程序启动,控制报警设备进行报警。

6087b9207fed4_html_f3a7e564a5c0d7ab.gif6087b9207fed4_html_d5009e19f30966a3.gif6087b9207fed4_html_dfe3f83ce730ac06.gif

STM32单片机

电源电路

水位显示电路


6087b9207fed4_html_10bfb504092cb548.gif6087b9207fed4_html_10bfb504092cb548.gif

6087b9207fed4_html_b970f2bbe96edcfa.gif

水位传感器电路


6087b9207fed4_html_1ab67a3601ed0ead.gif6087b9207fed4_html_10bfb504092cb548.gif

电机控制电路


6087b9207fed4_html_10bfb504092cb548.gif



系统框图






3 单片机系统

STM32 系列基于专为要求高性能、低成本、低功耗的嵌入式应用,按性能分成两个不同的系列:STM32F103“增强型”系列和 STM32F101“基本型”系列,增强型系列时钟频率达到 72MHz,是同类产品中性能最高的产品;基本型时钟频率为 36MHz,以16 位产品的价格得到比 16 位产品大幅提升的性能,是 16 位产品用户的最佳选择 。两个系列都内置 32K到 128K 的闪存,不同的是 SRAM 的最大容量和外设接口的组合,时钟频率 72MHz 时,从闪存执行代码,STM32 功耗 36mA,是 32 位市场上功耗最低的产品,相当于 0.5mA/MHz。

STM32F103性能特点包含以下几个部分。内核:ARM32位Cortex-M3 CPU,最高工作频率 72MHz,单周期乘法和硬件除法,存储器:片上集成 32- 512KB 的 Flash 存 储 器,6-64KB 的SRAM 存储器。时钟、复位和电源管理:2.0-3.6V的电源供电和 I/O 接口的驱动电压,POR、PDR 和可编程的电压探测器(PVD)。4-16MHz 的晶振。内嵌出厂前调校的 8MHz RC 振荡电路,内部 40kHz 的 RC振荡电路,用于 CPU 时钟的 PLL,带校准用于 RTC 的32kHz 的晶振,低功耗:3 种低功耗模式:休眠,停止,待机模式,为 RTC 和备份寄存器供电的 VBAT,调试模 式: 串 行 调 试(SWD) 和 JTAG 接 口。DMA:12 通道 DMA 控制器,支持的外设:定时器、ADC、DAC、SPI、IIC 和 UART,2 个 12 位 的 μs 级 的 A/D转换器(16 通道):A/D 测量范围:0-3.6V,具有双采样和保持能力。STM32F103 的引脚图如图所示。


6087b9207fed4_html_e23f0ff71473cb7c.png

4软件设计

水位控制系统的软件设计主要是对单片机软件程序的设计。软件程序流程图如图所示。当水位传感器监测到水位低于正常水位所设定的注水阈值时,单片机引脚通过控制电平的高低进而控制注水电机的 运转。电机运转后注水,当时为到达正常水位后,电机停止运转。当水位降低到注水阈值但此时注水电机因故障等原因未运转时,随着水位的下降,水位会到达报警阈值,此时通过报警设备对故障设备报警以进行故障排除。

该软件设计中有一个重要模块是水位监测模块。该模块由三个金属棒外接单片机引脚来判定水位的高低。三根金属棒分别接电源、单片机的注水阈值和报警阈值,通过水位的降低与升高使得金属棒与电源形成通路,从而实现信号的触发。另外,在注水阈值和报警阈值的信号输出端接一下拉电阻,通过该方法可以用以去除电平干扰,该水位检测电路是水位控制系统的关键。


6087b9207fed4_html_a02b1f92f71859f6.png


5结束语

针对水位控制数据可视化效果差以及水位控制效果不理想的问题,设计了一种基于水位显示电路和 STM32F103 系列单片机的水位控制系统,该系统通过 RS-232 通讯线实现了水位显示电路与单片机的通信,触摸屏的可视化界面有助于管理者更好的掌握水位信息和报警信息。系统改变了原有的接触器触点 控制的报警方式,采用单片机的引脚电平通过信号线控制报警设备报警,大大减少了外界干扰。从而减少了人力物力的投入,且能够产生丰厚的社会效益和经济效益。

参考文献:

[1] 孙增雷 , 黄俊年 . 基于 GSM 的远程报警系统的研制 [J]. 武

汉理工大学学报 ,2008,30(6):123-124.

[2] 乔永卫 , 程帅.基于 Modbus 协议的自动控制系统的通信

研究 [J].自动仪表 ,2012,27(08):34-37.

[3] 蔡黎.一种基于单片机的水位自动控制系统设计 [J]. 仪器仪

表用户 ,2007.4.:26-27.

[4] 唐灵君 , 唐杰 . 基于单片机的水位控制系统设计 [J]. 电子设

计工程 ,2012,8(20):62-64.

[5] 张鲲 , 陈美伊 , 李壮 . 基于单片机的家庭智能火灾报警系统

的设计 [J].软件 ,2014,35(4):87-89.