收藏文章 楼主

太阳地面,全地形太阳能除草机器人

版块:科技头条   类型:普通   作者:科技资讯   查看:73   回复:0   获赞:0   时间:2023-09-01 16:07:03

这个机器人会修剪你花园里的草,呆在指定的区域内,避开所有障碍,完全自主工作,用太阳能电池板自动充电。


本文引用地址:

太阳地面,全地形太阳能除草机器人

在这篇文章中,我们介绍了一种机器人割草机,它由


这种解决方案还提供了另一个优势,因为连续割草可以确保草始终年轻柔软,而且当它被切成很小的碎片时,它会在短时间内自行分解,从而为草坪施肥。你不应该指望被割下的草会被收集起来:相反,它会沉积在刚刚割下的草叶中。


对于这种用途,所需的电力更少,并且可以使用电池供电系统轻松管理。游戏中的弱动力说服我们选择一个牵引力和功率降低的切割发动机。也许,它们可能不完全符合我们读者的需求,他们可能会根据预算和个人需求选择他们喜欢的引擎和结构。为了确定草坪上的切割区域,地下布线系统被证明是简单、准确和可靠的。它也是定义机器人工作区域的最佳系统。


一切都是基于一根简单电线的使用,电线铺设在地上或其下,并连接到一个控制单元,用大约10V和34KHz频率的交流电信号为电线本身供电。在机器人底盘的下部安装了两个小卷轴,一个在右侧,另一个在左侧,这两个卷轴都是指由并联的电容器形成的电路。由并联电感和电容器形成的电路被称为并联谐振电路,并且被计算为使得当磁场以34KHz的频率变化时,由外部磁场感应的其端部的张力处于最大值。

太阳地面,全地形太阳能除草机器人

现在让我们来更详细地描述这个项目所采用的电气部分。最重要的创新是采用了

太阳地面,全地形太阳能除草机器人

该屏蔽是使用具有特定功能的最新组件设计的,因此需要使用高度集成的SMD组件,从而将所有东西都安装到与


还设计了三个通用按钮,它们通过电阻网络连接到模拟输入A0;事实上,所有的数字引脚都已被占用。一个入口由一个簧片传感器使用,该传感器放置在非常靠近后枢轴轮的位置,并由一个小磁铁操作,该磁铁在每次旋转时插入同一个轮中。有了这个传感器,就可以确定机器人是否有规律地移动,或者一个或多个轮子是否被锁住或徒劳地移动。


我们增加了两个数字输入,您可以将前面的障碍物识别机械开关连接到它们;除此之外,经验证的超声波传感器连接到I2C总线并检测前方物体。


超声波传感器虽然性能非常好,但可能会被表面特别小的物体(如金属网)或一些非常不规则的表面(如灌木)所欺骗。


至于草坪修剪,我们依赖于航空建模领域使用的无刷电机,该电机与通过组合两个刀片获得的刀片相连。


我们谈论的是一台200W的发动机,但它的使用率不超过20%。发动机控制分配给模型构建中使用的ESC(电子速度控制),并使用简单的PWM信号进行操作,易于使用Arduino进行管理,因为它已经在系统库中具有相关功能。


为了测量电池头部的张力,我们将使用电机护罩中已有的分压器。然而,需要修改轨道,将分配器输出的张力从引脚A5带到引脚A3,以便引脚A4和A5可用于I2C总线。两条数字线路D0和D1用于与PC通信,但一旦对Arduino进行了编程,它们就可以用于与GPS或蓝牙等其他外围设备通信。


Tab. 1 Mower Shield pin connect

Pin Arduino

硬件现在已经相当完整,防护罩做得非常好,尽管还可以添加一些更多的功能,比如雨水传感器,或者更好的是,草湿度传感器,这将使机器人能够停下来等待更好的切割条件。作为一种安全措施,我们在旋转轮上安装了一个编码器,作为一种支撑,甚至可以在牵引轮上添加一个编码器甚至可以添加一个传感器来测量吸收的电流。


电气部分还计算了用于调试功能且绝对不需要的绿色背景黑色文本串行显示器的使用情况。


