Maker_kun 发表于 2024-10-24 00:05

【2024 DigiKey 创意大赛】二月柳絮大作战项目-05获取传感器SPS30传感器数据

本帖最后由 Maker_kun 于 2024-11-3 21:07 编辑

<p>SPS30传感器是Sensirion公司推出的一款光学颗粒物(PM)传感器,代表了该领域的一项技术突破。其测量原理基于激光散射,并结合了Sensirion的创新抗污染技术,确保了从首次使用到超过八年使用寿命期间的准确测量。</p>

<p> &nbsp;</p>

<p>SPS30传感器具有以下特点:</p>

<p><strong>高精度和长期稳定性:</strong>SPS30传感器利用先进的算法和抗污染技术,使其在长期使用过程中保持高精度和稳定性。 多接口支持:该传感器提供UART和I2C两种通信接口,适用于不同的应用场景。对于超过20厘米的连接电缆,建议使用UART接口以增强抗电磁干扰能力。</p>

<div style="text-align: left;"></div>

<p><strong>小型化设计:</strong>SPS30传感器体积小巧,尺寸仅为41 x 41 x 12 mm&sup3;,适合用于空间受限的应用场景,如壁挂式或紧凑型空气质量检测设备。</p>

<p><strong>应用广泛:</strong>SPS30传感器被广泛应用于空气净化器、暖通空调设备、需求控制通风系统、空调、空气质量和环境监测器以及智能家居和物联网设备等领域。</p>

<p><strong>认证与环保:</strong>SPS30传感器通过了MCERTS认证,并符合欧盟最新的环保标准,如ROHS和REACH指令,确保其绿色环保无污染。</p>

<p>SPS30传感器凭借其卓越的测量性能、长期稳定性、灵活的接口选择和广泛的应用领域,成为空气质量监测和控制领域的重要工具。</p>

<p>&nbsp;</p>

<p><strong>PM2.5即细颗粒物</strong>,是指空气动力学当量直径小于或等于2.5微米的颗粒物。这种颗粒物能够较长时间悬浮在空气中,并对空气质量及能见度产生重要影响。PM2.5的来源可以分为自然源和人为源。自然源包括风扬尘土、火山灰、森林火灾和海盐等;人为源则包括一次颗粒物(如燃煤烟尘、工业排放)和二次颗粒物(通过气体前体物的化学反应形成)。 PM2.5的化学成分复杂,主要包括可溶性粒子(如F-, Cl-, Br-, NH4+, Na+, K+等)、无机元素(如自然尘、金属元素)以及含碳物质(如有机碳OC、元素碳EC和多环芳香烃等)。这些成分使得PM2.5具有较高的毒性,长期暴露于高浓度PM2.5环境中会增加呼吸道疾病、心血管疾病和肺癌的风险。 在测量PM2.5时,常用的方法有重量法、&beta;射线吸收法、微量振荡天平法和光散射法。其中,光散射法因其测量速度快、灵敏度高而被广泛应用。 PM2.5对健康的影响主要体现在其能够深入肺部并进入血液系统,从而影响呼吸系统和心血管系统。它还可能吸附有机污染物和重金属,增加致癌和基因突变的风险。因此,控制PM2.5的浓度对于改善空气质量及保护公众健康至关重要。</p>

<p></p>

<p>&nbsp;</p>

<p>SPS30颗粒物激光散射检测工作原理:</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>将不同颗粒转换不同电信号:</p>

<p> &nbsp;</p>

<p>一致性超级强:</p>

<p> &nbsp;&nbsp;&nbsp;</p>

<p>&nbsp;</p>

<p>不同PM2.5的特性:</p>

<p> &nbsp;</p>

<p>空气质量与PM2.5颗粒物的关系:<br />
欧洲标准:</p>

<div style="text-align: left;"></div>

<p>&nbsp;</p>

<p>美国标准:</p>

<div style="text-align: left;"></div>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p> &nbsp;</p>

<p>官方库使用wire IIC通道,但是如果使用wire会占用LCD屏幕驱动</p>

<pre>
<code>void sensirion_i2c_init()
{
   Wire.begin();
}

void sensirion_i2c_release(void)
{
}

int8_t sensirion_i2c_read(uint8_t address, uint8_t *data, uint8_t count) {
    uint8_t readData;
    uint8_t rxByteCount = 0;

    // 2 bytes RH, 1 CRC, 2 bytes T, 1 CRC
    Wire.requestFrom(address, count);

    while (Wire.available()) {// wait till all arrive
      readData = Wire.read();
      if (rxByteCount &gt;= count)
            break;
    }

    memcpy(data, readData, count);

    return 0;
}

int8_t sensirion_i2c_write(uint8_t address, const uint8_t *data,
                           uint8_t count) {
    Wire.beginTransmission(address);
    Wire.write(data, count);
    Wire.endTransmission();

    return 0;
}
#endif /* SPS30_USE_ALT_I2C */</code></pre>

<p>&nbsp;</p>

<p>需要进一步修改官方库,进行wire1通道,修改官方库确实需要很多精力和时间</p>

<p>需要将wire更换成wire1即可</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>获取传感器数据:</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>参考文献:</p>

<p><a href="https://news.eeworld.com.cn/medical_electronics/2018/ic-news08168920.html" target="_blank">https://news.eeworld.com.cn/medical_electronics/2018/ic-news08168920.html</a></p>

<p><a href="https://ehs.uci.edu/enviro/air-quality/current-air-quality.php" target="_blank">https://ehs.uci.edu/enviro/air-quality/current-air-quality.php</a></p>

<p><a href="https://www.zhihu.com/question/20173158/answer/2001770330?utm_campaign=shareopn&amp;utm_content=group2_Answer&amp;utm_medium=social&amp;utm_psn=1832705139284262913&amp;utm_source=wechat_session" target="_blank">https://www.zhihu.com/question/20173158/answer/2001770330?utm_campaign=shareopn&amp;utm_content=group2_Answer&amp;utm_medium=social&amp;utm_psn=1832705139284262913&amp;utm_source=wechat_session</a></p>

<p>&nbsp;</p>
页: [1]
查看完整版本: 【2024 DigiKey 创意大赛】二月柳絮大作战项目-05获取传感器SPS30传感器数据