1、简单易用,可快速上手
2、流畅支持300个器件或1000个焊盘以下的设计规模
3、支持简单的电路仿真
4、面向学生、老师、创客
1、全新的交互和界面
2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计
3、更严谨的设计约束,更规范的流程
4、面向企业、更专业的用户
专业版 基于梁山派的环境检测仪
简介:基于梁山派的智能手持环境检测仪项目,具有温度、湿度、有害气体浓度、电量显示,亮度调节、数据异常报警、数据上传云端、小夜灯等功能。
开源协议: GPL 3.0
已参加:立创·开发板电子设计训练营
一、功能(原理)介绍
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站链接手持环境检测仪
加载中...
是否需要添加此工程到专辑?