數控直流電流源的設計與實現
發布時間:2011-12-26
中心議題:
在電子設備中經常用到穩定性好、精度高、輸出可預置的直流電流源。本文設計的數控直流電流源能夠很好地降低因元器件老化、溫漂等原因造成的輸出誤差,輸出電流在20mA~2000mA可調,輸出電流可預置、具有“+”、“-”步進調整、輸出電流信號可直接顯示和語音提示等功能。硬件電路采用淩陽單片機 SPCE061A為控製核心,利用閉環控製原理,加上反饋電路,使整個電路構成一個閉環,在軟件方麵主要利用PID算法來實現對輸出電流的精確控製。該係統可靠性高、體積小、操作簡單方便、人機界麵友好。
係統硬件實現方案
本設計采用單片機作為主要控製部件,通過鍵盤預置輸出電流值並采用液晶模塊實時顯示。整個係統硬件部分由微控製器、電壓-電流轉換、鍵盤、顯示、直流穩壓電源和語音提示等模塊組成。係統組成框圖如圖1所示。
微控製器是整個係統的核心,負責整個係統的運作。為了實現簡化硬件電路、係統性能穩定可靠,便於實現語音播報、鍵盤設置和信息的實時顯示等功能的協調,通過多種方案論證後,微控製器選用淩陽公司的SPCE061A,該單片機內部集成有ADC、DAC、PLL、AGC、DTMF、LCD-Driver 等電路(與IC型號有關)。它采用精簡指令集(RISC),指令周期均以CPU時鍾數為單位。另外,它還兼有DSP功能,內置16位硬件乘法器和加法器,並配備有DSP擁有的特殊指令,大大加速了各種算法的運行速度。同時可以在Windows環境下使用淩陽單片機應用開發工具,該工具支持標準C語言和淩陽單片機彙編語言,集彙編、編程、仿真等功能於一體,大大加快了軟件開發過程。用該單片機作為控製器比較合適,在硬件電路簡單的前提下,容易實現A/D和 D/A轉換、語音提示、PID運算等功能。
電壓-電(dian)流(liu)轉(zhuan)換(huan)模(mo)塊(kuai)由(you)精(jing)密(mi)運(yun)放(fang)與(yu)三(san)個(ge)晶(jing)體(ti)管(guan)組(zu)成(cheng)的(de)達(da)林(lin)頓(dun)管(guan)電(dian)路(lu)構(gou)成(cheng)。轉(zhuan)換(huan)電(dian)路(lu)利(li)用(yong)晶(jing)體(ti)管(guan)平(ping)坦(tan)的(de)輸(shu)出(chu)特(te)性(xing)和(he)深(shen)度(du)負(fu)反(fan)饋(kui)電(dian)路(lu)使(shi)輸(shu)出(chu)電(dian)流(liu)穩(wen)定(ding),如(ru)圖(tu)2所示,此V/I轉換電路的帶負載能力強,電流輸出範圍達0~3A。輸出電流Io經反饋電阻Rf得到一個反饋電壓Vf,Vf= V11-V12,通過R5、R6加到運算放大器的兩輸入端,設運放兩端的電為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=10kW,R5 =R6 =1kW,則有Vf=ViR6/R2=Vi/10
若暫不考慮反饋時,
Io=Vi/(10Rf)
[page]
由此可見,輸出電流的標定由D/A轉換所得輸出電壓Vi和Rf的阻值決定,成線性變換。Rf由大線徑銅絲製作,其溫度係數很小(5ppm/℃),大線徑可以使其溫度影響減至最小。3個三極管應選用大功率管TIP122,且使用散熱片,以保證管子工作在線性區。
電壓-電流轉換模塊還有另外一種方案,即采用三個運放構成輸出電流可變的電流源,如圖3所示。輸出電流I=Vi/R1,為使R1兩端的電壓保持恒定,由差分放大器IC1b通過射隨器IC1c監測R1兩端的電位,此電位經IC1b的7腳加到比較器 ICa的反相輸入端與Vref比較,根據比較結果使比較器的輸出端變化,直到平衡為止,即Vr1=Vi。電路中的電容用於補償ICa的頻率,減少控製環路的延時。隻要R1=R2=R3=R4=R5,此電路的性能較好,但帶負載能力不強,環路延時補償對電路的穩定有較大影響。
係統鍵盤模塊可以采用獨立式或行列式(矩陣式)連lian接jie方fang式shi,該gai模mo塊kuai主zhu要yao完wan成cheng對dui輸shu出chu電dian流liu和he其qi它ta信xin息xi的de設she定ding。直zhi流liu穩wen壓ya電dian源yuan模mo塊kuai為wei整zheng個ge係xi統tong供gong電dian,語yu音yin模mo塊kuai實shi現xian語yu音yin提ti示shi,使shi係xi統tong設she計ji更geng具ju人ren性xing化hua,係xi統tong具ju有you友you好hao的de工gong作zuo界jie麵mian。淩ling陽yang單dan片pian機ji內nei部bu集ji成cheng有youADC、DAC、PLL、AGC、DTMF等模塊,語音功能可由軟件編程實現,不需要外接任何電路,有效利用了係統資源。
係統工作及軟件流程
通過以上對各模塊的分析,係統在工作過程中由SPCE061A單片機將被預置的電流通過換算進行D/A轉換,以輸出電壓驅動V/I轉換電路,並將該電流對應的電壓通過閉環回路,經信號處理電路作A/D轉換後輸入單片機係統,通過PID算法調整電流輸出。整個係統工作流程如圖4所示。
係統軟件設計在淩陽十六單片機應用開發工具unSPIDE1.16.1中進行,采用淩陽單片機彙編語言和標準C語言對單片機進行編程,以實現各種功能。主要包括: (1)係統的初始化,包括各外圍接口設備的初始化;(2)鍵盤輸入;(3)D/A、A/D轉換; (4)PID算法進行電流調整;(5)語音提示和電流顯示。其主程序流程如圖5所示。
A/D轉換部分程序主要用於將采樣電阻采集的模擬電壓信號轉換為數字信號。采樣信號由IoA6輸入並直接送入緩衝器P_ADC_MUX_Data,在ADC自動方式被啟用後,會產生一個啟動信號,此時RDY=0,DAC0的電壓模擬量與外部的采樣模擬量相比較,以盡快找出外部信號模擬量的數字量, A/D轉換的結果保存在SAR內。當10位A/D轉換完成時,RDY=1,此時,通過讀P_ADC_MUX_Data單元,可以獲得10位A/D轉換的數據。其IRQ1 中斷服務程序的流程如圖6所示。
PID算法主要用於修正實際輸出的電流值和設定值的偏差,調節下一次的輸出值,使輸出更接近於設定值,提高精度。具體控製過程為:單片機經A/D轉換芯片讀出實際電流Ik,然後和設定的電流Is比較,得出偏差值Ek=Is-Ik,單片機根據Ek的大小,調用PID公式,計算出本次電流調節的增量 Δ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為再次采樣電流誤差值。
結語
為了測試係統運行的準確性和可靠性,可以對設定量與反饋量進行測試,誤差在0.01%之內,並且運行穩定,達到了預期目的,還增添了特色的音頻播放設計。淩陽SPCE061A單片機在該係統中使用,使係統功能齊全、外圍電路簡單、輸出精確,軟件編程采用C和彙編混合編程來實現,集兩種優點於一身,豐富了編程思想,體現了很大的優越性。
- 數控直流電流源的設計與實現
- 係統工作及軟件流程
- 采用單片機作為主要控製部件
- 軟件編程采用C和彙編混合編程來實現
- 通過鍵盤預置輸出電流值並采用液晶模塊實時顯示
在電子設備中經常用到穩定性好、精度高、輸出可預置的直流電流源。本文設計的數控直流電流源能夠很好地降低因元器件老化、溫漂等原因造成的輸出誤差,輸出電流在20mA~2000mA可調,輸出電流可預置、具有“+”、“-”步進調整、輸出電流信號可直接顯示和語音提示等功能。硬件電路采用淩陽單片機 SPCE061A為控製核心,利用閉環控製原理,加上反饋電路,使整個電路構成一個閉環,在軟件方麵主要利用PID算法來實現對輸出電流的精確控製。該係統可靠性高、體積小、操作簡單方便、人機界麵友好。

