查看: 6538|回复: 17

[原创] K64玩转夏普PM2.5传感器

[复制链接]
  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
    发表于 2016-3-1 19:44:41 | 显示全部楼层 |阅读模式
         最近调研一下PM2.5传感器,于是某宝淘一个夏普GP2Y1010AU0F,可以用作粉尘,PM2.5传感器,等了几天终于到货,开始耍起。
    首先简单介绍下传感器,原理是一个红外发光二极管(IRED)和光电子晶体管对角布置在该装置,它可以有效的检测非常细的颗粒,像攻城狮
    必备的香烟粉尘有明显效果。

    夏普PM2.5传感器

    夏普PM2.5传感器

                                                                                                            图1 夏普PM2.5传感器
      附赠配套150ohm的电阻和220uF的电容,又省心了不少。

    引脚定义

    引脚定义

    图2  引脚定义

       接下来进行焊接工作,如下图所示

    接线方式.png

    图3    硬件焊接示意图

    剩下的难点就是驱动脉冲了

    驱动脉冲

    驱动脉冲

    图4  驱动脉冲

    周期10ms,峰值时间0.32ms,前段时间正好K64 mqx玩的飞起,就大材小用了。分享代码如下


    1 设置两个回调函数的周期
    #define HWTIMER2_PERIOD     10000 //    10ms
    #define HWTIMER1_PERIOD     320     //    0.32ms

    2.定义两个回调函数的定义
    void hwtimer1_callback(pointer p)
    {
       lwgpio_set_pin_output(BSP_PTE24,LWGPIO_VALUE_HIGH);
    }

    void hwtimer2_callback(pointer p)
    {
           lwgpio_set_pin_output(BSP_PTE24,LWGPIO_VALUE_LOW);
           hwtimer_set_period(&hwtimer1, BSP_HWTIMER1_SOURCE_CLK, HWTIMER1_PERIOD);
           hwtimer_callback_reg(&hwtimer1,(HWTIMER_CALLBACK_FPTR)hwtimer1_callback, NULL);
        /* Waiting for semaphore from callback routine */
        hwtimer_start(&hwtimer1);
          _lwsem_wait(&job_done);
        /* Deinitialization of hwtimers */
        _lwsem_destroy(&job_done);
    }

    3.主TASK调用hwtimer_callback_reg(&hwtimer2,即可。


    主要思路:每隔10ms调用回调函数2,在回调函数中每隔0.32ms将GPIO置低。跑了MQX,杀鸡用牛刀了。


    示波器看下K64的输出时序正确,就可以点根烟看粉尘互感器的电压波形了~~




    评分

    参与人数 1NXP金币 +15 收起 理由
    小七 + 15 赞一个!

    查看全部评分

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-12 00:23
  • 签到天数: 745 天

    连续签到: 1 天

    [LV.9]以坛为家II

    27

    主题

    1万

    帖子

    26

    金牌会员

    Rank: 6Rank: 6

    积分
    6868
    最后登录
    2020-7-15
    发表于 2016-3-1 21:51:55 | 显示全部楼层
    夏普GP2Y1010AU0F是不是要进行标定?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
     楼主| 发表于 2016-3-2 09:09:01 | 显示全部楼层
    lising 发表于 2016-3-1 21:51
    夏普GP2Y1010AU0F是不是要进行标定?

    是的,网上有参考函数
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-9-17 17:18
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    26

    主题

    394

    帖子

    0

    高级会员

    Rank: 4

    积分
    969
    最后登录
    2019-10-9
    发表于 2016-3-2 10:20:55 | 显示全部楼层
    很不错的分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-12 00:23
  • 签到天数: 745 天

    连续签到: 1 天

    [LV.9]以坛为家II

    27

    主题

    1万

    帖子

    26

    金牌会员

    Rank: 6Rank: 6

    积分
    6868
    最后登录
    2020-7-15
    发表于 2016-3-2 11:14:24 | 显示全部楼层
    very333 发表于 2016-3-2 09:09
    是的,网上有参考函数

    是要到计量检定单位标定?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
     楼主| 发表于 2016-3-2 13:37:08 | 显示全部楼层
    本帖最后由 very333 于 2016-3-2 13:39 编辑
    lising 发表于 2016-3-2 11:14
    是要到计量检定单位标定?

    暂时只调研到电路调通,验证:1 有微小颗粒如烟雾 会测得电压值增大  2 用纸张 全部挡住  会得到电压一个最大值 约为3.5V左右。至于详细PM2.5值与电压的关系建议参考以下资料:
    http://www.ithao123.cn/content-4641929.html
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-12 00:23
  • 签到天数: 745 天

    连续签到: 1 天

    [LV.9]以坛为家II

    27

    主题

    1万

    帖子

    26

    金牌会员

    Rank: 6Rank: 6

    积分
    6868
    最后登录
    2020-7-15
    发表于 2016-3-2 14:14:23 | 显示全部楼层
    very333 发表于 2016-3-2 13:37
    暂时只调研到电路调通,验证:1 有微小颗粒如烟雾 会测得电压值增大  2 用纸张 全部挡住  会得到电压一个 ...

    之前也有制作的打算,联想到DS18B20制作的温度计可以和单位经检定的温度计比对,但PM2.5就没这个条件了。谢谢
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
     楼主| 发表于 2016-3-2 14:24:13 | 显示全部楼层
    lising 发表于 2016-3-2 14:14
    之前也有制作的打算,联想到DS18B20制作的温度计可以和单位经检定的温度计比对,但PM2.5就没这个条件了。 ...

    测试一下还是不错的,做成成品必须加以人工校正算法,物联网方面可能有这方面的需求。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-12 00:23
  • 签到天数: 745 天

    连续签到: 1 天

    [LV.9]以坛为家II

    27

    主题

    1万

    帖子

    26

    金牌会员

    Rank: 6Rank: 6

    积分
    6868
    最后登录
    2020-7-15
    发表于 2016-3-2 14:33:40 | 显示全部楼层
    very333 发表于 2016-3-2 14:24
    测试一下还是不错的,做成成品必须加以人工校正算法,物联网方面可能有这方面的需求。 ...

    传感器多少钱入的?也想弄个玩玩。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2016-3-2 15:16:47 | 显示全部楼层
    非常好的应用型文章,感谢楼主的分享!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-23 03:18 , Processed in 0.107814 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表