STM32控制的智能辅助植物培育机器人*

2018-08-08 07:31,,,
单片机与嵌入式系统应用 2018年8期
关键词:舵机电导率培育

,,,

(吉林大学 珠海学院,珠海 519041)

引 言

随着人们对于观赏性植物的需求日益增长,园林植物培育逐渐呈现蓬勃发展的姿态,并逐步向着专业化、自动化、智能化的方向发展[1]。传统的培育方式依赖于人工作业,极易由于培育人员的经验不足或人为疏忽造成植物培育不当,且由于人工费用的限制难以扩大生产[1-2]。目前,机器人行业飞速发展,将机器人技术应用至园林培育领域,可以避免上述弊端,达到园林培育的高标准化并提高产量,以促进现代园林培育行业的进一步发展。本文设计了一种基于STM32的智能辅助植物培育履带式移动机器人,以常见的花卉植物培育研究为例,自动检测植物培育关键参数并实时显示,自动喷洒浇灌用水和营养液进行科学培育。该机器人系统实现了智能辅助植物培育功能,为机器人技术应用于园林培育行业提供了可行性技术方案。

1 系统组成及结构设计

1.1 系统组成

本系统由STM32控制器、多轴机械臂、履带式移动底盘、多传感器组及无线传输模块等部分组成。系统总体结构如图1所示。

图1 系统总体结构

本系统选择以Cortex-M3为内核的STM32F1控制器作为主控制芯片,其具有外设资源多、浮点运算快、运算速度快、超快数据传送、多定时器和通信接口等优点[3-4]。控制器根据既定模式及无线传输模块所发出的指令,输出PWM波以控制电机,实现移动底盘在任意方向上的自由移动。多传感器组精确测量出目标植物的各项植物培育关键参数并显示,再将检测数据传送至STM32控制器,控制器根据数据发送指令驱动机械臂作业,进行喷洒浇灌用水和营养液。

1.2 多轴机械臂设计

机械臂是系统的主要执行机构,通过对其舵机的控制实现机械臂的姿态及运动控制。本系统采用数字舵机MG995,相比传统的模拟舵机,数字舵机内嵌MCU微控制器,反应速度更快、无反应区范围小、定位精度高、抗干扰能力强[5]。机械臂末端载有土壤电导率传感器和土壤湿度传感器,通过驱动机械臂插入至土壤,以达到测量植物土壤相关数据的功能。此外,在机械臂上固定软水管,用于喷洒浇灌用水和营养液。机器人进行培育作业时,首先移动机械臂至目标植物,检测土壤数据,以土壤湿度为例,当检测到植物土壤湿度低于设计最低阈值时,控制器控制继电器和水泵,喷出浇灌用水提高土壤湿度。

1.3 多传感器模块设计

为辅助植物的科学生长,并随时获取植物的生长状态,系统设计载有多传感器组,包括土壤电导率传感器、土壤湿度传感器、光照传感器、CO2传感器、光电传感器、空气温湿度传感器、超声波传感器和红外传感器等。

以土壤电导率指标为例分析,其目的是获取植物的含盐量参数,是植物培育中的一项非常重要指标。土壤浸出液中各种盐类一般以离子的形式存在,总盐量也可以表示为土壤浸出液中各种阳离子的量和各种阴离子的量之和,故可以通过测量土壤的电导率反映出植物混合盐的含量。在实际检测中,电导率与盐分大致呈线性关系,以温度25 ℃为基准,其比例关系为:

Ec=K·Sa(1)

其中,Ec为电导率(μs/cm),Sa为盐度(mg/l),K为比例系数(s·m2/kg),取值范围为0.055~0.075。

在其它温度下,则需加以校正,即温度每变化1 ℃,其含盐量大约变化1.5~2%。在温度高于25 ℃时用负值,温度低于25 ℃时用正值,求盐度公式如下:

(2)

其中ξ为校正系数,ξ=k(25-T),k=1.5~2%。

据此可根据电导率估算盐分。利用土壤电导率传感器测量土壤电导率、温度的换算关系如表1所列(电压输出范围为0~2 V)。

表1 土壤电导率、温度的换算关系表

1.4 无线通信设计

本系统的无线通信链路如图2所示,用于移动机器人手动模式作业下的遥控操作。采用PS2无线操作方式,其具有传输速度快、操作简单的优点。通过操控PS2的控制键,发射指令到信号接收模块,该接收模块再与控制器相通信,以实现机器人的移动、浇灌和检测等功能。

图2 无线通信链路

1.5 喷灌及监测设计

喷灌装置位于机器人底板上,在机械臂上固定软水管,用于喷洒浇灌用水和营养液。通过控制舵机、继电器和水泵实现喷洒功能。系统侧位搭载了光电传感器,在机器人移动过程中,可以检测到花盆位置并自动停住进行作业。此外,机器人上载有摄像头和WiFi模块,可以通过Android手机端APP实时观测植物[6]。

