標(biāo)題: [原創(chuàng)]細(xì)說 RC 式測(cè)溫電路 [打印本頁]

作者: hfbjjs    時(shí)間: 2011-1-20 00:33
標(biāo)題: [原創(chuàng)]細(xì)說 RC 式測(cè)溫電路

細(xì)說 RC 式測(cè)溫電路

網(wǎng)絡(luò)上經(jīng)常遇見使用單片機(jī)普通 I/O 口測(cè)量溫度的文章,有些還有附件給出源程序.------應(yīng)該感謝原作者的無私與勞動(dòng)!
美中不足的是,這種應(yīng)用,實(shí)際有很多細(xì)節(jié)需要考慮的.如果隨隨便便就去模仿,可能不會(huì)得到很好的結(jié)果.
這種測(cè)量方式,最早見于 PIC 的示例程序,也只有例如 PIC 一樣特性的端口,進(jìn)行這種測(cè)量才會(huì)比較好.如果使用 51 單片機(jī),則由于 51 的端口特殊性,反而不好用.
常見的 EM78P,HT,SN 等芯片,端口特性基本與 PIC 的吻合,因此,更加廉價(jià)的項(xiàng)目就變得更加多機(jī)會(huì)!
電路通常如下:


實(shí)際上,也可以這樣做的:


電路的工作原理很簡(jiǎn)單,第一個(gè)電路,是對(duì)完全放電后的電容器進(jìn)行充電,第二個(gè)電路,也是對(duì)完全放電后的電容器充電!
電路中的三個(gè)端口,最好都是雙向端口,可以分別工作在輸入,輸出H,輸出L.而作為輸入狀態(tài)使用時(shí),千萬不能使用內(nèi)部上拉!
端口 P2 最好具有施密特觸發(fā)特性,它往往比普通端口的動(dòng)作更加可靠!而且動(dòng)作閥值會(huì)更大,這就會(huì)有利于增加測(cè)量讀數(shù)和提高分辨力.
P2 是檢測(cè)電容器上電壓是否越過翻轉(zhuǎn)閥值的端口,如果需要使用外部中斷功能,那么,選擇端口時(shí)就要更加注意考慮.----例如:SN2501B 的 FP00.
同時(shí),P2 又是電容器放電的只要通道,通常中間要串聯(lián)一只 100 歐姆左右的保護(hù)電阻.(圖上省略了).保護(hù)端口不會(huì)損壞!
測(cè)量電容器放電可以使用的方法有: 程序指令累加計(jì)數(shù),只要端口沒有越過翻轉(zhuǎn)閥值,就不停地+1,直到端口翻轉(zhuǎn)為止.它占用主程序的運(yùn)行時(shí)間,甚至可能影響顯示!因此,需要盡量提高系統(tǒng)的晶體頻率!
也可以利用外部中斷配合定時(shí)器來進(jìn)行,這樣,主要工作就交給系統(tǒng)自動(dòng)去運(yùn)行了,主程序的運(yùn)行不會(huì)受到過大影響!推薦使用.而且它可以讓定時(shí)器的計(jì)數(shù)頻率高于指令速率,可以獲得更短測(cè)量時(shí)間或更大測(cè)量讀數(shù)!
相比之下,利用外部中斷和定時(shí)器的方式時(shí),程序編寫需要更多精力!更有挑戰(zhàn)性!
電路里的電容器推薦使用 CBB 的電容器,使用瓷片或者其它電容器都沒有那么穩(wěn)定!
圖上的 RT 就是熱敏電阻,千萬不能按照一般的圖紙去干!這個(gè)熱敏電阻,按照使用的標(biāo)稱值不同而有區(qū)別,通常在 0℃ 時(shí),具有上 MΩ 甚至幾個(gè) MΩ 的電阻值,單片機(jī)端口會(huì)對(duì)這個(gè)值產(chǎn)生極大影響!----具體需要很好觀看使用的熱敏電阻的分度表(溫度/阻值表,也叫 RT 表),-------從這點(diǎn)說,網(wǎng)絡(luò)上的這種資源只有參考意義,不能照搬!
對(duì)熱敏電阻,通常要進(jìn)行線性化處理,如圖:

