【果树农药喷洒机器人】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%。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s界面化平台dashboard、kubesphere、Rancher对比

k8s集群管理dashboard有很多,比如kuboard、官方发dashboard、kubesphere、Rancher等等。 Dashboard、KubeSphere 和 Rancher 都是流行的 Kubernetes 管理和操作界面。它们都提供了图形化的用户界面,以简化对 Kubernetes 集群的管理和监控。每个工具都有其…

【编程指南】ES2016到ES2023新特性解析一网打尽

ES2016 Array.prototype.includes() Array.prototype.includes 方法: 这个方法用于检查数组是否包含特定元素,如果包含则返回 true,否则返回 false // 我有一个水果篮子 const fruitBasket [apple, banana, orange, grape];// 我要检查篮…

pycharm配置conda虚拟环境

📕作者简介:热编程的贝贝,致力于C/C、Java、Python等多编程语言,热爱跑步健身,喜爱音乐的一位博主。 📗本文收录于贝贝的日常汇报系列,大家有兴趣的可以看一看 📘相关专栏深度学习、…

iOS开发-实现二维码扫一扫Scan及识别图片中二维码功能

iOS开发-实现二维码扫一扫Scan及识别图片中二维码功能 在iOS开发中,会遇到扫一扫功能,扫一扫是使用摄像头扫码二维码或者条形码,获取对应二维码或条形码内容字符串。通过获得的字符串进行跳转或者打开某个页面开启下一步的业务逻辑。 https…

RFID工业识别技术:供应链智能化的科技颠覆

RFID工业识别技术,作为物联网的先锋,正在供应链管理领域展现着前所未有的科技颠覆。从物料追踪到库存管理,再到物流配送,RFID技术以其高效的数据采集和智能的自动化处理,彻底改变着传统供应链的运营方式。 RFID在物料追…

ETF套利及交易者如何进行套利的

ETF套利 什么是ETF套利为什么同一ETF在不同交易所上的价格会出现差异?如何操作ETF套利交易所如何解决ETF套利问题的? 什么是ETF套利 ETF(Exchange-Traded Fund)套利是一种通过利用市场中不同交易所交易价格之间的差异来获得利润的…

Django各种缓存的配置

Django提供了多种缓存后端,如内存缓存、文件缓存、数据库缓存、Memcached和Redis等。根据项目需求选择合适的缓存后端。 settings配置 在Django项目的settings.py文件中,找到或新增CACHES配置项。根据所选的缓存后端,配置相应的参数。以下是…

LeetCode 2811. Check if it is Possible to Split Array【脑筋急转弯;前缀和+动态规划或记忆化DFS】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

Three.js之相机、渲染器、光源、动画、性能监测

参考资料 第一个3D案例—透视投影相机第一个3D案例—渲染器…Canvas画布布局和全屏 知识点 透视投影相机PerspectiveCameraWebGL渲染器WebGLRenderer辅助观察坐标系AxesHelper漫反射网格材质MeshLambertMaterial点光源PointLight点光源辅助观察PointLightHelper环境光Ambien…

Linux学习————redis服务

目录 一、redis主从服务 一、redis主从服务概念 二、redis主从服务作用 三、缺点 四、主从复制流程 五、搭建主从服务 配置基础环境 下载epel源,下载redis​编辑 二、哨兵模式 一、概念 二、作用 三、缺点 四、结构 五、搭建 修改哨兵配置文件 启动服务…

深入探索:解读创意的力量——idea的下载、初步使用

目录 ​编辑 1.IDEA的简介 2.IDEA的下载 2.1下载路径https://www.jetbrains.com/zh-cn/idea/download/?sectionwindows​编辑​ 2.2下载的步骤 3 idea的初步使用 3.1新建一个简单的Java项目 3.1.1首先需要创建一个新的工程 3.1.2创建一个新的项目(模块&am…

信息论基础知识

注意:本文只针对离散随机变量做出探讨,连续随机变量的情况不适用于本文探讨的内容! (一)自信息 1. 自信息 I ( x ) − l o g n P ( x ) \color{blue}I(x) - log_{n}{P(x)} I(x)−logn​P(x) 注意: 若n …

这些Wireshark过滤条件,让你的Wireshark网络分析变得更加高效

文章首发地址 Wireshark 是一款开源网络数据包分析工具,可以用于捕获、分析和调试网络数据包。在使用 Wireshark 进行数据包分析时,常常需要使用过滤条件来过滤数据包,以便查找特定的数据包或者分析网络性能。 过滤协议 过滤特定协议的数据…

网络协议栈-基础知识

1、分层模型 1.1、OSI七层模型 1、OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。 2、每一层都有相关…

vue报错‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

运行我的后台管理项目的时候报错:‘vue-cli-service’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 查看自己package.json中是否有vue 或者vue-cli-service 查看自己项目目录下有没有node_module文件夹,如果有删除,然后…

typeScript 之 Number

工具: PlayeGround 源码: GitHub TypeScript 简介 数字的基本类型是number,它是双精度64位浮点数,在TypeScript和JavaScript中没有整数。 但是他们支持使用Number对象,它是对原始数值的包装对象。 const value new Number(pa…

腾讯云宣布VPC网络架构重磅升级,可毫秒级感知网络故障并实现自愈

8月11日,腾讯云宣布VPC(Virtual Private Cloud,云私有网络)架构重磅升级。新架构采用多项腾讯核心自研技术,能够支撑用户构建业界最大 300万节点超大规模单VPC网络,并将转发性能最大提升至业界领先的200Gbp…

Linux 虚拟内存入门

在计算机系统中,物理内存是一种有限的资源,即使该系统支持内存扩展(多插几根内存条),但是对于内存的安装也有最大限制。物理内存不一定是连续的,它可以作为一个不同地址的集合进行访问; 此外&am…

06 为什么需要多线程;多线程的优缺点;程序 进程 线程之间的关系;进程和线程之间的区别

为什么需要多线程 CPU、内存、IO之间的性能差异巨大多核心CPU的发展线程的本质是增加一个可以执行代码工人 多线程的优点 多个执行流,并行执行。(多个工人,干不一样的活) 多线程的缺点 上下文切换慢,切换上下文典型值…

Python Opencv实践 - 在图像上绘制图形

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png") print(img.shape)plt.imshow(img[:,:,::-1])#画直线 #cv.line(img,start,end,color,thickness) #参考资料:https://blog.csdn.ne…