2 作业方式及运动控制设计

2.1 作业方式设计

本系统实现自动和手动两种作业方式,系统工作流程如图3所示。在自动模式下,机器人按照预定的工作循迹自动行驶,根据光电传感器检测的植物位置信息自动前进或停止,在工作点位置进行植物生长信息的自动检测,并根据测量结果驱动电机和机械臂上的舵机,完成作业任务。当机器人在起始点位置时候,启动自动模式,向着工作点1位置行驶。到达工作点1位置时,通过传感器感应到花盆的位置,机器人自动停下,插入传感器检测并判断是否需要喷洒水和营养液,完成任务后往工作点2位置行驶,进入下一个任务目标继续工作,依次循环。在手动模式下,工作人员可以通过无线传输,将控制信号发送至机器人驱动电机和舵机,完成移动机器人的运动状态、检测显示及喷灌培育等作业操作。

图3 工作流程示意图

2.2 运动控制设计

本系统采用履带式移动底盘方式实现机器人的移动,通过STM32输出PWM波控制电机和舵机[7-8],调节左右两个电机的正反转带动履带的转动,以带动底盘移动。在机械臂控制方面,通过对舵机的控制实现机械臂的姿态及运动控制。通常控制器直接输出的电流较小,无法直接驱动电机和舵机,故采用电机驱动模块L298N以放大电流,加强单片机驱动负载的能力,其优点在于有过电流保护功能,当出现电机卡死时,可以保护电路和电机。

3 数据采样及通信设计

3.1 采样算法设计

为提高数据获取的准确性,本系统采用两种数字滤波算法:温湿度数据采用限幅滤波法(程序判断滤波法)、土壤电导率A/D转换采用中位值滤波法[9]。其中,温湿度数据采用限幅滤波法的基本思路是:确定两次采样允许的最大偏差值(设error_AD),每次检测到新值时进行判断,如果本次值与上次值之差 value_new-value≤error_AD,则本次值有效,如果本次值与上次值之差value_new-value > error_AD,则本次值无效,放弃本次值,取上次值代替本次值。该算法的优点是能有效克服因偶然因素引起的脉冲干扰。

土壤电导率检测的中位值滤波法的基本思路是:连续采样N_AD次(N_AD取奇数),将N_AD次采样值按大小排列,取中间值为本次有效值。该算法的优点是能有效克服因偶然因素引起的波动干扰,对温度、液位等变化缓慢的被测参数有良好的滤波效果。相应程序设计如下:

#define N_AD 11

char filter(){

char value_buf[N_AD];

char count,i,j,temp;

for{count=0;count< N_AD;count++}

{value_buf[count]=get_ad();

delay();}

for(j=0;j

for(i=0;i

if(value_buf[i]>value_buf[i+1]){

temp=value_buf[i];

value_buf[i]=value_buf[i+1];

value_buf[i+1]=temp;}}}

return value[(N_AD-1)/2]}

3.2 无线通信设计

本系统的无线通信功能设计主要考虑通信控制端和STM32之间的通信链路[10],具体通信流程如图4所示,STM32控制器和PS2控制端首先创建连接模式,然后控制器处于等待接收的状态,即等待控制端发出连接请求,在其接收到控制端的连接请求后,STM32响应并与之连接,进入数据接收模式并判断接收请求的状态,之后进行控制端发送数据和STM32接收数据之间的交互,根据控制数据,由STM32执行相应的控制程序。

图4 通信流程图

4 植物培育机器人系统实现

根据上述设计,实现智能辅助植物培育履带式移动机器人系统的实物如图5所示,主要包括机械臂、控制器、履带式底盘、无线模块、摄像头和多传感器组等部分。

图5 系统实物图

实际作业情况如图6所示。机器人移动过程中,如检测到花盆会自动停下,图6为机器人自动检测到目标点1的花盆并停下检测,机械臂带动土壤湿度传感器和土壤电导率传感器插入土壤中以检测相关数据,当实测值低于设定值时,通过水泵和导管进行喷洒用水或营养液。该目标点1的任务执行完毕后,机器人收回机械臂,继续行驶至下一目标点2继续作业,并以此方式逐一完成全部目标点作业。系统搭载摄像头,通过Android手机端APP可以实时监测机械臂工作过程,通过PS2控制端可以远距离人工控制机器人实施作业。通过系统实际测试及调整后,能够完成上述园林培育作业任务要求。

图6 实际作业情况图

结 语

猜你喜欢
舵机电导率培育
含齿隙弹载舵机的全局反步模糊自适应控制
第十二道 共同的敌人
基于dsPIC单片机的飞艇舵机控制实现
未来或可培育无味榴莲
基于比较测量法的冷却循环水系统电导率检测仪研究
低温胁迫葡萄新梢电导率和LT50值的研究
基于高速同步485总线通信的多通道舵机控制器设计
基于云模型的舵机同步控制
念好"四部经"培育生力军
高电导率改性聚苯胺的合成新工艺