文 輝,蔣艷英
(1.桂林電子科技大學電子電路國家級實驗教學示范中心,廣西 桂林 541000;2.桂林電子科技大學信息科技學院,廣西 桂林 541000)
基于STM32的高精度程控電流源設計
文 輝1,蔣艷英2*
(1.桂林電子科技大學電子電路國家級實驗教學示范中心,廣西 桂林 541000;2.桂林電子科技大學信息科技學院,廣西 桂林 541000)
針對傳統(tǒng)開關型電流源紋波大,精度低的缺點,采用線性穩(wěn)流結構設計出一種基于STM32的高精度程控電流源。硬件上以STM32單片機為控制核心,以16 bit DAC8830數(shù)模轉換芯片產生的電壓基準作為誤差放大器的基準來實現(xiàn)電流源的程控功能,以INA286為電流檢測芯片,配合LTC2400模數(shù)轉換器實現(xiàn)輸出電流回讀。軟件上設計了程控參數(shù)輸入界面和電流回讀界面,設計了SCPI解析器,通過指令實現(xiàn)遠程控制功能。結果表明,該程控電流源紋波電流小,輸出精度高,具有一定的應用價值。
電流源;電流檢測;程控;高精度;SCPI解析器;
低紋波、高精度電流源是一種重要的儀器設備,廣泛應用于電光源、電化學、通信、測量技術、電子儀器等領域。目前,市場上的電流源不具備連續(xù)可調功能,并且輸出電流范圍小、精度低、紋波大、價格昂貴。為應對市場需求,本文設計了輸出電流為0~5 A,最大功率為100 W的高精度程控電流源[1]。主要技術指標為:電流源工作電壓220 V/50 Hz;輸出電流范圍0~5 A連續(xù)可調;線路調整率<0.05%+0.1 mA;負載調整率<0.05%+1 mA;設定準確度?0.05%+2 mA;回讀準確度<0.05%+2 mA;系統(tǒng)設定分辨率為0.1 mA;回讀分辨率為0.01 mA。
數(shù)控式線性穩(wěn)流電路結構如圖1所示,它由調整管、誤差放大器、電流檢測器、D/A、A/D、MCU控制系統(tǒng)組成。當調整管工作在放大狀態(tài)下,通過控制調整管基極電位,從而控制管壓降UCE的大小[2]。為了使輸出電流穩(wěn)定,當負載變化或者輸入電壓Ui波動時,需要調整UCE,使輸出電流保持不變[3]。采用電流檢測和誤差放大器構成負反饋電路結構來達到穩(wěn)流目標。假設Ui或RL增大,輸出電流增大,電流檢測電路輸出電壓u+增大,若控制電壓Uc保持不變,誤差放大器輸出u0l減小,調整管的管壓降UCE上升,使輸出電流保持不變[4]。設電流檢測電路電壓放大倍數(shù)為K,由運算放大器的虛短、虛斷特性可得
u+=KRI=UC
(1)
從而得到,I=UC/KR。因此,該電路能達到穩(wěn)流目的。由式(1)可知,通過改變控制電壓UC的大小,可改變輸出電流的大小。MCU系統(tǒng)通過D/A器件可達到輸出電流程控目的。
圖1 線性穩(wěn)流電路原理
電流源硬件框圖如圖2所示,由工頻變壓器、單相橋式整流濾波、一次穩(wěn)壓、線性穩(wěn)流、輔助電源、STM32系統(tǒng)、D/A和A/D組成。輔助電源采用LM317、LM337、LM7805、LM7905、AMS1117電源管理芯片,提供電路中芯片正常工作的電壓。STM32單片機系統(tǒng)通過D/A控制線性穩(wěn)流輸出,通過A/D讀取輸出值,從而到達程控目的。
圖4 變壓器抽頭選擇電路
圖2 基于STM32的電流源硬件框圖
采用STM32F407VGT6作為核心處理器。該處理器是基于ARM Cortex-M4內核的低成本處理器,具有豐富的外設資源,主要用于電機控制,自動化,電子測量等應用領域[4]。STM32單片機系統(tǒng)硬件框圖如圖3所示,由RS232串口電路,液晶顯示模塊,按鍵及旋轉編碼器,串行FLASH組成。系統(tǒng)通過按鍵和編碼器獲取用戶輸入,通過顯示模塊進行人機交互,RS232串口用于傳送SCPI控制指令,實現(xiàn)計算機與系統(tǒng)連接,串行FlASH采用SST25VF芯片,用于掉電時儲存運行數(shù)據。
圖3 STM32單片機系統(tǒng)硬件框圖
為了提高程控電流源的精度以及減小系統(tǒng)功耗,在交直流變換中通過改變變壓器抽頭選擇與設置電壓相近的電壓。變壓器抽頭選擇電路,主要由滯回比較器和繼電器組成。如圖4所示,變壓器有34 V、28 V、22 V、16 V以及10 V交流輸出,STM32處理器計算相應的電壓量程后,通過控制S1、S2、S3、S4繼電器開關來選擇交流輸入電壓,本電路默認輸入10 V的交流電壓。電流源輸出電壓經R18與R19分壓得來,為了穩(wěn)定輸出電壓,在電路中加入滯回比較器,并把輸出電壓接到比較器正相端。
程控穩(wěn)流電路如圖5所示,主要有電流檢測電路、誤差放大電路、誤差放大穩(wěn)壓電路組成[5]。電流檢測電路主要有電流檢測芯片INA286以及檢測電阻(R59)組成,當電流通過R59時,R59產生一個電壓從而把檢測電流轉換成電壓,通過INA286將此電壓進一步放大得到Usence,并其輸入到誤差放大器。通過OPA2188將Usence與設置電壓(DA_Vin)比較后控制控制調整管的導通程度,從而控制電流大小。調整管采用兩個達林頓管TIP147并聯(lián)構成,降低單管電流,提高調整管的使用壽命。
考慮到本電路輸出最大電流為5 A,檢測電流電阻的精度會影響到系統(tǒng)的精度,若電阻阻值選擇過大,在大電流情況下發(fā)熱嚴重,導致電阻阻值變化,從而影響系統(tǒng)的精度[6]。采用DALE的高精度低溫漂電阻作為電流檢測電阻,阻值為0.01 Ω,在最大電流情況下該電阻的功率為0.25 W。
如圖6所示,由于電流源要求設定分辨率為0.1 mA,需要采用13 bit以上的D/A轉換芯片作為電流控制功能。本文采用TI公司的DAC8830轉換芯片。電路輸出5 A時,電流檢測輸出為5 V??紤]到給予輸出電流一定的余量,電流源設計成最大輸出為5.5 A。D/A轉換器基準電壓采用2.5 V,在5.5 A輸出時,D/A電路需要輸出5.5 V,因此需要在D/A輸出端加入一級電壓放大器。此時,D/A的控制精度為1LSB=5.5/216=0.084 mA。
電流源的設計指標要求回讀分辨率為0.01 mA,需要采用19 bit以上的A/D才能滿足設計要求。本文采用24 bit模數(shù)轉換芯片LTC2400。通過R4和R5的分壓使輸入電壓不會超過2.048 V基準電壓。電流回讀精度為0.68 μA。
圖5 穩(wěn)流電路
圖6 AD和DA電路
電流源軟件設計分為界面顯示和控制兩部分,主要功能有恒流輸出,任意波形電流輸出,按上次運行參數(shù)輸出。同時,設計了基于串口通信的SCPI指令解析器,PC端可通過SCPI指令對電流源進行控制。
電流源采用5 inch 800×480分辨率TFT顯示模塊進行界面顯示,通過按鍵和旋轉編碼器設置運行參數(shù)。系統(tǒng)移植了嵌入式uCGUI界面系統(tǒng),通過函數(shù)庫調用完成界面設計。界面控制流程圖如圖7所示,完成界面創(chuàng)建后,系統(tǒng)等待輸入信號。當輸入信號來到時,系統(tǒng)根據信號類型進入對應的子函數(shù)。
圖7 界面控制流程圖
圖8 任意波形電流輸出控制流程圖
電流輸出分為恒流輸出和任意波形輸出。恒流輸出需要設置輸出電流值,運行時間。恒流輸出開始時,系統(tǒng)獲取設置參數(shù),并將設置電流值轉換為D/A設置值,啟動系統(tǒng)計時器,控制D/A輸出并通過A/D讀取輸出電流[7]。當運行結束信號有效時,輸出結束。任意波形輸出需要設置每個步序的上升時間,升畢電流值,頂部維持時間。具體控制流程如圖8所示,系統(tǒng)獲取輸入參數(shù)后,啟動定時器,根據上升時間判斷該時間階段是否處于電流上升階段,若是,計算上升斜率值,控制D/A輸出;否則,系統(tǒng)根據頂部維持時間判斷該時間段是否處于電流維持階段,若是,輸出D/A值不變;否則,本步序輸出結束。
SCPI指令是針對串口和GPIB接口的通信命令,由標準ASCⅡ碼組成,IEEE488.2中定義SCPI命令位于硬件層之上,可實現(xiàn)對不同儀器的控制功能[8]。PC端可通過SCPI指令實現(xiàn)對電流源的監(jiān)測和控制。本文設計兩類SCPI指令,一類是SCPI公用指令,以字符‘*’開始,如查詢設備信息,系統(tǒng)復位等。另一類是電流源專用指令,分別為電流設置命令,電流回讀命令,狀態(tài)查詢命令,輸出使能/無效命令。一條SCPI指令包括指令題頭,分隔符,指令參數(shù)。例如CURR:DC 1.0,CURR:AC是本條指令題頭,表示電流設置,設置為恒流模式,1.0是指令參數(shù),表示設定恒流輸出為1 A。表1列出了本電流源系統(tǒng)用到的專用指令。
表1 電流源專用SCPI指令列表
圖9 SCPI指令解析流程
本文采用查表法實現(xiàn)SCPI指令解析。當接收到SCPI指令時,系統(tǒng)首先判斷指令的語法是否正確,若語法錯誤,返回錯誤代碼,若正確,則對指令進行預處理,并在已存的指令表中查找對應的入口函數(shù)。軟件流程如圖9所示。
高精度程控電流源樣機如圖10所示,為了驗證電流源輸出精度,將4 Ω電阻負載接入電流源,采用UT61E電流表進行測量,在輸出0~5 A測得對應的輸出值。表2列出了部分實驗數(shù)據,從中可得到,本電流源設置精度可達到0.05%+2 mA,回讀分辨率可達到0.05%+2 mA,滿足設定的指標。
圖10 高精度程控電流源樣機
單位:mA
電流源系統(tǒng)SCPI控制命令定義于串口之上。采用串口調試助手調試系統(tǒng)的SCPI解析器,在輸入對話框輸入命令:*IDN;CURR:dc;CURR:dc?;OUTP:time 10,0,0;OUTP:time?;OUTP ON。解析器返回結果如圖11所示。
圖11 SCPI解析器調試結果
采用線性穩(wěn)流結構,設計了一種高精度程控電流源系統(tǒng)。電流源最大輸出功率為100 W,輸出電流范圍0~5 A,設置精度可達到0.05%+2 mA,回讀分辨率可達到0.05%+2 mA。軟件上設計了SCPI指令解析器,可通過指令實現(xiàn)控制功能。通過實驗證明,該電流源工作穩(wěn)定,精度高,電流輸出范圍大,滿足工程需要。
[1] 王星維,賀青,遲宗濤. 低溫電流比較儀電阻電橋的電流源開環(huán)測試[J]. 工業(yè)控制計算機,2015(11):136-137,142.
[2] 黨自恒. 淺談半導體三極管的作用[J]. 中國市場,2011(45):45-47.
[3] 張宏杰. 全片上集成的線性穩(wěn)壓器的研究與設計[D]. 浙江大學,2010.
[4] 呂棟騰. 一種過流保護直流穩(wěn)壓電源設計[J]. 自動化技術與應用,2016(4):145-147.
[5] 張東浩. 無源UHF RFID標簽芯片低壓低功耗電源系統(tǒng)設計與實現(xiàn)[D]. 西安:西安電子科技大學,2011.
[6] 李前. 高壓直流電壓計量標準和現(xiàn)場量值傳遞方法的研究[D]. 華中科技大學,2012.
[7] 劉為民. 超級電容器恒流測試電源[D]. 大連:大連理工大學,2006.
[8] 李德標. 臺式頻譜分析儀的程控軟件系統(tǒng)設計[D]. 電子科技大學,2015.
DesignofProgrammableHigh-PrecisionCurrentSourceBasedonSTM32
WENHui1,JIANGYanying2*
(1.National Demonstration Center for Experimental Electronic Circuit Education(Guilin University of Electronic Technology),Guilin Guangxi 541000;2.Institute of Information Techology of GUET,Guilin Guangxi 541000)
In order to solve the weakness of high ripple and low precision on switching current power,a programmable high-precision current source based on STM32 was designed by linear current regulator. In the aspect of hardware,the STM32 microcontroller was used as control unit. The current can be controlled by system through setting the reference volt by DAC8830 16 bit DAC. The chip of INA286 and LTC2400 24 bit ADC was used in current detection. In the aspect of software,the parameter input interface and current interface were designed. The SCPI parser was designed so that the system can be controlled by standard instructions. The results show that it is characterized by low ripple and high accuracy.
linear current regulator;programmable current source;current detection;high-precision;SCPI parser
10.3969/j.issn.1005-9490.2017.06.035
2016-09-27修改日期2016-12-11
TP216
A
1005-9490(2017)06-1511-05
文輝(1987-),男,研究生,實驗師,主要研究方向為嵌入式、物聯(lián)網;
蔣艷英(1987-),女,研究生,教師,主要研究方向為嵌入式、物聯(lián)網。