用赛普拉斯 PSoC 模拟协处理器先锋套件设计高逼格鱼菜共生系统,从水族箱到水培植,一切都妥妥的!
项目简介
AMACS是一个利用赛普拉斯 PSoC 模拟协处理器的独立解决方案,用于持续监测与控制管理鱼菜共生系统。
准备材料:
硬件:
● 赛普拉斯 PSoC 模拟协处理器先锋套件 x1
● 超声波传感器 HC-SR04 ×1
● Adafruit DS18B20 防水数字温度传感器 ×1
● 数字式万用表 ELECTRODE PH 120-C ×1
● 光电传感器/浑浊度传感器 TSD-10 × 1
● 水流传感器/液体流量计控制开关 YF-S201 ×1
● 蜂鸣器 ×1
● 跳线 (通用型) × 1捆
软件应用程序和在线工具:
● 赛普拉斯 PSoC Creator 集成开发环境 (IDE)
● RealTerm: 串口/TCP终端软件
● Arduino IDE 开发工具
手工工具和制作机器:
● 热熔胶枪 (通用型)
鱼菜共生是指创造一个共生环境让传统水族箱的水产养殖和水培植(在水里培植植物)共同生长。在共生生态的系统中,鱼的排泄物可用作植物的养分,促进植物生长。与此同时,植物可以吸收鱼的排泄物,从而做到定期清理水质并循环利用于水产养殖。
AMACS鱼菜共生监测控制系统是一个一步到位的独立解决方案,采用的是赛普拉斯 PSoC 模拟协处理器 ARM M0+ ,能为鱼菜共生系统提供持续的监测、控制和维护。此系统可以监测鱼菜共生环境条件及其他因素,如水的 pH 值、电导率和温度、水流量、水族箱和生长池水位等。此外,系统更能自主控制水位和 pH 值水平,提早预测故障,一旦监测到水质不稳定、需要换水、断电或缺水等情况,系统就会发出警报。
要关注的参数:
● 水族箱水位及水栽培生长池的水位
● 水的 pH 值
● 水温
● 水的浑浊度
● 水流量
● 环境光条件
pH 值和浑浊度是需要持续监测的主要参数,根据这些参数的变化,如超出系统的容忍值,则会发出警报。
制作基础版鱼菜共生系统
下列图片所示为本项目制作的基础版鱼菜共生系统
首先找一个大的塑料容器用做生长池,放在木架上放的位置,再把玻璃水族箱放在下面。
在基础版的系统里,水培植生长池内需要安装一个机械钟罩式虹吸过滤器,然后在水族箱里加入一个水泵,令水与其他颗粒进行再循环,改善共生环境。
在生长池里安装了钟罩虹吸式过滤器后,就可以解决鱼菜共生系统的某些根本问题,例如:
● 在生长池底部开一个出水口,而不是顶部,同时保持最低水位
● 建立一个简单的排水维护机制
● 避免脏水/排泄物流回水族箱里
上图所示的是钟罩式虹吸过滤器。原理非常简单,可以维持生长池的水位。
安装传感器
现在要把所有传感器安装到系统里。
首先,把所有传感器放进系统里。放置的时候需要注意几点:不要把温度传感器放在加热器附近;pH 值传感器要与其他传感器分开;把浑浊度传感器放在水泵附近,有了足够的水循环,测量结果就会更准确。
把超声波传感器放在水族箱里任意一个角落,除了水以外不受任何物体干扰。用双面胶把传感器粘在表面上。
左上方:pH 值和电极传感器;
中上方:加热器;
右上方(圆形):浑浊度传感器;
水里左下角:Adafruit DS18B20 防水数字温度传感器(温度传感器);
左下角: 超声波传感器 HC-SR04(水位传感器)
唯一一个放在生长池里的传感器就是水位传感器。水位传感器放在水泵旁边,也可以放在其他地方,但要确保没有石头之类的障碍物。固定传感器之前,还要检查一下能否准确读取水位。
左边的圆形管:钟罩式虹吸过滤器;
左下角:水位传感器
可以看到生长池的右手边有一个进水口。所有传感器都接驳了电线,并通过Design Wire Resources引脚分配 GUI 的特定引脚定义连接至赛普拉斯的 PSoC 模拟协处理器。
为了不把复杂凌乱的电线露出来,可以将所有传感器的VSS 和GND分别连接至电路板的 VSS和GND ,而信号则需连接到通过固件定义好的特定管脚。可以用 5V DC 电源适配器为电路板供电。
固件编程
需要安装一个简单的固件,固件中需要加入各种传感器通信协议,以便完成读数并由控制器进行判定。
以下为项目所用的各种传感器的不同信号协议:
● pH 值传感器:Analog
● 水位测量传感器:Digital Echo and Trig pins
● 浑浊度传感器:Analog
● 温度传感器:1-wire协议
警报机制
如果没有做最后这一步,就达不到本项目的主要目标。当系统出现不稳定状况,例如,水的 pH 值变化超出安全值、系统缺水,或者由于共生生态系统的某些不稳定性而产生太多杂质,系统就会产生警报。此外,项目配置了一个蜂鸣器连接在面包板上,当环境条件超出一定量值,就会触发蜂鸣器。
数据记录
该步骤为可选步骤,可用作系统数据记录。
传感器数据通过MCU的Rx和Tx引脚传输。建议将TTL Rx和Tx分别连接到引脚。本项目使用的是PSoC的P4 [0] 引脚和引脚P4 [1] 分别作为Rx 和 Tx。