時間:2008-10-30 10:17:00來源:ronggang
圖2 FPGA的外圍連接[/align]
2.3 脈沖輸出信號的連接方式
脈沖輸出信號的連接有差動方式和單端方式兩種,單端方式適用于早期一些脈沖和方向的陽極連在一起的步進(jìn)驅(qū)動器,而不適用于某些脈沖和方向的陰極連在一起的步進(jìn)驅(qū)動器。差動方式適用于脈沖和方向獨(dú)立輸入的步進(jìn)驅(qū)動器和大多數(shù)伺服驅(qū)動器,能夠獲得較好的抗干擾性。本系統(tǒng)采用的是差動方式連接,圖3為其連接方式 。
[align=center]
圖3 脈沖輸出信號的差動連接[/align]
3 系統(tǒng)的軟件結(jié)構(gòu)
系統(tǒng)的軟件結(jié)構(gòu)主要分為兩部分:操作系統(tǒng)軟件和數(shù)控應(yīng)用軟件。由于數(shù)控系統(tǒng)是個實時多任務(wù)系統(tǒng),實時性要求很高,為保證各個任務(wù)的協(xié)調(diào)執(zhí)行,本系統(tǒng)采用了μC/OS-Ⅱ?qū)崟r操作系統(tǒng)作為軟件平臺。
3.1 μC/OS-Ⅱ簡介[2]
μC/OS-Ⅱ是一種源代碼公開的實時操作系統(tǒng),是搶先式的內(nèi)核,在運(yùn)行就緒條件下總是讓級別最高的任務(wù)優(yōu)先執(zhí)行,它還是一個多任務(wù)管理系統(tǒng),可管理64個任務(wù),其中8個保留給系統(tǒng),用戶任務(wù)最多可達(dá)56個,并且每個任務(wù)由自己獨(dú)立的?臻g。μC/OS-Ⅱ的大部分源代碼是用C語言編寫的,僅與微處理器相關(guān)部分使用匯編語言,因此具有很強(qiáng)的移植性。但是,由于μC/OS-Ⅱ在讀寫處理器、寄存器時只能通過匯編語言來實現(xiàn),所以需要用匯編語言完成一些與處理器相關(guān)的代碼。
3.2 μC/OS-Ⅱ的移植
要實現(xiàn)該操作系統(tǒng)在S3C44B0X微處理器平臺上的正常運(yùn)行,需要修改與處理器類型有關(guān)部分的代碼[3],下面簡單的介紹了需要修改的相關(guān)文件:
(1)修改OS_CPU.H文件:包括定義數(shù)據(jù)類型及與處理器相關(guān)的基本信息。
(2)修改OS_CPU_C.C文件:編寫初始化任務(wù)的堆棧結(jié)構(gòu)函數(shù)OSTaskStkInit(),該函數(shù)由任務(wù)創(chuàng)建函數(shù)OSTaskCreate()或OSTaskCreateEXT()調(diào)用。例如創(chuàng)建一個插補(bǔ)任務(wù)為:
OSTaskCreate(InterpTask,(void*)0,(void*)&InterpTask_Stack\[STACKSIZE-1\],
InterpTask_Pri)。另外還必須聲明5個函數(shù):建立任務(wù)函數(shù)OSTaskCreateHook()、刪除任務(wù)函數(shù)OSTaskDelHook()、任務(wù)切換函數(shù)OSTaskSwHook()、產(chǎn)生時鐘節(jié)拍得函數(shù)OSTimeTickHook()和統(tǒng)計功能函數(shù)OSTimeTickHook()。
(3)修改OS_CPU_A.ASM文件:編寫4個與處理器相關(guān)的匯編語言函數(shù)OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()、OSTickISR()。
3.3 數(shù)控系統(tǒng)的應(yīng)用軟件設(shè)計
根據(jù)數(shù)控系統(tǒng)所要實現(xiàn)的功能,可以將系統(tǒng)的應(yīng)用軟件主要分為幾個模塊:人機(jī)界面模塊、數(shù)據(jù)處理模塊、插補(bǔ)模塊。其中人機(jī)界面模塊的任務(wù)由PC機(jī)完成,包括數(shù)控代碼的編輯,加工過程中相關(guān)參數(shù)的設(shè)置,刀補(bǔ)參數(shù)的設(shè)置等[4]。
。1)數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊主要完成譯碼和刀具補(bǔ)償功能。譯碼就是將數(shù)控代碼的各種工件輪廓信息(如起點(diǎn)、直線或圓弧等)、加工速度F和其它輔助信息(M、S、T)按一定規(guī)律翻譯成系統(tǒng)能識別的數(shù)據(jù)形式。由于編制零件加工程序時,一般只考慮零件的輪廓外形,而實際切削控制時,是以刀具中心為控制中心的,所以經(jīng)過譯碼得到的數(shù)據(jù)不能直接由插補(bǔ)程序使用,必須經(jīng)過軌跡計算,進(jìn)行刀具長度補(bǔ)償和刀具半徑補(bǔ)償,才能轉(zhuǎn)換為插補(bǔ)所需要的參數(shù)。
(2)插補(bǔ)模塊
數(shù)控系統(tǒng)的核心任務(wù)是插補(bǔ),插補(bǔ)計算的精度影響到整個數(shù)控系統(tǒng)的精度。插補(bǔ)任務(wù)就是按照進(jìn)給速度的要求,由譯碼得到的數(shù)據(jù)信息計算出零件輪廓起點(diǎn)和終點(diǎn)之間若干中間點(diǎn)的坐標(biāo)值,并轉(zhuǎn)化為脈沖數(shù)據(jù)送入步進(jìn)驅(qū)動器。本系統(tǒng)采用了脈沖增量插補(bǔ),脈沖輸出的頻率誤差小于0.1%。其脈沖輸出可用單脈沖(脈沖+方向)或雙脈沖(脈沖+脈沖)方式?梢詫崿F(xiàn)任意2-3軸直線、任意2軸圓弧插補(bǔ),連續(xù)插補(bǔ)功能。
[align=center]
圖4 逐點(diǎn)比較法第一象限直線插補(bǔ)軟件流程圖[/align]
下面以第一象限直線插補(bǔ)為例,圖4為逐點(diǎn)比較法第一象限直線插補(bǔ)軟件流程圖。其中,(xe,ye)為直線的終點(diǎn)坐標(biāo),F(xiàn)為每一步直線插補(bǔ)運(yùn)算后的偏差值。當(dāng)F≥0時,加工點(diǎn)在加工直線上或在直線上方,則向x軸正向產(chǎn)生一個脈沖,由步進(jìn)電機(jī)驅(qū)動器驅(qū)動x軸步進(jìn)電機(jī)正向進(jìn)給一個步進(jìn)角,并計算出新的偏差F=F-ye;當(dāng)F<0時,加工點(diǎn)位于直線下方,則向y軸正向產(chǎn)生一個脈沖,由步進(jìn)電機(jī)驅(qū)動器驅(qū)動y軸步進(jìn)電機(jī)正向進(jìn)給一個步進(jìn)角,并計算出新的偏差F=F+xe。n為終點(diǎn)判別,當(dāng)?shù)毒叩竭_(dá)終點(diǎn)時,停止插補(bǔ)。本系統(tǒng)采用VHDL語言編寫算法實現(xiàn)插補(bǔ),如下為部分代碼:
ARCHITECTURE connect OF chabu IS
BEGIN
VERIABLE F:INTEGER:=0;
n:INTEGER:=ABS(xe)+ABS(ye);
xi,yi:INTEGER //(xi,yi)為插補(bǔ)運(yùn)算過程中刀具的加工點(diǎn)坐標(biāo)
PROCESS(reset) //reset是復(fù)位信號,插補(bǔ)開始后對偏差值F和(xi,yi)清零, BEGIN 使刀具回到坐標(biāo)原點(diǎn)
F=0;
……
END PROCESS;
PROCESS(clk) //clk是時鐘控制信號,當(dāng)clk上升沿到來時進(jìn)行插補(bǔ)運(yùn)算的處理
BEGIN
WHILE(n>0)LOOP
IF(F>=0)THEN
cqx=1; //cqx,cqy為x軸和y軸的輸出脈沖信號
cqy=0;
F=F-ye;
n=n-1;
ELSE
……
END IF;
END LOOP;
END PROCESS;
END connect;
3.4 系統(tǒng)中數(shù)據(jù)信息的交換
在數(shù)控加工時,CNC系統(tǒng)各模塊之間需要傳遞大量的數(shù)據(jù)信息,主要通過各種緩沖存儲區(qū)實現(xiàn)該功能,如圖5為數(shù)據(jù)信息的交換過程。首先讀入數(shù)控加工程序到數(shù)控加工程序緩沖器,從中逐個讀入字符,經(jīng)譯碼處理送到譯碼結(jié)果緩沖器,再經(jīng)一系列插補(bǔ)準(zhǔn)備(包括刀補(bǔ)計算和速度處理),送到插補(bǔ)緩沖器中,插補(bǔ)程序執(zhí)行插補(bǔ)運(yùn)算時,把插補(bǔ)緩沖存儲區(qū)的內(nèi)容讀入到插補(bǔ)工作存儲區(qū),然后用插補(bǔ)工作區(qū)的數(shù)據(jù)進(jìn)行插補(bǔ)計算,并將結(jié)果送到插補(bǔ)輸出寄存器。
[align=center]
圖5 數(shù)據(jù)信息的交換[/align]
4 結(jié)論
嵌入式數(shù)控系統(tǒng)采用ARM和FPGA硬件平臺,減少了系統(tǒng)的外圍器件,具有體積小,性價比高,穩(wěn)定性好等優(yōu)點(diǎn)。并且利用μC/OS-Ⅱ?qū)崟r操作系統(tǒng)作為開發(fā)工具,使數(shù)控系統(tǒng)具有優(yōu)異的實時性,滿足了高速度、高精度的加工要求,很好的解決了傳統(tǒng)CNC系統(tǒng)中存在的問題。由此,嵌入式數(shù)控系統(tǒng)具有廣闊的發(fā)展前景。
參考文獻(xiàn):
[1]劉艷霞,李淑芬.基于ARM的嵌入式數(shù)控系統(tǒng)[J].微計算機(jī)信息.2006,22(35):90-91,96
[2]Labrosse Jean J.邵貝貝譯,嵌入式實時操作系統(tǒng)μC/OS-Ⅱ[M].2版.北京:中國電力出版社.2003
[3]王曉鳴,王樹新,張宏偉.實時操作系統(tǒng)μC/OS-Ⅱ在ARM上的移植[J].機(jī)電一體化.2007,(1):56-58
[4]楊代華,陳志輝.基于實時操作系統(tǒng)μC/OS-Ⅱ的數(shù)控系統(tǒng)研制[J].制造技術(shù)與機(jī)床.2007,(12):21-23
作者簡介:
第一作者:朱曉潔(1983-),女,江蘇無錫人,碩士研究生,主要研究方向:數(shù)控系統(tǒng)。
通信地址:南京新模范馬路5號南京工業(yè)大學(xué)丁家橋校區(qū)119#信箱
郵編:210009 電話:13675122764
E-mail:stream_xu@126.com
第二作者:舒志兵(1965-),男,江蘇南京人,南京工業(yè)大學(xué)運(yùn)動控制研究所所長,主要研究方向:交流伺服系統(tǒng)、DSP技術(shù)、現(xiàn)場總線、數(shù)控系統(tǒng)、運(yùn)動控制、機(jī)電一體化系統(tǒng)等。
E-mail:shuzhibing@163.com
標(biāo)簽:
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-09-23
2025-09-23
2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
TaiShan(泰山)200 2280系列服務(wù)器 鯤...
2025-09-03
2025-08-06