基于梁山派的环境检测仪 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 基于梁山派的环境检测仪

简介:基于梁山派的智能手持环境检测仪项目,具有温度、湿度、有害气体浓度、电量显示,亮度调节、数据异常报警、数据上传云端、小夜灯等功能。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

已参加:立创·开发板电子设计训练营

创建时间: 2023-08-29 10:16:12
更新时间: 2023-10-16 20:05:06
描述

一、功能(原理)介绍

1.数据显示------1.69寸LCD显示屏

2.温度、湿度数据采集------AHT21传感器

3.有害浓度采集------AGS10传感器

4.电池充电及5V升压供电------TP5400充电芯片

5.数据上传云端------EC-01F  4G(NB-IOT)模块

6.数据异常报警------贴片蜂鸣器

7.小夜灯------1W LED灯珠

8.电量显示------电阻分压、ADC采集

9.从机显示------NF-03 2.4G模块

10.大气压数据采集------WF-183D

以上功能是在设计电路板的时候设计的,理论上都可以实现,但由于本人焊接技术不到位,导致气压传感器焊了两个都以失败告终,遂放弃;至于从机显示,由于手里仅有一块梁山派,且时间有限,将这一功能搁置了,其他功能均可实现。

 

 

 

 

 

 

二、硬件部分

 

1.屏幕显示电路

  屏幕使用是的1.69寸的LCD屏幕,分辨率为280x240,分辨率还是算比较高了,可以清楚的将内容显示出来。电路图中,信号线接梁山派的IO口,LEDA为屏幕背光正极,20欧姆电阻为限流电阻,LEADK为背光负极,需要接地,背光才能亮,才能看清楚屏幕上的内容;为了方便对屏幕进行亮度调节,在LEDK与地之间接了一个NMOS,用于后面进行pwn调光(亮度调节)。

 

 

 

2.TP5400充电及升压电路

  在有限的空间里,一般使用的是3.7V的软包锂电池,通常使用TP4056进行充电;而梁山派需要用5V供电,因此通常需要在3.7V的基础上进行升压,需要增加一个升压电路。而TP5400将电池升压和充电结合起来,外围电路也比较简单,因此采用TP5400充电电路。其中STDBY#和CHRG#充电指示灯,CHRG#代表的是充电中,为了节省空间和元器件,便省略了充电完成的提示灯,因此,熄灯则表示已充满。

 

 

 

3.有害气体浓度传感器电路

  这个电路比较简单,但根据手册上的内容知道,此传感器的工作电压为3.0正负0.1V,因此此传感器对电压有特定要求,不能直接将3.3V怼上去,不然传感器就要罢工了;这里使用一个肖特基二极管,产生0.3V左右的压降,刚好可以满足要求。

 

 

 

 

4.温湿度传感器电路

  采用I2C通信,为了保证总线正常工作,因此在信号线与电源之间接了上拉电阻。

 

 

5.蜂鸣器电路

  使用的无源蜂鸣器,利用pwm驱动mos管,进而驱动蜂鸣器(改变pwm的频率可以改变蜂鸣器的音调,无源蜂鸣器不能由直流3.3V驱动)

 

 

6.电压测量分压电路

  为了能清楚的了解到电池电量多少,就可以及时充电,避免因电池突然没电而失措;梁山派IO的采样精度是比较高的,可以满足采集电压的需求;同时由于IO口测量的电压不能超过3.3V,而电池电压满电为4.2V,因此需要对所测电压进行分压,使用两个10K电阻进行分压,分压之后最大电压为2.1V,满足测量要求。

 

 

 

7.开关电路

  由于分压电路测量的是电池电压,而拨动开关控制的是5V电压部分,也就是说即使关闭了5V开关,分压电阻也会消耗电池电量,这样可能导致下次使用时电池已经没电了;如果再增加一个拨动开关又会浪费空间,甚至比较麻烦,可能会关机时忘关,或者测量时忘开,非常不人性化;因此为了能达到分压电阻的开与关都与5V开关同步的目的,分压电阻与地之间加了一个NMOS,由5V开关控制,这样既能解决上面开关不方便的问题,同时比较节省空间。

 

 

 

