本文介紹了以單片機為核心的電源監測電路和以CPLD為核心的延時控制電路的設計。闡述了電壓電流傳感器、ADC0809、LCD1602的工作原理及採集電壓電流的方法,單片機在監測電路中對外圍器件的控制作用及原理,延時控制電路的工作原理以及怎麼用硬體描述語言去描述和向CPLD寫入配置文件來實現相應的電路功能。
基於單片機的電壓電流檢測電路使用A/D 轉換晶片ADC0809 設計了一個多路電壓採集系統,其中A/D 轉換結果經過單片機處理後,通過LCD1602顯示相應的數值,實現了對四路電源的電壓和電流的監測。
基於CPLD的延時控制電路由輸入鎖存電路,解碼電路和固態繼電器驅動電路等組成,其中輸入鎖存電路和解碼電路等是用VHDL語言編寫的。此電路延時精確,而且還實現了對外部四路電源的上電時序控制功能。
最後,還介紹了相應的軟體編寫流程和實現方法。全文系統闡述了整個硬體電路和軟體的實現方案,並對設計進行了仿真。
關鍵詞:單片機;霍爾傳感器;電壓傳感器CHV-25P;電流傳感器ACS712;固態繼電器;CPLD
1 緒論
溫度控制電路廣泛地應用在各種工業產品內部,用來測量產品內部的環境溫度。在溫度控制電路測試過程中,需要對其四路供電電源五種上電方式下的產品性能進行測試,為此需要設計四種供電電源不同上電模式下的延時控制電路及電源電壓監測電路。
1.1 溫度控制電路概述
溫度是工業對象中主要的被控參數之一。像冶金、機械、食品、化工各類工業中廣泛使用的各種加熱爐、熱處理爐、反應爐等,對象的溫度往往要求嚴格控制。溫度控制模塊的引入,對提高控制精度意義重大,並已經在諸多工業生產過程中得到了廣泛的應用。溫度控制電路廣泛地應用在各種工業產品內部,用來測量產品內部的環境溫度。近年來,溫度的檢測在理論上發展比較成熟,但在實際測量和控制中,如何保證快速實時地對溫度進行採樣,確保數據的正確傳輸,並能對所測溫度場進行較精確的控制,仍然是目前需要解決的問題。
1.2 對溫度控制電路參數檢測和控制的重要性
隨著控制理論和電子技術的發展,工業控制器的適應能力增強和高度智能化正逐步成為現實。其中以單片機或者是可編程器件為核心實現的數字控制器因其體積小、成本低、功能強、簡便易行而得到廣泛應用。但是在實際的測量溫度過程中,往往是許多功能模塊被集成到了一塊,因而需要利用多個電源為這些模塊供電。這些電源的電壓有時候相同,但更多時候是不同的。所以這就產生了對電源進行時序控制、大小監測和管理的需求,以指導我們針對各功能模塊設計正確的上電順序。在使用多個電源的系統中,如轉換器(包括模數轉換器ADC和數模轉換器DAC)、數位訊號處理器(DSP)、音頻/視頻、射頻及許多其它混合信號系統中,這一要求相當常見,需要特定的電源時序控制。電源電壓或輸入時鐘頻率改變時,許多能夠工作在不同的電壓和相應頻率的電子部件可能就不能工作,從而降低溫度控制電路的性能。
為此,我們需要設計供電電源不同的上電模式下的延時控制電路和電壓電流監測電路,通過對負載點電壓和電流的一定範圍內的值進行監控與管理,以及在錯誤狀態下的再定序,可靠穩定地獲得我們所需要的合格產品。
1.3 本文主要研究內容
設計不同上電模式下的延時控制電路及電源電壓電流監測電路。
溫度控制電路共有四種供電電源,分別為+5V1、+5V2、+15V和-15V,五種供電方式和要求分別為:
(1)四路供電電源同時上電;
(2)+15V延時1.5mS後上電;
(3)+15V延時3.0mS後上電;
(4)-15V延時1.5mS後上電;
(5)-15V延時3.0mS後上電;
(6)採用單片機技術,利用電壓傳感器和電流傳感器分別實現產品四路供電電壓及電流的檢測控制功能;
(7)利用CPLD邏輯電路技術、設計一個四路電源上電時序控制電路,要求在三位二進位不同編碼輸入下,分別能夠完成上述五種上電模式的控制功能;要求完成系統單片機控制電路、A/D轉換電路和LCD顯示電路的設計、並完成系統相應軟體設計。
2 系統總體方案設計
2.1整個設計的總體結構框圖如圖2.1所示。
2.2 電源監測原理
電源監測對於系統來說是至關重要的,一個系統的電源是否穩定會給系統帶來不同程度的影響。對電源的監測我們可以用電壓和電流傳感器來採集電壓和電流,然後把採集到的模擬量送入AD轉換器中,從AD轉換器中出來的數字量再通過單片機處理後,得到系統的狀態是否正常。
用傳感器來進行電壓電流採集,方法簡單而且可靠。通過在電源兩端並聯電壓傳感器或是在迴路裡串聯電流傳感器,將傳感器的輸出值送到A/D電路進行模—數轉換後,在LCD上顯示出來。
2.3 延時原理
電源的上電順序和上電時間對於整個系統來說也是至關重要的。上電順序紊亂時,系統有可能崩潰。所以時序控制電路的設計很重要,我們可以採用基於CPLD的技術來實現。鍵盤輸入的三位二進位碼被送入輸入鎖存器中,當鎖存器有效時鎖定輸入的按鍵值並把按鍵值送到解碼器輸入埠,接著解碼器對輸入值進行解碼輸出,並且使能後級相應的模塊使能端,這樣就有效的對上電時序進行了控制。
系統全局時鐘GCLK是50MHz的。先將全局時鐘GCLK 進行5000分頻得到10KHz的脈衝,即一個脈衝的寬度為0.1ms。然後再通過對10KHz脈衝的上升沿進行計數,就可以得到我們所需要的延時時間。
2.4 具體功能電路
根據上述系統分析,電壓電流檢測電路包括4大功能電路:單片機主控制電路、A/D轉換電路、電壓電流採集電路和顯示電路。
CPLD延時控制電路主要包括CPLD主控制器電路、按鍵電路、固態繼電器電路,其中CPLD主控制器電路又包括輸入鎖存電路、解碼電路、分頻電路和相應上電模塊電路。各功能電路如下:
(1)單片機主控制電路:以STC89S52單片機為控制核心來完成對數據處理,A/D轉換器的控制以及LCD的顯示功能;
(2)A/D轉換電路:將電壓電流傳感器送來的模擬信號轉換為單片機能夠處理的數位訊號;
(3)電壓電流採集電路:採集電流和電壓並將採集到的電壓和電流調理到和A/D接口相匹配的電壓值;
(4)顯示電路:主要用於實現人機對話的功能。將電源的電壓和電流值的狀態通過LCD顯示出來,以供人們參考;
(5)CPLD主控制器電路:延時控制電路的核心,實現對繼電器的開和關斷控制;
(6)按鍵電路:用於向延時控制電路輸入三位二進位代碼,以完成五種上電模式的控制功能;
(7)固態繼電器電路:驅動固態繼電器,在很短時間內控制電流的通斷。
3 硬體電路具體設計
3.1 STC89C52主控制器電路
3.1.1 STC89C52單片機介紹
STC89C52片內集成256位元組程序運行空間、8K字節Flash存儲空間,支持最大64K外部存儲擴展。根據不同的運行速度和功耗的要求,時鐘頻率可以設置在0-33M之間。片內資源有4組I/O控制埠、3個定時器、8個中斷、軟體設置低能耗模式、看門狗和斷電保護。可以在4V到5.5V寬電壓範圍內正常工作。根據不同場合的要求,這款單片機提供了多種封裝,本次設計根據最小系統有時需要更換單片機的具體情況,使用雙列直插DIP-40的封裝。STC89C52引腳如下圖3.1所示。
3.1.2 時鐘電路、復位電路及最小系統電路
單片機時鐘電路是單片機最核心的部分,它控制著單片機的工作,MCS-51單片機允許的時鐘頻率典型值為12MHZ,STC89C52的時鐘可以有兩種方式產生,一種是內部方式,利用晶片內部的振蕩電路,另一種方式為外部方式。本次設計計採用的是內部方式,設計選取12.000M無源晶振接入XTAL1和XTAL2引腳,並聯2個30pF陶瓷電容幫助起振。時鐘電路如圖3.2所示。X1和X2腳分別接到單片機的第19和第18腳。
復位電路也是維持單片機最小系統運行的基本電路。單片機的REST管腳為主機提供一個外部復位信號輸入埠。復位信號是高電平有效,高電平有效的持續時間應為2個機器周期以上。單片機的復位方式有上電自動復位和手工復位兩種。圖3.3所示是51系列單片機常用的上電復位電路,復位以後,單片機內各部件恢復到初始狀態。RST引腳接到單片機的第9腳。
單片機的最小系統電路如圖3.4所示。
3.1.3 單片機引腳分配
根據系統設計及各模塊的分析得出,單片機的引腳分配如表3.1所示。
3.2 A/D轉換電路
3.2.1 ADC0809介紹
ADC0809 是一種8 路模擬輸入、逐次逼近式A/D 轉換器,它由8 路模擬開關、地址鎖存與解碼器、8 位A/D 轉換器和三態輸出鎖存緩衝器組成, 其轉換結果為8 位二進位數,可以和單片機直接接口。
ADC0809由一個8路模擬開關、一個地址鎖存解碼器、一個AD轉換器和一個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉換器進行轉換。三態輸出鎖存器用於鎖存A/D轉換完的數字量,ADC0809晶片有28條引腳,採用雙列直插式封裝,如圖3.5所示。
ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址與解碼器將A,B,C三條地址線的地址信號進行鎖存,經過解碼後被選中的通道的模擬量進入轉換器進行轉換。A,B和C為地址輸入線,用於選通IN0-IN7上的一路模擬量輸入。通道選擇表如表3.2所示
ST為轉換啟動信號。當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換,在轉換期間,ST應保持低電平。EOC為轉換結束信號。當EOC為高電平時,表明轉換結束。OE為輸出允許信號,用於控制三條輸出鎖存器向單片機輸出轉換得到的數據。OE=1,輸出轉換得到的數據;OE=0,輸出數據線呈高阻狀態。D7~D0為數字量輸出線。
CLK為時鐘輸入信號線。因ADC0809內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHz。
3.2.2 ADC0809與單片機的接口
ADC0809與STC89C52單片機的接口電路圖,如圖3.6所示:
D7~D0接到單片機的P0口,ADDC~ADDA接到單片機的P2.2和P2.0埠,START和ALE端接在一起,然後接到單片機P3.7埠,EOC埠接到單片機P3.6埠,CLOCK埠接到P2.3埠。
由於ADC0809具有輸出3態鎖存器,其八位數據輸出引腳可直接與數據總線相連。在啟動A/D轉換時,由單片機的P3.7控制A/D轉換器的地址鎖存和轉換啟動,由於ALE和START連在一起,因此AD0809在鎖存通道的同時,也啟動了A/D轉換器。
3.2.3 ADC0809轉換過程
ADC0809 通過其內部的模擬開關切換, 分時處理8 路模擬量輸入信號。在某一時刻, 模擬開關只能接通一路模擬量通道,之後, A/D 轉換器對該通道的模擬量進行轉換。當地址鎖存信號ALE 為高電平時, C、B、A 三條線上的數據送入ADC0809 內部的地址鎖存器中, 經過解碼器解碼後選中某一通道。當ALE 為低電平時, 地址鎖存器處於鎖存狀態, 在此狀態下, 模擬開關始終與剛才選中的輸入通道接通。
轉換啟動信號START 的上升沿將ADC0809 復位。當被選中通道的模擬量到達A/D 轉換器時, A/D 轉換器並未對其進行轉換, 只有當轉換啟動信號START出現下降沿並經過延遲後, 才會啟動轉換器進行A/D 轉換。ADC0809 的A/D 轉換過程是在時鐘信號的協調下進行的, ADC0809 的時鐘信號由CLOCK 端送入, 時鐘頻率的典型值為640KHz。
A/D 轉換結束後, 轉換結果送到三態輸出鎖存緩衝器中。此時, A/D 轉換結果還沒有出現在數據總線DB0~DB7 上, 單片機尚未獲取到A/D 轉換結果。單片機想要得到A/D 轉換的結果,必須使ADC0809 的輸出允許控制端OE為高電平,使三態輸出鎖存緩衝器打開, A/D 轉換結果才會出現在數據總線DB0~DB7上。
EOC 為轉換結束信號。在A/D 轉換期間,EOC 維持低電平,當A/D 轉換結束時,EOC 變成高電平。
3.2.4 單片機讀取ADC0809 轉換結果的方法
用查詢方式: EOC接到單片機的P3.6埠上。單片機啟動ADC0809後檢測EOC, 若EOC=0,則A/D 轉換沒有結束,繼續檢測; 當EOC=1 時,表明A/D 轉換已經結束,單片機便可以讀取A/D 的轉換結果。
3.3 電壓採集電路
3.3.1 霍爾電壓傳感器工作原理
霍爾電壓傳感器模塊具有優越的電性能,是一種先進的、能隔離主電路迴路和電子控制電路的檢測元件。利用同一隻霍爾電壓傳感器既可以檢測直流也可以檢測交流,甚至可以檢測瞬態峰值,其副邊電壓可以忠實地反映原邊電流的波形。
霍爾電壓傳感器是根據霍爾原理製成的。一般由原邊電路、聚磁環、霍爾器件、次級線圈和放大電路等組成。圖3.7為霍爾電壓傳感器的工作原理。
磁平衡式電壓傳感器的具體工作過程為:當主迴路有一電流通過時,在導線上產生的磁場被聚磁環聚集並感應到霍爾器件上,所產生的信號輸出用於驅動相應的功率管並使其導通,從而獲得一個補償電Is,這一電流再通過多匝繞組產生磁場,該磁場與被測電流產生的磁場正好相反,因而補償了原來的磁場,使霍爾器件的輸出逐漸減小。當Ip與原邊匝數相乘所產生的磁場與Is和副邊匝數相乘所產生的磁場相等時Is不再增加,這時的霍爾器件起指示零磁通的作用,此時可以通過Is來測試Ip。當Ip變化時,平衡受到破壞,霍爾器件有信號輸出,即重複上述過程,最後重新達到平衡。被測電流的任何變化都會破壞這一平衡。一旦磁場失去平衡,霍爾器件就有信號輸出。經放大後,立即就有相應的電流流過次級繞組以對失衡的磁場進行補償。從磁場失衡到再次平衡.所需的時間不到1μs,這是一個動態平衡的過程。
根據所測電壓大小的不同,用戶可根據需要在被測電壓一端串接一個電阻R後再接到傳感器的原邊,串接電阻R的大小由下式決定:
R=Vp/Iin-Rin
式中R為串聯電阻,Vp為被測電壓,Iin為額定輸入電流,Rin為傳感器的原邊內阻。
串接電阻功率大小由W=Vp*Iin確定。
3.3.2 電壓傳感器CHV-25P引腳描述
霍爾電壓傳感器CHV-25P是一種利用霍爾效應,將原邊電壓通過外置或內置電阻,將電流限制在10mA,此電流經過多匝繞組之後,經過聚磁材料原邊電流產生的磁場被氣隙中的霍爾元件檢測到,並感應出相應電動勢,該電動勢經過電路調整後反饋給補償線圈進行補償,該補償線圈產生的磁通與原邊電流(被測電壓通過限流電阻產生)產生的磁通大小相等,方向相反,從而在磁芯中保持磁通為零。
霍爾電壓傳感器CHV-25P有5個接線端子,其中+HT、-HT為原邊端子,分別接被測電壓輸入端的正極和負極。另外3個端子為負邊端子,「+」端接+15V電源,「-」端接-15V電源,「M」端為信號輸出端,如圖3.8所示。
3.3.3 電壓傳感器CHV-25P特徵曲線與典型應用,如圖3.9和圖3.10
3.3.4 電壓傳感器CHV-25P與ADC的接口
霍爾電壓傳感器CHV-25P的輸出端OUT接一個採集電阻後接到ADC0809的模擬信號輸入埠IN0~IN7中的任何一路。
3.4 電流採集電路
3.4.1 電流傳感器ACS712介紹
在工業、 汽車、商業和通信系統中,為了確保設備安全和人身安全,經常需要對設備的某些關鍵點進行電流檢測,傳統的檢測方法存在測量精度不高,反應時間長等問題。新型線性電流傳感器ACS712能有效地克服這些缺點,為工業、汽車、商業和通信系統中的交流或直流電流檢測提供經濟實惠的精密解決方案。
ACS712是Allegro公司新推出的一種線性電流傳感器。該器件內置有精確的低偏置線性霍爾傳感器電路,能輸出與檢測的交流或直流電流成正比的電壓。具有低噪聲,響應時間快,50千赫茲帶寬,總輸出誤差最大為4%,高輸出靈敏度(66mV/A~185mV/A),使用方便、性價比高、絕緣電壓高等特點,主要應用於電機控制、載荷檢測和管理、開關式電源和過電流故障保護等,特別是那些要求電器絕緣卻未使用光電絕緣器件或其他昂貴絕緣技術的應用中。
3.4.2 電流傳感器引腳描述
ACS712採用小型的SOIC8封裝,其引腳分布如圖3.12所示,採用單電源5V供電。各引腳的功能介紹如表3.3所示,其中引腳1和2、3和4均內置有保險,為待測電流的兩個輸入端,1和2、3和4分別為待測電流的輸入端和輸出端。
3.4.3 電流傳感器ACS712內部結構及工作原理
ACS712的功能方框圖如圖3.13所示。該器件主要由靠近晶片表面的銅製電流通路和精確的低偏置線性霍爾傳感器電路等組成。被測電流流經的通路(1和2、3和4之間的電路)的內電阻通常是1.2mΩ,具有較低的功耗。被測電流通路與傳感器引腳(5~8)的絕緣電壓>2.1KVRMS,幾乎是絕緣的。流經銅製電流通路的電流所產生的磁場,能夠被片內的霍爾IC感應並將其轉化為與電流成比例的電壓。通過將磁性信號儘量靠近霍爾傳感器來實現器件精確度的最優化。精確的成比例的輸出電壓由穩定斬波型低偏置BiCMOS霍爾集成電路提供,該集成電路在出廠時已進行了精確的編程。穩定斬波技術是一種新技術,它給片內霍爾元器件和放大器提供最小的偏置電壓,該技術幾乎可以消除晶片由於溫度所產生的輸出漂移。
ACS712內含一個電阻RF(INT) 和一個緩衝放大器,用戶可以通過FILTER引腳外接一個電容C(FILTER)與RF(INT)組成一個簡單的外接RC低通濾波器,由於內部緩衝放大器能消除因晶片內部電阻和接口負載分壓所造成的輸出衰減,所以外界的RC低通濾波器不會影響信號的衰減,且可進一步降低輸出噪聲並改善低電流精確度。此外,ACS712的響應時間比一般器件縮短了兩倍以上,非常適合保護及高速應用。
3.4.4 電流傳感器ACS712特徵曲線與典型應用
ACS712共有3種型號:ACS712ELCTR-05B-T、ACS712ELCTR-20A-T、ACS712ELCTR-30A-T,它們的工作溫度範圍為-40℃到85℃。其中ACS712ELCTR-05B-T的電流檢測範圍為±5A,圖3.14為ACS712-05B-T輸出電壓與檢測電流關係的特性曲線,在檢測範圍±5A內,傳感器的輸出電壓和檢測電流成正比,幾乎不受溫度影響。圖3.15為ACS712-05B-T檢測靈敏度與電流關係的特性曲線,輸出靈敏度約為185mV/A,受溫度的影響很小。圖3.16為ACS712-05B-T的典型應用電路圖,被檢測電流由1、2端輸入,3、4端輸出,VIOUT輸出一模擬電壓,該電壓在指定的檢測範圍內和被檢測的直流或交流電流IP成線性關係,Cf用於噪聲管理,提高輸出精度。
被測電流流經的通路(1和2、3和4之間的電路)的內電阻通常是1.2mΩ,具有較低的功耗。被測電流通路與傳感器引腳(5~8)的絕緣電壓>2.1KVRMS,幾乎是絕緣的。流經銅製電流通路的電流所產生的磁場,能夠被片內的霍爾IC感應並將其轉化為與電流成比例的電壓。電容C與RF組成一個簡單的外接RC低通濾波器,可進一步降低輸出噪聲並改善低電流精確度。
3.4.5 電流傳感器ACS712與ADC接口
本次系統採用ACS712ELCTR-05B-T進行供電電源的電流檢測,ACS712ELCTR-05B-T的輸出端VIOUT接到ADC0809進行模數轉換,ACS712的Vcc=5V,根據圖3.16,ACS712的輸出電壓VIOUT和被檢測的電流IP間的關係為:VIOUT=0.2Ip+2.5(V)。
電流傳感器輸出端ACS712的VIOUT接到ADC0809的模擬輸入端IN0~IN7中的任何一路。
3.4 顯示電路
3.4.1 LCD1602引腳描述
單片機應用系統中,通常都需要進行人機對話。這包括人對應用系統的狀態幹預與數據輸入,以及應用系統向人們顯示運行狀態與運行結果。顯示器就是用來完成人機對話活動的人機通道。
本設計採用LCD1062液晶顯示器來顯示被測電壓電流信息,圖3.16和表3.4分別為LCD1062液晶的引腳圖和引腳功表。
3.4.2 LCD1602指令系統
1602液晶的指令系統如表3.5所示。
1602液晶模塊的讀寫操作,屏幕和光標的操作都是通過指令編程來實現的。
1602液晶模塊內部的控制器共有11條控制指令。
指令1:清顯示,指令碼01H,光標復位到地址00H位置。
指令2:光標復位,光標返回到地址00H。
指令3:光標和顯示位置設置I/D,光標移動方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或右移,高電平表示有效,低電平表示無效。
指令4:顯示開關控制。D:控制整體的顯示開與關,高電平表示開顯示,低電平表示關顯示。C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。
指令5:光標或顯示移位 S/C :高電平時顯示移動的文字,低電平時移動光標。
指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時為雙行顯示,F:低電平時顯示5*7的點陣字符,高電平時顯示5*10的點陣字符。
指令7:字符發生器RAM地址設置。
指令8:DDRAM地址設置。
指令9:讀忙信號和光標地址 BF:忙標誌位,高電平表示忙,此時模塊不能接收命令或數據,如果為低電平表示不忙。
指令10:寫數據。
3.4.3 LCD1602讀寫操作
LCD1602讀寫控制時序表如表3.6所示
3.4.4 LCD1602與單片機的接口
液晶用的是1602液晶,它在本系統中的作用是顯示輸出電壓和電流值。因為1602液晶可以顯示兩行,屏幕上能顯示16個字符,正好能滿足本系統的所有顯示。
1602液晶的硬體連接包括電源正極VDD;電源地VSS;液晶顯示偏壓VL,一般靠近地電壓;背光電源正負極BLA/BLK,不用背光時可以懸空或都接地。需要編程的引腳連接包括8位並行數據口D0-D7;讀/寫選擇位R/W,數據/命令選擇位RS;使能信號En。
單片機與字符型液晶顯示模塊的連接方法有兩種,一種為直接訪問方式,另一種為間接控制方式。直接訪問方式是單片機將字符型液晶顯示模塊作為存儲器或I/O 設備直接掛在單片機的總線上。在這種控制方式下,由單片機的讀操作信號和寫操作信號與地址信號合成產生控制信號。
間接控制方式是單片機將字符型液晶顯示模塊作為終端與單片機的並行接口連接,單片通過對該並行接口的操作,間接實現對字符型液晶顯示模塊的控制。
本次設計採用單片機間接控制LCD 的方式。接口電路如圖3.16 所示。
LCD1602的D7~D0接到單片機的P1口,作為數據總線的8位數據線,負責數據的傳輸。 EN端,RS端和RW端分別接到單片機的P2.5埠,P2.7埠和P2.6埠,負責控制信號的傳輸。
本論文未完,接著《本科畢業設計:基於溫度控制電路的電源監測及延時控制設計(2)》。