河北农业大学 李磊 梁润东 丁新飞 储相龙 谷伟乐 李朝亮
1.1.1 单片机型号选择
微型植物工厂采用STM32F103RCT6 单片机,该单片机为ARM 架构,具备成熟的开发生态环境应用广泛,时钟频率72Mhz,必要情况下可超频,拥有多个硬件IIC、SPI 和UART 通讯端口以及八个内部定时器,功耗低。
1.1.2 传感器选择
空气温湿度传感器SHT20,该传感器,通过内部MCU 将获取到的空气温湿度数值进行处理滤波然后以IIC 通讯方式将数据以数字量的形式直接上传到单片机,土壤温湿度传感器以串口通讯的方式,115200 的波特率与单片机进行通讯,将土壤温湿度数据上传单片机,光照强度OPT101 传感器,具备集成的硬件运算放大滤波电路,将光照强度转变为0- 3.3V 的模拟量,再通过单片机内部12 位ADC 进行A/D 转换,可得出实时光照强度数据,以上三个传感器具备低功耗、使用广泛、工作稳定的优点。
1.1.3 电机控制器选择
本系统需要水泵对土壤进行补水,风扇对工厂内部进行通风,所以选择廉价的L298N 电机驱动器,其控制精度满足本系统要求,且输出功率可达36W,反应速度快,控制逻辑简单,可长时间持续运转。
1.1.4 电源的设计
微型植物工厂采用太阳能电池板、可充电锂电池和12V 直流电源进行供电,三部分电源设计其优点在于,天气状况良好的情况下,太阳能电池板可保证系统正常运行的同时给锂电池进行充电,在阴天的时候锂电池进行工作,若持续阴雨天气,可接市电进行工作,由于一天之中太阳光光强的变化,太阳能电池板输出的电压波动变化幅度较大,采用升压再降压稳压电路,既保证输出电压稳定在12V 输出电流满足系统最大功率运行,在夜间太阳能电池板不能提供电源的时候,此时使用单片机内部ADC 附加外部电路对电压进行检测,太阳能电池板发电电压低于9V 后切断太阳能电池板的供电,采用锂电池或者市电进行供电,保证系统持续运行。
1.1.5 显示模块选择
使用7 引脚封装的OLED128*64 屏幕,其采用SPI 的通讯方式,具有极快的刷新速度,低功耗运行时间长工作稳定。
1.1.6 电路设计
控制部分和传感器供电电源部分使用7805 三端稳压芯片将12V 直流降压为稳定的5V 电压,5V 电压在负责给土壤温湿度传感器进行供电的同时,再通过两片AMS1117- 3.3V 并联稳压负责给单片机、SHT20、OPT101 以及OLED 屏幕进行供电,因为AMS1117- 3.3V 额定输出电流为500mA,不能满足后期对系统进行升级改进增加功能的要求,所以采用并联的方式提供足够供电能力。
1.1.7 电机选择
水泵电机选择常用直流12V385 有刷电机,该电机内阻小,减速组损耗低工作运行稳定,风扇选择9cm*9cm 12V 6W 散热扇,价格便宜,该系列风扇常用作电脑散热扇因此运行稳定使用时间长。
基于太阳能供电的微型植物工厂智能监控系统采用了三电源供电方式,保证系统稳定持续运行,以SHT20,土壤温湿度传感器、OPT101 对影响植物生长状况的各项环境参数进行检测,并通过STM32 对采集到的数据进行冒泡法滤波处理,将各项参数与之前设定好的阈值进行比较,通过定时器输出PWM对通风扇转速进行控制,应用PID 算法对室内空气加热棒进行控制,和实时光照补充,以及I/O 口输出高低电平控制8050NPN 行三极管导通和截止再由三极管控制继电器,三极管对水泵进行开关,这里的不采用I/O 直接控制继电器,防止使用过程中电机或者继电器出现故障反向电压击穿单片机。
3.1.1 冒泡法滤波
冒泡法是目前最常用的效率较高的数据初步处理方法,程序设计中采用冒泡法对空气温湿度数据、土壤温室度数据、光照强度数据,十个一组进行冒泡法排序,去掉十个数据中的最大值最小值,然后再求剩余八组数据的平均值,优点在于:本身数据通过传感器内部电路进行处理就比较稳定,再上传到单片机进行冒泡法排序滤波得到的数据更加接近于此时环境的真实状态,且冒泡法排序占用单片机资源少,算法简单效率高,不会影响系统的反应速度,保证系统实时处理能力,且经过滤波后增加了系统的使用寿命,消除了数据出现的波峰和波谷。
3.1.2 PID 算法
微型植物工厂顾名思义最重要的就是像工厂一样持续稳定的运行,该系统采用基于单片机系统的PID 算法,PID 分别为比例、微分、积分,比例保证了系统的反应速度,I、D 共同决定了系统的运行精度,该算法保证工厂内部各项环境维持在植物生长最佳范围内,其中对风扇风速的控制采用PD 算法其优势在于反应速度快,且与SHT20 传感器组成闭环控制,保证室内空气湿度在可控范围内,加热棒采用PI 算法进行控制,虽然PI 算法的反应速度较PD 慢,但是其控制精度高,能保证植物始终处于最佳生长温度范围内。光强控制方面直接采用比例算法与OPT101 反馈的光强数据形成闭环控制,保证植物的光合作用处于最高效的状态。
软件部分的设计包括以下几个部分:OLED 屏幕底层驱动程序搭建、单片机定时器配置程序搭建、软件IIC、软件SPI 和硬件串口通讯配置程序搭建、SHT20 和土壤传感器配置程序搭建、单片机内部12 位ADC 配置程序搭建、单片机看门狗底层配置设计,看门狗用于运行过程中监视程序状态,系统出现异常,停止程序运行,对系统进行重启,如果重启后再次出现错误,将报警通知技术员解决。
底层代码采用HAL 库进行编写,HAL 库是ST 公司推出的目前在STM32 系列单片机上广泛应用的固件库,对单片机内部寄存器包括定时器、I/O 口、串口、A/D 转换初始化、看门狗配置初始化可直接采用官方退出的CubeMX 进行图形化配置,其底层代码逻辑性强、可读性高、可移植性强,节省了大量的底层软件设计时间,在底层代码搭建完成后,参照网上Github、CSDN 等诸多电子设计开发开源资料,对上层逻辑控制部分进行设计、编程、调试。
整个模型分成四部分:第一部分为欧标2020 铝型材搭建50cm*30cm*40cm 框架,框架之间以亚克力板作为透明挡板,既可以直接观察植物的生长状况;第二部分为核心控制部分,采用自行设计PCB 板构建,PCB 上包括单片机、空气温湿度传感器SHT20、土壤温湿度传感器、稳压模块、显示屏幕等;第三部分为电机及电机驱动部分:包括IRF3205 大功率MOS 管、8050NPN型三极管、L298N 电机驱动,风扇、水泵;第四部分为电源部分:其中包括太阳能电池板、12V 可充电锂电池、市电转12V 稳压直流电源。
经过实际实验运行监测,本文中基于太阳能供电的微型植物工厂智能监控系统方案可行,且工作运行稳定,以ARM 架构的32 位单片机为控制核心的结合各种传感器构成了该系统。能够在模型内部空气温度升高的时候,及时打开通风扇进行通风降温,在土壤含水量低于阈值时打开水泵,进行滴灌,在外界温度降低时,加热棒和通风扇结合共同维持系统的温度处于植物生长发育的最佳范围,并随着外界光强的变化,模型内的LED 灯通过单片机对占空比的调整达到控制补光的效果,使植物处于最佳的光合作用状态。该系统硬件可靠耐用,软件全面能自我调整,整体适应性强。