|
|
以下介紹的這個方法是用沒有 ADC 功能的芯片來檢測模擬量,采集溫度:
1. 溫度檢測電路圖 :
2. 溫度檢測步驟 :
第一步:放電
P85 和 P86 設(shè)置為高阻態(tài), P87 輸出“1”,電容放電
第二步:測標(biāo)準(zhǔn)電阻
P85 和 P87 設(shè)置為高阻態(tài), P86 輸出“0”,電容充電,并對充電時間計時
計時功能說明:計時最小時基為 30US,用定時器中斷來實現(xiàn)。每 30US 中斷一次,
計時器+1。 計時器長度=16BIT, 高字節(jié)的 BIT4 代表溢出位。 所以實際有效長度為 12 位,
超出則判為溢出,可能是被測電阻開路和電容短路等故障引起的。
第三步:放電
P85 和 P86 設(shè)置為高阻態(tài), P87 輸出“1”,電容放電
第四步:測溫度電阻
P86 和 P87 設(shè)置為高阻態(tài), P85 輸出“0”,電容充電,并對充電時間計時
計時功能說明:(同第二步)
第五步:計算電阻比率
計算公式:
電阻比率=溫度電阻÷標(biāo)準(zhǔn)電阻
=溫度電阻充電時間÷標(biāo)準(zhǔn)電阻充電時間
第六步:查表求溫度
根據(jù)電阻比率查表求溫度攝氏值
為了提高查表時的分辨率,在上一步驟計算比率時應(yīng)該將比率值乘以一定系數(shù)(在本
項目中該系數(shù)=256*64=16384).在表格中的數(shù)據(jù)也應(yīng)該同步乘以該系數(shù)
第七步:溫度單位轉(zhuǎn)換
如果是溫度單位=華氏值,則將攝氏值轉(zhuǎn)化為華氏值;否則跳過
溫度轉(zhuǎn)換公式:
華氏值 = 攝氏值×1.8+32
攝氏值 = (華氏值-32)÷1.8
第八步:數(shù)字濾波
采用遞推中位平均濾波方法:保留最新 10 個采樣值,去掉一個最大值,去掉一個最小
值,剩余 8 個采樣值取平均數(shù)
|
|