空氣質量檢測對于健康和安全至關重要,在教室和其他教育場所等特定區(qū)域甚至是強制性要求。不過對開發(fā)人員而言,空氣傳感器系統(tǒng)的設計可能問題重重??諝赓|量傳感器在設置期間往往看起來很不穩(wěn)定,使用時也經(jīng)常漂移現(xiàn)象。
Amphenol Advanced Sensors 提供的空氣質量評估綜合套件可化解上述挑戰(zhàn),讓開發(fā)人員能夠抽出身來,專注于空氣質量應用而不是低層次的檢測功能。
空氣質量差帶來的影響
空氣質量差會給健康和安全帶來諸多影響。二氧化碳 (CO2) 和灰塵濃度是空氣質量的兩大主要決定因素,并且已知會產生顯著的影響。
CO2 的血濃度在很大程度上控制了呼吸速率。CO2 濃度升高會導致呼吸速率和心率加快,血壓上升,并增加血管舒張。有害健康的 CO2 濃度有一些早期指標,包括分別由外周血管和腦血管舒張引起的出汗和頭疼現(xiàn)象。CO2 濃度升高對中樞神經(jīng)系統(tǒng)的影響可能是潛伏的,表現(xiàn)的癥狀包括疲乏、困倦,直至抽搐。
在典型的室內環(huán)境中,即使 CO2 濃度遠低于產生顯著影響的濃度,也會導致室內人員工作表現(xiàn)下降和容易分神。因此,許多校區(qū)會在校舍的通風系統(tǒng)中強制使用 CO2 監(jiān)測,這絲毫不足為奇。
CO2 濃度上升會對生理系統(tǒng)產生廣泛的影響,同時,灰塵和其他顆粒物 (PM) 由于對呼吸系統(tǒng)產生影響,因而會增加疾病的發(fā)病率和死亡率。PM10 顆粒(2.5 到 10 微米 (μm))和 PM2.5(小于 2.5 μm)顆粒很小,足以深入呼吸系統(tǒng)內部。個人即使僅僅在這類顆粒濃度較高的環(huán)境中待上幾個小時,也可能顯現(xiàn)出明顯的呼吸和循環(huán)系統(tǒng)癥狀,需要入院就診。如果長時間身處其中,就會增加循環(huán)和呼吸類疾病導致的死亡率,長此以往還會增加肺癌導致的死亡率。更糟糕的是,世界衛(wèi)生組織發(fā)現(xiàn),根本不存在“…不會產生不良健康影響的安全曝露水平或閾值”。1
傳感器挑戰(zhàn)
考慮到高 CO2 和 PM 濃度帶來的重大影響,空調、空氣凈化器和其他產品中所用的嵌入式空氣質量傳感器面臨的市場機遇不斷擴大。然而開發(fā)這類系統(tǒng)可能頗具挑戰(zhàn)性。即使是對其他傳感器類型有著豐富經(jīng)驗的開發(fā)人員也會發(fā)現(xiàn),空氣質量傳感器因其特殊的貼裝、屏蔽和校準需求,可能令人難以掌控。
Amphenol 的空氣質量評估套件 AAS-AQS-UNO-RH-CO2 旨在化解以上挑戰(zhàn),為快速開發(fā)這類系統(tǒng)提供完整的硬件和軟件平臺。該套件圍繞 Arduino 兼容型板構建,提供了小型顯示屏和多個 Telaire/Amphenol 傳感器,包括該公司的 SM-PWM-01C 灰塵傳感器、T6713 CO2 傳感器和 T9602 濕度及溫度傳感器。傳感器和顯示屏均通過傳感器擴展板連接到主板(圖 1)。
圖 1: Amphenol 空氣質量評估套件包括通過傳感器擴展板連接到灰塵傳感器(板右側)的 Arduino 兼容型板、顯示屏、CO2 傳感器(左側),以及濕度/溫度傳感器(包扎式電纜);通過一個 USB 接口提供到主機系統(tǒng)的簡單電纜連接(左下角)。(圖片來源: Amphenol)
在軟件端,Amphenol 的空氣質量軟件包基于 Arduino 軟件庫構建,可提供高層次空氣質量應用的基礎。
開發(fā)人員可使用隨套件提供的全部傳感器或僅使用其中幾個傳感器來對空氣質量傳感器設計進行評估。工程師在開發(fā)用于空調、空氣凈化器或煙霧檢測器的空氣質量傳感器系統(tǒng)時,可能會將其焦點局限于 PM 檢測。用于評估灰塵傳感器設計時,Amphenol 還提供了 AAS-AQS-UNO 套件,該版本的套件包含相同的 Arduino 兼容型板、傳感器擴展板和顯示屏,但僅包含 SM-PWM-01C 灰塵傳感器。
PM 檢測
不論單獨使用還是與其他傳感器組合使用,SM-PWM-01C 灰塵傳感器都旨在提供 PM 檢測的直接替代解決方案。該器件集成了檢測細小顆粒所需的全部元器件,包括穩(wěn)壓器、放大器、靈敏度控制子系統(tǒng)和氣流室(圖 2)。
圖 2: Amphenol SM-PWM-01C 灰塵傳感器是一個完整的信號處理系統(tǒng),它對通過的顆粒進行紅外檢測,以生成對應小顆粒 (P1) 和大顆粒 (P2) 的脈沖寬度調制信號。(圖片來源: Amphenol)
在傳感器的灰塵檢測室內,紅外光發(fā)射二極管 (IR LED) 向通過的灰塵顆粒發(fā)出紅外光。匹配的光電二極管檢測反射的 IR,信號路徑則將原始檢測器的輸出轉換為一對采用脈沖寬度調制 (PWM) 的輸出流。在檢測室內,傳感器使用將自身溫度升高 40°C 以上的電阻器,以形成恒定的空氣對流。因此需要將灰塵傳感器安裝在垂直位置(如圖 1 所示)。
空中懸浮顆粒的大小不一。例如灰塵和花粉顆粒的平均大小約為 20 μm,而香煙的顆粒大小約為 1 μm。如前所述,不同大小的顆粒都會帶來相應的健康問題。2.5 μm 及以下的顆粒尤其引人關注,因為這類顆粒能夠穿透末端支氣管直抵肺泡,有可能妨礙紅血球攜帶氧氣的能力。于是,灰塵傳感器開發(fā)人員找到了評估顆粒大小的一項關鍵要求。
盡管 SM-PWM-01C 灰塵傳感器無法對單獨的顆粒計數(shù),但它提供了一種方法,利用其 P1 和 P2 輸出端口的 PWM 波形轉換來檢測不同相對大小的顆粒(圖 3)。在每次輸出時,一個有源低電平信號代表檢測到一個顆粒。通過在軟件中比較 P1 和 P2 的轉換時間,工程師可以估算相對顆粒大小。
圖 3: Amphenol SM-PWM-01C 灰塵傳感器的 P1 和 P2 PWM 輸出在檢測到顆粒時轉換為低電平,從而實現(xiàn)了借助一種簡單的解決方案來估算局部環(huán)境內顆粒物的相對大小和濃度。(圖片來源: Amphenol)
顆粒密度
顆粒大小當然不是 PM 檢測唯一關注的指標。高濃度的 P10 和 PM2.5 可能給發(fā)病率帶來直接影響?;覊m傳感器的 PWM 信號提供了一種簡單、有效的方法來確定相對濃度。Amphenol 將低脈沖占有 (LPO) 因數(shù)定義為每個輸出信號低于相應的整體測量窗口的時間百分比。因此,根據(jù)圖 3,P1 LPO = ∑(T1+T2+…+T8)/Top。Amphenol 利用自己的測試設施,演示了 LPO 與灰塵濃度之間的單調遞增關系(圖 4)。
圖 4: Amphenol SM-PWM-01C 灰塵傳感器輸出轉換為由 Amphenol 確定的具體灰塵濃度值。(圖片來源: Amphenol)
在其示例軟件包中,Amphenol 提供了用于確定濃度的兩種不同設計方案。在一種方案中,軟件示例演示了使用主循環(huán)直接對 PWM 輸出流中的轉換數(shù)量進行計數(shù)。另一種方案則提供了能夠與其他軟件操作配合的更為靈活的中斷驅動方法(列表 1)。在后一示例中,軟件使用 PinChangeInterrupt 庫來實現(xiàn)一個與 Arduino 中斷隔離的簡單中斷鏈。
// Assign your channel in pins
#define PM10_IN_PIN 8 //input for PM10 signal, P2
#define PM2_IN_PIN 7 //input for PM2 signal, P1
// Assign your channel out pins - built in LED is 13
#define PM10_OUT_PIN 3
#define PM2_OUT_PIN 13
// using the PinChangeInt library, attach the interrupts
// used to read the channels
attachPCINT(digitalPinToPCINT(PM10_IN_PIN), calcPM10, CHANGE);
attachPCINT(digitalPinToPCINT(PM2_IN_PIN), calcPM2, CHANGE);
// simple interrupt service routine
void calcPM10()
{
// if the pin is low, it’s a falling edge of the signal pulse, so let’s record its value
if (digitalRead(PM10_IN_PIN) == LOW)
{
ulPM10_Start = micros();
}
else
{
// else it must be a rising edge, so let’s get the time and subtract the time of the rising edge
// this gives use the time between the falling and rising edges i.e. the pulse duration.
unPM10_InShared = (uint16_t)(micros() - ulPM10_Start);
// use set the PM10_ flag to indicate that a new PM10_ signal has been received
bUpdateFlagsShared |= PM10_FLAG;
}
}
void calcPM2()
{
if (digitalRead(PM2_IN_PIN) == LOW)
{
ulPM2_Start = micros();
}
else
{
unPM2_InShared = (uint16_t)(micros() - ulPM2_Start);
bUpdateFlagsShared |= PM2_FLAG;
}
}
列表 1:Amphenol 軟件包的這一局部片段演示了用于確定灰塵濃度的中斷驅動方法的設計方案。(代碼來源: Amphenol)
CO2 檢測
與 Amphenol 灰塵檢測器一樣,IR 檢測也是 Amphenol T6713 CO2 傳感器的核心功能。但 T6713 是一個非分散紅外 (NDIR) 傳感器,其測量的是傳感器室內空氣中的 CO2 特征波長的吸收,而不是測量反射。依據(jù)此采樣方法,只需讓環(huán)境空氣擴散到其檢測室即可。因此,對習慣獲得直接、精確的結果的設計人員而言,這些器件可能看起來有些怪異。
操作 CO2 傳感器的主要挑戰(zhàn)之一是它們很容易出現(xiàn)漂移。即便用最好的元器件和設計方法構建而成,由于元器件的正常老化(尤其是其 IR 光源),任何氣體傳感器都會出現(xiàn)漂移。在過去,重新校準需要現(xiàn)場工程師以物理方式,通過緊密的管接頭將傳感器連接到氣體導管,來大幅增加此類傳感器的總體生命周期成本。
Amphenol 使用專有的自動背景校準 (ABCLogic) 機制避免了這一手動重新校準的要求。當在 NDIR CO2 傳感器中集成的 MCU 上運行時,ABCLogic 算法會收集過去 14 天內每天最低的 CO2 濃度水平。由于 CO2 濃度會隨著時間的推移逐漸恢復到外部空氣濃度,因此該算法取這些最小濃度作為基準讀數(shù)。它會忽略可能出現(xiàn)的離群值(即使房間連續(xù)幾天內被通宵達旦占用時亦如此)。然后,該算法會分析上述每日樣本并糾正傳感器校準,以計入外部空氣預期基準之上任何一致的細小變化(或漂移)。
這一自校準功能被證明在剛剛完成安裝后極為有效。任何使用擴散采樣的 NDIR CO2 傳感器對于搬運、安裝環(huán)境的特定性質和安裝過程都特別敏感。安裝期間,現(xiàn)場工程師即使在傳感器附近進行普通呼吸,也可能會影響讀數(shù),需要幾天時間才能復原。事實上,在同一空間內安裝多個 CO2 傳感器也可能產生不同的結果。但憑借 Amphenol 的 ABCLogic 算法,傳感器能夠自行糾正,從而長期顯示一致的結果(圖 5)。
圖 5: 安裝時,由于安裝過程(第 1 天)中的應力和條件,即使相同的 CO2 傳感器(在此顯示為不同顏色的線條)也可能出現(xiàn)漂移,但 Amphenol 專有的 ABCLogic 算法可對傳感器進行自校準,以逐漸恢復精度。(圖片來源: Amphenol)
在傳感器系統(tǒng)設計中,工程師可按各種輸出模式使用 Amphenol T6713 CO2 傳感器。該器件可設為生成與傳感器范圍成正比的 PWM 輸出。它還支持 UART 和 I2C 接口模式,因此設計人員能夠使用簡單的標準連接連接到主機 MCU。該器件將 Modbus 協(xié)議用于 UART 和 I2C 通信。在 I2C 模式下,它采用 I2C 格式封裝消息,而不是使用串行線路協(xié)議。該消息格式自身非常簡單,根據(jù)請求塊和響應塊,將基本函數(shù)代碼和相連字節(jié)用于相應的地址、寄存器或數(shù)據(jù)(圖 6)。
圖 6: Amphenol T6713 CO2 傳感器在請求(頂部)和響應中使用了一種簡單的消息格式,只需幾行軟件便可實現(xiàn)傳感器操作。(圖片來源: Amphenol)
#define ADDR_6713 0x15 // default I2C slave address
byte data[6];
int CO2ppmValue;
void GetCO2PPM()
{
// start I2C
Wire.beginTransmission(ADDR_6713);
Wire.write(0x04); Wire.write(0x13); Wire.write(0x8B); Wire.write(0x00); Wire.write(0x01);
// end transmission
Wire.endTransmission();
// read report of current gas measurement in ppm
delay(2000);
Wire.requestFrom(ADDR_6713, 4); // request 4 bytes from slave device
data[0] = Wire.read();
data[1] = Wire.read();
data[2] = Wire.read();
data[3] = Wire.read();
// Serial.print("Func code: "); Serial.println(func_code);
// Serial.print("byte count: "); Serial.println(byte_count);
// Serial.print("MSB: "); Serial.print(data[2]); Serial.print(" ");
// Serial.print("LSB: "); Serial.print(data[3]); Serial.print(" ");
CO2ppmValue = ((data[2] & 0x3F ) << 8) | data[3];
//Serial.print(ppmValue);
//return ppmValue;
}
列表 2: Amphenol 軟件包中的這一函數(shù)使用標準 Arduino Wire 庫來訪問 CO2 傳感器,并使用傳感器的簡單消息格式讀取結果。(代碼來源: Amphenol)
最后,T9602 濕度和溫度傳感器在一個 IP67 模塊中集成了 ASIC、EEPROM 和電容式聚合物傳感器。內置系統(tǒng)可提供溫度補償,以實現(xiàn) ±2% 的相對濕度測量精度,并在其 -20°C 至 70°C 的工作范圍內實現(xiàn) ±0.5°C 的精度。與 T6713 CO2 傳感器一樣,T9602 也提供了多個接口選項,包括 I2C 和脈沖密度調制 (PDM) 輸出。借助該器件高水平的集成和簡單的接口選項,開發(fā)人員可輕松地在設計中部署該器件。在軟件端,開發(fā)人員使用相同的簡單 Arduino Wire.write() 和 Wire.read() 命令(如列表 2 所示)從 T9602 讀取數(shù)據(jù)和將數(shù)據(jù)寫入其中。
盡管對多數(shù)開發(fā)人員而言,T9602 可能代表了更為熟悉的檢測范式,但評估套件的硬件和軟件讓灰塵和 CO2 檢測變得同樣簡單易行。該套件基于廣泛使用的 Arduino 軟件平臺構建而成,因此可協(xié)助開發(fā)人員在通用的環(huán)境中輕松開展工作。
總結
空中懸浮顆粒物和過高的 CO2 濃度對健康和安全具有短期和長期影響,因而持續(xù)引發(fā)人們的關注。產品制造商希望借助空氣質量檢測功能滿足這一需求,但工程師們發(fā)現(xiàn)其面臨著灰塵和 CO2 測量獨有的諸多挑戰(zhàn)。
憑借 Amphenol 的空氣質量評估套件,工程師可以利用精密的氣體傳感器來處理這些低層次的細節(jié)。反過來,工程師可以轉而專注于高層次的空氣質量應用。
-
氣體傳感器
+關注
關注
14文章
542瀏覽量
37697 -
Arduino
+關注
關注
188文章
6469瀏覽量
187113
發(fā)布評論請先 登錄
相關推薦
評論