杏彩体育平台appArduino通过太阳能操作机器人割草机动力
供电,能够仅利用来自太阳的清洁能源进行操作;这与商业项目有很大的不同,商业项目需要一个连接到电网的充电站。在设计驱动的割草机时,至关重要的是,大部分能量来自太阳,当然,如果太阳能足以为机器人完全供电,最终结果就会得到:然而,鉴于现有太阳能电池板的低效率,这一目标将很难实现。在我们的项目中,机器人的整个表面都是太阳能电池板,同时也是一个盖子:只有侧面是自由的,无论如何,它们在供应能源方面都不会发挥决定性作用。显然,这种选择对项目的其余部分构成了严重的限制,因为通过这种方式,我们已经定义了可用的最大功率。
我们必须考虑到,太阳能并不总是可用的,因为许多花园区域经常处于阴凉处,或者无论如何都没有被太阳直接照射,所以我们必须考虑相当大的电力损失。只有当机器人有一个蓄能器,能够在缺乏阳光的情况下提供能量时,才能弥补这些损失。在这种情况下,电池起到缓冲作用,在电量充足时积累能量,相反,在机器人处于阴影下时提供能量。从这个角度来看,铅电池是最合适的电池,但没有什么能阻止我们使用在重量和容量方面表现更好的电池,比如锂电池。在阳光充足的情况下,太阳能电池板能够用约0.6A的电流为内部电池充电,总功率约为8W,远低于最高效的电动割草机所使用的功率,功率为220Vac。这让我们已经明白,像我们在这些页面中描述的产品不能完全取代手动割草机,因为当草太高时,应该不时使用最后一款。相反,机器人割草机可以用于连续稳定地修剪草坪。
这种解决方案还提供了另一个优势,因为连续割草可以确保草始终年轻柔软,而且当它被切成很小的碎片时,它会在短时间内自行分解,从而为草坪施肥。你不应该指望被割下的草会被收集起来:相反,它会沉积在刚刚割下的草叶中。
对于这种用途,所需的电力更少,并且可以使用电池供电系统轻松管理。游戏中的弱动力说服我们选择一个牵引力和功率降低的切割发动机。也许,它们可能不完全符合我们读者的需求,他们可能会根据预算和个人需求选择他们喜欢的引擎和结构。为了确定草坪上的切割区域,地下布线系统被证明是简单、准确和可靠的。它也是定义机器人工作区域的最佳系统。
一切都是基于一根简单电线的使用,电线铺设在地上或其下,并连接到一个控制单元,用大约10V和34KHz频率的交流电信号为电线本身供电。在机器人底盘的下部安装了两个小卷轴,一个在右侧,另一个在左侧,这两个卷轴都是指由并联的电容器形成的电路。由并联电感和电容器形成的电路被称为并联谐振电路,并且被计算为使得当磁场以34KHz的频率变化时,由外部磁场感应的其端部的张力处于最大值。
现在让我们来更详细地描述这个项目所采用的电气部分。最重要的创新是采用了Arduino作为控制板,使你能够获得一个更用户友好、更易于破解的项目,即使是经验不足的人。为了实现最大的使用灵活性,我们认为要实现特定的屏蔽,而不是实现特定的电子板。
这种选择也决定了一个缺点,即当板处于待机模式时,电流的吸收,这种情况可能发生在夜间,机器人仍然没有电源。在这种情况下,内部电池将不得不面对Arduino板和屏蔽的长时间供电。
关于发动机的管理,就牵引力而言,我们计算了商用护罩的使用情况,这是唯一一种可用于修改控制销分配的商用护罩;为此,请使用表1正确分配引脚。发动机护罩可管理两台发动机,每台发动机的总最大吸收功率为2A,确保有足够的动力用于牵引。显然,没有什么可以禁止我们使用其他类型的驱动器来驱动发动机,从而增加功率;唯一重要的是,驾驶员为每台发动机提供两个可用的控制信号,一个用于定义方向,另一个用于控制速度所需的PWM信号。
该屏蔽是使用具有特定功能的最新组件设计的,因此需要使用高度集成的SMD组件,从而将所有东西都安装到与ArduinoUNO兼容的屏蔽中。用于读取地下线路的部分基于包含六个CD4069型NOT门的集成电路。使用这种集成电路,我们只需放大并平方并联谐振电路头部的弱信号。即使在这个项目中,我们也计算了激活或停用太阳能电池板的可能性;为此,我们依靠集成电路ASSR1611,这是一种由光隔离器控制的固态开关。如果使用的缓冲电池是铅电池,则无需拆下面板,因为这种电池可以很好地支持过充电,但如果您使用更现代的锂电池,则必须在达到极限电压后暂停充电,否则您可能会导致电池损坏,或在最坏的情况下发生爆炸。
两个名为ACS712的集成电路可以测量太阳能电池板提供的电流和切割引擎吸收的电流:5A范围的版本对我们来说似乎绰绰有余。
这些集成电路使用霍尔效应技术来提供(作为输出)与电源电路上的循环电流成比例的张力,从而与输出级保持电流分离。测量太阳能电池板电流的可能性将是检测最适合给电池充电的区域的基础。运行时,实际上会存储面板提供的电流水平,当割草机必须找到充电区时,在电池电量接近低的情况下,会再次使用数据。机器人不知道真实的大气情况(晴天或阴天),也不知道是否有阴影区域,甚至不知道它是否在变暗:它只会在上一次工作中检测到的最大发光强度方面寻找一个足够亮的区域。测量切割引擎吸收的电流将是了解切割过程中的作用力的基础,也是计算在异常情况下何时停止切割的基础。
为了完成关于屏蔽的讨论,我们必须注意二极管D1,它是在电池电量不足的情况下避免电池在光伏面板上的张力所必需的;以及使I2C总线可用所需的两个连接器。
还设计了三个通用按钮,它们通过电阻网络连接到模拟输入A0;事实上,所有的数字引脚都已被占用。一个入口由一个传感器使用,该传感器放置在非常靠近后枢轴轮的位置,并由一个小磁铁操作,该磁铁在每次旋转时插入同一个轮中。有了这个传感器,就可以确定机器人是否有规律地移动,或者一个或多个轮子是否被锁住或徒劳地移动。
我们增加了两个数字输入,您可以将前面的障碍物识别机械开关连接到它们;除此之外,经验证的传感器连接到I2C总线并检测前方物体。
传感器虽然性能非常好,但可能会被表面特别小的物体(如金属网)或一些非常不规则的表面(如灌木)所欺骗。
至于草坪修剪,我们依赖于航空建模领域使用的无刷电机,该电机与通过组合两个刀片获得的刀片相连。
我们谈论的是一台200W的发动机,但它的使用率不超过20%。发动机控制分配给模型构建中使用的ESC(电子速度控制),并使用简单的PWM信号进行操作,易于使用Arduino进行管理,因为它已经在系统库中具有相关功能。
为了测量电池头部的张力,我们将使用电机护罩中已有的分压器。然而,需要修改轨道,将分配器输出的张力从引脚A5带到引脚A3,以便引脚A4和A5可用于I2C总线用于与PC通信,但一旦对Arduino进行了编程,它们就可以用于与GPS或蓝牙等其他外围设备通信。
硬件现在已经相当完整,防护罩做得非常好,尽管还可以添加一些更多的功能,比如雨水传感器,或者更好的是,草湿度传感器,这将使机器人能够停下来等待更好的切割条件。作为一种安全措施,我们在旋转轮上安装了一个编码器,作为一种支撑,甚至可以在牵引轮上添加一个编码器甚至可以添加一个传感器来测量吸收的电流。
使用一个简单的Arduino板应该可以让许多用户尝试实现电动割草机,当然也不会缺少社区的贡献,以及进一步改进的建议。
根据测量数据(使用所述设置),我们可以推断运行机器所需的电流是光伏板提供的电流的三倍,也就是说,一个小时的工作需要三个小时的充电,有用的使用百分比为30%。考虑到在夏天,在最佳条件下,大约有九个晴天,我们可能一天有大约三个小时的时间进行修剪,这通常足以维持500平方米的花园秩序。
草图被分为不同的文件,每个文件都有特定的用途,可以对功能进行排序,使阅读更容易;我们将在下面看到构成草图的文件。
文件configuration.h包含用于设置Arduino的工作参数和所有引脚分配的所有定义指令。在所有参数中,最重要的是:
ESC_MAX_SIGNAL 2000:它定义了与ESC最大功率相关的信号的持续时间(以微秒为单位),与切割发动机的控制有关。
#定义ESC_MIN_SIGNAL 1000:它定义与ESC停止有关的信号的持续时间(以微秒为单位),与切割发动机的控制有关。
#define VBat_Level_Min 9.0:它定义电池的最小电压:在此值下,除太阳能电池板充电外,所有割草机功能都将停用。
#定义VBat_Level_Max:它定义电池的最大电压:超过该值,太阳能电池板的充电将中断。最小值和最大值也用于确定蓄电池充电水平。
#define timeRotate:检测到障碍物后,在修改行进方向的操作过程中,机器人旋转的持续时间(以毫秒为单位)。
sensor.ino文件包含读取传感器时使用的功能;为了便于比较,所有测量值都以安培和伏特为单位进行转换。特别有趣的是FreqCounter(int引脚,无符号长gateTime)功能,它允许测量来自用于检测地下线路的输入的脉冲数量。
参数gateTime显示信号检测的持续时间,也表示函数计数所需的时间,其默认值为100msec。文件TestMotor.ino包含牵引发动机测试过程中使用的功能。
对于割草机的每一项功能,都会在LCD显示屏上进行确认,并向PC发送等效消息:LCD显示屏为数据管理提供了更大的便利,无需PC连接。
一旦电气部分完成,就需要正确验证功能和接线:为此,预先设置了三个特定的公用设施。我们要记住,割草的刀片非常危险,因此我们建议在结束所有测试之前移除刀片。
当点火时,或按下Arduino的重置按钮时,或当重新启动串行监视器时(如果连接到Arduino),固件将开始其细化;作为第一次操作,它将验证是否按下了其中一个按钮,在这种情况。
杏彩体育平台app 上一篇:什么是同步有限状态机?为什么要用状态机?怎么表示状 下一篇:狄刚:数字人民币智能合约开启智付新未来