基于FPGA電火花加工脈沖電源的設(shè)計
0引 言
數(shù)控電火花(electrical discharge machining,EDM)機床是一種實現(xiàn)工件精密加工的特種加工工具。早期的電火花成型加工機床的脈沖電源電路是用分立元件組成,或者是用單片機來實現(xiàn)。分立元件電路設(shè)計復(fù)雜,電路調(diào)試困難,基于單片機或者是32位的嵌入式CPU的脈沖電源性能有了很大的提高,也具有了很高的智能性,但對于不同的處理器,其移植性不太好,而且如果硬件電路一旦完成就不能進行更改與升級。而采用現(xiàn)場可編程門陣列FPGA在很好的繼承單片機或者是嵌入式CPU設(shè)計的電源的優(yōu)點的同時,還擁有一些新的特點。本文提出的方案采用的是Altera公司的cylone II芯片,將Altera提供的NIOS II處理器配置到芯片上,并在NIOS II中加入用戶自己用HDL語言編寫的可以產(chǎn)生PWM的用戶IP模塊后就可以產(chǎn)生參數(shù)化的脈沖波,即提出了一種新型的智能脈沖電源。
1脈沖電源的原理設(shè)計
數(shù)控機床的脈沖電源電路主要由脈沖發(fā)生器,隔離放大電路,直流電源電路,功率放大電路,開關(guān)電路5部分。放電脈沖的產(chǎn)生過程如下,首先是脈沖發(fā)生器產(chǎn)生高頻參數(shù)化的脈沖信號,經(jīng)過光耦的隔離后,由功率推動電路進行功率放大,從而控制高頻開關(guān)管的通斷。高頻開關(guān)管的另一端接的是直流電源,該直流電經(jīng)過開關(guān)管的通斷而產(chǎn)生高頻的放電加工脈沖電源。其核心部分即是脈沖發(fā)生器的設(shè)計。 2嵌入式脈沖發(fā)生器的設(shè)計
只有設(shè)計出了高頻率的、參數(shù)化的脈沖發(fā)生器,脈沖加工電源的精度、參數(shù)化才可以實現(xiàn)。該電源系統(tǒng)中采用的是性價比較好的Altera公司的Cyclone II序列的FPGA芯片EP2C8Q208C7。其邏輯資源足夠?qū)崿F(xiàn)系統(tǒng)的功能。
2.1嵌入式系統(tǒng)硬件設(shè)計
系統(tǒng)中使用的是一種軟核式的Nios II處理器,并選擇其類型為Nios/f型。Nios II處理器是Altera的第二代FPGA嵌入式處理器,其性能超過200DMIPS。嵌入式CPU定制的過程是在Quartus II中實現(xiàn)的。Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,它可以完成系統(tǒng)的設(shè)計與仿真。整個設(shè)計過程是:圖形或HDL編譯、分析與綜合(analysis&synthesis)、適配器件(filter)、仿真、編程文件匯編(assembler)、下載配置到FPGA。 該系統(tǒng)中除了采用NIOS II和一些常用的外設(shè)IP,還有一個用戶IP。用戶IP用于產(chǎn)生PWM的模塊pulse_generator是用VHDL編寫狀態(tài)機來實現(xiàn)的。其中一個模塊用狀態(tài)機實現(xiàn)3種狀態(tài):分別空閑、脈寬和脈間。并由時鐘輸入、狀態(tài)控制信號以及計數(shù)器狀態(tài)來確定3種狀態(tài)之間的轉(zhuǎn)換,一般情況是在系統(tǒng)啟動后,由空閑狀態(tài)進入脈寬狀態(tài)后便會在脈寬、脈間2種狀態(tài)之間切換,實現(xiàn)連續(xù)的PWM。Pulse_generatot的另一個模塊就是Pulse_generator與Avalon總線的接口,通過該接口,可以讀寫Pulse_generator模塊中個寄存器的狀態(tài),控制PWM脈寬與脈間的大小。在HDL編寫好用戶模塊后,用Quartus進行編譯綜合正確后,可以進行下一步的寄存器頭文件<device_name>_regs.h以及C函數(shù)的編寫,在該文件的中定義的是用戶模塊的訪問方法,提供了硬件與軟件的接口。最后將HDL文件、寄存器文件、驅(qū)動程序在SOPC Builder中將其集成成為一個完整的、具有Avalon總線接口的用戶IP。將用戶IP與Altera的IP結(jié)合起來就可以生成硬件的脈沖發(fā)生器,它的結(jié)構(gòu)如圖1中所示。
2.2軟件編程實現(xiàn)
軟件編程采用Altera提供的軟件編譯環(huán)境NIOS II IDE。Nios II IDE基于開放和可擴展的Eclipse平臺,不僅可以將通用用戶界面和業(yè)界最好的開發(fā)環(huán)境完美結(jié)合,還能夠與第三方工具無縫地集成在一起。Nios II IDE提供了完整的C/C++軟件開發(fā)套件,包括編輯器、項目管理器和構(gòu)建工具、調(diào)試器和兼容CFI(common flash interface)的Flash編程器。Altera提供含有支持Micrium的MicroC/OS-II實時操作系統(tǒng)(RTOS)。該系統(tǒng)不用用戶修改任何代碼即可進行系統(tǒng)移植。使Nios II開發(fā)者能很容易地在Nios II IDE中實現(xiàn)多任務(wù)軟件開發(fā)。
軟件的開發(fā)過程是在IDE中創(chuàng)建一個工程文件,工程所指定的硬件系統(tǒng)即是在Quartus中生成的.ptf文件。新的工程將包括2個庫,一個是用戶的API庫,另一個是系統(tǒng)庫,系統(tǒng)的庫中包含了用戶進行軟件編程時需要的各種頭文件、驅(qū)動程序等。在用戶庫中可以使用C/++或者是匯編語言編寫脈沖參數(shù)的實現(xiàn)功能,在寫好后就可以對軟件工程進行編譯、調(diào)試得到希望的結(jié)果后就可以軟件的工程文件.elf下載到開發(fā)器件上。如果需要調(diào)整脈沖、脈間的參數(shù),則可以在NIOS IDE中對脈寬與脈間的比例以及周期長度進行修改。同時通過對I/O口輸出的高低電平,可以控制每一路大功率管的關(guān)斷與否,從而做到了電流大小的控制,具有非常高的靈活性。這樣可以得到新的適合進行粗、中精、精加工的脈沖序列。用戶程序中對脈沖控制及參數(shù)控制的代碼如下:
2.3系統(tǒng)仿真
我們可以用Quartus對設(shè)計的系統(tǒng)的功能進行仿真,以驗證功能是否滿足要求。軟件文件下載到開發(fā)板后對電路進行仿真的結(jié)果,如圖2所示。從圖中可以看到脈寬pulse_duration_time與脈間pulse_interval_time的比例參數(shù),以及控制寄存器的值,同時還可以看到該系統(tǒng)的輸入時鐘的周期長度,放電脈沖的周期長度等信息。
3外部電路設(shè)計
外部電路主要包括直流電源、隔離放大電路、高速開關(guān)電路、保護電路。直流電源電路是市電經(jīng)過變壓器、整流橋路電路、電容濾波電路輸出的,輸出的電壓有+80 V和120 V兩種,分別用于粗加工和精加工。脈沖發(fā)生器的PWM用來控制高頻開關(guān)管,為了防止脈沖發(fā)生器的燒壞,要將FPGA開發(fā)板與開關(guān)管電路隔離開來,而電源的頻率很高,普通光耦的會產(chǎn)生波形畸變,所以采用的是25M的高速光耦PC412S。開關(guān)管采用的是VMOS,使用它的好處是開關(guān)的頻率高,能夠承受的電流和電壓都比較大,但要使用輸入電容較小的VMOS,否則會影響電源關(guān)斷的速度。開關(guān)管的驅(qū)動電電路如圖3所示。
Q1的基極是從FPGA開發(fā)板經(jīng)過光耦輸出的PWM脈沖信號,通過后面的驅(qū)動電路來驅(qū)動Q5,從而實現(xiàn)放電加工電路中采用正負電源,這樣可以提高Q5的關(guān)斷速度。Q2是小功率的VMOS管,Q3和Q是用來驅(qū)動大功率的VMOS,所以功率不能選太小,R3與R4是用來減小系統(tǒng)波形的振蕩,其阻值不能太大,可選取100 Ω。
4結(jié) 論
本文在EDM機理與嵌入式技術(shù)領(lǐng)域最新研究成果的基礎(chǔ)上,針對目前微細EDM加工中電源的研究現(xiàn)狀,提出了一種新型的智能型EDM脈沖電源,該電源的脈間精度可以達到0.2μs,是一般的分立軟件和集成電路所不能達到的,脈寬,脈間的大小可參數(shù)話,這些設(shè)置都是在軟件中進行,并且采用FPGA設(shè)計具有可進行更新,保密性好。這種新型的脈沖電源,由于高電火花脈沖放電頻率,從而提高加工精度。又因為HDL語言和FPGA技術(shù)的應(yīng)用越來越廣泛,所以這種智能的脈沖電源具有很好的通用性。