基于树莓派的多参数水质检测仪控制系统

2015-05-25 10:20于志强温志渝谢瑛珂周苏怡
仪表技术与传感器 2015年6期
关键词:低电平直流电机树莓

于志强,温志渝,谢瑛珂,周苏怡

(1.国家级微纳系统与新材料技术国际联合研究中心,重庆 400044;2.重庆大学,新型微纳器件与系统国家重点学科实验室,重庆 400044)

0 引言

水质检测是开展水资源环境保护与治理的基础,多参数水质检测是现代环境科学技术的重要发展方向之一[1]。多参数水质检测仪的控制系统设计是实现仪器智能化、自动化、网络化的核心技术之一。多参数水质检测仪控制系统控制仪器各个单元有序地完成指定动作,是保证仪器稳定运行和自动化测量的关键,具有重要的研究意义。

目前,多参数水质检测仪器控制系统大多基于PLC,该控制系统设计成熟、稳定性高,但是价格昂贵,若采用此系统设计水质检测仪器控制系统,会大幅提高成本,降低仪器竞争力[2]。近几年,国内一些科研单位提出了一些以单片机为核心的控制系统,例如:重庆大学微系统中心研制的第一代多参数水质检测仪,该仪器的控制系统以S3C2410为核心,并以51单片机为辅助,对仪器进行控制[3];浙江大学研制的基于分光光度法的多参数水质监测仪,该仪器控制系统采用“工控机+单片机”的结构,以工控机为上位机对仪器进行控制[4]。这些控制系统虽然成本较低,但是,运行速度较低、平台开发周期长且调试困难、系统稳定性能欠佳、软硬件升级困难。因此,本文提出了一种基于树莓派的多参数水质检测仪控制系统,该系统具有开发周期短、易升级、处理速度快、在线调试方便、运行稳定等优点,达到了实用化的要求。

1 控制系统架构

多参数水质检测仪控制系统如图1所示,系统以树莓派作为中央控制单元,完成光源控制、光谱仪控制、流路系统控制(进样控制、搅拌控制、清洗控制)等工作。控制系统里,我们使用树莓派的UART对注射泵、多位阀进行控制,使用GPIO、PWM对步进电机/直流电机蠕动泵、三通阀、光源进行控制,使用USB控制光谱仪。在仪器进行水质检测时,首先,控制步进电机蠕动泵、注射泵进行抽推,配合多位阀进行管路切换,根据顺序注射技术使待测水样、测试用试剂、蒸馏水等多种液体高精度进样到检测室[5];然后,通过控制三通阀与直流电机蠕动泵,向检测室鼓吹空气,利用气泡对检测室中液体进行搅拌,加快其反应速度;然后打开光源,控制光谱仪采集光谱数据,并将数据传送到树莓派进行光谱分析,得到某一特定水质参数的含量;最后控制三通阀与直流电机蠕动泵排掉检测室中液体,再控制注射泵、多位阀等完成检测室的清洗工作,最终完成水质参水检测。

图1 多参数水质检测仪控制系统

多参数水质检测仪控制系统的核心为树莓派(Raspberry Pi),是一款基于 ARM11只有银行卡大小的单板机计算机[6-8]。最新型号树莓派B型(如图2所示),提供了主频700 MHz处理器、1080p解码器、1个以太网接口、2个USB口和1个26针外围设备接口。此外,树莓派内嵌基于Debian的Linux操作系统,有着丰富的开源软件资源,支持C、C++、Java、Python等语言,上市两年来,在嵌入式开发领域发展迅猛。相对比传统S2C24x0、S3C6410等嵌入式开发平台,其在集成度、速度、价格、开发环境、效率上有明显的优势。

图2 树莓派B版

2 控制系统架构

2.1 光源控制

多参数水质检测仪的光源为6 V/5 W的卤钨灯,在进行水质参数测试时,打开光源,其他时间光源处于关闭状态。设计光源的电源模块,如图3电路所示,该模块的核心为LM2596开关电压调节芯片,该芯片输出电压可调,并具有使能引脚(5脚),当该引脚输入为低电平时,芯片工作,输出固定电压。

电源模块输入电压为24 V,调节电阻R1、R2的比值,可以得到卤钨灯所需的6 V电压。输出电压的计算公式为

式中VREF=1.23 V

当R2/R1=3.88时,输出电压为6 V。