8.小夜灯电路

  为了方便在某些需要灯光,但是又忘记带照明工具的情景;使用的为1W亮度的LED灯,其亮度胜于手机,甚至可与台灯娉美;根据供电需求知其需要3~3.3电压即可工作,可以采用5V供电,电阻分压的方法,但是这样会由于电流较大,导致电阻发热严重,需要大封装电阻,且根据欧姆定律知,电阻上会损失较多的能量,因此摒弃了这种方法,采用3.3V恒压供电,由于梁山派上的3.3DC降压给多路元件供电,且LED需要较大的电流,因此需要再增加一个降压电路,如下图所示。在LED与地之间接了NMOS,便于对LED灯进行PWM调光。(程序里设置了8个亮度,频率为10KHZ)

 

 

 

9.按键电路

  用于各个数据显示的查看,及对菜单的设定

 

 

 

 

10. 4G模块电路

   主要包括4G模组,卡槽,NF天线部分,其中的33PF电容,22Ω电阻,用于检测SIM卡是否存在,比较重要,不能省略。

 

 

 

 

11. 2.4G模组

    用于将数据传输至从机,在从机上查看。

 

 

 

 

12.气压传感器模块

  用于采集气压数据,使用串口通信。

 

 

 

 

 

 

三、软件部分

1.屏幕显示部分

  屏幕引脚初始化配置

 

  pwm背光函数,用于调节屏幕亮度

 

 

  汉字显示函数,显示对应大小的汉字,汉字由取模而来(如下图所示)

 

  图片显示函数(由取模软件而来,如下图所示)

 

 

 

 

2.温湿度传感器

    温湿度传感器初始化

  

   温度、湿度采集

 

 

4.按键部分

  按键初始化

    按键数据获取,若按键按下,对应标志位变为1

  按键标志获取函数

 

 

 

 

5.定时器定时按键扫描,电压采集

  定时器6初始化

 

  每20ms采集一次按键数据,每5s采集一次电压数据

 

 

6.数据上传云端

  4g模块引脚初始化,串口2初始化

 

  连接阿里云,开启订阅,为数据传输做准备

 

  若数据上传开关打开,则每隔一定时间进行数据上传,若断网,则自动进行重连

 

注:可能由于天线影响,将天线放在外壳外,可以使用,若置于壳内,可能会导致没有信号,数据上传失败!!!

 

 

7.蜂鸣器

    对应引脚pwm功能初始化

 

 

  蜂鸣器使用函数,在里面输入脉冲值和周期即可使用,改变其中任意一个值,均会导致频率发生变化。

 

 

 

8.LED亮度调节

    LED亮度调节也采用PWM调节方式,因此第一步仍是对引脚进行初始化,开启引脚复用功能

 

    pwm参数配置函数,主要配置频率,频率太低闪烁会比较明显,且对眼睛不友好,因此这里配置的参数和屏幕背光亮度调节参数相同,均为10KHZ

 

   LED亮度调节,调节的内容为timer_channel_output_pulse_value_config(TIMER2,TIMER_CH_0,pwmld);的占空比,即pwmld的大小

 

 

 

 

9.电压采集

  引脚配置及ADC初始化

 

   电压ADC采样及转换为相应百分比

 

 

10.主程序、菜单界面

    为了让界面看起来简约,“美观”,将显示界面进行优化,且便于人机交互,因此采用了类似于LVGL的菜单格式,由于本人太菜,没学会使用LVGL,因此使用了平替的手搓菜单,用标志位判断显示界面。

 

 

 

 

 

 

四、实物展示

  PCB正面

   PCB反面

 

 

 

 

 

演示视频B站链接手持环境检测仪

 

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

3D外壳.zip

15
2

手持环境检测仪(代码).zip

21
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP