內(nèi)置電阻-頻率轉(zhuǎn)換器的MCU應(yīng)用
在自動(dòng)化世界里,除了人機(jī)接口及產(chǎn)品基本功能為主要設(shè)計(jì)要素外, 還有一個(gè)常被多數(shù)人遺忘的幕后英雄:傳感器(sensors)。舉凡在自動(dòng)化設(shè)備,測(cè)量?jī)x器,汽車(chē)與家用電器等等,無(wú)處不在的傳感器,成就了便利及豐富人類(lèi)生活的夢(mèng)想。本文除了介紹基本傳感器型式以外,還介紹如何由傳感器的物理量變化,轉(zhuǎn)變?yōu)殡娮蛹皵?shù)字資料,因?yàn)闆](méi)有傳感器便沒(méi)有測(cè)量,而沒(méi)有測(cè)量則沒(méi)有自動(dòng)化產(chǎn)品,故傳感電路之好壞決定了自動(dòng)化系統(tǒng)性能。
本文引用地址:http://m.butianyuan.cn/article/2914.htm在此介紹一種將電阻及電容轉(zhuǎn)為頻率信號(hào)(resistance/capacitance to frequency conversion),以方便MCU計(jì)數(shù),直接測(cè)量,此方法簡(jiǎn)單易行,外部組件少,成本低廉而且適合量產(chǎn)。
盛群(Holtek)半導(dǎo)體公司所推出HT47系列,即是內(nèi)建R to F轉(zhuǎn)換器(resistance/capacitance to frequency converter)的MCU,產(chǎn)品主要應(yīng)用于消費(fèi)類(lèi)家電產(chǎn)品如溫濕度計(jì),體溫計(jì),壓力計(jì),電子體重計(jì),遙控器等,亦有提供OTP版本(HT47R20),詳細(xì)資料可參考http://www.holtek.com.tw。
HT47系列功能包括:
堆棧緩存器(Stack Register);
計(jì)時(shí)計(jì)數(shù)器(Timer/Event Counter);
看門(mén)狗定時(shí)器(Watchdog Timer);
外部中斷(External Interrupt);
振蕩器(Oscillator);
省電模式(Power Down Operation-HALT);
重置(Reset)。
為了進(jìn)行R to F轉(zhuǎn)換, 在HT47C20/HT47C20L/HT47R20中有一緩存器(ADCR)用來(lái)控制R to F轉(zhuǎn)換器之功能,使用者可經(jīng)由設(shè)定ADCR緩存器, 控制計(jì)時(shí)計(jì)數(shù)器用途, 中斷來(lái)源及R to F振蕩器之各種振蕩模式, 以達(dá)到R to F測(cè)量之目的。
在HT47系列中比較特殊的地方就是A/D converter共有2組電阻(電容)對(duì)頻率轉(zhuǎn)換器,亦即特殊之RC振蕩器。主要測(cè)量原理為將受測(cè)電阻RT與一個(gè)參考電阻RS分別再與參考電容CS組成RC振蕩器,因RT-CS振蕩與RS-CS振蕩共享CS電容,故CS之誤差可消除, 而RS因?yàn)槭菂⒖茧娮韫时匦枋褂镁茈娮?。至于如何將熱敏電阻換算推導(dǎo)其A/D轉(zhuǎn)換器數(shù)值,先令RT:傳感器電阻,RS:精密電阻(參考電阻),KT:RT-CS振蕩計(jì)數(shù)值,KS:RS-CS振蕩計(jì)數(shù)值,設(shè)RS/KT=2n, 所以KT= RS/2n(Timer B初始值可由RS及2n算出),
==> RT×KT = RS×KS ==> RT = RS×KS/KT = KS×(RS/KT) = KS×2n,
同樣,若為受測(cè)電容,則將受測(cè)電容CT與一個(gè)參考電容CS分別再與參考電阻RS組成RC振蕩器,因CT-RS振蕩與CS-RS振蕩共享RS電阻,故RS之誤差可消除,而CS因?yàn)槭菂⒖茧娙莨时匦枋褂镁茈娙?/font>,設(shè)CS/KT=2n, 所以KT=CS/2n(Timer B初始值可由CS及2n算出), 關(guān)系式如下:
==>CT×KT=CS×KS ==> CT=CS×KS/KT=KS×(CS/KT)= KS×2n,
RT或CT值的測(cè)量可由Timer B測(cè)量值(KS)向左移n位(二進(jìn)制單位), 由傳感器轉(zhuǎn)換表建一表格即可直 接轉(zhuǎn)為物理量,因Timer A及Timer B為16bit 計(jì)數(shù)器, 故最大值 FFFFH = 65535, 使用者必需仔細(xì)設(shè)計(jì)以免計(jì)數(shù)值發(fā)生溢出, 舉例如下,
例如一傳感器(負(fù)溫度系數(shù))在 -50℃~150℃,其阻值為8.2MΩ~1.2KΩ,當(dāng)其為最高溫時(shí),電阻最小,故其在固定T時(shí)間內(nèi),計(jì)數(shù)值最大,反之當(dāng)其為最低溫時(shí),電阻最大,故其在固定T時(shí)間內(nèi),計(jì)數(shù)值最小,為維持測(cè)量精度及縮短測(cè)量時(shí)間,故在傳感器電阻值范圍內(nèi),必需分為幾段,以不同之n計(jì)算出KT值來(lái)進(jìn)行測(cè)量,以達(dá)到最高分辨率及最適當(dāng)之測(cè)量時(shí)間。
故測(cè)量高溫時(shí)(RT值較小, 頻率較快),n值須取小(KT值取大), 以求最高精率,測(cè)量低溫時(shí)(RT值較大,頻率較慢),n值須取大(KT值取小),以盡量縮短測(cè)量時(shí)間。除此之外,整體測(cè)量的耗電量亦必需考慮。
因電子測(cè)量電路之不理想, 導(dǎo)致在理論值與實(shí)際值有所差異,雖然HT47系列已經(jīng)針對(duì)誤差及多組RC振蕩器間之互相干擾情形進(jìn)行排除,但主要由電路負(fù)載效應(yīng)及組件飽和所造成的不理想仍不可避免,但是此一不理想性所產(chǎn)生之影響,是一個(gè)幾乎固定不會(huì)漂移之誤差量,故可用查表補(bǔ)償方式予以修正,修正方式如下:
RT×KT = RS×KS, T1 =KT×RT×CS,T2= KS×RS×CS,
取T1=T2 ==> KT×RT×CS = KS×RS×CS ==> KT×RT = KS×RS (ideal case)
修正 ==> set (RT'×KT)/(RS×KS) = KR
==> RT' = KR×KS×RS/KT = KR×RT, RT = KS ×RS/KT = KS×2n
==> 將最后求出之已校正之RT', 與sensor生產(chǎn)廠商所提供之阻值表對(duì)應(yīng), 以求出相對(duì)之物理量值(例: 溫度), 故在建KT Table時(shí), 不同RT值必須帶入不同KR值, 以便獲得準(zhǔn)確之測(cè)量數(shù)值。
HT47C20/HT47C20L除了能適用于大范圍之傳感器外,還可同時(shí)用以測(cè)量三個(gè)傳感器,而不會(huì)產(chǎn)生互相干擾導(dǎo)致測(cè)量不準(zhǔn)確, 在省電方面亦為其重要特性之一, 其中HT47C20L更是適合單顆1.5V電池或太陽(yáng)能電池之應(yīng)用, 另外,以MCU為基礎(chǔ)之設(shè)計(jì),更能根據(jù)使用者需求自行設(shè)計(jì),而OTP,使得設(shè)計(jì)更加簡(jiǎn)便,風(fēng)險(xiǎn)更低。■
光敏電阻相關(guān)文章:光敏電阻工作原理
評(píng)論