胡代洲,廖長榮
(重慶文理學院電子電氣工程學院,重慶 永川 402160)
隨著微電子技術的迅速發展和單片機的興起,引起了測量、控制儀表領域新的技術革命.數字電流表采用數字化測量技術,把連續的模擬量(電流)轉換成不連續、離散的數字形式并加以顯示.傳統的指針式電流表功能單一、精度低,不能滿足數字化時代的需求.采用單片機的數字電壓表,精度高、抗干擾能力強、可擴展性強、集成方便,還可與PC機進行實時通信,因此它能夠順利地取代傳統的指針儀表.
如圖1所示,將ACS712電流測量芯片串入到被測電路中,電流流過該芯片內部時,芯片將流過的電流測量后以對應的線性關系輸出一個0~5 V的模擬電壓,由于電壓變化較小(mV級別),因此電壓需要進行同相比例運算放大,然后將放大后的模擬電壓信號送給AD轉換器,由AD轉換成數字信號后送給單片機,單片機在內部按照事先設定好的線性關系對數字信號進行計算并控制LED顯示出電流值.

圖1 系統框圖
ACS712電流測量芯片集成了高精確的低偏置線性霍爾傳感器電路,其銅制的電流路徑靠近晶片的表面.通過銅制電流路徑施加的電流能夠生成可被晶片感應并轉化成為精確比例的電壓.因傳導電流通路的內電阻為mΩ級,所以芯片具有較低的功率損耗.銅線的粗細允許器件在高達5 A的過電流條件下運行.如圖3所示,當引腳1、2到3、4的電流不斷上升時,器件的輸出電壓具有正斜率 (>VIOUT(Q)).被測電流通路的接線端(1和2到3和4)與傳感器電源引腳(5、8)之間具有電氣絕緣,故此ACS712電流傳感器可應用于要求電氣絕緣的場合.ACS712采用小型的表面安裝SOIC8封裝(如圖2左圖為芯片引腳名稱,右圖為芯片封裝形式).器件在出廠裝運前已完全校準.芯片引腳描述如表1所示,被測電流高達5 A,故此在芯片上需將1、2腳和3、4腳并聯使用,以保證芯片引腳能夠承受最大電流[1].

圖2 ACS712封裝及引腳名稱

表1 ACS712引腳描述
ACS712的線性關系如圖3所示.圖3的橫坐標表示流過器件的電流值,縱坐標表示電流對應的模擬輸出電壓.由圖3可知,該器件運行穩定,隨著溫度的變化(-40~+150℃)基本上不影響器件精度.當電源VCC接上5 V電壓,流過器件的電流為0 A時,輸出電壓并不是0 V而是2.5 V,故此在計算的時候我們需要注意,而這一特性剛好滿足了交流電流的變化.因此該器件能夠測量交流電流.

圖3 ACS712線性關系
ACS712硬件電路圖如圖4所示.芯片ACS712使用時只需簡單地進行電路搭建,為了能使芯片引腳能夠承受系統最大電流,特此將芯片的1、2(IP+)腳短接在一起,3、4(IP -)腳短接在一起,短接后連接到端口P2(測試端口),測試電流時只需將P2串聯到被測電路中即可.給芯片4腳(GND)和8腳(VCC)供電上5 V電壓,在6腳接上一個1 nF電容器就可增加頻帶寬度和抗干擾能力.

圖4 ACS712硬件電路圖
如圖5所示,是由LM358構成的同相比例運算放大器,信號電壓通過電阻Rs加到運放的同相輸入端,輸出電壓A0通過電阻Rf和R1反饋到運放的反相輸入端,構成電壓串聯負反饋放大電路.同相比例運算放大器輸出電壓由v0=求得.所以該電路能夠實現同相比例運算[2].此處將變化的模擬信號放大10倍以提高精確度.放大后的信號送入到AD轉換器的A0通道.

圖5 同相運算放大器
2.2.2 電源電路工作原理
本系統所有供電電壓都為5 V,且要求電壓穩定.如圖7所示,系統選用穩壓芯片LM7805,該芯片具有良好的穩壓和抗干擾能力,直流電經P1送入,由C1濾波,C3去耦后由LM7805將電壓穩定在5V并輸出,輸出電壓經C2再次濾波,C4去耦后供給系統電源VCC端.R14和發光二極管構成電源指示電路,系統正常通電后LED燈點亮.

圖6 A D轉換器外圍配置

