采用SPCE061A單片機的數(shù)控直流電流源方案設計
A/D轉換部分程序主要用于將采樣電阻采集的模擬電壓信號轉換為數(shù)字信號。采樣信號由IoA6輸入并直接送入緩沖器P_ADC_MUX_Data,在ADC自動方式被啟用后,會產生一個啟動信號,此時RDY=0,DAC0的電壓模擬量與外部的采樣模擬量相比較,以盡快找出外部信號模擬量的數(shù)字量,A/D轉換的結果保存在SAR內。當10位A/D轉換完成時,RDY=1,此時,通過讀P_ADC_MUX_Data單元,可以獲得10位A/D轉換的數(shù)據。其IRQ1 中斷服務程序的流程如圖6所示。本文引用地址:http://www.butianyuan.cn/article/177271.htm
圖6 IRQ1 中斷服務程序的流程圖
PID算法主要用于修正實際輸出的電流值和設定值的偏差,調節(jié)下一次的輸出值,使輸出更接近于設定值,提高精度。具體控制過程為:單片機經A/D轉換芯片讀出實際電流Ik,然后和設定的電流Is比較,得出偏差值Ek=Is-Ik,單片機根據Ek的大小,調用PID公式,計算出本次電流調節(jié)的增量ΔIk,然后根據前一次的D/A轉換輸出電流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)運行的準確性和可靠性,可以對設定量與反饋量進行測試,誤差在0.01%之內,并且運行穩(wěn)定,達到了預期目的,還增添了特色的音頻播放設計。凌陽SPCE061A單片機在該系統(tǒng)中使用,使系統(tǒng)功能齊全、外圍電路簡單、輸出精確,軟件編程采用C和匯編混合編程來實現(xiàn),集兩種優(yōu)點于一身,豐富了編程思想,體現(xiàn)了很大的優(yōu)越性。
基爾霍夫電流相關文章:基爾霍夫電流定律
評論