單片機作為主要控製部件的數控DC電流源係統
發布時間:2012-12-27 責任編輯:Lynnjiao
【導讀】本設計采用單片機作為主要控製部件,通過鍵盤預置輸出電流值並采用液晶模塊實時顯示。整個係統硬件部分由微控製器模塊、電壓-電流轉換模塊、鍵盤模塊、顯示模塊、直流穩壓電源模塊和語音提示模塊組成。係統結構框圖如圖1所示。

圖1:數控DC電流源係統
微控製器是整個係統的核心,負責整個係統的運作。為了能夠做到硬件電路簡單,係統性能穩定可靠,便於實現語音播報、鍵盤設置和信息實時顯示等功能的協調,通過多種方案論證後,選用淩陽十六位單片機SPCE061A。該單片機采用現代電子技術——片上係統SOC(system on a chip)技術設計而成,內部集成有ADC、DAC、PLL、AGC、DTMF、LCD-DRIVER等電路(與IC型號有關)。它采用精簡指令集(RISC),指令周期均以CPU時鍾數為單位。另外,它還兼有DSP芯片功能,內置16位硬件乘法器和加法器,並配備有DSP擁有的特殊指令,大大加速了各種演算法的運行速度。同時可以在Windows環境下使用淩陽十六單片機應用開發工具,該工具支持標準C語言和淩陽單片機彙編語言,集彙編、編程、仿真等功能於一體,大大加快了軟件開發過程。淩陽單片機具有高速度、低價、可靠、實用、體積小、功耗低等特點,用該單片機作為控製器比較合適,在硬件電路簡單的前提下容易實現A/D、D/A轉換、語音提示、PID運算等功能。
顯示模塊主要實現的功能是顯示設置的電流輸出值和其他人機交互信息。本部分可以采用七段數碼LED顯示器,實現顯示數字、簡單字母和小數點等信息,但由於其顯示信息單一,人機交互不友好,在係統中采用字符型液晶顯示屏 LCDSMC1602A模塊。該模塊具有輕薄短小、低壓微功耗、體積小、無輻射危險,平麵直角顯示及影像穩定不閃爍等優點。其方便用於顯示字母、數字、符號等信息,而且不需要擴展過多外圍電路,可由單片機直接進行控製輸出顯示。
電壓-電流轉換模塊由精密運放與3個晶體管組成的達林頓管電路構成。轉換電路利用晶體管平坦的輸出特性和深度負反饋電路使輸出電流穩定。如圖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=10kΩ,R5=R6=1kΩ,則有 Vf=ViR6/R2=Vi/10。若暫不考慮反饋時,Io=Vi/(10Rf)。

圖2:V/I轉換電路圖
由此可見,輸出電流的標定由D/A轉換的輸出電壓Vi和Rf決定,為線性變換。Rf由大線徑康銅絲製作,其溫度係數很小(5×10-6/℃),大線徑可以使其溫度影響減至最小。3個三極管應選用大功率管TIP122,且使用散熱片,以保證管子工作在線性區。
電壓-電流轉換模塊的組成還有另外一種方案,采用3個運放構成輸出電流可變的電流源,如圖3所示。輸出電流I=Vi/R1,為使R1兩端的電壓保持恒定,由差分放大器IC1b通過射隨器IC1c監測R1兩端的電位,此電位經IC1b的7腳加到比較器 ICa的反相輸入端與Vref比較。比較結果使比較器的輸出端變化,直到平衡為止,即Vr1=Vi。電路中的電容用於補償ICa的頻率,減少控製環路的延時。隻要R1=R2=R3=R4=R5,此電路的性能較好。但此電路的帶負載能力不強,環路延時補償對電路的穩定有較大影響。

圖3:三運放V/I轉換電路
係統鍵盤模塊可以采用獨立式連接方式或行列式(矩陣式)連接方式,該模塊的功能主要完成對輸出電流和其他信息的設定。直流穩壓電源模塊為整個係統供電;語音模塊實現語音提示,使係統設計更具人性化,係統具有友好的工作界麵。淩陽單片機內部集成有ADC、DAC、PLL、AGC、DTMF等模塊,語音功能可由軟件編程實現,不需要外接任何電路,有效的利用了係統資源。
係統工作及軟件流程
在工作過程中, SPCE061A單片機將被預置的電流值通過換算進行D/A轉換,以輸出電壓驅動V/I轉換電路實現電路輸出,並將該電流值對應的電壓值通過閉環回路,經A/D轉換後輸入單片機係統,再通過PID算法調整電流輸出。整個係統工作流程圖如圖4所示。

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

圖6:IRQ1中斷服務程序的流程圖
PID算suan法fa程cheng序xu主zhu要yao用yong於yu修xiu正zheng實shi際ji輸shu出chu的de電dian流liu值zhi和he設she定ding值zhi的de偏pian差cha,調tiao節jie下xia一yi次ci的de輸shu出chu值zhi,使shi輸shu出chu更geng接jie近jin於yu設she定ding值zhi,提ti高gao精jing度du。具ju體ti控kong製zhi過guo程cheng為wei單dan片pian機ji經jingA/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%之內,並且運行穩定,達到了預期目的,還增添了特色的音頻播放設計。
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall




