当前位置: 首页 > news >正文

【果树农药喷洒机器人】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) 需求&#xff1a; 新增文章审核通过后同步数据到es索引库 1、文章服务中添加消息发送方法 在service层文章新增成功后&#xff0c;将数据通过kafka消息同步发送到搜索服务 Autowiredprivate KafkaTemplate<String,String> kafkaTemplate;/…...

Eleastisearch5.2.2利用镜像迁移构建实例后ES非健康状态

正常迁移完成后启动服务&#xff0c;查看ES非健康状态 此时观察ES集群状态&#xff1a;curl -XGET -u elastic:xxx localhost:9200/_cluster/health?pretty 注意到"active_shards_percent_as_number" : 88.8888 该项的值不产生变化;集群状态"status" : “…...

sealos安装k8s

一、前言 1、我前面文章有写过使用 kubeadm 安装的方式&#xff0c;大家可以去参考 &#xff08;二&#xff09;k8s集群安装&#xff0c;有一系列的k8s文章说明 2、安装k8s的方式有很多 kubeadmsealoskubespray等等 3、关于sealos来安装 k8s &#xff0c;也是非常建议大家去…...

经典贪吃蛇游戏 - 用 C 语言实现控制台版

在本篇博客中&#xff0c;我们将一起来实现经典的贪吃蛇游戏&#xff0c;使用 C 语言编写&#xff0c;并在控制台中运行。这个小游戏会让你回忆起童年的经典游戏体验。我们将从游戏的初始化开始&#xff0c;逐步实现游戏的各个功能&#xff0c;包括蛇的移动、食物的生成、得分的…...

安灯Andon系统的应用与优势

安灯系统是一款与硬件相结合&#xff0c;实时了解机台与工位状态&#xff0c;让异常的信息得到快速、高效的解决的系统软件&#xff0c;同时记录每次异常报警的种类、响应时间和处理问题用时&#xff0c;提供改善生产管理和人员考核的数据参考&#xff0c;实现透明、快速的生产…...

2023年的C++基础笔记

C 基本语法 对象 - 对象具有状态和行为。例如&#xff1a;一只狗的状态 - 颜色、名称、品种&#xff0c;行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说&#xff0c;一个方法表示一种行为。一个类可以包含多个…...

综合能源系统(6)——综合能源综合评估技术

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

华为OD机试真题 Java 实现【寻找相同子串】【2023 B卷 100分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…...

软件外包开发的桌面客户端开发

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

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...