一种基于STM8L052单片机的便携式盐度计的制作方法

文档序号:18991662发布日期:2019-10-29 20:49阅读:1834来源:国知局
一种基于STM8L052单片机的便携式盐度计的制作方法

本实用新型属于电子测量技术领域,尤其涉及一种基于STM8L052单片机的便携式盐度计。



背景技术:

国内外对于海水盐度测定的方法有化学法、光学法、比重法、微波遥感法、电导法,比重法、光学法都是单点式测量,微波遥感技术精度不高,在食品环境下很难满足高精度要求的工作。近些年来,很多国内外的公司针对日常生活中食用盐的测量情况,研发了成系列的盐度检测仪器,也称为食品盐度计。对食品的含盐量进行检测,控制食品的含盐量比例,鼓励大家控制盐的摄入量,合理膳食。食品盐度计可以普及至千家万户,作为居民家庭厨房和餐饮行业后厨的必需品。因此,简单、便携、实用的食品盐度计必将成为未来人们日常生活中的必需品。



技术实现要素:

实用新型目的:针对以上问题,本实用新型提出一种基于STM8L052单片机的便携式盐度计,用于食品的含盐量检测。本实用新型选用电导法进行盐度测定,实现盐度计系统的精准测量,其较为快速、准确且适用于现场测量;通过段式液晶显示盐度值并通过无线传输方式将测量的数据传递给手机或者计算机终端,实现盐度计系统的人性化和可视化。

技术方案:为实现本实用新型的目的,本实用新型所采用的技术方案是:一种基于STM8L052单片机的便携式盐度计,包括单片机模块、电源及开关电路模块、温度采集模块、电导率检测模块、Wi-Fi数据传输模块、蜂鸣器模块和段式液晶(LCD)显示模块。

单片机模块芯片采用STM8L052,电源及开关电路模块的使能端口power_en、电源供电端口batt_ad、开关按键端口key_monitor分别连接单片机PD5、PB4、PC0引脚给系统供电,供电电压为3.3V。单片机的PB0~PB2引脚通过导线连接电导率测量模块的低电平输入端口cont_low、供电电压输入端口conductivity_ad和高电平输入端口cont_hight,PB0和PB2引脚形成两个电极为所述电导率测量模块提供交流电压,所述电导率测量模块的供电电压通过电容C3滤波后接入PB1引脚;PB3引脚连接温度采集模块的供电电压输入端口temp_ad,控制电压采集并推算温度;PA4~PA6、PD1、PA7、PE0~PE5、PD0、PD2~PD3引脚通过导线与段式液晶显示模块的数据单位显示端口lcd_com0~lcd_com2、lcd_com3、数字显示端口lcd_seg0、lcd_seg1~lcd_seg6、lcd_seg7、lcd_seg8~lcd_seg9连接;PC2~PC7引脚通过导线与Wi-Fi数据传输模块的数据接收端RX、数据发送端TX、串行通信I/O端口GPIO2和GPIO0、高电平输入端口CH_PD和复位端口RST连接,PC3和PC2分别作为无线传输数据的发送端和接收端;PC6为所述Wi-Fi数据传输模块供电,高电平有效;蜂鸣器模块采用压电式蜂鸣器,蜂鸣器模块的电压输入端口BEEP与单片机的PA0脚相连,高电平有效。

所述单片机模块采用STM8L超低功耗系列的8-bit MCU,STM8L052单片机,其端口数量及LCD驱动能力足以满足本实用新型使用需求,内部拥有25个通道的12位ADC,采集数据的精度能够得到保证,同时STM8L052单片机也满足本实用新型对于数据处理速度的要求,另外,STM8L052单片机的价格较为合适,可以极大地降低硬件成本。

所述电源及开关电路模块包括供电电源、DC/DC升压转换电路和开关电路。为实现便携功能,采用5号电池作为系统供电电源,每节电池的电压为1.5V,两节电池串联提供的电压为3V,可以很好地驱动系统进行正常工作,由于本实用新型为低功耗系统,电池容量也足够使用较长的时间。另外,对于一个具有较多外设的单片机系统,对工作电源的稳定性要求较高,不能因电源的波动导致单片机因低电压而复位,由于电池的供电特性,随着电池容量的降低,电池的电压会降低,所以需要稳压器件来对电路进行保护和去干扰,实现系统的正常运行。DC/DC升压转换电路选用HX3001芯片,此款DC/DC升压转换器芯片具有PWM控制同步功能,芯片性能很好地匹配本实用新型电池供电,可以同时满足升压和稳压的基本需求,并且输出功率也能满足驱动本实用新型所有外设。开关电路包括一个PNP型MOS管AP2305N、两个NPN型三极管9013,开关电路结合单片机的中断程序,可以实现丰富的操作功能。开关电路和DC/DC升压转换电路共同作用,实现对整个系统的供电及开关机控制。