使用一个简单的Arduino板应该可以让许多用户尝试实现电动割草机,当然也不会缺少社区的贡献,以及进一步改进的建议。


关于屏蔽的电气连接,请参考下表:


表2–屏蔽连接器的链接


connectorfunction


J1 Ignition switch


J2 Battery Power


J3 Photovoltaic panel


J4 Electronic speed control (ESC) for the cutting engine


J5Obstacle detection Switch left


J6Obstacle detection Switch right


J7Cotrol signal for the speed control of the cutting engine


J8LCD Display


J9Reed contact for the rear pivoting wheel


J101mH Reel for underground wiring detection left


J111mH Reel for underground wiring detection right


J12Ultrasonic Sensor SRF-02 right


J13Ultrasonic Sensor SRF-02 left


J14Buttons


我们将在下面列出本项目中使用的所有硬件组件:


N°2微电机齿轮箱RH-158-12-200


N°2轮毂


2号超声波传感器SRF02。


N°1铅蓄电池2,1Ah NP21-12


N°1太阳能电池板STP10M 10W 0,59A


用于诊断的N°1 LCD串行显示器1446-LCDSER16X2NV


用于航空建模BMA20-22L的N°1无刷电机


ESC-18A无刷电机的N°1速度控制


1个用于报警系统的磁性传感器(用作编码器)


能量平衡使我们能够了解有用的能量循环以及一天可以做多少工作:


切割发动机吸收的电流,约1.4A


电子设备吸收的电流0,07A


发动机吸收的电流0,4A


光伏板吸收的电流,约0.6A


根据测量数据(使用所述设置),我们可以推断运行机器所需的电流是光伏板提供的电流的三倍,也就是说,一个小时的工作需要三个小时的充电,有用的使用百分比为30%。考虑到在夏天,在最佳条件下,大约有九个晴天,我们可能一天有大约三个小时的时间进行修剪,这通常足以维持500平方米的花园秩序。


R1: 10 Mohm (0805)


R2: 100 kohm (0805)


R3: 10 Mohm (0805)


R4: 100 kohm (0805)


R5: 390 ohm (0805)


R6: 4,7 kohm (0805)


R7: 2,2 kohm (0805)


R8: 6,8 kohm (0805)


C1: 100 µF 25 VL (D)


C2: 100 nF (0805)


C3: 470 nF (0805)


C4: 470 nF (0805)


C5: 100 nF (0805)


C6: 100 nF (0805)


C7: 22 nF (0805)


C8: 1 nF (0805)


C9: 1 nF (0805)


C10: 22 nF (0805)


C11: 1 nF (0805)


C12: 1 nF (0805)


U1: ACS712ELCTR-05B-T


U2: ACS712ELCTR-05B-T


U3: CD4069UBM


U4: ASSR-1611-301E


F1: RUEF300


D1: GF1M


固件


草图被分为不同的文件,每个文件都有特定的用途,可以对功能进行排序,使阅读更容易;我们将在下面看到构成草图的文件。


文件configuration.h包含用于设置Arduino的工作参数和所有引脚分配的所有定义指令。在所有参数中,最重要的是:


ESC_MAX_SIGNAL 2000:它定义了与ESC最大功率相关的信号的持续时间(以微秒为单位),与切割发动机的控制有关。


#定义ESC_MIN_SIGNAL 1000:它定义与ESC停止有关的信号的持续时间(以微秒为单位),与切割发动机的控制有关。


#define VBat_Level_Min 9.0:它定义电池的最小电压:在此值下,除太阳能电池板充电外,所有割草机功能都将停用。


#定义VBat_Level_Max:它定义电池的最大电压:超过该值,太阳能电池板的充电将中断。最小值和最大值也用于确定蓄电池充电水平。


#define ICut_Min:它定义切割引擎吸收的最小电流:低于该值时会产生警报。


#define ICut_Max:它定义切割引擎吸收的最大电流:超过该值,前进速度会降低。


#define accelerateTime:它定义了分配给运动的发动机的加速持续时间;总加速时间等于accelerateTime*255[msec]。


#定义Usdistance:检测到障碍物并且机器人改变方向的距离(以厘米为单位)。


