對電子設計的有益追求,從來沒有比翻轉評論“如果......”更令人滿意的了。進入一個為您的想法注入生命的電路。然而,沒有什么比設計完美的電路更令人沮喪的了,當太陽出來時,它變得完全沒用了。不管你喜不喜歡,很少有設計師能夠奢侈地知道他們的電路將在受控環境中使用。除了在工作臺上運行電路外,工程師還必須將其設計為在溫度、濕度、元件公差以及有時用戶情緒波動的規格范圍內工作。
任何賽道都可以忍受的最糟糕的環境可能是在汽車引擎蓋下。在那里,電路受到振動、潮濕、化學物質(令人討厭的)和巨大的溫度波動的影響。考慮到這一點,作者著手設計一個數據記錄儀,測量汽車引擎蓋下的溫度,平均一個月的駕駛時間 - 讓他準確地看到引擎蓋下的溫度。該電路牢固地安裝在汽車的電池架上,無人看管,在英國非常平均的四月里,每十分鐘記錄一次溫度,白天和黑夜。傳奇,從概念到最終結果,詳述如下。
組件選擇
最初的概念電路由溫度傳感器、微控制器、非易失性存儲器、振蕩器、升壓控制器和UART組成。
選擇的溫度傳感器MAX6576提供PWM輸出,無需外部緩沖,與類似的模擬輸出器件相比具有優異的抗擾度。因此,可以與簡單的微處理器(無需ADC或其他組件)建立簡單的接口。MAX6576的可編程脈沖寬度允許10us/°K、40us/°K、160us/°K和640us/°K的溫度讀數。對于此應用,脈沖寬度設置為 160us/°K,因為這簡化了處理器代碼循環。其靜態電流典型值為 140μA,因而適合電池供電型數據記錄器。事實上,MAX6576的低靜態電流允許其由處理器的端口引腳供電,允許在不使用時輕松關斷器件。
圖1.升壓轉換器在其自舉模式下工作,從而提高了其效率。低功耗比較器降低了用于為微處理器提供時鐘的32kHz振蕩器的電流消耗。
基于閃存的 Atmel AVR AT90S2313 微控制器提供多功能指令集,使其易于在需要低處理器開銷的電路中使用。它包括一個8位定時器(在本設計中用于測量MAX6576的輸出)和一個16位定時器(用于測量采樣間隔2313分鐘)。處理器在低功耗模式下空閑,僅在中斷時喚醒,從而進一步降低電源電流。乍一看,'2313 似乎為這項任務提供了太多的 I/O;然而,考慮到電路以后可能需要擴展到更大的系統中,'<>提供了大量的“面向未來”。
AT90S2313的一個缺點是無法使用32kHz晶體工作。實際上,當時鐘工作在1MHz與32kHz時,電源電流變化不大,但時鐘速度越快,定時環路就會變得棘手。為了解決時序問題,采用MAX931比較器設計了外部晶體振蕩器(見圖1)。該比較器僅消耗3μA靜態電流,因此在整個電路工作期間保持供電,而不會顯著縮短電池壽命。一個10MΩ電阻將比較器偏置到其線性區域,一個1MΩ電阻緩沖比較器輸出擺幅的晶體。
圖2.溫度傳感器、處理器、存儲器和上電復位監控器,以及圖32所示的升壓轉換器和1kHz振蕩器,都包含在安裝在汽車發動機艙內的數據記錄板上。
E2存儲器的選擇方式與許多組件的選擇方式相同 - 它位于組件機柜中(見圖2)。為了不使E2存儲器過載,選擇了十分鐘的采樣率;此外,該采樣率提供了足夠的分辨率,可以看到溫度變化。因此,內存必須每小時保存 6 個結果、每天 144 個結果或每月(4464 天)保存 31 個結果。Atmel AT24C128 內存芯片是 128k 位,排列為 16k 字節,因此記錄器可以在溢出之前記錄 113 天的數據。存儲器在I2C總線上尋址,因此將來可以擴展電路,而無需額外的處理器I/O引腳。工作時消耗 2mA,待機時消耗 6μA。此外,該設備由Microchip二次采購,從而消除了生產周期中潛在的麻煩。
處理器上增加了一個上電復位監控器,以確保在啟動和掉電條件后正常運行。由于靜態電流非常寶貴,因此選擇MAX6346UR46D3,因為它的靜態電流為1μA (最大值為1.75μA)。
UART和RS-232收發器被添加到單獨的電路板上,因為在記錄過程中不需要它們(圖3)。記錄板和UART板通過用處理器代碼編寫的SPI接口連接;記錄器的微控制器直接連接到UART的SPI接口。MAX3232E RS-232收發器使用比舊RS-232器件更快的電荷泵頻率,因此只需要0.1uF電容。該器件提供 ±15kV 的 ESD 保護。
圖3.UART和RS-232收發器安裝在插件板上。該板僅在從數據記錄器板中提取數據時才起作用。
設計過程
選擇元件后,對電路的電流消耗進行粗略估計,以確定使用哪種升壓轉換器以及要包含多少電池。由于做出這些選擇并不是一門精確的科學,因此使用了小型低成本升壓轉換器,該轉換器具有足夠的能力為電路供電;該器件MAX1605可在30V時提供5mA電流(圖1)。為了確定是否需要一個或兩個電池為電路供電,必須估計從電池中排出的電流。該過程的第一步是將各種IC的靜態電流和工作電流相加;必須考慮這兩種電流,因為電路同時在待機模式和活動模式下工作。
處理器和 E2 內存的電源電流均針對空閑模式和完全運行指定。假設溫度傳感器在室溫下給出約50ms的輸出周期,則假設處理器和內存每100分鐘完全運行約10ms,對應于0.016%的占空比。這兩個器件的全7mA工作電流構成了電路工作電流的大部分,在整個占空比內產生1.16μA的平均電流。因此,僅使用每個電路元件的待機電流之和來計算功耗,因為全工作電流對待機電流的加法可以忽略不計。
圖中顯示了電路中所有器件的靜態電流 下面:
表 1.
裝置 | 工作電流 | |
25°C | 最壞情況 | |
AT24C128 | 6μA | |
AT90S2313 | 750μA | 750μA |
MAX6346 | 1μA | 1.75μA |
MAX6576 | 140μA | 250μA |
MAX931 | 11μA | |
MAX1605 | 144μA |
表 1.雖然此表列出了每個IC的平均工作電流,但此處列出了AT24C128 EEPROM和AT90S2313微控制器的待機電流,因為它們僅在獲取溫度讀數的短時間內處于活動狀態。
確定MAX1605的靜態電流凸顯了低功耗領域關于如何指定元件靜態電流的爭論。應將其指定為器件的“獨立”電流還是在典型電路中工作時?MAX1605數據資料列出了18μA的靜態電流,該電流流入MAX1605的Vcc引腳,反饋引腳被迫略高于其調節電壓。這是器件的獨立電流 - 衡量器件電流消耗的良好指標,與其外部組件無關。然而,為了更好地了解電路的靜態電流,必須在無負載工作時測量電路,從而考慮開關損耗和元件功耗。該測量結果為上表中列出的144μA工作電流。
圖4.構成該數據記錄板的元件的緊湊布局減少了在測試和實際工作條件下遇到問題的機會。
將每個器件在5V時的電流消耗相加,可以猜測電池最壞情況下的電流消耗。所有由 5V 電源軌供電的器件的總電流消耗為
6μA + 750μA + 1.75μA + 250μA + 11μA = 1.02mA。
當兩節電池為電路供電時,假設平均電池電壓為2.8V。要將上述功耗圖轉換為電池必須提供的電流,必須首先將其乘以 5/2.8。假設效率約為 80%,則結果必須除以 0.8。MAX1605的電流消耗(144μA,由電池電壓供電)相加。因此,預計電池的電流消耗為2.42mA。請注意,如果僅使用一個電池,則此電流大約是該數字的兩倍。
為了交叉驗證上述假設,測量了電池的電流消耗,發現為1.88mA,證明該理論與實踐相去不遠。
現在可以確定用于為一個月的日志記錄數據供電的電池。金霸王AA堿性電池的容量為2.7A小時。串聯的兩個電池具有與單個電池相同的電池容量,因為流過兩個電池的電流量相同。因此,當對數電路消耗2.42mA時,電路可以記錄數據的最長時間為
2.7A-小時/(2.42mA × 24 小時) = 46 天。
將電池數量減少到一個將使電池排出的電流增加一倍,電池壽命僅為 23 天;需要兩個單元格。然而,鑒于上面計算的電流消耗是近似值,允許 46 天的記錄時間應該確保在 31 天內有足夠的電池電量 - 盡管對電路存在其他威脅,如電池自泄漏、溫度對電池的影響或環境溫度超過 85°C 大幅增加。
當電源連接到電路的其余部分時,輸出鉭電容兩端的輸出電壓為5.04V,紋波電壓為60mVpk-pk。該紋波電壓與MAX400輸出端電解電容測得的1605mV紋波電壓形成鮮明對比,表明在任何DC/DC轉換器電路中都需要使用低ESR電容。由于MAX1605是自舉的(由其自身的輸出電壓供電),并且芯片不直接接觸輸入電壓,因此我們可以對輸入電容規格更加寬松;使用33uF電解電容器。在MAX1605直接連接到輸入電壓的情況下,鉭電容應與0.1uF陶瓷電容并聯,并靠近Vcc引腳放置。
順便提一下,選擇MAX1605的自舉工作模式是因為MAX1605內部FET的電壓增加,因此該模式的轉換器效率略高于非自舉模式。此外,一旦器件啟動,它就會由自身的5V供電,允許電池電壓在轉換器停止工作之前衰減到低得多的電壓,從而使自舉模式成為電池操作的理想選擇。MAX1605的啟動電壓為2.3V(數據資料規定最大啟動電壓為2.4V),但一旦工作,輸入電壓可以降至1.0V,轉換器繼續工作。這進一步保證了電池可以在不影響電路運行的情況下顯著放電。
軟件
代碼是作為一系列子例程編寫的,這使得它更易于閱讀、編寫和調試。為了節省電量,處理器在僅運行其內部計時器的情況下空閑,并且如上所述,每十分鐘喚醒一次以記錄溫度。處理器在被計時器溢出中斷時喚醒,計時器溢出是通過用正確的數字預加載處理器的 16 位計時器來創建的,以使寄存器在 10 分鐘后溢出。使用 32.768kHz 晶體意味著每 19 分鐘需要 10 萬個時鐘周期。16 位計數器在 65536 計數后溢出,因此添加了 1024 預分頻器。10 分鐘后,添加預分頻器,計時器計數為 19200([60 × 10 × 32768]/1024)。為了確保計時器在 10 分鐘后溢出,它預加載了 (65536 - 19200) = 46336:相當于 B5十六進制被加載到頂部 8 位寄存器中。
一旦進入中斷程序,處理器等待MAX6576輸出端出現上升沿,然后啟動8位定時器。由于 8 位定時器只能計數到 256,因此還必須為該定時器選擇合適的預分頻器。記錄儀預計看到的最高溫度估計為100°C。 MAX6576設置為160us/°K輸出時,輸出周期為59.68ms。這個周期相當于 1955 個時鐘周期的計數。使用預分頻器8可將計數減少到244,但同時降低了測量的分辨率。在沒有預分頻器的情況下運行允許處理器將溫度分辨率為 1/5 度 (1/[160us × 32768]);使用預分頻器,分辨率降至8/5°C。 不過,預分頻器引起的精度下降不會顯著影響電路的精度。然而,在溫度圖中可以清楚地看到8/5°C的分辨率。
測量結果并將其加載到E2存儲器中。I2C例程是作為一系列子例程編寫的,用于處理數據和確認的讀取和寫入操作。然后將這些子例程合并到另外兩個子例程(Writemem 和 Readmem)中,因此在執行過程中只需要調用這兩個子例程,這使得 I2C 噩夢變得微不足道。由于E2存儲器需要10ms進行編程,因此在寫入周期結束時增加了一個延遲例程。
最后,從以前的項目中竊取了一個通用的UART例程;程序中的變量根據需要進行了更改。
測試
電路組裝完畢,留置2天記錄數據。記錄器每天增加約30秒,這并不完全達到預期的<>ppm;目前正在對此進行進一步調查。
處理器軟件允許通過選擇端口引腳(引腳 4)來寫入或讀取 E2 存儲器。該引腳在記錄期間焊接得很低,在回讀期間焊接得很高。溫度結果與預期不符。發現這個問題是由于MAX0缺少1.6576uF旁路電容造成的。由于該電容器,溫度傳感器上電和記錄其結果之間需要延遲。此延遲的長度取決于端口引腳的電流限制,該限值與定時電容器的值一起決定了定時電容器的充電時間。一旦插入電容器并增加延遲,記錄器就被設置為再記錄兩天。第二次下載顯示了一組與作者期望一致的結果。
表 2.
計數 | 溫度/°C |
192 | 20 |
191 | 18 |
191 | 18 |
191 | 18 |
191 | 18 |
溫度 °C = [(計數/160us) × (8/32768)] - 273
表 2.該數據表示記錄電路連續獲取的五個讀數,以及相應的溫度。
一旦從電路中清除了所有錯誤,插入電池座,牢固地安裝電路并連接電池。時間是7年30月18日晚上2001點3分。初始電池電壓測量為19.<>V。
然后將電路牢固地安裝在提交人汽車的引擎蓋下,緊挨著電池。汽車電池安裝在發動機最涼爽的部分之一,以防止電解液沸騰,因此可以保證電路不會變成木炭混亂。
然后等待開始了...
結果
30天后,取出數據記錄儀并進行檢查。它(令人驚訝)被發現完好無損,每10分鐘記錄一次。電池電壓已降至2.62V,證實了最初的計算,即電路中將留下足夠的壽命。電池已斷開,端口B引腳4焊接為高電平以防止內存損壞。數據被下載到PC中(作者使用了一個粗糙的Visual Basic例程)并加載到一個文件中。數據是使用Microsoft Excel繪制的。
結果符合預期,盡管沒有注意到極端溫度。這可能是由于記錄儀安裝在發動機艙相對涼爽的區域,以及2001年144月下旬和25月上半月英國的溫和天氣。取讀數的平均值(每<>個結果的平均值,即一天)使我們能夠確定環境溫度的變化。測量溫度在第<>天明顯升高。這確實與當時英格蘭南部的溫和熱浪相對應。
圖7.此溫度與時間的關系圖顯示了收集的各個溫度讀數以及這些讀數的 1 天移動平均值。
進一步發展和結論
毫無疑問,所使用的處理器不是市場上功耗最低的設備。但是,它為該任務提供了一個方便的解決方案。如果需要更長的記錄時間,或者如果 2 芯堿性電池組不可行,市場上有些設備消耗的功率要少得多。保持盡可能低的時鐘頻率也會降低這種電流。
在整個日志記錄過程中,無法確定內存是否已損壞。對軟件的簡單修改可以允許在連續日志之間下載E2內存,以確保數據完好無損。
該電路最初旨在提供一個通用數據記錄平臺,以評估各種模擬和數字傳感器。因此,包括DC/DC轉換器,為所有電路提供恒定的5V。如果傳感器不需要 5V,則處理器和內存可以直接在電池電壓下工作,前提是相應地更改上電復位監控器。
該電路按預期工作,令人驚訝地承受了應用工程師擁有的汽車的振動。結果顯示了良好的數據分布,有趣的是,沒有觀察到預期的極端溫度(100°C +)。但是,如果在埃及的夏日重復此實驗,結果可能會略有不同。
圖8.在數據記錄的第一周獲取的數據圖中,可以明顯看出8/5°C的溫度分辨率。
審核編輯:郭婷
-
溫度傳感器
+關注
關注
48文章
2918瀏覽量
155899 -
接口
+關注
關注
33文章
8526瀏覽量
150859 -
微處理器
+關注
關注
11文章
2247瀏覽量
82330
發布評論請先 登錄
相關推薦
評論