圖1 數控直流電流源的基本模塊方框圖
係統硬件實現方案
本設計采用單片機作為主要控製部件,通過鍵盤預置輸出電流值並采用液晶模塊實時顯示。整個係統硬件部分由微控製器、電壓-電流轉換、鍵盤、顯示、直流穩壓電源和語音提示等模塊組成。係統組成框圖如圖1所示。
微控製器是整個係統的核心,負責整個係統的運作。為了實現簡化硬件電路、係統性能穩定可靠,便於實現語音播報、鍵盤設置和信息的實時顯示等功能的協調,通過多種方案論證後,微控製器選用淩陽公司的SPCE061A,該單片機內部集成有ADC、DAC、PLL、AGC、DTMF、LCD-Driver 等電路(與IC型號有關)。它采用精簡指令集(RISC),指令周期均以CPU時鍾數為單位。另外,它還兼有DSP功能,內置16位硬件乘法器和加法器,並配備有DSP擁有的特殊指令,大大加速了各種算法的運行速度。同時可以在Windows環境下使用淩陽單片機應用開發工具,該工具支持標準C語言和淩陽單片機彙編語言,集彙編、編程、仿真等功能於一體,大大加快了軟件開發過程。用該單片機作為控製器比較合適,在硬件電路簡單的前提下,容易實現A/D和 D/A轉換、語音提示、PID運算等功能。

