【果树农药喷洒机器人】Part7:静态PWM变量喷药实验
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
文章目录
- 一、引言
- 二、静态PWM变量喷药实验
- 2.1搭建喷药实验平台
- 2.2变量喷药控制实验
一、引言
为综合评估所设计的果树喷药机器人变量喷药效率和质量,验证系统的控制性能和实际作业的可行性,本章开展果树变量喷药实验。首先,通过静态的PWM变量喷药实验,探究系统的控制和雾滴分布规律。再者,以履带型底盘为远程遥控平台,搭建果树喷药机器人样机,并完成对果树的精准喷施实验。通过对靶喷药与连续喷药的对比实验,研究基于视觉感知树冠存在时的对靶喷药效果;在对靶喷药实验的基础上,引入PWM控制技术,完成变量喷药实验,并与对靶喷药、连续喷药的雾滴沉积指标比较,以探究变量喷药的病虫害防治效果与省药率。
二、静态PWM变量喷药实验
2.1搭建喷药实验平台
为探究变量喷药系统控制与流量之间的特性关系,即确定PWM占空比、喷雾压力跟喷头流量之间的相关性,进而为变量喷施的精准调控提供理论支持。本节根据所选硬件设计并搭建变量喷药实验平台,具体实验布置如图5-1所示。
平台由地面和桌面上的两部分硬件组成,主要包括笔记本电脑、便携式移动电源、喷药泵、药箱、压力传感器以及电控盒,其中移动电源分别为电控盒内的硬件和笔记本提供12V、220V电压,实验人员通过笔记本向电控盒内的单片机发送控制指令。此外,实验时将塑料药箱装满清水,以此代替农药。
系统启动后,水箱顶盖引出两条管路,其中黑色粗管中的水由喷药泵从药箱中抽出,流经水管分流器后,白色细管为其中一条支路,作为泄压管路调节部分流量引回水箱。而另一条支路上装有普通压力表(量程范围为0.0~1.0Mpa)和电磁阀,其中压力表用于实时监测输出管路中的液压变化。电磁阀连接着继电器(电控盒内),通过单片机发送PWM占空比信号,以改变继电器的通断频率,管路中的流速也随之改变,最后由量杯收集一定时间内从喷头流出的水量。
2.2变量喷药控制实验
为探究系统的控制和雾滴分布规律,采用上节搭建的喷药实验平台进行单喷头的静态PWM变量喷施控制实验。由于所选喷头的适用喷雾压力范围为0.2~0.5MPa,因此,实验过程中使管路内压力分别保持在0.2、0.3和0.4MPa,作为实验压力;占空比设定为10-100%,取10%的整数倍。每次系统启动后,单片机向电磁阀发送不同PWM占空比信号,最后将清水引入到量程为1L的量杯中,喷雾结束后,读取秒表记录液面到达1L刻度时的所用时间,从而测量出不同PWM占空比下的喷头流速,每组实验重复3次,取各组流速数据的平均值记录在表5-1中。通过多组数据分析并确定不同PWM占空比下,喷药控制系统中的电磁阀通断频率、喷雾压力等因素与喷头流量之间的相关性。
将表5-1中的数据制成曲线图,如图5-2所示。喷头流量q与PWM占空比x通过线性拟合的方法,得到不同压力下的模型函数,如表5-2所示。
图表的数据显示,在喷雾压力一定,PWM占空比为10%和20%时,喷雾流量几乎为0。根据电磁阀通断原理分析可知,在此工况下,单位时间内电磁阀断开时间占比过长,而电路接通时间非常短,继电器传输给电磁阀的电压过低,实测值约为2V,远远低于电磁阀的额定电压12V,不足以启动电磁阀工作,导致其处于闭合状态。但是,随着PWM占空比的不断增大,当处于30~80%区间内,PWM占空比与喷头流量之间呈现良好的线性关系,线性拟合优度均大于0.92。当PWM占空比在80%至100%区间时,电磁阀上的电压接近12V,喷头流速与全开状态较为接近,因此流量呈现较缓增长趋势。
综上所述,在不同压力下,PWM占空比与喷头流量之间在主要喷施区间均为线性关系。因此在所设计的变量对靶喷药系统中,可通过调整PWM占空比实现对喷头流速的可变控制,且PWM占空比最佳调节范围为30~80%。
相关文章:

【果树农药喷洒机器人】Part7:静态PWM变量喷药实验
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...

