你的位置:首頁 > 電源管理 > 正文

單片機作為主要控制部件的數(shù)控DC電流源系統(tǒng)

發(fā)布時間:2012-12-27 責任編輯:Lynnjiao

【導(dǎo)讀】本設(shè)計采用單片機作為主要控制部件,通過鍵盤預(yù)置輸出電流值并采用液晶模塊實時顯示。整個系統(tǒng)硬件部分由微控制器模塊、電壓-電流轉(zhuǎn)換模塊、鍵盤模塊、顯示模塊、直流穩(wěn)壓電源模塊和語音提示模塊組成。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

數(shù)控DC電流源系統(tǒng)
圖1:數(shù)控DC電流源系統(tǒng) 

微控制器是整個系統(tǒng)的核心,負責整個系統(tǒng)的運作。為了能夠做到硬件電路簡單,系統(tǒng)性能穩(wěn)定可靠,便于實現(xiàn)語音播報、鍵盤設(shè)置和信息實時顯示等功能的協(xié)調(diào),通過多種方案論證后,選用凌陽十六位單片機SPCE061A。該單片機采用現(xiàn)代電子技術(shù)——片上系統(tǒng)SOC(system on a chip)技術(shù)設(shè)計而成,內(nèi)部集成有ADC、DAC、PLL、AGC、DTMF、LCD-DRIVER等電路(與IC型號有關(guān))。它采用精簡指令集(RISC),指令周期均以CPU時鐘數(shù)為單位。另外,它還兼有DSP芯片功能,內(nèi)置16位硬件乘法器和加法器,并配備有DSP擁有的特殊指令,大大加速了各種演算法的運行速度。同時可以在Windows環(huán)境下使用凌陽十六單片機應(yīng)用開發(fā)工具,該工具支持標準C語言和凌陽單片機匯編語言,集匯編、編程、仿真等功能于一體,大大加快了軟件開發(fā)過程。凌陽單片機具有高速度、低價、可靠、實用、體積小、功耗低等特點,用該單片機作為控制器比較合適,在硬件電路簡單的前提下容易實現(xiàn)A/D、D/A轉(zhuǎn)換、語音提示、PID運算等功能。
  
顯示模塊主要實現(xiàn)的功能是顯示設(shè)置的電流輸出值和其他人機交互信息。本部分可以采用七段數(shù)碼LED顯示器,實現(xiàn)顯示數(shù)字、簡單字母和小數(shù)點等信息,但由于其顯示信息單一,人機交互不友好,在系統(tǒng)中采用字符型液晶顯示屏 LCDSMC1602A模塊。該模塊具有輕薄短小、低壓微功耗、體積小、無輻射危險,平面直角顯示及影像穩(wěn)定不閃爍等優(yōu)點。其方便用于顯示字母、數(shù)字、符號等信息,而且不需要擴展過多外圍電路,可由單片機直接進行控制輸出顯示。
  
電壓-電流轉(zhuǎn)換模塊由精密運放與3個晶體管組成的達林頓管電路構(gòu)成。轉(zhuǎn)換電路利用晶體管平坦的輸出特性和深度負反饋電路使輸出電流穩(wěn)定。如圖2所示,此V/I轉(zhuǎn)換電路的帶負載能力強,電流輸出范圍達0~3A。輸出電流Io經(jīng)反饋電阻RF得到一個反饋電壓Vf,Vf= V11-V12,通過R5、R6加到運算放大器的兩輸入端,設(shè)運放兩端的電為V1、V2,Vi由單片機DAC輸出。因為理想運放的輸入電流約等于零,且 V1=V2,則有V12[1-R6/(R2+R6)]+ViR6/(R2+R6)=V11R1(R1+R6)。由于V12=V11-Vf,則V11R2 /(R2+R6)+(ViR6-VfR2)/(R2+R6)=V11R1/(R1+R5)。令R1=R2=10kΩ,R5=R6=1kΩ,則有 Vf=ViR6/R2=Vi/10。若暫不考慮反饋時,Io=Vi/(10Rf)。

V/I轉(zhuǎn)換電路圖
圖2:V/I轉(zhuǎn)換電路圖 

由此可見,輸出電流的標定由D/A轉(zhuǎn)換的輸出電壓Vi和Rf決定,為線性變換。Rf由大線徑康銅絲制作,其溫度系數(shù)很小(5×10-6/℃),大線徑可以使其溫度影響減至最小。3個三極管應(yīng)選用大功率管TIP122,且使用散熱片,以保證管子工作在線性區(qū)。
  
電壓-電流轉(zhuǎn)換模塊的組成還有另外一種方案,采用3個運放構(gòu)成輸出電流可變的電流源,如圖3所示。輸出電流I=Vi/R1,為使R1兩端的電壓保持恒定,由差分放大器IC1b通過射隨器IC1c監(jiān)測R1兩端的電位,此電位經(jīng)IC1b的7腳加到比較器 ICa的反相輸入端與Vref比較。比較結(jié)果使比較器的輸出端變化,直到平衡為止,即Vr1=Vi。電路中的電容用于補償ICa的頻率,減少控制環(huán)路的延時。只要R1=R2=R3=R4=R5,此電路的性能較好。但此電路的帶負載能力不強,環(huán)路延時補償對電路的穩(wěn)定有較大影響。

