PM2.5检测 -- PMS7003 串口测试

最近在搞 PM2.5 检测。用的是 PMS7003 传感器。BUT,之前没有接触过。需要一步一步的来。先测试其串口是否通信。上一篇文章,讲了 UART 回环测试,不是目的。主要是为了今天的测试。

一、首先看一下 PMS7003 的接口定义

下载:PMS7003颗粒物传感器中文说明书 V2.2


二、485接口电路图

232通信手册里将的很明白了。然后因为需要跟 DM368 部分接485通信。所以需要 max3485芯片。

电路图部分,参看:485通信自动收发电路 历史上最详细的解释


当单片机要发送数据的时候,控制CTRL为高电平,数据通过TXD发送出去。

当单片机要接收数据的时候,控制CTRL为低电平,数据通过RXD接收回来。


自动收发电路,就是不用单片机引脚CTRL,当数据进来的时候,数据会自动通过RXD到单片机,当需要发送数据时,自动通过TXD发送出去。也就是只需要连接单片机的RXD和TXD引脚就可以,无需用单片机引脚连接485芯片的DE RE引脚

三、UART 测试

用 232/485转换器和USB转串口数据线,将其和电脑相连。

因为 PMS7003 传感器只要上电就会发送数据。 所以将串口调试工具配置好端口号,选择十六进制显示。即可看到相关的数据输出。



现在证明了串口是通的,然后传感器是好的。接下来就是看传感器说明书,然后怎么在单片机和Linux下写测试代码

然后之前写过一篇关于 485 串口编程的文章,可供参考。

参看:UNIX再学习 -- RS485 串口编程


这里需要注意的是:

Pin2 - RE#:接收器输出使能 (低电平有效)

Pin3 - DE: 驱动器输出使能 (高电平有效)

是输入还是输出,配置高电平还是低电平,你一定要确认好哦。


再有就是485的NP引脚要接对哦,不然收到的数据是不对的。

(如果实在搞懵逼了,就把NP翻过来接试一下)



“简易PM2.5在线监测仪”室内空气检测仪设计采用粉尘传感器检测空气污染程度,传感器把采集到的数据传送给嵌入式开发板,由内核为Cortex M3的处理器平台收集数据并进行处理,通过无线网络将数据发送到互联网,当污染指数超过一定范围,则触发警报,给出警示,提醒人们做出开窗,开动空气清洁器等适当的保护措施,等空气质量正常时,再回到办公室,可用手机短信控制设备,比如查询当前空气污染程度(短信返回),关闭语音报警(喇叭播放),打开语音报警等。也可以通过yeelink网址设置报警界限,可以发送报警微博,邮箱等。 硬件部分: 一、电源 大于5V 4.2V SIM908供电 TFT2.8寸背光供电 SYN6288供电 3.3V TFT2.8寸逻辑供电 STM32F103VCT6供电 二、模块资源表 GSM -- USART3(跳线帽) 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在线监测仪演示视频: 电路城语:免费分享设计资料,不提供技术支持,请大家使用前验证资料的正确性!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聚优致成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值