“简易PM2.5在线监测仪”室内空气检测仪设计采用粉尘传感器检测空气污染程度,传感器把采集到的数据传送给嵌入式开发板,由内核为Cortex M3的处理器平台收集数据并进行处理,通过无线网络将数据发送到互联网,当污染指数超过一定范围,则触发警报,给出警示,提醒人们做出开窗,开动空气清洁器等适当的保护措施,等空气质量正常时,再回到办公室,可用手机短信控制设备,比如查询当前空气污染程度(短信返回),关闭语音报警(喇叭播放),打开语音报警等。也可以通过yeelink网址设置报警界限,可以发送报警微博,邮箱等。
硬件部分:
一、电源
大于5V
4.2V SIM908供电 TFT2.8寸背光供电 SYN6288供电
3.3V TFT2.8寸逻辑供电 STM32F103VCT6供电
二、模块资源表
GPS -- USART2(跳线帽)
SYN6288 -- USART1(跳线帽)
NRF24L01 -- SPI2(CS(PB12)、CE(PC4)、IRQ(PC5))
迷你SD卡 -- SDIO(4bit)
W25Q32 -- SPI1(CS(PA4))
AT24C02A -- 模拟I2C (SDA(PE0)、SCL(PE1))
2.8寸触摸-- 模拟SPI (IRQ(PE4)、MISO(PE2)、MOSI(PE3)、CLK(PE6)、CS(PE5))
2.8寸显示-- FSMC(16bit) CS(FSMC_NE1) RS(FSMC_A16)
红外接收管 -- DATA_IRQ(PA8)
迷你USB -- PA11、PA12
ISP下载(BOOT1 BOOT0选择)
JLINK(10pin常见)
IO全部引出来
注意一:SIM908电源搞了,其他没有问题,还有一点,GSM天线接个电感到地,用万用表测,短路,害得我焊-)拆-)焊,一个烙铁搞的。幸好那个SIM908东西质量还不错,不然140就完了。因为焊好电路板,我第一反应是用万用表测有没有短路,电源跟地必须第一个测,否则不测,一上电,芯片挂掉了~~~~)
注意二:第一次去打样(以前都是覆铜板,不懂很多),gerber文件忘记开窗盖油设置(因为嘉立创按照文件来),文件说明无效,不小心之一。第二,PCB画板没有考虑好,导致,TFT接口要加长。。不然jlink插不进去。。呵呵。机械参数搞不好。呵呵,其他暂时没有问题。
移植正点原子的代码(一个大死循环跑),比如GSM,GPRS,FLASH,I2C,FSMC.有些程序模块是寄存器,没有库的,我都移植成库滴,因为我学STM32买的是原子的mini版本学习的,对于各硬件模块都很熟,所以搭顺风车。代码基于MDK4.7x版本+3.5库+部分寄存器,因为有些地方用寄存器减少函数,检测参数,效率大大提高。
已经实现的功能:打电话,发短信,读短信,读号码,接电话,GPRS跟网络调试串口传输数据,GPS简单界面定位,利用网络调试串口上位机一直点击发送,无问题,一次发送只要不超过FIFO定义的缓冲区就OK,FIFO+超时检测是解析AT指令最好选择,不过原子的串口超时也不错,只不过没有拷贝缓冲区,可能会导致在解析数据,来中断。
1.TFT2.8寸(原子)硬件(FSMC总线)正常读写
2.FLASH(W25Q32)硬件正常读写
3.AT24C04硬件正常读写
4.迷你SD卡硬件正常读写(SDIO+FATFS)
5.语音模块正常。(目前还没有焊,因为要用串口1调试)
6.SIM908双模块正常
PM2.5在线监测仪演示视频:
电路城语:免费分享设计资料,不提供技术支持,请大家使用前验证资料的正确性!