圖2 V/I轉換電路圖
顯示模塊主要實現的功能是顯示設置的電流輸出值和其它人機交互信息。本部分可以采用七段數碼LED顯示器,顯示數字、簡單字母和小數點等信息,但由於其顯示信息單一,人機交互不友好,本文采用字符型液晶顯示屏LCDSMC1602A模塊。該模塊具有輕薄短小、低壓微功耗、體積小、無輻射、平麵直角顯示及影像穩定不閃爍等優點,且可視麵積大、麵效果好、分辨率高、抗幹擾能力強,適合用於顯示字母、數字、符號等信息,而且不需要擴展過多外圍電路,可由單片機直接進行控製輸出顯示。電壓-電(dian)流(liu)轉(zhuan)換(huan)模(mo)塊(kuai)由(you)精(jing)密(mi)運(yun)放(fang)與(yu)三(san)個(ge)晶(jing)體(ti)管(guan)組(zu)成(cheng)的(de)達(da)林(lin)頓(dun)管(guan)電(dian)路(lu)構(gou)成(cheng)。轉(zhuan)換(huan)電(dian)路(lu)利(li)用(yong)晶(jing)體(ti)管(guan)平(ping)坦(tan)的(de)輸(shu)出(chu)特(te)性(xing)和(he)深(shen)度(du)負(fu)反(fan)饋(kui)電(dian)路(lu)使(shi)輸(shu)出(chu)電(dian)流(liu)穩(wen)定(ding),如(ru)圖(tu)2所示,此V/I轉換電路的帶負載能力強,電流輸出範圍達0~3A。輸出電流Io經反饋電阻Rf得到一個反饋電壓Vf,Vf= V11-V12,通過R5、R6加到運算放大器的兩輸入端,設運放兩端的電為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=10kW,R5 =R6 =1kW,則有Vf=ViR6/R2=Vi/10
若暫不考慮反饋時,
Io=Vi/(10Rf)
[page]
由此可見,輸出電流的標定由D/A轉換所得輸出電壓Vi和Rf的阻值決定,成線性變換。Rf由大線徑銅絲製作,其溫度係數很小(5ppm/℃),大線徑可以使其溫度影響減至最小。3個三極管應選用大功率管TIP122,且使用散熱片,以保證管子工作在線性區。

