智能培植机的原理图框图和结构、逻辑介绍
- 一、培植机电气与结构组成
- 1.1 原理框图
- 1.2 结构示意图
- 二、培植机主要工作逻辑
- 2.1 补水逻辑
- 2.2.1 补水异常
- 2.2 浇水逻辑
- 2.3 光照逻辑
- 2.4 暖灯逻辑
- 3 设备相关参数
点此回到专栏首页
书接上文。在前言中我介绍过说要从0到1带领大家实现《多功能智能培植机》(以后简称培植机),在正式开始之前,读者必须提前理解我们的业务场景和设备的整体工作逻辑。对我们产品和需求有一个大概的认识。才能在接下来的章节中,一步步实现培植机从0到1的开发。
本章目标:
了解一下培植机的结构、硬件与其工作逻辑,简单认识植物的习性,与相关参数含义。
一、培植机电气与结构组成
1.1 原理框图
详细原理图不给大家展示,咱们通过以上框图可以了解到,培植机以ESP32作为核心,外设主要由以下部分内容组成:
模块 | 外设 | 端口 | 功能 | 频率 |
传感器 | 光照传感器 | IO0,ADC信号 | 用于检测培植机内部光照强度 | 无 |
三个液位检测 | IO1~IO3,0有效 | 用于安装在不同高度,检测该高度是否存在水位 | ||
温湿度传感器 | UART0 | 用于检测培植机内部温度和湿度 | ||
执行机构 | 液位检测开关 | IO4,0有效 | 用于控制是否使能液位检测。 | |
光灯控制 | IO6,0有效 | 用于驱动光灯设备,给植入提供光源 | ||
暖灯控制 | IO7,0有效 | 用于驱动暖灯设备,给某些植物供暖 | ||
喷淋控制 | IO8,0有效 | 用于驱动喷淋设备,给植物浇水或提供水源 | ||
用户交互 | TYPEC接口 | USB | 用于下载程序、日志查看 | |
按键 | IO8 | 用于配网等 | ||
红色LED | IO9 | 用于报警提示 | ||
蓝色LED | IO10 | 用于状态提示 |
1.2 结构示意图
培植机结构示意图如下:
大家可以对照原理框图和结构图,自行理解每一个外设的位置及功能。重点介绍下图上所示 “水层”、“土层”。
水层: 培植机最下部放一层水,保持土壤湿润。
土层: 水层之上,用隔离网支持一定土壤或砂石,植物就栽种在这些土壤上。
需要注意的是:
①图上三个液位检测传感器的位置,在一定范围内可以手动上下调节。 用户可以依据实际情况去调整存水和土层厚度。
②这里的土层和水层是用户依据系统推荐方式手动放置的。 一般来说,我们得依据植物原产地的地域环境需求,动态调整水层和土层。以下是系统支持的五种类型的植物:
类型 | 植物原产地 | 土层主料 | 水的高度 | 解析 |
沙生、旱生 | 沙漠、戈壁 | 砂砾、土壤 | 无 | 高耐旱,只少量喷淋,底部无需存水 |
陆生 | 正常区域 | 营养土 | 到低液位 | 正常喷水,底部存水,保持土壤一定湿润 |
沼生 | 沼泽、滩涂 | 碳土 | 到中液位 | 底部水和土壤混合,土壤在上,模拟沼泽地 |
水生 | 河湖 | 碳土 | 到高液位 | 水面高于土壤,模拟水生植物 |
浮游 | 河湖 | 少量营养物质 | 到高液位 | 无土壤,在水里加入营养粉。满足一些特定植物需求 |
二、培植机主要工作逻辑
地球地大物博,植物种类繁杂,习性千奇百怪。地域方面,有耐旱、也有畏湿的。温度方面,有耐热的,有耐寒的, 有喜阳的,也有喜阴的,而培植机是一款通用的培养基,这就要求我们必须从功能和逻辑上尽可能的去使用适配各种习性的植物,增加不同的控制逻辑。
2.1 补水逻辑
补水是指通过喷淋头,向箱体内注入较多的水,一般至少保证水位到达低液位。具体到达到哪里,需要依据植物的生长环境设置。其逻辑稍微简单,即实际水位低于目标值时,就要开始补充水。以下是具体要求:
生长类型 | 目标水位 | 逻辑 |
沙生、旱生 | 无 | 全程不需要补水 |
陆生 | 低水位 | 当水位低于低液位检测时。开始补水。直到再次高于低液位后20S后停止补水。 |
沼生 | 中水位 | 当水位低于中液位检测时。开始补水。直到再次高于中液位后20S后停止补水。 |
水生 | 高水位 | 当水位低于高液位检测时。开始补水。直到再次高于高液位后20S后停止补水。 |
浮游 | 河湖 | 当水位低于高液位检测时。开始补水。直到再次高于高液位后20S后停止补水。 |
2.2.1 补水异常
对于补水逻辑,它还隐藏了一个异常处理和检测的机制。即触发补水情况后,但是液位检测一直检测不到信号时怎么办?可能的原因很简单。①停水了,或者喷淋头和水管没接好。②检测传感器坏了。两种都有可能。
这个时候要做好三点。
①补水一定做时长限制。如果在一定时长内,一直检测不到信号。应该自动停止。避免补水太多。
②要向平台汇报补水异常逻辑。提醒用户及时处理。
③正常情况下,如果补水异常,就应该暂停补水逻辑。但是如果用户无法短时间去处理现场的话,程序也应该给予必要的一些水份补充。避免因为长期不补水导致植物干死。
2.2 浇水逻辑
对于沼生、水生、浮游,因为有补水逻辑存在,植物不需要在额外的浇水。但是对于旱生或陆生(喜潮湿)的植物,需要定期浇水。否则植物可能干死或长势欠佳。
至于浇水的量和频率,受用户设置的浇水方案影响。(浇水方案是用户需要提前设置,满足不同植物需求)
浇水类型 | 浇水逻辑 | 备注 |
默认方案 | ①对于旱生,默认每三天加1次水,每次喷淋5s,②对于其他类型,不再校水。 | 无 |
用户方案 | 依据用户选择的频次和量去加水。比如 3天1次,1次4S。 | 所有类型支持。 |
恒湿方案 | 用户需要提前设置一个湿度,低于这个湿度时,自动下水 | 只允许旱生 和 陆生植物设置 |
2.3 光照逻辑
对于不同植物,可能需要的光照强度和光照时长是不一样的。特别是一些喜欢潮湿阴暗的植物,只需要微弱的光线就可以了,太长的光照反而会有问题。所以我们需要用户设置具体的光照时长和强度(按100%)。
光照强度:0~100.默认100%小时.
光照时长:0~24*60分钟。默认8*60分钟。
为什么存在0强度和0时长?用户可以选择关掉所有灯光,打开外窗(箱体结构),让植物受外部光照照射。
光照传感器的作用?
①判断灯光是否故障。
②光照强度和光照时长为0的情况下,判断外窗是否打开? 没打开。则强行触发光照逻辑。
2.4 暖灯逻辑
寒冷区域的植物移植到热带,需要用户从外部降低温度。比如:放入地窖或者冰柜。
喜暖的植物(热带或者夏季生长的植物)移植在寒冷区域,或者寒冷季节。这个时候需要开启暖灯。
用户需要提前设置暖灯的参数:开关模式,其有三个值:常闭。常开,自动。
常闭:暖灯一直关闭。
常开:暖灯一直打开。
自动:自动模式下,需要提前设置一个目标温度。比如20°。
关闭状态下,当前温度 < 目标温度时开启。
开启状态下,当前温度 >= 目标温度+1° 时关闭。
3 设备相关参数
到这里,我们已经对培植机的工作逻辑有所了解,现在我们再回过头来总结一下在上面逻辑中我们所需要的参数。
参数名 | 值 | 含义 |
生长类型 | 旱生、陆生、沼生、水生、浮游 | 表示植物生长所需要的土、水环境。需要用户手动修改水层和土层。 |
浇水方案类型 | 默认、用户配置、恒湿 | 表示用户选择的浇水类型。 |
浇水频次 | 五天一次、四天一次、三天一次、两天一次、一天一次、一天两次 | 表示用户指定浇水方案的自动浇水的频次 |
浇水时长 | 3S、4S、5S、6S、7S、8S、9S、10S | 表示用户指定浇水方案的自动浇水的水量 |
目标湿度 | 20% ~ 90% | 表示用户指定恒湿浇水方案时的目标湿度 |
光照强度 | 0,或者 20~100% | 表示控制光照的强度 |
光照时长 | 0,或者 60~24*60分钟 | 表示控制光照的时长 |
暖灯模式 | 常闭、常开、自动 | 表示暖灯的开关逻辑 |
暖灯温度 | 20~40 | 表示暖灯在自动模式下的切换温度 |
目前,涉及到控制逻辑的参数就以上几个。还有一些其他参数,比如wifi SSID、wifi密码等,我们暂时不列出。大家一定要结合前文,仔细理解这些参数,我们的程序主逻辑,就是实现这些参数的含义。