基于混合最優(yōu)算法的高精度數(shù)控直流電源設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 設(shè)計(jì)任務(wù)
設(shè)計(jì)并制作數(shù)控直流電流源。輸入交流200~240V,50Hz;輸出直流電壓≤10V。原理框圖如1所示。
要求:輸出電流范圍:200mA~2000mA;可設(shè)置并顯示輸出電流給定值,要求輸出電流與給定值偏差的絕對值≤給定值的1%+10mA;具有步進(jìn)調(diào)整功能,步進(jìn)≤10mA;紋波電流≤2mA;改變負(fù)載電阻,輸出電壓在10V以內(nèi)變化時(shí),要求輸出電流變化的絕對值≤輸出電流值的1%+10mA。
2 系統(tǒng)設(shè)計(jì)方案
鑒于目前數(shù)控直流源一般采取運(yùn)放構(gòu)成的電流-電壓轉(zhuǎn)換電路與單片機(jī)結(jié)合,設(shè)計(jì)方案大多為開環(huán)系統(tǒng),主控制器僅用于數(shù)字給定及顯示,沒有對輸出電流進(jìn)行檢測和控制。本文在傳統(tǒng)電路設(shè)計(jì)的基礎(chǔ)上,利用控制系統(tǒng)中反饋與控制原理,引入電流負(fù)反饋,在采樣電阻上獲取和電流成正比的采樣電壓,并接人運(yùn)算放大器的反向輸入端,實(shí)現(xiàn)負(fù)反饋,形成恒流輸出的閉環(huán)控制系統(tǒng);軟件方面,將具有全局尋優(yōu)能力但收斂速度慢的遺傳算法和具有收斂速度快且局部尋優(yōu)能力強(qiáng)的直接搜索法結(jié)合在一起,設(shè)計(jì)基于遺傳算法和直接搜索策略的混合優(yōu)化算法,充分利用了遺傳算法的全局搜索能力并以此作為優(yōu)化過程的“粗調(diào)”,同時(shí)利用直接搜索法良好的局部搜索能力作為優(yōu)化過程的“微調(diào)”,集中了兩者的優(yōu)點(diǎn),而克服了兩者的弱點(diǎn),得到的目標(biāo)函數(shù)值較遺傳退火策略更優(yōu),而且一致性更好,用于PID參數(shù)整定是具有整定速度快,調(diào)節(jié)時(shí)間短,穩(wěn)態(tài)誤差小等優(yōu)點(diǎn)。同時(shí)結(jié)合PID算法,形成軟件閉環(huán),實(shí)現(xiàn)對輸出電流的精確控制。
系統(tǒng)工作原理如下:由鍵盤預(yù)置電流值,輸入到單片機(jī);采樣電阻采集的電流信號經(jīng)A/D轉(zhuǎn)換器送入單片機(jī),當(dāng)兩值之差絕對值為零或不大于設(shè)定值時(shí),不作任何調(diào)整;當(dāng)兩值之差大于設(shè)定值時(shí),運(yùn)用PID算法進(jìn)行調(diào)整,送人D/A轉(zhuǎn)換,調(diào)整輸出電流,直到差值在允許的范圍內(nèi)。單片機(jī)控制液晶顯示電流的設(shè)定值、實(shí)際輸出值和電流步進(jìn)值。其原理示意圖如2所示。
3 硬件電路設(shè)計(jì)
數(shù)控直流電流源由自制電源電路、鍵盤輸入電路、顯示電路、單片機(jī)最小系統(tǒng)、D/A轉(zhuǎn)換電路、恒定電流源電路、A/D轉(zhuǎn)換電路和輸出電流采集等模塊電路組成。
3.1 采用比較適合的新型的Atmega128單片機(jī)
目前大多數(shù)控恒流源設(shè)計(jì)方案是以51系列單片機(jī)作為電流源控制器,該系列單片機(jī)性價(jià)比高,接口電路開發(fā)成熟,應(yīng)用廣泛。但執(zhí)行速度慢,集成的電路穩(wěn)定性差,且容易受干擾,內(nèi)部沒有看門狗電路,容易死機(jī),沒有集成A/D、D/A轉(zhuǎn)換芯片。與51系列單片機(jī)相比,ATmega128具有高速運(yùn)行處理能力,電路穩(wěn)定性好,內(nèi)部有可編程帶內(nèi)部振蕩器的看門狗定時(shí)器,帶有8通道單端或差分輸入的10位A/D轉(zhuǎn)換芯片。本系統(tǒng)選用ATmega128作為電流源控制器,使用高精度、具有比較匹配中斷功能的定時(shí)器,實(shí)現(xiàn)高精度的PID算法。
控制器主要實(shí)現(xiàn)以下功能:(1)控制鍵盤輸入電流設(shè)定值;(2)控制A/D轉(zhuǎn)換電路把實(shí)測電流值轉(zhuǎn)換成數(shù)字量;(3)比較電流設(shè)定值與實(shí)測值的大小,根據(jù)比較結(jié)果,用PID算法進(jìn)行調(diào)整;(4)控制D/A轉(zhuǎn)換電路把調(diào)整好的數(shù)字電流量轉(zhuǎn)換為模擬電壓量;(5)顯示設(shè)定電流值、實(shí)測電流值和步進(jìn)電流值;(6)記錄故障持續(xù)時(shí)間。
3.2 恒定電流源設(shè)計(jì)
本設(shè)計(jì)采用集成有運(yùn)放的線性恒流源。電路由兩個(gè)低漂移運(yùn)放LM358、晶體管TIP41C、負(fù)載電阻R、限流電阻R3和直徑為1mm康銅絲繞制成的電流反饋采樣電阻RF組成,如圖3所示。
采樣電阻Rf將電流信號以電壓的形式加到運(yùn)放的輸入端,構(gòu)成電流并聯(lián)負(fù)反饋電路,減輕后級電路對D/A的影響,同時(shí)可以得到恒流輸出,使電流源具有較好的穩(wěn)定性。TIP41C是大功率晶體管,工作在線性放大區(qū)時(shí),最大集電極電流為4 A,放大倍數(shù)為20~70倍。
負(fù)載電流僅由輸入電壓決定,而與負(fù)載R的大小無關(guān)。由于運(yùn)放電源的限制,負(fù)載只能在一定范圍內(nèi)變化。當(dāng)輸入電壓不變時(shí),負(fù)載電阻在一定范圍內(nèi)變化,輸出電流將保持不變,構(gòu)成恒流源電路。
本方案的另外一個(gè)特色是,采用康銅絲組成采樣電阻,康銅絲的溫度系數(shù)為5ppm/℃,通過電流時(shí)引導(dǎo)起的溫度升高對其電阻阻值并不會有太大影響,溫度特性好,同時(shí)采用反向?qū)ΨQ繞法把其繞制成空心繞線電阻,以減少繞制電阻時(shí)產(chǎn)生附加的電感,達(dá)到減少紋波電流的目的。為保證足夠的V-I轉(zhuǎn)換精度,電路中各電阻應(yīng)選用精密電阻。
3.3 A/D轉(zhuǎn)換器設(shè)計(jì)
本系統(tǒng)的電流測量部分由12位A/D芯片TLC2543構(gòu)成,該芯片是一種12位開關(guān)電容逐次逼近A/D轉(zhuǎn)換器,芯片共有11個(gè)模擬輸入通道。芯片的串行三態(tài)輸出數(shù)據(jù)端、輸人數(shù)據(jù)端、輸入/輸出時(shí)鐘3個(gè)控制端能形成與微處理器之間數(shù)據(jù)傳輸較快和較為有效的串行外設(shè)接口。12位A/D可以達(dá)到該系統(tǒng)的1%+1mA的精度要求。
3.4 聲光報(bào)警電路
數(shù)控直流電流源有過流保護(hù)功能,即當(dāng)實(shí)際電流輸出超4000mA,可實(shí)現(xiàn)報(bào)警,并使輸出電流降為0mA。
3.5 自制電源模塊設(shè)計(jì)
本設(shè)計(jì)需要12V及5V直流電壓。整個(gè)系統(tǒng)的電壓外接220 V交流電壓,將外接電壓通過整流變壓器得到15 V左右交流電壓,再經(jīng)過電橋整流得到直流電壓,15 V直流電壓經(jīng)過電容的濾波,然后再通過三端穩(wěn)壓塊7805轉(zhuǎn)換得到5 V電壓,通過三端穩(wěn)壓塊7812得到12 V電壓。
與數(shù)碼管相比,液晶顯示屏具有功耗低、可視面積大,分辨率高,抗干擾能力強(qiáng),字符操作方便等特點(diǎn),并且編程容易,占用控制器的資源不多等優(yōu)點(diǎn)。本設(shè)計(jì)采用LCD1602顯示0~2300mA電流,發(fā)光二極管LED1、LED2指示電流測量方式和電流設(shè)定方式,當(dāng)二者交替點(diǎn)亮表示當(dāng)前為交替顯示電流的給定值和實(shí)測值,LED3、LED4、LED5分別指示3種步長(1mA、10mA、100mA)。
因編碼鍵盤掃描采用中斷方式,具有占用I/O口較少的優(yōu)勢,本設(shè)計(jì)采用2×8編碼鍵盤,共16個(gè)按鍵。編碼鍵盤采用硬件電路代替軟件判斷按鍵編號的方式,當(dāng)按鍵按下時(shí),鍵盤通過優(yōu)先編碼器進(jìn)行編碼,編碼器同時(shí)向單片機(jī)發(fā)出中斷信號,單片機(jī)讀取鍵號,調(diào)用按鍵子程序進(jìn)行相應(yīng)處理。
3.7 D/A轉(zhuǎn)換器設(shè)計(jì)
為實(shí)現(xiàn)輸出電流范圍10mA~4000mA、步進(jìn)1mA的要求,應(yīng)選用分辨率高的DAC,本設(shè)計(jì)采用MAX538為D/A轉(zhuǎn)換電路的核心器件。
MAX538是12位串行數(shù)模轉(zhuǎn)換器,具有轉(zhuǎn)換速度快、精度高、功耗低等特點(diǎn)。本芯片為8腳串口數(shù)據(jù)輸入D/A轉(zhuǎn)換芯片,占用單片機(jī)引腳資源少,程序編輯方便,外圍電路擴(kuò)展簡單。由于MAX538具有內(nèi)部基準(zhǔn)電壓為4.096V,由公式()可得MAX538輸出電壓精度為1(mV),加在阻值為1Ω的康銅絲電阻兩端可使其產(chǎn)生1(mA)電流(即步進(jìn)1mA),試驗(yàn)顯示能達(dá)到指標(biāo)。
3.8 系統(tǒng)的組成
(1)控制器件:ATmega128單片機(jī);
(2)鍵盤輸入電路:2 × 8編碼鍵盤;
(3)顯示電路:LCD1602;
(4)恒定電流源電路:LM358、TIP41C、采樣電阻RF;
(5)聲光報(bào)警電路:發(fā)光二極管和蜂鳴器;
(6)記錄故障時(shí)間:ATmega128單片機(jī)內(nèi)置的定時(shí)器/計(jì)數(shù)器;
(7)A/D轉(zhuǎn)換器:TLC2543;
(8)D/A轉(zhuǎn)換器:MAX538;
(9)自制電源模塊:整流變壓器、整流橋、電容、三端穩(wěn)壓塊7812及7805
4 軟件設(shè)計(jì)
在數(shù)控恒流源閉環(huán)控制系統(tǒng)中,為保持負(fù)載電流恒定,并且負(fù)載電流隨設(shè)定值變化時(shí)沒有超調(diào),同時(shí)又希望系統(tǒng)有較好的抗擾動性能,本設(shè)計(jì)采用PID控制器來改善系統(tǒng)的性能。具體控制過程為:ATmega128經(jīng)A/D轉(zhuǎn)換器讀取實(shí)際輸出電流I,然后和設(shè)定的電流IS相比較,得出差值Ek=IS-I,主控制器根據(jù)Ek的正負(fù)大小,調(diào)節(jié)PID控制器,計(jì)算出本次電流調(diào)節(jié)的增量△Ik,然后根據(jù)前一次D/A芯片輸出的電流Iq-1,計(jì)算本次的輸出電流。PID控制器的參數(shù)由自行設(shè)計(jì)的混合最優(yōu)算法確定。
4.1 混合最優(yōu)算法設(shè)計(jì)
鑒于遺傳算法收斂慢,易早熟,且對參數(shù)依賴性大,而直接搜索法在局部有很好的搜索能力。本設(shè)計(jì)綜合利用兩種算法的優(yōu)良性能,克服各自的缺點(diǎn),先用遺傳算法在給定的區(qū)域上作“全局粗略”搜索,然后用直接搜索法對其中部分較優(yōu)個(gè)體在這些個(gè)體所在極小區(qū)域作“局部精絀”搜索,找出它的極小值,反復(fù)進(jìn)行,可以比較迅速地找出PID算法參數(shù)的全局最優(yōu)解。
控制器ATmega128主要用來實(shí)現(xiàn)遺傳算法參數(shù)自整定,數(shù)據(jù)存儲器存儲一些專家經(jīng)驗(yàn),用來初步確定整定目標(biāo)域,同時(shí)也存儲遺傳算法的每代樣本數(shù)據(jù)及控制參數(shù)。
嚴(yán)格地說,遺傳算法的迭代何時(shí)停止,在理論上尚無定論。在許多應(yīng)用實(shí)例中,若發(fā)現(xiàn)群體中個(gè)體的進(jìn)化已趨于穩(wěn)定狀態(tài),則迭代終止。對于PID參數(shù)自整定,調(diào)節(jié)過程進(jìn)入相對穩(wěn)定狀態(tài),則終止迭代算法。所以把迭代次數(shù)等于最大迭代數(shù)目M或者精度調(diào)節(jié)變化量小于某個(gè)預(yù)設(shè)值作為算法終止的條件,
混合最優(yōu)算法流程圖如圖4所示。
4.2 軟件實(shí)現(xiàn)
基于模塊化思想,系統(tǒng)軟件設(shè)計(jì)部分由C語言和匯編語言混合編寫而成,發(fā)揮了C語言高效運(yùn)算和快速開發(fā)以及匯編語言的靈活的特點(diǎn)。系統(tǒng)軟件主要完成輸出設(shè)定、電流調(diào)整等功能。包括主程序、A/D采樣子程序、D/A輸出電流給定值及按鍵控制、PID算法子程序、混合最優(yōu)算法子程序、LCD顯示等其他子程序。
主程序流程圖如圖5所示。
5 系統(tǒng)功能測試
(1)系統(tǒng)輸出電流范圍為10mA~4000mA;
(2)具有3種步長可選的電流步進(jìn)功能,可通過“+”、“-”按鍵方便地進(jìn)行正負(fù)步進(jìn)調(diào)整;
(3)可交替顯示電流的給定值和實(shí)測值,實(shí)際測量輸出電流誤差的絕對值≤測量值的0.1%+1mA;
(4)改變負(fù)載電阻,輸出電壓在10V以內(nèi)變化時(shí),輸出電流的絕對值≤輸出電流值的0.1%+1mA;
(5)紋波≤0.15Ma
6 結(jié)論
本數(shù)控直流電流源系統(tǒng)以Atmega128為主控制器,采用軟硬件雙閉環(huán)反饋方法,使電源的穩(wěn)定性和輸出精度得到保證,并有普通穩(wěn)壓源實(shí)現(xiàn)了穩(wěn)流輸出。通過按鍵來設(shè)置電流源的輸出電流,設(shè)置步進(jìn)級可選。在系統(tǒng)設(shè)計(jì)過程中,力求硬件電路參數(shù)合理,線路簡單,發(fā)揮軟件編程靈活的特點(diǎn),通過多次調(diào)試,不斷提高系統(tǒng)的精度和電流的穩(wěn)定性,以滿足系統(tǒng)的設(shè)計(jì)要求。
編輯:博子