圖3 三運放V/I轉換電路
電壓-電流轉換模塊還有另外一種方案,即采用三個運放構成輸出電流可變的電流源,如圖3所示。輸出電流I=Vi/R1,為使R1兩端的電壓保持恒定,由差分放大器IC1b通過射隨器IC1c監測R1兩端的電位,此電位經IC1b的7腳加到比較器 ICa的反相輸入端與Vref比較,根據比較結果使比較器的輸出端變化,直到平衡為止,即Vr1=Vi。電路中的電容用於補償ICa的頻率,減少控製環路的延時。隻要R1=R2=R3=R4=R5,此電路的性能較好,但帶負載能力不強,環路延時補償對電路的穩定有較大影響。

圖4 係統工作流程圖
係統鍵盤模塊可以采用獨立式或行列式(矩陣式)連lian接jie方fang式shi,該gai模mo塊kuai主zhu要yao完wan成cheng對dui輸shu出chu電dian流liu和he其qi它ta信xin息xi的de設she定ding。直zhi流liu穩wen壓ya電dian源yuan模mo塊kuai為wei整zheng個ge係xi統tong供gong電dian,語yu音yin模mo塊kuai實shi現xian語yu音yin提ti示shi,使shi係xi統tong設she計ji更geng具ju人ren性xing化hua,係xi統tong具ju有you友you好hao的de工gong作zuo界jie麵mian。淩ling陽yang單dan片pian機ji內nei部bu集ji成cheng有youADC、DAC、PLL、AGC、DTMF等模塊,語音功能可由軟件編程實現,不需要外接任何電路,有效利用了係統資源。
係統工作及軟件流程
通過以上對各模塊的分析,係統在工作過程中由SPCE061A單片機將被預置的電流通過換算進行D/A轉換,以輸出電壓驅動V/I轉換電路,並將該電流對應的電壓通過閉環回路,經信號處理電路作A/D轉換後輸入單片機係統,通過PID算法調整電流輸出。整個係統工作流程如圖4所示。

圖5 主程序流程圖
係統軟件設計在淩陽十六單片機應用開發工具unSPIDE1.16.1中進行,采用淩陽單片機彙編語言和標準C語言對單片機進行編程,以實現各種功能。主要包括: (1)係統的初始化,包括各外圍接口設備的初始化;(2)鍵盤輸入;(3)D/A、A/D轉換; (4)PID算法進行電流調整;(5)語音提示和電流顯示。其主程序流程如圖5所示。

圖6 IRQ1 中斷服務程序的流程圖
A/D轉換部分程序主要用於將采樣電阻采集的模擬電壓信號轉換為數字信號。采樣信號由IoA6輸入並直接送入緩衝器P_ADC_MUX_Data,在ADC自動方式被啟用後,會產生一個啟動信號,此時RDY=0,DAC0的電壓模擬量與外部的采樣模擬量相比較,以盡快找出外部信號模擬量的數字量, A/D轉換的結果保存在SAR內。當10位A/D轉換完成時,RDY=1,此時,通過讀P_ADC_MUX_Data單元,可以獲得10位A/D轉換的數據。其IRQ1 中斷服務程序的流程如圖6所示。
PID算法主要用於修正實際輸出的電流值和設定值的偏差,調節下一次的輸出值,使輸出更接近於設定值,提高精度。具體控製過程為:單片機經A/D轉換芯片讀出實際電流Ik,然後和設定的電流Is比較,得出偏差值Ek=Is-Ik,單片機根據Ek的大小,調用PID公式,計算出本次電流調節的增量 Δ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為再次采樣電流誤差值。
結語
為了測試係統運行的準確性和可靠性,可以對設定量與反饋量進行測試,誤差在0.01%之內,並且運行穩定,達到了預期目的,還增添了特色的音頻播放設計。淩陽SPCE061A單片機在該係統中使用,使係統功能齊全、外圍電路簡單、輸出精確,軟件編程采用C和彙編混合編程來實現,集兩種優點於一身,豐富了編程思想,體現了很大的優越性。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil
IP監控
iWatt
Keithley
Kemet
Knowles
Lattice
LCD
LCD模組
LCR測試儀
lc振蕩器
Lecroy
LED
LED保護元件
LED背光





