新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 淺談數(shù)控直流電流源的設(shè)計與實現(xiàn)

淺談數(shù)控直流電流源的設(shè)計與實現(xiàn)

作者: 時間:2012-05-25 來源:網(wǎng)絡(luò) 收藏
系統(tǒng)工作及軟件流程

本文引用地址:http://butianyuan.cn/article/230452.htm

圖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所示。

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

PID算法主要用于修正實際輸出的電流值和設(shè)定值的偏差,調(diào)節(jié)下一次的輸出值,使輸出更接近于設(shè)定值,提高精度。具體控制過程為:單片機經(jīng)A/D轉(zhuǎn)換芯片讀出實際電流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為再次采樣電流誤差值。

結(jié)語

為了測試系統(tǒng)運行的準確性和可靠性,可以對設(shè)定量與反饋量進行測試,誤差在0.01%之內(nèi),并且運行穩(wěn)定,達到了預期目的,還增添了特色的音頻播放。凌陽SPCE061A單片機在該系統(tǒng)中使用,使系統(tǒng)功能齊全、外圍電路簡單、輸出精確,軟件編程采用C和匯編混合編程來實現(xiàn),集兩種優(yōu)點于一身,豐富了編程思想,體現(xiàn)了很大的優(yōu)越性。


通過以上對各模塊的分析,系統(tǒng)在工作過程中由SPCE061A單片機將被預置的電流通過換算進行D/A轉(zhuǎn)換,以輸出電壓驅(qū)動V/I轉(zhuǎn)換電路,并將該電流對應(yīng)的電壓通過閉環(huán)回路,經(jīng)信號處理電路作A/D轉(zhuǎn)換后輸入單片機系統(tǒng),通過PID算法調(diào)整電流輸出。整個系統(tǒng)工作流程如圖4所示。

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

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



上一頁 1 2 下一頁

關(guān)鍵詞: 直流電源 設(shè)計

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