基于單片機的數(shù)控電流源設計
摘要:本文給出了一種基于單片機控制的數(shù)控電流源設計。本設計以PIC16F877A單片機為核心部件,采用PID算法實現(xiàn)了量程可選、輸出可調、步進精確、紋波電流極小的功能,而且可將輸出電流預置值、實測值在LED上同時顯示。經(jīng)實驗測試證明,此設計具有較高的控制精度。
1 引言
電源技術尤其是數(shù)控電源技術是一門實踐性很強的工程技術,涉及了電氣、電子、系統(tǒng)集成、控制理論、材料等諸多學科領域。計算機和通訊技術的發(fā)展,給電力電子技術提供了廣闊的發(fā)展前景,同時也給電源提出了更高的要求。普通電源由于精確度不高等缺點已不能滿足現(xiàn)實的需要。直到單片機技術及電壓轉換模塊的出現(xiàn),才使精確數(shù)控電源的發(fā)展有了可能。本文所設計的數(shù)控電流源采用PIC16F877A單片機為核心部件,鍵盤、顯示、D/A、開關電源等模塊為外圍電路。
2 設計要求和總體設計思路
2.1 設計要求
本設計要求:輸入220V,輸出最高12V;通過鍵盤控制輸出電流,步長為0.01A;采用LED顯示輸出電流,精度為0.02A;電流源穩(wěn)流范圍為(0.2-1)A。
2.2 總體設計思路
本設計采用開關電源,以達到輸出范圍和精度以及紋波的要求。根據(jù)系統(tǒng)要求,采用D/A轉換后,接運算放大器構成的功率放大來控制D/A的輸入,從而控制電流值的方法。本系統(tǒng)主要由數(shù)控部分、電源部分和鍵盤顯示電路組成。系統(tǒng)原理框圖如圖1所示。
3 硬件電路設計及軟件選擇
根據(jù)數(shù)控電流源的設計要求,系統(tǒng)主要由控制模塊、電源模塊、D/A模塊及鍵盤顯示模塊構成。
3.1 控制模塊的選擇
本設計采用的是PIC16F877A單片機控制。與AT89C51單片機相比,PIC16F877A采用哈佛結構,能實現(xiàn)指令的單指節(jié)化,有精簡指令集技術,尋址方式簡單,I/O口驅動能力強,具備I2C和SPI串行總線端口,外圍電路簡潔,不僅便于開發(fā),而且還可節(jié)省用戶的電路板空間和制造成本。程序保密性強,有低功耗、寬電壓設計,能將相當一部分外圍器件結合到一起,使用方便,抗干擾性能提高。
3.2 電源模塊的選擇
電源模塊一般主要采用全橋整流加電容濾波電路、三端穩(wěn)壓集成電路外接擴流管和開關電源電路。全橋整流加電容濾波電路廣泛應用于一些要求不太高的直流電流源中,其驅動能力和后級的濾波電容有關,該電路顯著的特點就是能夠比較好的滿足電流的瞬態(tài)相應,而如果負載要求持續(xù)的大電流輸出,該電路將無能為力。三端穩(wěn)壓集成電路外接擴流管既利用了穩(wěn)壓集成塊良好的穩(wěn)壓性能,又能夠有一定的電流輸出,在一些高精度的線性穩(wěn)壓電源中被廣泛采用,但是效果較差。開關電源的功率器件工作在開關狀態(tài),功率損耗小、效率高。與之相配套的散熱器體積大大減小,同時脈沖變壓器體積比工頻變壓器小了很多。因此采用開關電源的電流源具有效率高、體積小、重量輕等優(yōu)點。
由于本設計對電源的要求比較高,尤其體現(xiàn)在對電源的功率和紋波電壓的要求上。因此,在這里采用的是開關電源電路。
3.3 D/A轉換模塊的選擇
TLC5615為美國德州儀器公司1999年推出的產(chǎn)品,是具有串行接口的數(shù)模轉換器,其輸出為電壓型,最大輸出電壓是基準電壓值的兩倍。帶有上電復位功能,即把DAC寄存器復位至全零。它是串行輸入的10位高精度D/A轉換器,因此經(jīng)轉換的最終輸出電壓可以達到0V~10V。10位D/A,分辨率為1/2048,選采樣電阻為15kΩ,D/A輸出的分辨率能實現(xiàn)步進0.01A。
3.4 軟件的選擇
Protel 99 SE軟件設計系統(tǒng)是一套建立在IBM PC兼容機環(huán)境下的EAD電路集成設計軟件平臺。它具有電路原理圖設計、PCB(印制電路板)設計、電路的層次化設計、報表制作、電路仿真以及邏輯器件設計等功能。
MICROCHIP公司為PIC系列單片機配備了功能強大的軟件集成開發(fā)系統(tǒng)Mp lab,該軟件是一個集成多種單片機應用開發(fā)工具軟件于一體的、功能完備的軟件包。
本文采用Protel 99 SE軟件設計系統(tǒng)進行PCB板的設計,Mp lab進行系統(tǒng)仿真
4 數(shù)控電流源的單片機程序實現(xiàn)
本文所采用的PIC16F877A單片機是MICROCHIP公司開發(fā)的新產(chǎn)品,具有FLASH編程的功能,可以直接在單片機上進行如暫停CPU執(zhí)行,觀察寄存器內容等操作,是目前應用最廣泛的一種PIC單片機。
單片機程序所要實現(xiàn)的功能是:獨立鍵盤對PIC16F877A單片機輸入數(shù)據(jù),PIC16F877A單片機對獲得的數(shù)據(jù)進行處理,并送到10位數(shù)模轉換器TLC5615,實現(xiàn)對電流的控制。
在這里采用的是C語言編程,其優(yōu)點是編寫代碼效率高、軟件調試直觀、維護升級方便、代碼的重復利用率高、便于跨平臺的代碼移植等。主程序流程圖如圖2所示。
5 系統(tǒng)測試
本設計要求輸出電流范圍為0.2A-1A,恒流源模塊采樣電阻兩端電壓為200mV-2000mV,由電壓值可以推算出數(shù)模轉換模塊的參考電壓|Vref|至少為2V(Vref<0)。本設計的Vref=-2.15V,輸出端模擬電壓范圍為(0-12)V,所以輸出電流為0.2A-1A。設計要求在0.2A-1A內任意預值,本設計通過鍵盤輸入電流值送單片機,單片機根據(jù)輸入的鍵值,將模擬量轉換為數(shù)字量送給數(shù)模轉換電路,然后輸出模擬量。部分電流值及其對應的理論和實際的數(shù)字量如表1所列。其中對應理論碼值為輸入電流對應數(shù)模轉換所需要的碼值,實際碼值為單片機根據(jù)輸入電流值處理后送到數(shù)模轉換器的碼值。
表1所列的測試結果表明,本設計輸出的最大誤差為當輸入電流為32mA時,輸出電流為33mA,誤差為1mA。而題目中發(fā)揮部分要求輸出電流變化的絕對值≤輸出電流的0.1%+1mA,即1.032,所以本設計測量出來的誤差值達到了設計要求規(guī)定的誤差值。
6 結論
本文所設計的數(shù)控電流源采用PID算法實現(xiàn)了量程可選、輸出可調、步進精確、紋波電流極小的功能,而且可將輸出電流預置值、實測值在LED上同時顯示。人機接口采用獨立鍵盤及LED顯示器,控制界面直觀、簡潔,具有良好的人機交互性能。其具有控制靈活,系統(tǒng)升級方便,控制系統(tǒng)的可靠性提高,易于標準化,系統(tǒng)維護方便、一致性好、成本低,生產(chǎn)制造方便等優(yōu)點。