C++ 网络编程项目fastDFS分布是文件系统(一)
目录 1.项目架构图 1. 项目架构图 1.1 一些概念 1.2 项目架构图 2. 分布式文件系统 2.1 传统文件系统 2.2 分布式文件系统 3. FastDFS 3.1 fastDFS介绍 3.2 fastDFS安装 3.3 fastDFS配置文件 3.4 fastDFS的启动 4. fastDFS状态检测 4.1 对file_id的解释 4. 2上传…...

PoseiSwap 开启“Poseidon”池,治理体系或将全面开启
PoseiSwap 曾在前不久分别以 IDO、IEO 的方式推出了 POSE 通证,但 PoseiSwap DEX 中并未向除 Zepoch 节点外的角色开放 POSE 资产的交易。而在前不久,PoseiSwap 推出了全新的“Poseidon”池,该池将向所有用户开放,并允许用户自由的…...
【C/C++】重载运算符特性
重载运算符是 C 中的一个重要特性,它允许程序员自定义类类型的运算符行为。重载运算符的使用场景包括: 使类类型的对象能够像内置类型一样进行运算:例如,可以重载加号运算符,使两个对象相加时能够像两个整数相加一样。…...

HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
公文一键排版系统基本完成,准备继续完善SysInfo,增加用户帐户信息,其中涉及到Win32_Account结构,其C定义如下: [Dynamic, Provider("CIMWin32"), UUID("{8502C4CC-5FBB-11D2-AAC1-006008C78BC7}"…...

24届近3年南京信息工程大学自动化考研院校分析
今天给大家带来的是南京信息工程大学控制考研分析 满满干货~还不快快点赞收藏 一、南京信息工程大学 学校简介 南京信息工程大学位于南京江北新区,是一所以大气科学为特色的全国重点大学,由江苏省人民政府、中华人民共和国教育部、中国气…...

【LeetCode】1572.矩阵对角线元素的和
题目 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat [[1,2,3],[4,5,6],[7,8,9]] 输出:25 解释:对角线的和为&a…...

2023-08-08 Ubuntu 挂载U盘 fdisk -l 、sudo mount /dev/sdb1 /mnt/mydisk
一、基本命令 1、插入U盘,查看U盘是否被系统识别: 打开终端,输入: sudo fdisk -l 查看系统是否识别U盘,如果识别,会显示U盘的相关信息,如果没有识别,则说明系统没有识别U盘。 2…...
make/makefile/cmake/nmake
最近,有没有被make、cmake、makefile... ... 这些东西绕晕了,看看下面的文章,也许就可以理解清楚了。 1. gcc 它是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以…...

实用的开源应用全新开源源码Vue3+TS的前后台分离的开发平台源码开源技术社区平台
开源全新开源源码Vue3TS的前后台分离的开发平台源码。创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态! 功能简介 个人办公&a…...

C++复习笔记——primer第五版
文章目录 一、引用和指针1.引用2.指针2.1利用指针访问对象2.2指针的值或指针所指对象的值的改变 3.赋值和指针4.指向指针的引用 二、String1.初始化String对象的方式2. string对象上的操作3.使用getline读取一整行4.字面值和字符串相加5.使用for循环改变字符串中的字符 三、Vec…...

ElasticSearch:项目实战(2)
ElasticSearch: 项目实战 (1) 需求: 新增文章审核通过后同步数据到es索引库 1、文章服务中添加消息发送方法 在service层文章新增成功后,将数据通过kafka消息同步发送到搜索服务 Autowiredprivate KafkaTemplate<String,String> kafkaTemplate;/…...

Eleastisearch5.2.2利用镜像迁移构建实例后ES非健康状态
正常迁移完成后启动服务,查看ES非健康状态 此时观察ES集群状态:curl -XGET -u elastic:xxx localhost:9200/_cluster/health?pretty 注意到"active_shards_percent_as_number" : 88.8888 该项的值不产生变化;集群状态"status" : “…...

sealos安装k8s
一、前言 1、我前面文章有写过使用 kubeadm 安装的方式,大家可以去参考 (二)k8s集群安装,有一系列的k8s文章说明 2、安装k8s的方式有很多 kubeadmsealoskubespray等等 3、关于sealos来安装 k8s ,也是非常建议大家去…...
经典贪吃蛇游戏 - 用 C 语言实现控制台版
在本篇博客中,我们将一起来实现经典的贪吃蛇游戏,使用 C 语言编写,并在控制台中运行。这个小游戏会让你回忆起童年的经典游戏体验。我们将从游戏的初始化开始,逐步实现游戏的各个功能,包括蛇的移动、食物的生成、得分的…...

安灯Andon系统的应用与优势
安灯系统是一款与硬件相结合,实时了解机台与工位状态,让异常的信息得到快速、高效的解决的系统软件,同时记录每次异常报警的种类、响应时间和处理问题用时,提供改善生产管理和人员考核的数据参考,实现透明、快速的生产…...
2023年的C++基础笔记
C 基本语法 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个…...

综合能源系统(6)——综合能源综合评估技术
综合能源系统关键技术与典型案例 何泽家,李德智主编 综合能源系统是多种能源系统非线性耦合的、多时间与空间尺度耦合的“源-网-荷一储”一体化系统,通过能源耦合、多能互补,能够实现能源的高效利用,并提高新能源的利用水平。对…...

华为OD机试真题 Java 实现【寻找相同子串】【2023 B卷 100分】,附详细解题思路
目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…...

软件外包开发的桌面客户端开发
跨平台桌面客户端开发工具允许开发者在多个操作系统上构建应用程序,从而实现一次编码、多平台运行的目标。以下是几个常见的跨平台桌面客户端开发工具以及它们的特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&a…...

2025年6月|注意力机制|面向精度与推理速度提升的YOLOv8模型结构优化研究:融合ACmix的自研改进方案
版本: 8.3.143(Ultralytics YOLOv8框架) ACmix模块原理 在目标检测任务中,小目标(如裂缝、瑕疵、零件边缘等)由于其尺寸较小、纹理信息稀疏,通常更容易受到图像中复杂背景或噪声的干扰,从而导致漏检或误检…...

UOS无法安装deb软件包
UOS无法安装deb软件包 问题描述解决办法: 关闭安全中心的应用隔离结果验证 问题描述 UOS安装Linux微信的deb包时,无法正常安装 解决办法: 关闭安全中心的应用隔离 要关闭-安全中心的应用隔离后才可以正常软件和运行。 应用安全----》 允许任意应用。 结果验证 # …...
损坏的RAID5 第十六次CCF-CSP计算机软件能力认证
纯大模拟 提前打好板子 我只通过4个用例点 然后就超时了。 #include<iostream> #include<cstring> #include<algorithm> #include<unordered_map> #include<bits/stdc.h> using namespace std; int n, s, l; unordered_map<int, string>…...

基于JWT+SpringSecurity整合一个单点认证授权机制
基于 JWT Spring Security 的授权认证机制,在整体架构设计上体现了高度的安全性与灵活性。其在整合框架中的应用,充分展示了模块化、可扩展性和高效鉴权的设计理念,为开发者提供了一种值得借鉴的安全架构模式。 1.SpringSecurity概念理解 …...

网络安全厂商F5推出AI Gateway,化解大模型应用风险
AI正以前所未见的速度重塑数字化体验。然而,企业在加速落地现代化数字体验的过程中,其在保障和交付AI应用方面仍面临严峻挑战。这些应用需处理海量数据,涉及复杂流量模式,并引入更高级的安全威胁,而企业当前的安全能力…...
[蓝桥杯]采油
采油 题目描述 LQ 公司是世界著名的石油公司,为世界供应优质石油。 最近,LQ 公司又在森林里发现了一大片区域的油田,可以在这个油田中开采 nn 个油井。 LQ 公司在这 nn 个油井之间修建了 n−1n−1 条道路,每条道路连接两个油井…...
python --导出数据库表结构(pymysql)
import pymysql from pymysql.cursors import DictCursor from typing import Optional, Dict, List, Anyclass DBSchemaExporter:"""MySQL数据库表结构导出工具,支持提取表和字段注释使用示例:>>> exporter DBSchemaExporter("local…...
如何自动部署GitLab项目
如何自动部署 原理 GitLab有预制的钩子, 在代码提交/合并等事件中,会自动调用WebHoos, 即向该URL发送POST请求在布署服务器上监听该POST, 验证通过后执行相关的布置Shell脚本, 即可完成自动布署 配置环境 安装Python和Pip 2.如果需要, 安装python的requests模块和argparse模…...
spring重试机制
数据库死锁处理与重试机制实现指南 1. 业务场景 1.1 问题现象 高并发批量数据处理时频繁出现数据库死锁主要发生在"先删除历史数据,再重新计算"的业务流程中原有逐条处理方式:list.forEach(item -> { delete(); calculate(); }) 1.2 死…...
关于ETL的BackgroundScheduler同步方案和misfire_grace_time
如果做ETL避免脏数据,那么不可以允许同一个job有并行允许的情况,也就是说max_instance参数始终设置成1。 这时候执行ETL任务,会有以下情况。 1 任务不超时。正常执行 2 任务超时。如果下一个时间点上一次任务还没有执行完,那么…...