所述温度采集模块选择热敏电阻作为温度采集器件,实现防水功能且所需空间结构较小。以10K电阻作为参考标准,通过单片机的ADC采集热敏电阻两端电压,通过采集电压来推算热敏电阻的阻值,最后根据阻值表确定温度值,其值的范围是0~99摄氏度。

所述电导率检测模块中两个平行放置的金属环组成了所需要的电导率探头,也叫测试嘴,两个金属环相当于电导率测试原理中的金属板,两个金属环内部分别接有一根导线连接单片机STM8L052的PB0和PB2引脚端口,通过这两个端口对金属环提供电压,形成电极。测量可得金属环面积和电极的距离,当探头放入水中时,两金属环之间相当于串接了一个电阻,利用电阻串联分压的原理,测量金属环一端的电压值,并计算出由电导形成的电阻值。

所述Wi-Fi数据传输模块采用ESP8266芯片作为无线通信方式的实现方案,该芯片可设计成一款UART-Wi-Fi(串口-无线)模块,该模块串口可与其他串口设备通信,内置TCP/IP协议,可以实现串口和Wi-Fi之间的转换。

所述蜂鸣器模块采用压电式蜂鸣器,由高电平触发,蜂鸣器模块的三极管作为驱动放大驱动电流,从而可以让蜂鸣器发出声音。当单片机BEEP端口输出高电平时,三极管导通,集电极电流通过蜂鸣器,蜂鸣器发出声音;当单片机BEEP端口输出低电平时,三极管截止,没有电流流过蜂鸣器,蜂鸣器不发出声音。

所述段式液晶(LCD)显示模块采用“8”字段显示,每个“8”字由7个像素组成,可以显示从0到9这十个数字。同时,为了丰富显示功能,段式液晶中加了“mg/L”、“%”和“℃”三个图标,以实现不同单位的盐度值转换以及必要的温度值显示。

本实用新型工作流程如下:电源及开关电路模块开启时,系统开机,蜂鸣器提示音响两次,单片机结合模拟数字转换器ADC,控制电导率检测模块和温度采集模块输出的模拟信号的实时电压值,转换为盐溶液电导率和温度值,由电导率根据盐度计算公式C=0.5699×K-881.1031,可计算出盐度值C,其中K表示电导率,并通过段式液晶(LCD)显示模块将盐度值和温度值显示出来;同时,Wi-Fi数据传输模块可将盐度值和温度值数据传输给手机或计算机终端,进行数据的接收、整理和保存工作。

有益效果:与现有技术相比,本实用新型的技术方案具有以下有益的技术效果:

本实用新型的一种基于STM8L052单片机的便携式盐度计携带方便、操作简单,并具有数据可读性高和数据可无线传输的优点;便携式盐度计系统外型小巧便于携带,其核心的测量系统是电导率检测模块和温度采集模块,以一块段式液晶实时显示盐度和温度数据,测量数据可以通过无线通信方式传给手机或者计算机终端,方便用户测量盐度数据并进行记录和整理。本实用新型可用于科研、食品和饮料等盐度测量,具有较强的实用价值。

附图说明

图1是系统结构框图;

图2-1是电源及开关电路原理图;

图2-2是系统硬件原理图;

图3是主程序流程图;

图4是电导率测量程序流程图;

图5是显示程序流程图;

图6是ESP8266模块发送数据程序流程图。

具体实施方式

下面结合附图和实施例对本实用新型的技术方案作进一步的说明。

本实用新型所述的一种基于STM8L052单片机的便携式盐度计,如图1所示,包括单片机模块、电源及开关电路模块、温度采集模块、电导率检测模块、Wi-Fi数据传输模块、蜂鸣器模块和段式液晶(LCD)显示模块。