圖7 電源電路
2.2.3 單片機控制硬件設計
單片機(U6)選用的是ATMEL公司新推出的AT89C51.該芯片具有低功耗、高性能的特點,是采用CMOS工藝的8位單片機.如圖8所示,C9、C10和石英晶體振蕩器組成時鐘電路,C7、R7組成上電復位電路.U6的P0口配置了4.7 K的排阻作上拉電阻并作LED數碼管的段碼輸出端.P2口部分引腳作LED數碼管的位選端.P1口部分引腳用于TLC1543控制端.

圖8 控制單元電路圖
2.2.4 LED 顯示器硬件設計
系統顯示部分如圖9所示,主要由鎖存器74LS573(U5)和LED共陰型數碼管及4個PNP型三極管組成.在此處,74LS573主要負責驅動,由于單片機的高電平的驅動能力有限,故此需要加一級驅動.1~8D為信號輸入端直接與單片機的P0口連接,1~8Q為輸出端直接連接到數碼管的段選引腳上.三極管則是負責位選的,假如需要數碼管的第1位顯示,就在LED的DG1端連接的三級管(Q4)基極給入低電平即可.若第二個數碼管亮的時候就在LED的DG2端連接的三級管(Q3)基極給入低電平即可.例如我們需要數碼管的第4位顯示0,則先將0的斷碼送到單片機的P0口,斷碼數據通過74LS573放大后送入到數碼管的斷碼輸入端,然后將DG4位選端P2.7(Q1三極管的基極)送入低電平,則數碼管就在第4位上顯示0的數字.如果需要同時在數碼管上顯示0123,則先在第1位上顯示0,然后在第2位上顯示1,以此類推,當切換的速度很快后,人的眼睛看上去就像是同時顯示的了(利用肉眼的暫留效應).為什么要加三極管,原因同上,單片機不能直接驅動,故此需要三級管驅動.

圖9 LED顯示器原理
程序設計框圖如圖10所示,系統上電后開始執行初始化,初始化完成后判斷AD是否已啟用,如果沒有則在數碼管上顯示00.00,然后按照AD轉換TLC1543的時序操作芯片對應的IO口,使其進入模數轉換且等待第1次的轉換完成.當轉換完成后由單片機進行處理并按照事先的設定在程序內部進行運算,運算完成后將運算結果更新到LED顯示器上.
本設計以51系列單片機為核心,利用電路板繪圖工具Altium Designer 6.9將PCB制作好并刻板后即可焊接.設計沒有其他繁雜的調試,只需正確書寫代碼下載到單片機中即可.數碼管用于顯示電流值,同時使用運放LM358進行小信號放大.該電路核心電流測試原件為貼片封裝,由于流經電流傳感器測試端的電流較大,因此在設計電路板的時候必須考慮到電流承載的問題.本設計電路簡單,核心器件體積小,因此完全可以按照需要將實物的體積大幅度減小.

圖10 程序設計框圖
筆者在制作完成后與市面上的AnJia DH8電流表進行了對比,將AnJia DH8電流表和本作品串聯在一個回路,所測試的結果如表2所示.經對比,本設計與AnJia DH8電流表的平均誤差為3 mA.

表2 作品參數比較
本系統硬件結構簡單,成本低廉,具有較強的抗干擾能力,使用方便,實時性好,可應用于工農業生產的各個領域的電流測量與控制.
[1]佚名.ACS712中文資料_描述(電流傳感器)[DB/OL].(2011-07-31)[2012 -6 -20].http://wenku.baidu.com/view/c8903041a8956bec0975e368.html.
[2]佚名.LM358[DB/OL].(2012 -0508)[2012-6 -20].http://baike.baidu.com/view/2444219.htm.
[3]佚名.tlc1543——10 位 ADC 資料.[DB/OL].(2010-10 -08)[2012 -6 -20].http://wenku.baidu.com/view/aba0 fceef8c75 fbfc77db2b8.html.
[5]劉守義.單片機應用技術[M].西安:西安電子科技大學出版社,2003:59-60.
[6]馬忠梅.單片機的 C語言應用程序設計:第3版[M].北京:北京航空大學出版社,2003:27-29.
[7]李全利.單片機原理及接口技術:第2版[M].北京:高等教育出版社,2009:99-100.
[8]蔡文學,廖長榮.遠程溫度監控系統的設計[J].重慶文理學院學報:自然科學版,2006,5(4):90-92.