LM2596芯片的使能引脚与树莓派的一个GPIO接口相连,通过该口电平控制LM2596电压调节芯片输出的开/关。一般情况下,该GPIO引脚被拉高到3.3 V,使电源模块处于未工作状态,光源关闭。需要打开光源时,控制树莓派使该GPIO口输出低电平时,使能芯片,输出6 V电压。

图3 光源电源模块

2.2 微型直流电机、三通阀、步进电机控制

多参数水质检测仪流路系统使用了4个微型直流电机、一个三通阀、1个步进电机,主要完成检测室排废、搅拌、进样、管道切换等工作,需要控制系统控制这些部件适时的开关。由于微型直流电机与三通阀都是通过控制其上电与否来控制开/关,并且,它们都是12 V供电,所以微型直流电机与三通阀采用同样的控制电路(如图4所示),利用树莓派GPIO口控制微型直流电机与三通阀的开/关。

图4 微型直流电机与三通阀控制电路

电路中,通过光耦隔离直流电机与三通阀开关瞬间产生的干扰,再经反相施密特触发器对光耦的输出信号进行整形,最后利用达林顿管提高电路的负载能力。当树莓派的GPIO口为低电平时,光耦输出端导通,使得74HC04前级为低电平,输出高电平,控制达林顿管输出为低电平,在JP1两个引脚上,形成12 V供电电压对地回路,带动微型直流电机或三通阀工作。反之,当GPIO为高电平时,JP1两个引脚间,无导通回路,微型直流电机或三通阀停止工作。

步进电机自带驱动板,提供控制接口,驱动电平为3.3 V TTL电平,该驱动接口与树莓派直接相连,连接如图5所示,驱动板EN为使能信号,高电平有效;DIR为转动方向控制信号,高电平正转,低电平反转;STEP为转动速度和转动步数控制信号,该信号为周期的PWM信号,信号的频率控制步进电机转动速度,信号中脉冲的个数控制步进电机转动步数,信号中脉冲的占空比控制步进电机的驱动力。所以,控制步进电机,只需控制树莓派GPIO脚的输出即可。

图5 步进电机连接图

2.3 注射泵、多位阀控制

多参数水质检测仪流路系统包含注射泵、多位阀各一个,用以高精度抽样和管路切换,这两个部件均是通过串口来接收控制指令,且不能共用一个串口,但树莓派只提供了一个串口,因此,需要进行串口拓展。此外,由于树莓派串口电平为3.3 V TTL电平,而注射泵或多位阀能够识别的电平为RS232电平,因此需要进行电平转换。

注射泵与多位阀控制电路如图6所示,其中,MAX3232实现3.3 V TTL电平到RS232电平的转换;CD4052芯片实现串口拓展。CD4052芯片为二输入独立四通道数据选择器,具有二进制控制引脚S0、S1,禁止输入引脚E。AN、BN为公共通道,通过S0、S1状态,选择一组导通通道与 AN、BN相连,如表1所示。本文将1个串口拓展成2个,因此只需要1个控制引脚S0,而将S1接地,使其一直处于低电平状态。

图6 多位阀与注射泵控制电路

表1 CD4052通道选择真值表

当使用注射泵时,控制树莓派GPIO0输出高电平,使A1、B1分别与树莓派TXD、RXD接口相连,同时,通过串口发送控制指令,驱动注射泵工作;同样方法控制多位阀,区别在于此时控制树莓派GPIO0输出为低电平。

2.4 RTC实时时钟控制

树莓派不提供实时时钟,需要外接RTC实时时钟模块,其电路如图7所示。该模块使用DS3231高精度时钟芯片,该芯片能够识别树莓派3.3 V TTL电平,通过I2C接口(SCL、SDA)与树莓派通信。

图7 RTC实时时钟电路

3 控制系统软件设计

控制系统软件设计是在硬件设计的基础上实现,主要包括树莓派硬件驱动设计、控制软件设计等。其中,树莓派硬件驱动设计完成对树莓派板载GPIO、UART、I2C等资源的驱动,是实现系统控制必不可少的一环。传统的Linux驱动设计的方法为编写驱动程序对CPU的GPIO寄存器进行操作,生成驱动模块,再通过insmod命令加载该驱动模块。这种设计方法的最大缺点在于寄存器编程复杂且调试周期长。而这两年来,树莓派在嵌入式领域发展迅猛,用于树莓派平台的各种集成库层出不穷,包括 Python GPIO、wiringPi、BCM2835 C Library 等,这些集成库提供了对树莓派相关硬件资源的操作函数,支持多种编程语言,利用这些集成库进行驱动开发可以大大提高开发效率。此外,海量的开源软件为控制软件设计提供了平台,进一步提高了树莓派软件开发的效率。