硬件原理图如图2-1和图2-2所示,单片机模块芯片采用STM8L052,电源及开关电路模块的使能端口power_en、电源供电端口batt_ad、开关按键端口key_monitor分别连接单片机PD5、PB4、PC0引脚给系统供电,供电电压为3.3V。单片机的PB0~PB2引脚通过导线分别连接电导率测量模块的低电平输入端口cont_low、供电电压输入端口conductivity_ad和高电平输入端口cont_hight,PB0和PB2引脚形成两个电极为所述电导率测量模块提供交流电压,所述电导率测量模块的供电电压通过电容C3滤波后接入PB1引脚;PB3引脚连接温度采集模块的供电电压输入端口temp_ad,控制电压采集并推算温度;PA4~PA6、PD1、PA7、PE0~PE5、PD0、PD2~PD3引脚通过导线与段式液晶显示模块的数据单位显示端口lcd_com0~lcd_com2、lcd_com3、数字显示端口lcd_seg0、lcd_seg1~lcd_seg6、lcd_seg7、lcd_seg8~lcd_seg9连接;PC2~PC7引脚通过导线与Wi-Fi数据传输模块的数据接收端RX、数据发送端TX、串行通信I/O端口GPIO2和GPIO0、高电平输入端口CH_PD和复位端口RST连接,PC3和PC2分别作为无线传输数据的发送端和接收端;PC6为所述Wi-Fi数据传输模块供电,高电平有效;蜂鸣器模块采用压电式蜂鸣器,蜂鸣器模块的电压输入端口BEEP与单片机的PA0脚相连,高电平有效。

所述单片机模块采用STM8L超低功耗系列的8-bit MCU,STM8L052单片机,其端口数量及LCD驱动能力足以满足本实用新型使用需求,内部拥有25个通道的12位ADC,采集数据的精度能够得到保证,同时STM8L052单片机也满足本实用新型对于数据处理速度的要求,另外,STM8L052单片机的价格较为合适,可以极大地降低硬件成本。

所述电源及开关电路模块包括供电电源、DC/DC升压转换电路和开关电路。为实现本实用新型便携功能,采用5号电池作为系统供电电源,每节电池的电压为1.5V,两节电池串联提供的电压为3V,可以很好地驱动系统进行正常工作,由于本实用新型为低功耗系统,电池容量也足够使用较长的时间。另外,对于一个具有较多外设的单片机系统,对工作电源的稳定性要求较高,不能因电源的波动导致单片机因低电压而复位,由于电池的供电特性,随着电池容量的降低,电池的电压会降低,所以需要稳压器件来对电路进行保护和去干扰,实现系统的正常运行。DC/DC升压转换电路选用HX3001芯片,此款DC/DC升压转换器芯片具有PWM控制同步功能,芯片性能很好地匹配本实用新型电池供电,可以同时满足升压和稳压的基本需求,并且输出功率也能满足驱动本实用新型所有外设。开关电路包括一个PNP型MOS管AP2305N、两个NPN型三极管9013,开关电路结合单片机的中断程序,可以实现丰富的操作功能。开关电路和DC/DC升压转换电路共同作用,实现对整个系统的供电及开关机控制。

所述温度采集模块选择热敏电阻作为温度采集器件,实现防水功能且所需空间结构较小。以10K电阻作为参考标准,通过单片机的ADC采集热敏电阻两端电压,通过采集电压来推算热敏电阻的阻值,最后根据阻值表确定温度值,其值的范围是0~99摄氏度。

所述电导率检测模块中两个平行放置的金属环组成了所需要的电导率探头,也叫测试嘴,两个金属环相当于电导率测试原理中的金属板,两个金属环内部分别接有一根导线连接单片机STM8L052的PB0和PB2引脚端口,通过这两个端口对金属环提供电压,形成电极。测量可得金属环面积和电极的距离,当探头放入水中时,两金属环之间相当于串接了一个电阻,利用电阻串联分压的原理,测量金属环一端的电压值,并计算出由电导形成的电阻值。

其中,盐度与电导率关系如下:根据大量实际测量的数据,总含盐量C(mg/L)与电导率K(μS/cm)和水温t(℃)之间存在下列关系式:

