基于STM32的猪饲喂槽剩余量检测设备设计与实现*

2020-03-24 01:53赵宸瑜
山西电子技术 2020年1期
关键词:方波麦麸铜板

王 衡,赵宸瑜

(山西农业大学信息科学与工程学院,山西 太谷 030801)

0 引言

中国对成品猪的生产和消费十分巨大,且国内对成品猪的需求长期处于高速增长状态[1]。猪的饲养管理方式对于猪的生长发育及后期的各方面的效益有着显著的影响[2-4]。

许静等人指出,生猪在育肥阶段需要加强饲料管理以提高猪的免疫能力[5];钟铭等人指出,不同体重、背膘、受孕阶段的母猪饲喂模式存在差别,需要进行针对性管理[6];李清宏等人提出精准获取养殖数据,是对猪进行精细饲喂的基础[7];刘小元等人给出了饲料的料槽在精准饲喂过程中的日饲喂量[8];荷兰Nedap公司的单栏饲喂系统依据母猪的采食习惯在任何时间点进行精准投料[9];加拿大Gestal哺乳母猪管理系统能够以食量最大化为目标,实现智能调控,满足了母猪动态营养需求[10];瑞安市孕猪栏舍的喂料设备,从开始送料至下料可以控制在10 min[11]。

从当前生猪的精细饲喂研究现状来看,研究人员将侧重点放在了生猪不同阶段饲喂需求量研究方面,在具体的饲喂环节,则将重点放在了饲料的投送方面,而对生猪进食了多少,则关注较少。为此,本文以饲料中常见的麦麸[12,13]为研究对象,以STM32F10RCT6为控制核心,通过以555定时器[14,15]构建的方波发生器电路为外电路和简单的按键开关相配合,最后通过TFTLCD显示屏显示出来,达到简便、直观和精准识别麦麸厚度的效果,并为后期的全方位精细饲喂奠定基础。

1 测量原理

当双极板间物质种类固定,电容值与双极板间物质的厚度有关,而不同的电容数值会导致方波发生器输出频率改变。因此,当麦麸在两极板间厚度不同时,方波发生器会以一定规律输出不同频率的波。因此,本文以方波发生器电路为外部电路,以STM32为控制核心,其中包含两个1kΩ的电阻和由一对单面覆铜板构成的电容,无稳态模式下输出波形频率f1由R1,R2与电容C共同决定:

f1=1/ln(2)*C*(R1+2R2)

.

(1)

式中电容C=εS/d,介电常数ε=εr*ε0,此电路输出频率f2为:

f=d/ln(2)*εS*(R1+2R2).

(2)

2 系统框架设计

2.1 硬件结构设计

在5 cm*5 cm透明亚克力盒底部镶嵌一片5 cm*5 cm的单面覆铜板,盒中用来装不同厚度的麦麸,麦麸顶部放置另一块同等大小的单面覆铜板,可以保证两块单面覆铜板正对,提高测量的精准性。两块覆铜板的覆铜面由穿孔导线引出,在上侧单面覆铜板上加载重物,以提高可测量的频率范围和测量精度。

针对FDC2214价格较高的缺点,本文使用方波发生器电路,能够实现稳定检测频率的特性。系统的硬件如图1所示。

图1 硬件示意图

2.2 软件流程设计

本文由STM32F103RCT6构建麦麸检测装置中控,同时搭配方波发生器电路为外部检测电路,为麦麸测厚度的精准频率测量及显示提供便捷的方式,其基本流程如图2所示。

图2 系统流程框图

3 硬件模块设计

3.1 方波发生器模块

波形变换与稳定脉冲核心为方波发生器电路,此电路能够以矩形波输出,并解决输出脉冲在传输中出现边沿不稳定的问题。

3.1.1 555定时器系统

在图3所示555定时器电路中,以C1和C2为主,通过对其正反向输入电压的比较来判断输出电压,构成与非门G1和G2基本触发器的触发信号,三极管TD是泄放三极管,而G3是输出缓冲反相器,起整形和带负载能力的作用。由于555本身的电气特性,在图4所示的电路,能够在无输入的情况下通过RC充放电电路输出占空比可调的方波。为了能够产生一个较为稳定的矩形波,以555定时器构成了方波发生器电路,而矩形波的上升沿相比较于正弦波,三角波等波形更加明显,便于STM32模块捕获和判断。

图3 555定时器电路

图4 方波产生电路