本文使用wiringPi集成库控制树莓派硬件资源,通过QT开发多参数水质检测仪控制软件,并将wiringPi嵌入到控制软件里,完成控制系统软件设计。

3.1 wringPi开发

wiringPi是应用于树莓派平台的GPIO控制库函数,使用C或者C++开发,能够控制树莓派上提供的GPIO、UART、I2C、SPI等资源。wiringPi集成库封装了这些资源的控制函数,安装该集成库后,可对树莓派硬件驱动进行开发,本文使用的库函数如表2所示。

表2 wiringPi部分函数说明

通过表2中wiringPi库函数,能够控制树莓派GPIO口高低电平输出/读入、PWM信号输出、串口输出等,部分控制代码如下:

3.2 RTC实时时钟控制

使用上文RTC实时时钟模块,需要对树莓派文件系统做适当修改,首先使能I2C模块,编辑/etc/modules文件,添加以下两行内容:

然后,在树莓派终端里输入su,切换为root登录,并执行:

最后,将上面两行代码添加到/etc/rc.local文件“exit 0”行前。完成后重启树莓派,使用hwclock命令设置实时时钟。

3.3 控制软件设计

使用QT编程软件,结合多参数水质检测仪测试流程,编写带有图形用户界面的控制软件,以实现水质参数的自动化测量。控制软件采用C++语言编写,其关键在于根据水参数测试流程对wiringPi函数进行调用(工作流程如图8所示),实现对硬件系统的智能化控制,编写的控制软件如图9所示。

图8 wiringPi函数调用流程

图9 控制软件

4 结束语

将本文设计的控制系统应用到多参数水质检测仪上,经过长时间试验测试表明:系统硬件电路实现了对光源、步进电机、注射泵、多位阀等单元的控制,工作稳定,抗干扰能力强;控制软件完成了对树莓派硬件的驱动且操作界面友好、响应速度快,结合控制系统硬件电路,实现了水质参数的自动化测量。

本文介绍了多参数水质检测仪的仪器结构,在此基础上设计了基于树莓派的多参数水质检测仪控制系统,该系统以树莓派为核心,通过GPIO、I2C、UART、USB等接口实现对仪器各部分的控制,并利用树莓派wiringPi集成库进行应用开发,编写了控制软件。该控制系统开发周期短、易升级、运行稳定,增强了仪器的自动化程度,达到了实用化的要求。

[1]魏康林.基于微型光谱仪的多参数水质检测仪关键技术研究:[学位论文].重庆:重庆大学,2012.

[2]周小峰.基于ARM的多参数水质检测仪测控系统设计与实验:[学位论文].重庆:重庆大学,2014.

[3]郭建.多参数水质检测仪测控系统设计与实验:[学位论文].重庆:重庆大学,2012.

[4]吕杨华.基于分光光度计的多参数在线水质监测仪的研究与设计:[学位论文].杭州:浙江大学,2012.

[5]WEI K L,WEN Z Y.Research advances in water quality monitoring technology based on UV-Vis spectrum analysis.Spectroscopy and Spectral Analysis,2011,31(4):1074 -1077.

[6]RICHARDSON M,WALLACE S.Getting started with raspberry Pi[S.l.].Maker Media,2013.

[7]MEMBREY P,HOWS D.Learn raspberry Pi with linux[S.l.].APress,2013.

[8]DUDAS R,VANDENBUSSCHE C,BARAS A,et al.Inexpensive telecytology solutions that use the Raspberry Pi and the iPhone.Journal of the American Society of Cytopathology,2014(3):49 -55.

猜你喜欢
低电平直流电机树莓
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
一种实用的电脑接口判断方法
基于树莓派的骑行智能头盔设计
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
基于树莓派的远程家居控制系统的设计
数字电子技术的应用
基于FPGA的双绕组无刷直流电机软件设计
浅谈物理电路与数字电路
直流电机电源设计研究