1. 引言
在奶牛养殖过程中,产奶量是其重要指标,直接影响养殖效益。为奶牛提供舒适安全的生活环境,是提高产奶量的重要手段。一般具体措施有适当提高生活温度、提高饲料和饮水标准、保持环境通风换气、刷拭牛体 [1]、保持环境卫生等。其中,擦拭牛体方式,即保持牛体干净清洁的手段,一般采用人工方式擦拭或者牛体自动设备擦拭 [2]。目前市场存在的智能自动刷设备,普遍存在控制不灵敏,保护不到位,功能不完善的问题。据此,本文提出一种基于stm32为主芯片的智能牛体刷控制器,具备正反转自动切换,过压欠压保护,过流保护,角度检测灵敏等实用功能。刷体机械部分和牛体刷控制器刚性连接固定。当牛体接触刷体,带动控制器离开基准角度一定幅度,控制器自动检测触发工作,控制电机转动带动刷体旋转。转动过程中,当发生牛体毛发过长卷入刷毛,导致电机堵转,控制检测回路电流超负荷,控制电机反向旋转,保证牛体安全。当错误持续发生时,具备及时切断控制回路的功能,安全有效。
2. 控制器总体设计
该牛体刷控制器包含软、硬件两部分。硬件部分包含电源转换单元、角度检测单元、电流监测单元、电压监测单元、控制输出单元和控制核心单元等部分。软件部分,主要实现通过对电压、电流、以及当前角度信息的采集,实现电机的控制逻辑。整个控制器的工作流程为,当控制器检测到本身离开基准偏移一定角度后,自动触发控制电机输出控制回路开关打开,使电机转动。转动过程,通过AD转换电路,实时采集电机的电流和电压信号,按照设定好的阈值参数,进行停机报警等操作。
该控制器的实物图,如图1所示。

Figure 1. The physical picture of the cow brush controller
图1. 牛体刷控制器实物图
3. 控制器的软硬件设计方案
3.1. 控制器的硬件设计
该控制器的硬件布局,如图2所示。

Figure 2. The hardware layout of the cow brush controller
图2. 牛体刷控制器硬件布局图
电源转换单元:负责进行电源转换,见图3,为控制器其他控制器电路提供稳定的低压直流12 V、5 V、3.3 V。同时需要对电机端提供标准市电交流220 V。整个电源回路,首先对市电220 V交流电,通过EI30变压器转换成12 V交流,然后通过LLD06整流电路输出12 V直流,进而通过L78L05和SPX1117M3-3.3器件,输出稳定的5 V和3.3 V电压。

Figure 3. The schematic diagram of power conversion module
图3. 电源转换单元原理图
角度检测单元(见图4):负责实时输出稳定的当前控制器板的姿态。该控制器采用MPU6050,全球首例9轴运动处理器,内部集成3轴MEMS陀螺仪,3轴MEMS加速计和以及1个可扩展的数字运动处理器DMP。考虑到产品的应用场景和精度问题,利用内部DMP [3] [4] [5] [6],DMP (Digital Motion Processor),数字运动处理器,通过融合陀螺仪和加速度计的数据,直接输出四元数,通过解算得到当前姿态欧拉角,减轻主芯片处理器的计算量。

Figure 4. The schematic diagram of angle detection module
图4. 角度检测单元原理图
电流监测单元、电压检测单元:电流监测电路,通过电流互感器器件,利用AD采样电路实时获取,电机运行时的电流信息。电压检测电路,通过对变压器二次侧的转换电压,利用AD采样电路,实时获取当前市电运行的电压信息。根据预先设定的电压、电流参数,判断当前是否正常运行状态。
控制输出单元:作为电机的驱动控制回路。该控制器采用可控硅的控制方式,控制电机的转动和停止。可控硅(Silicon Controlled Rectifier)简称SCR,是一种大功率电器元件,也称晶闸管。具有体积小、效率高、寿命长等优点。在自动控制系统中,可作为大功率驱动器件,实现用小功率控件控制大功率设备。它在交直流电机调速系统、调功系统及随动系统中得到了广泛的应用。
控制核心单元:控制核心主要负责对各路IO输入信号的计算处理,以及对控制输出功能。同时,具备参数存储的功能。核心控制器,采用高性能的ARM Cortex-M3核的32位处理器STM32F103C8T6,工作频率可高达72 MHz,内置高速存储器(20 KB SRAM、64 KBFLASH),工作电压范围在2~3.6 V。
3.2. 控制器的软件设计
该控制器的软件实现,包括:初始化、读取当前角度信息、判断当前工作状态、控制电机开关等部分。
如下表1所示,软件预先的内部设定参数值。
如下图5所示,控制器软件运行流程图。
初始化包含控制器时钟初始化,参数初始化,通讯总线初始化、外设MPU6050的参数初始化,以及LED状态灯和数码管显示的初始化等。设置时钟单元,使能内部时钟单元,使主频配置在72 Mhz。然后,读取预先设定的电压、电流防护参数值,单次触发控制电机转动的周期参数值和触发控制器工作的偏移角度阈值参数。然后,初始化IIC总线与MPU6050的交互流程,对MPU6050的DMP数字运动处理器进行相应的初始化,包含设置DMP需要的陀螺仪和加速度计数据来源,设置数据输出的FIFO (First Input First Output)存储器,设置数据采样频率,设置陀螺仪的方向,加载DMP固件信息,设置数据输出频率,最后使能DMP计算。

Table 1. Pre-set internal parameters
表1. 预先设定的内部参数

Figure 5. The software flow chart of cowbrush controller
图5. 控制器软件流程图
循环工作流程,通过IIC总线实时获取DMP当前的计算得出的四元数,进而解算得到欧拉角信息。主循环逻辑,判断当前的欧拉角与初始化水平姿态比较,当超过最大偏移角度阈值参数后,控制对应的管脚输出,控制对应正向可控硅导通,进而控制电机转动。同时,通过AD采样实时采集电机运行电流和当前电压值。当检测到电机电流超过对应参数时,认为可能存在“堵转”现象,主循环逻辑控制可控硅关闭,保护电机。等待计时2秒,控制反向可控硅导通,循环往复。当持续5次检测到电流超限时,控制器计时4分钟停止响应任何外部触发,进入到休眠模式。当检测到电压超过上下限位时,控制电机停止,进入到休眠模式,等待电压恢复正常后,恢复到正常工作模式。
4. 应用注意事项
根据原理图实物搭建如图6所示。

Figure 6. The physical connection picture of cow brush controller
图6. 控制器实物连接图
应用中应着重安全问题,一是使用者安全的问题、因应用市电220 V,使用人员应着重注意安全问题;二是线路安全问题,所有电机的等线路的操作,必须在断电时操作。防止电路短路等意外发生。
根据原理搭建测试,系统运行符合预期。
5. 结束语
本文介绍了牛体刷控制器的软硬件构成,以及实际应用应当注重的安全问题。该控制器相较于市场已有的控制器,角度检测更加准确,功能更加全面。精确的角度检测,可准确识别是否是牛体触发,防止误触发,节约电能。自带正反转控制方式,外加可靠的电压电流监测模块,可有效保护牛体安全,避免对牛体造成伤害。随着智能养殖的进一步发展,机器取代人工,已经成为共识。通过长时间牛场的稳定测试运行,符合预期,已经取得不错的效果,具有一定的市场推广价值。