在测试过程中发现,温度范围在0040℃这一常温范围内,温度对盐度值的影响在±1000mg/L范围内,以“%”为单位显示时,对系统显示的盐度值的影响不大,可以忽略温度值对本系统测量结果的影响。温度范围在0010℃时,含盐总量随温度的变化很大,温度范围在10040℃时,含盐总量随温度的变化趋近平缓。当电导率较大的时候,盐度变化较大。实际测量时通过调配不同浓度的盐溶液,在室温25℃的情况下,分别测得盐度和电导率的15个样本,利用Matlab将所测样本点拟合成一次线性函数。由电导率传感器测得电导率和盐度值近似的成线性关系,通过Matlab将15个点进行拟合得到总含盐量C(mg/L)与电导率K(μS/cm)的一次线性函数公式为C=0.5699×K-881.1031 (2)

所述Wi-Fi数据传输模块采用ESP8266芯片作为无线通信方式的实现方案,该芯片可设计成一款UART-Wi-Fi(串口-无线)模块,该模块串口可与其他串口设备通信,内置TCP/IP协议,可以实现串口和Wi-Fi之间的转换。

所述蜂鸣器模块采用压电式蜂鸣器,由高电平触发,蜂鸣器模块的三极管作为驱动放大驱动电流,从而可以让蜂鸣器发出声音。当单片机BEEP端口输出高电平时,三极管导通,集电极电流通过蜂鸣器,蜂鸣器发出声音;当单片机BEEP端口输出低电平时,三极管截止,没有电流流过蜂鸣器,蜂鸣器不发出声音。

所述段式液晶(LCD)显示模块采用“8”字段显示,每个“8”字由7个像素组成,可以显示从0到9这十个数字。同时,为了丰富显示功能,段式液晶中加了“mg/L”、“%”和“℃”三个图标,以实现不同单位的盐度值转换以及必要的温度值显示。

本实用新型采用STM8L052单片机作为主控芯片,配合ADC和电源及开关电路,控制电导率检测模块、温度采集模块、Wi-Fi数据传输模块、蜂鸣器模块。本实用新型系统软件设计采用模块化编程,包括电导率数值读取程序、温度值读取程序、LCD显示程序和Wi-Fi传输程序。其中,主程序首先对时钟初始化,长按按键1.5秒钟,系统开机,蜂鸣器提示音响两次;每次探头放入待测盐溶液中自动开始测量,测量结束后,正常显示测量数据;按键轻按一次,调节一次显示图标,顺序为“%”、“mg/L”和“℃”;再次长按按键1.5秒钟后,系统关机,发出提示音一次。系统还具有节电功能,当系统60秒没有操作后,系统将自动关机。主程序流程图如图3所示。

所述电导率检测模块的电导率探头相当于电极,电极在盐溶液中导通,等效电阻R可由分压后的电压进行计算求得,等效电阻R趋于稳定后测得的电阻值准确。根据电阻R、电阻率ρ和电导率K关系式:l为电极的距离、A电极面积,可求得电导率K,将K带入盐度与电导率公式(2)中求得所需的盐度值C。单片机在探头上附加50KHz的矩形信号,保证在探头附件形成稳定的离子流,电导率的测量依托单片机内部12位ADC对电极一端的电压进行测量。系统采用加500次信号的方式达到稳定的效果。同时,对ADC采取测20次取平均值的方式采集数据。电导率测量程序流程图如图4所示。

所述段式液晶显示模块可以显示温度的数值以及三种数值单位,每次显示新的数据,必须对LCD进行清屏处理,防止数据混乱。同时,为了确保系统的稳定性,每次开机的初始值均设置为零,以及每次按键轻按之后的单位变换按照固定的顺序进行下去。在驱动程序的编写时,每增加一个单位的显示功能需要将每个“8”字段码位置的管脚驱动以及每个数字的显示驱动的编码重新定义一遍。显示程序流程图如图5所示。

所述Wi-Fi数据传输模块的ESP8266芯片是通过串口转Wi-Fi的方式实现无线通信,单片机需要将传输的数据转换为字符串,通过串口将字符串输出给Wi-Fi数据传输模块,每次发送数据都要对该模块进行一次AT指令控制,该指令也是字符串的形式,且该字符串必须为“\r\n”结尾,数据传输完成后,单片机发送一个“SEND OK”指令给Wi-Fi数据传输模块。Wi-Fi数据传输模块将数据发出后,手机或者计算机终端作为接收端,接收到数据后通过上位机还原出数据显示在屏幕上或存储在设备中,方便调用分析。ESP8266模块发送数据程序流程如图6所示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1