#定义时间反向:检测到障碍物后,机器人反向运动的持续时间(以毫秒为单位)。


#define timeRotate:检测到障碍物后,在修改行进方向的操作过程中,机器人旋转的持续时间(以毫秒为单位)。


SerLCD.ino文件包含LCD显示器的初始化和控制功能。debug.ino文件包含机器人运行过程中测量值在LCD显示器上的初始化和可视化功能,还包含用于将测量数据发送到PC的功能。


sensor.ino文件包含读取传感器时使用的功能;为了便于比较,所有测量值都以安培和伏特为单位进行转换。特别有趣的是FreqCounter(int引脚,无符号长gateTime)功能,它允许测量来自用于检测地下线路的输入的脉冲数量。


从用于检测地下布线的电路获得的方波信号仅在正确检测到布线的情况下才呈现特定频率。


参数gateTime显示信号检测的持续时间,也表示函数计数所需的时间,其默认值为100msec。文件TestMotor.ino包含牵引发动机测试过程中使用的功能。


对于割草机的每一项功能,都会在LCD显示屏上进行确认,并向PC发送等效消息:LCD显示屏为数据管理提供了更大的便利,无需PC连接。


主程序包含在文件SolarMower.ino中:它监督所有操作,并按正确顺序调用所有功能。


一旦电气部分完成,就需要正确验证功能和接线:为此,预先设置了三个特定的公用设施。我们要记住,割草的刀片非常危险,因此我们建议在结束所有测试之前移除刀片。


当点火时,或按下Arduino的重置按钮时,或当重新启动串行监视器时(如果连接到Arduino),固件将开始其细化;作为第一次操作,它将验证是否按下了其中一个按钮,在这种情况下,它将启动特定的设置程序,如下所示:


按下PUP按钮,进入传感器测试;


按下PDW按钮,进入发动机测试;


按下PEN按钮,进入ESC测试。


ESC测试程序允许校准最大值和最小值;这不是一个编程顺序,相反,它需要参考正在使用的ESC的特定手册。


1断开切割刀片和ESC电源连接器。


2为割草机和ESC测试条目供电。


3使用PUP 100%=2000usec按钮将cutPower设置为最大值


4为ESC供电,等待最大点的配置(您将听到特定的声学信号)。


5使用PDW按钮将cutPower设置为最小值(您将听到特定的声学信号)。


6现在将完成校准。电子稳定控制系统将自动设置最小值在10-30%范围内,最大值在70-100%范围内的限值。通过操作PUP和PDW按钮,可以修改cutPower的值,并验证电机是否正确运行。


要验证运动发动机,启动发动机测试程序:它将通过逐渐加速和减速依次启动两个电机。然后,您必须验证旋转方式是否与Arduino串行监视器或LDC显示器上显示的信息一致:如果旋转方式不同,则足以反转发动机的导线。您还必须验证DX引擎是否与正确的引擎匹配,反之亦然。


在启动传感器测试程序之前,我们必须讨论超声波传感器:由于它们都连接到同一个I2C总线,因此需要用不同的地址对其中一个进行编程。传感器属于SRF02类型,在销售时分配了值地址HEX0x70。因此,如果连接到同一个总线,刚刚购买的两个传感器将发生冲突。我们将保留左侧传感器的默认地址0x70,并修改右侧传感器的地址。


要做到这一点,请将屏蔽单独连接到右侧传感器,并打开SRF02_address.ino样本,该样本包含在SRF02库中,与本文的文件一起提供,然后将其加载到Arduino上;地址将被自动修改。您可以使用库中包含的示例程序来验证地址的更改是否正确。


通过启动传感器测试程序,您将有机会验证所有输入外围设备是否正确运行;在LCS显示器(如果可用)和串行监视器(如果连接到Arduino)上,都可以看到从当前传感器获取的数据、数字条目的值以及检测到的障碍物的存在与否。


一旦确定一切正常,您可以进行第一次现场测试:按下主屏幕上的PEN按钮即可启动割草机,同时按下PUP和PDW两个按钮之一即可立即停止。


无论如何,在提起或操作割草机之前,我们建议通过总开关将其关闭:只有这样,您才能保证任何机制都不会开始工作。