這里,給熱敏電阻并聯(lián)一個(gè) RA,它與熱敏電阻并聯(lián)后,就大大減少了上 MΩ 的數(shù)值,要讓它們維持在一個(gè)遠(yuǎn)遠(yuǎn)偏離端口電流影響的范圍,例如:并聯(lián)后=100KΩ~200KΩ.
隨后,又給熱敏電阻//RA后,串聯(lián)一只 RB ,它增大了熱敏電阻在溫度高端的最小值,有時(shí)候,熱敏電阻到 200℃ 時(shí),本身電阻就是幾十 Ω 了!這對(duì)電路與端口是不利的!增加這個(gè)電阻,可以保證電路的安全工作!一般取幾百Ω到幾KΩ.
所有測(cè)量網(wǎng)絡(luò)的電阻,最好使用金屬膜低溫漂電阻,精度選擇優(yōu)于等于 1% (再精就很貴了!主要追求穩(wěn)定性就可以!)
電路里的參考電阻,通常選擇全部量程范圍從下而上的 1/3~1/2 處,取出一個(gè)點(diǎn)作為參考電阻的取值!不要過高或過低!(是熱敏電阻整個(gè)并聯(lián)/串聯(lián)的等效值,不單單是熱敏電阻本身的數(shù)值!)
通常做法是:接到項(xiàng)目,又決定使用這種 RC 測(cè)量方式后,選擇合適的熱敏電阻,獲得實(shí)物與分度表,根據(jù)項(xiàng)目要求的精度,把分度表進(jìn)行壓縮,例如:每 2 ℃ 一個(gè)表格數(shù)字,或每 5℃ 一個(gè)表格數(shù)字.間隔越大越省事,精度越低!理論上,與表格吻合的值測(cè)量誤差=0!
測(cè)量處理通常是:
1.電容器充分放電!----這個(gè)問題很難得到什么參數(shù)來保證!可以通過一小段測(cè)試程序,選擇不同的放電時(shí)間,放電后,每次測(cè)量同一個(gè)阻值是否讀數(shù)相同來判斷!只要放電完全,再長的時(shí)間也不會(huì)增加讀數(shù)了,這就可以找到至少多長時(shí)間可以完全放電.
2.讓 P0,P1,P2 全部設(shè)置為輸入無上拉模式,然后,參考電阻輸出高電平(圖1)或低電平(圖2),同時(shí)開始電容器充電計(jì)數(shù).直到端口P2翻轉(zhuǎn)!得到讀數(shù) RM0.
3.電容器充分放電!----要求同上.
4.讓 P0,P1,P2 全部設(shè)置為輸入無上拉模式,然后,等效熱敏電阻端口輸出高電平(圖1)或低電平(圖2),同時(shí)開始電容器充電計(jì)數(shù).直到端口P2翻轉(zhuǎn)!得到讀數(shù) RM1.
5.使用 RM1*系數(shù)/RM2=對(duì)應(yīng)溫度下的一個(gè)表格值.(系數(shù)是為了計(jì)算小數(shù)位而增加的.)
6.做好全部表格后,看看相鄰 2 個(gè)表格的差,是否≥要求的分辨力.例如:要求小數(shù)點(diǎn)有一位數(shù),那么,表格之間必須有 10 個(gè)字的間隔.否則達(dá)不到要求!相鄰表格數(shù)值太小怎么辦? 提高計(jì)數(shù)器速率,增大 CBB 電容器數(shù)值,修改熱敏電阻等效電路參數(shù).還有就是重新選擇另外一種熱敏電阻!
7.有了表格值,就可以把測(cè)量的當(dāng)前值與表格值對(duì)比,對(duì)上哪一級(jí)就得到溫度的整數(shù)位了!沒有小數(shù)點(diǎn)!如果是>上面一格又<下面一格,那就有小數(shù)點(diǎn)了!把把測(cè)量值-整數(shù)表格值的余數(shù)/這2 格相鄰差值=小數(shù)點(diǎn)的數(shù)值.
8.經(jīng)過良好調(diào)試的程序,脫機(jī)運(yùn)行時(shí),供電在 5V ±0.5V 變化時(shí),正確讀數(shù)基本不會(huì)變化!-----如果讀數(shù)也大幅度變化就不行啦!太不能自動(dòng)跟蹤自動(dòng)穩(wěn)定啦!
本文力圖非常仔細(xì)的對(duì)低成本的 RC 方式的模擬到數(shù)字轉(zhuǎn)換模式進(jìn)行說明,以便補(bǔ)充許多有關(guān)此方法的網(wǎng)絡(luò)文章的說明不足!
同時(shí),也發(fā)布過一些實(shí)際項(xiàng)目資料的一些帖子,非常希望愛好者可以正確合理使用這種方法.提供一點(diǎn)點(diǎn)經(jīng)驗(yàn)之談!如有不對(duì),歡迎指正!
謝謝您的瀏覽!


作者: 貔@貅    時(shí)間: 2021-6-24 16:29
想知道這個(gè)PT1000 b級(jí)的傳感器能測(cè)多少精度
作者: timerzero    時(shí)間: 2021-6-25 19:11
看得出樓主寫得非常用心,這么好的帖居然沒多少回復(fù)?





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1