3.2 STM32及控制模块(主控、按键、显示)

STM32是一款性能高、成本低,低功小的嵌入式单片机,在本项目中起着计算,控制,捕获等一系列重要作用。

3.2.1 输入捕获系统

方波发生器电路输出端产生的方波需经过输入捕获系统的采集与处理。基本处理情况就是按键按下,STM32内置的TIM3定时器开始计数,等到定时器停止,此时产生定时器溢出中断,此期间输入捕获寄存器一直工作,采集此次由定时器开始到产生溢出中断时间内上升沿次数,并进行相关计算,最终输出结果。

3.2.2 按键系统

在本项目中,按键系统起着控制以及校准的作用。按键控制STM32是否进入相关的代码段,并且执行相关代码段的运算,最终TFTLCD显示出来;校准指按下能通过闭环算法重新调整数值并保存,开关控制两极板间的开/短路判断,防止在正常测试中影响测试结果。

4 软件设计

麦麸厚度数据的采集、识别和显示,分别由方波发生器构成的外电路和由STM32构成的识别判断系统组成。硬件上,核心板通过PB13、PB15、PB12和PC6四口、+5V电源口和GND口等三个IO口通过TFTLCD显示屏进行麦麸数据的显示;软件方面则依赖PWM波的输入捕获函数来进行外电路传出数据的检测。通过“#include”来调用库函数"stm32f10x_it.h",然后通过void EXTI0_IRQHandler(void)来设置基本参数,通过void EXTI1_IRQHandler(void)函数实现机器的自校准,通过void TIM3_IRQHandler(void)函数实现极板的开短路检测,其中void NVIC_Configuration(void)函数进行中断的配置,void Key_Config(void)函数进行不同开关的配置。

4.1 极板自检

在外电路和STM32核心板上电之后,两极板会首先进行自检,通过外电路此时传回的信号来判断此时极板是否处于开/短路状态,当极板处于开/短路状态时,蜂鸣器会持续报警,若极板不处于开/短路状态,此时TFTLCD显示屏会显示“机器已准备好”的字样。接下来进行自校准操作,通过相应程序校准数据。

4.2 麦麸检测

在校准结束后由蜂鸣器报警提示,可以进行麦麸厚度检测,通过TIM3定时器作为内部计数主频,将数据与u16 correct[100]数组中的数据进行比对,在一定的频率区间内,判断此时麦麸厚度,并将信息通过SPI通信方式显示在TFTLCD显示屏。其中屏幕显示所需的进制码保存在”Font.h”文件的const struct typFNT_GB162 hz16数组中,通过”Gui_DrawFont_GBK16”函数来进行调用和显示。

5 测试与分析

本文搭建了一套麦麸厚度检测的硬件模型设计装置对麦麸的厚度进行检测。在5 cm*5 cm*6 cm的亚克力盒中装载上下两块5 mm*5 mm的单面覆铜板,覆铜板间装入需要测量的不同厚度的麦麸。从极板的中心掏孔,硬件的实物如图5所示。

图5 硬件图

不同的麦麸厚度与STM32捕获的信号频率之间的对应关系如图6所示,测试结果表明:不同厚度的麦麸通过TIM输入捕获所采集到的频率值也不一样,并且随着厚度的增加,频率的变化差值在逐渐减少。

图6 测量与拟合曲线

通过MATLAB中的Cure fitting tool曲线拟合工具插件,调用幂逼近形函数(power)y=α*x^b+c拟合如图6所示,曲线,其中

(3)

6 结论

1) 本文提出利用猪饲喂槽剩余量配合饲料投放量来测量生猪进食量,相对于将饲料投放量作为生猪进食量,得到的数据更接近生猪的饲养实际。

2) 本文以STM32F103RCT6为控制核心,通过方波发生器电路和TFTLCD相配合来测量麦麸厚度,测量精度较高。

3) 本文设计的麦麸技术装置使用简单便捷,同时对麦麸大小、环境要求低,为生猪精准养殖的自动化提供一定的思路。

猜你喜欢
方波麦麸铜板
便携式多功能频率计的设计与实现
麦麸喂猪你做对了吗
杭州童谣:一只鸡
麦麸喂猪,你做对了吗?
腰腿痛敷麦麸
心肺复苏通气时呼吸机送气流速模式选用方波和减速波对患者气道压力的影响
工钱最多是多少
一种防垢除垢的变频电磁场发生装置
炒麦麸擦身缓解瘙痒
11枚铜板