三運放V/I轉(zhuǎn)換電路
圖3:三運放V/I轉(zhuǎn)換電路 

系統(tǒng)鍵盤模塊可以采用獨立式連接方式或行列式(矩陣式)連接方式,該模塊的功能主要完成對輸出電流和其他信息的設(shè)定。直流穩(wěn)壓電源模塊為整個系統(tǒng)供電;語音模塊實現(xiàn)語音提示,使系統(tǒng)設(shè)計更具人性化,系統(tǒng)具有友好的工作界面。凌陽單片機內(nèi)部集成有ADC、DAC、PLL、AGC、DTMF等模塊,語音功能可由軟件編程實現(xiàn),不需要外接任何電路,有效的利用了系統(tǒng)資源。
  
系統(tǒng)工作及軟件流程
  
在工作過程中, SPCE061A單片機將被預(yù)置的電流值通過換算進行D/A轉(zhuǎn)換,以輸出電壓驅(qū)動V/I轉(zhuǎn)換電路實現(xiàn)電路輸出,并將該電流值對應(yīng)的電壓值通過閉環(huán)回路,經(jīng)A/D轉(zhuǎn)換后輸入單片機系統(tǒng),再通過PID算法調(diào)整電流輸出。整個系統(tǒng)工作流程圖如圖4所示。

系統(tǒng)工作流程圖
圖4:系統(tǒng)工作流程圖

系統(tǒng)軟件設(shè)計在凌陽十六單片機應(yīng)用開發(fā)工具unSPIDE1.16.1中進行,采用凌陽單片機匯編語言和標準C語言對單片機進行編程。主要實現(xiàn)5個功能:(1)系統(tǒng)的初始化,包括各外圍接口設(shè)備的初始化;(2)鍵盤輸入;(3)D/A、A/D轉(zhuǎn)換; (4)PID算法進行電流調(diào)整;(5)語音提示和電流顯示。其主程序流程圖如圖5所示。

主程序流程圖
圖5:主程序流程圖 

A/D轉(zhuǎn)換部分程序主要用于將采樣電阻采到的模擬電壓信號轉(zhuǎn)換為數(shù)字信號。采樣信號由IoA6輸入并直接送入緩沖器P_ADC_MUX_Data,在 ADC自動方式被啟用后,會產(chǎn)生一個啟動信號,此時,RDY=0,DAC0的電壓模擬量與外部的采樣模擬比較,以盡快找出外部信號模擬量的數(shù)字量,A/D 轉(zhuǎn)換的結(jié)果保存在SAR內(nèi)。當10位A/D轉(zhuǎn)換完成時,RDY=1,此時,通過讀P_ADC_MUX_Data單元可以獲得10位A/D轉(zhuǎn)換的數(shù)據(jù)。其 IRQ1 中斷服務(wù)程序的流程圖如圖6所示。

IRQ1中斷服務(wù)程序的流程圖
圖6:IRQ1中斷服務(wù)程序的流程圖

PID算法程序主要用于修正實際輸出的電流值和設(shè)定值的偏差,調(diào)節(jié)下一次的輸出值,使輸出更接近于設(shè)定值,提高精度。具體控制過程為單片機經(jīng)A/D芯片讀出實際電流Ik,然后和設(shè)定的電流Is比較,得出偏差值Ek=Is-Ik,單片機根據(jù)Ek的大小,調(diào)用PID公式,計算出本次電流調(diào)節(jié)的增量Δik,然后根據(jù)前一次的D/A轉(zhuǎn)換后輸出電流Iq-1,計算出本次電流的輸出Iq。
  
離散增量PID的計算公式為
ΔIk=Kp[(Ek-Ek-1)+K1Ek+KD(Ek-2Ek-1+Ek-2)]
 =Kp(Ek-Ek-1)+K1’Ek +KD’(Ek-2Ek-1+Ek-2)

式中,K1’= Kp.K1, KD’= Kp×KD,Ek為本次采樣時刻的電流誤差,Ek-1為上次采樣電流誤差,Ek-2為再次采樣電流誤差值。
  
為了測試系統(tǒng)運行的準確性和可靠性,將設(shè)定量與反饋量的進行測試對比,誤差在0.01%之內(nèi),并且運行穩(wěn)定,達到了預(yù)期目的,還增添了特色的音頻播放設(shè)計。

要采購鍵盤么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關(guān) 壓敏電阻 揚聲器 遙控開關(guān) 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設(shè)備 震動馬達 整流變壓器 整流二極管 整流濾波 直流電機 智能抄表
?

關(guān)閉

?

關(guān)閉