在不输入整个固件的详细信息的情况下,现在让我们看看在第一个versoin中实现的基本行;其思想是实现有限状态自动机,其操作状态存储在割草机状态变量中。


当状态变量取值为0时,显示屏上将显示CHARGE(充电)字样:这是点火后不久的初始状态,机器人仍在充电,等待按下PEN引导按钮。


当状态变量的值为1时,显示屏上将显示RUN(运行)字样:这是主要状态,机器人正在割草,同时验证是否存在障碍物。在这种情况下,将启动一个简单的程序,该程序将修改行驶方向。


当状态变量的值为2时,显示器上将显示单词STUCK:在这种状态下,机器人被卡住了。由于后轮停止转动并且没有向板发出任何信号,因此检测到了这种情况。


当状态变量取值3时,显示屏上将显示单词SEARCH:在这种状态下,电池电量接近低,切割发动机停止,机器人寻找发光的地方为自己充电。


当状态变量的值为4时,显示屏上将显示单词BATLOW:在这种状态下,电池电量不足,无法找到令人满意的充电位置。甚至牵引电机也被停止,机器人仍处于充电模式。


当状态变量取值5时,显示屏上将显示CHARGE RS字样:在这种状态下,机器人处于充电位置,一旦电池完全充电,机器人将准备再次启动。


当状态变量的值为6时,显示器上将显示单词CUTERROR:在这种状态下,机器人静止不动,因为它检测到切割发动机电流吸收异常。


为地下线路供电的电路


如前所述,地下布线需要形成一个闭环,并由频率为34Khz的交流信号供电。要做到这一点,需要一个非常简单的不稳定电路。它是用一个NE555集成电路和几个更多的组件创建的;该电路与以前的版本相同,并计算到具有9伏次级的变压器的连接,该变压器又以220Vac连接到电网。


然而,根据该项目背后的理念,建议使用小型太阳能电池板和缓冲电池,从电网中独立供电。太阳能电池板将是电路的主要电源,而12V电池(与C1电容器并联)将是在阳光照射不足的情况下的主要电源。桥式整流器的存在将防止电池张力在低阳光暴露期间进入太阳能电池板。为了正确平衡系统,需要确保在夜间电池能够为电路供电而不会电量过低,而太阳能电池板必须能够为电路充电,同时在白天为电池充电。


该系统与花园中的太阳能灯没有什么不同,它们不需要连接到家庭网络的电线。地下布线将形成一个封闭的环,以标记割草机工作区域的界限。由于车载传感器,该区域内的任何其他障碍物都将得以避免。


唯一要进行的校准涉及发送到地下线路的信号的频率调节:将电缆靠近BWF传感器的卷轴并旋转微调器就足够了,直到获得尽可能好的读数(为此,使用传感器测试程序)。


BOM


R1: 3,3 kohm


R2: 12 kohm


R3: 100 ohm


R4: 4,7 kohm MV


C1: 1.000 μF 35 VL


C2, C4: 100 nF


C3: 1,2 nF 63 VL


C5: 1 μF 63 VL


PT1: W06M


U1: NE555


机械设计


太阳地面,全地形太阳能除草机器人

 
回复列表
默认   热门   正序   倒序

回复:太阳地面,全地形太阳能除草机器人

Powered by 7.12.10

©2015 - 2026 90Link

90link品牌推广 网站地图

您的IP:10.1.201.110,2026-04-06 21:34:03,Processed in 0.35149 second(s).

豫ICP备2023005541号

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息
免责声明
  • 1、本网站所刊载的文章,不代表本网站赞同其观点和对其真实性负责,仅供参考和借鉴。
  • 2、文章中的图片和文字版权归原作者所有,如有侵权请及时联系我们,我们将尽快处理。
  • 3、文章中提到的任何产品或服务,本网站不对其性能、质量、适用性、可靠性、安全性、法律合规性等方面做出任何保证或承诺,仅供读者参考,使用者自行承担风险。
  • 4、本网站不承担任何因使用本站提供的信息、服务或产品而产生的直接、间接、附带或衍生的损失或责任,使用者应自行承担一切风险。

侵权删除请致信 E-Mail:3454251265@qq.com