嵌入式SoC單片機(jī)在雕刻機(jī)數(shù)控系統(tǒng)中的應(yīng)用
隨著計(jì)算機(jī)技術(shù)的發(fā)展,雕刻機(jī)完成了從2D、2.5D到3D的加工變革,功能趨于完善、性能更加穩(wěn)定,從而在制造業(yè)、建材業(yè)和廣告業(yè)等領(lǐng)域得到了廣泛應(yīng)用。與此同時(shí),隨著市場(chǎng)競(jìng)爭(zhēng)的加劇,國(guó)產(chǎn)普通雕刻機(jī)的價(jià)格也降低至萬元以下,使得雕刻機(jī)生產(chǎn)廠不得不在降低生產(chǎn)成本、尤其是降低控制系統(tǒng)成本方面尋找出路。以木工雕刻機(jī)為例,在目前國(guó)內(nèi)市場(chǎng)上,木工雕刻機(jī)數(shù)控系統(tǒng)通常采用兩種方案:一種是基于PC機(jī)的方案;另一種是基于DSP運(yùn)動(dòng)控制器的方案。
本文引用地址:http://2s4d.com/article/201610/307454.htm基于PC機(jī)方案的雕刻機(jī)是由計(jì)算機(jī)、控制卡、電機(jī)驅(qū)動(dòng)器和機(jī)械主體等4部分組成,由PC機(jī)負(fù)責(zé)人機(jī)交互界面的管理和控制系統(tǒng)的實(shí)時(shí)監(jiān)控,計(jì)算機(jī)安裝有諸如MACH3等的專用雕刻軟件,利用專業(yè)軟件進(jìn)行圖樣設(shè)計(jì),并經(jīng)由計(jì)算機(jī)PCI總線接口,將設(shè)計(jì)與排版的信息傳送至雕刻機(jī)控制卡中,再由控制卡將這些信息轉(zhuǎn)換為能驅(qū)動(dòng)步進(jìn)電機(jī)或伺服電機(jī)的脈沖信號(hào),控制x、y、z 3個(gè)坐標(biāo)軸的走刀定位。此方案采用通用雕銑軟件,利用PC機(jī)現(xiàn)有資源,雕刻機(jī)主要由電腦控制,是一種高效的CNC雕刻機(jī)系統(tǒng)方案。
基于DSP方案的雕刻機(jī)數(shù)控系統(tǒng),其主要特點(diǎn)是采用DSP和單片機(jī)構(gòu)成控制器,DSP完成對(duì)各坐標(biāo)的運(yùn)動(dòng)控制,單片機(jī)管理人機(jī)界面,被稱為手柄控制的雕刻機(jī)。圖樣設(shè)計(jì)生成的標(biāo)準(zhǔn)nc文件事先準(zhǔn)備好,并保存在U盤上,通過USB等串行接口輸入給數(shù)控系統(tǒng),這是一種低價(jià)高效的雕刻機(jī)數(shù)控系統(tǒng)方案。常用的專用DSP芯片有4軸運(yùn)動(dòng)控制芯片MCX314As和PCL6045B等,這些DSP具有強(qiáng)大的硬件插補(bǔ)功能,使得在室外工作的雕刻機(jī)操作更便捷,一般木工雕刻機(jī)和石材雕刻機(jī)均采用該控制系統(tǒng)。
不同的應(yīng)用領(lǐng)域,所要求的雕刻機(jī)的性能亦不相同,本文提出的雕刻機(jī)數(shù)控系統(tǒng)方案,直接利用SoC單片機(jī)來構(gòu)成控制器,是一種采用單片機(jī)軟件來完成插補(bǔ)運(yùn)算的解決方案。
1 雕刻機(jī)控制系統(tǒng)的硬件原理框圖
在Silicon Labs推出的8位嵌入式SoC單片機(jī)中,混合信號(hào)單片機(jī)C8051F120的速度最高,可達(dá)98 MI·s-1。為保證程序的全速運(yùn)行,加快運(yùn)算速度,C8051F120單片機(jī)除具有轉(zhuǎn)移地址高速緩存和指令預(yù)取引擎外,還需具有乘法和累加引擎MAC0,其能使單片機(jī)在兩個(gè)系統(tǒng)時(shí)鐘周期內(nèi),即可完成整數(shù)或小數(shù)的乘法和累加。該單片機(jī)具有高達(dá)128 kB的片上Flash存儲(chǔ)器,8 kB片上外部RAM,可擴(kuò)展64 kB片外RAM,在線編程,并提供非易失性數(shù)據(jù)存儲(chǔ),允許固件現(xiàn)場(chǎng)升級(jí)。有64個(gè)I/O口,5個(gè)16位定時(shí)器,6路16位可編程計(jì)數(shù)陣列PCA,增強(qiáng)型的硬件串行接口SPI,SMBus和兩個(gè)UART等,是真正獨(dú)立的系統(tǒng)級(jí)芯片解決方案。
C8051F系列單片機(jī)集成度高,且具有交叉開關(guān)功能,其大部分對(duì)外引出腳,除Uart接口的兩個(gè)信號(hào)Tx和Rx外,均可在設(shè)計(jì)電路板時(shí),根據(jù)布板隨意連接,圖1所示為基于C8051F120單片機(jī)的雕刻機(jī)數(shù)控系統(tǒng)硬件框圖。
如圖1所示,高速單片機(jī)C8051F120是整個(gè)數(shù)控系統(tǒng)的中心,人機(jī)界面由4x4矩陣式按鍵電路和彩色LCD顯示模塊組成。用戶通過按鍵電路設(shè)置的加工參數(shù),保存在單片機(jī)內(nèi)部的非易失性Flash區(qū)。LCD顯示器選用點(diǎn)陣式彩色智能模塊,具有256種顏色,顏色格式為RGB332,并采用通用串行UART接口連到單片機(jī),操作指令簡(jiǎn)單,且節(jié)省了單片機(jī)的接口線。
用戶通過浮雕軟件設(shè)計(jì)的雕刻圖案,最終會(huì)在PC機(jī)上生成一個(gè)后綴為,nc的文本文件并存入U(xiǎn)盤中,U盤接口模塊的作用,便是通過SPI接口連接到單片機(jī),由單片機(jī)將加工文件讀出后進(jìn)行加工。帶后背鋰電池的RAM型號(hào)為DS1245W,容量為128 kB,其連接到單片機(jī)的擴(kuò)展并行接口,成為單片機(jī)的片外RAM,既是對(duì)讀入的加工文件的有效緩存,也能在系統(tǒng)發(fā)生停電等故障時(shí),保存和記憶當(dāng)前的加工進(jìn)程,以便系統(tǒng)恢復(fù)供電或排障后,能繼續(xù)按照前面的斷點(diǎn)完成加工。由于單片機(jī)的片外RAM地址只有16位,尋址空間最大為64 kB,需要用單片機(jī)的輸出引腳來對(duì)其進(jìn)行頁切換,將SRAM的128 kB存儲(chǔ)空間分成兩頁。
x、y、z軸的3個(gè)傳感器,均采用由槽形光耦組成的限位電路,其特點(diǎn)是限位精度高,易于與單片機(jī)接口。對(duì)刀傳感器采用微動(dòng)開關(guān),其作用是檢測(cè)被雕刻材料的厚度。步進(jìn)電機(jī)驅(qū)動(dòng)器采用兩相電流細(xì)分式驅(qū)動(dòng)器,細(xì)分系數(shù)和輸出電流,均可根據(jù)滾珠絲杠的負(fù)載大小情況來設(shè)定,驅(qū)動(dòng)器和單片機(jī)之間有光電隔離電路,接口信號(hào)為方向信號(hào)Dir、走步脈沖信號(hào)Pul和有效選擇信號(hào)En。
2 空間直線的逐點(diǎn)比較插補(bǔ)算法
逐點(diǎn)比較法是國(guó)內(nèi)數(shù)控機(jī)床中廣泛采用的一種插補(bǔ)方法,其能實(shí)現(xiàn)直線、圓弧和非圓二次曲線的插補(bǔ),插補(bǔ)精度較高。逐點(diǎn)比較法即每走一步,均要將加工點(diǎn)的瞬時(shí)坐標(biāo)同規(guī)定的圖形軌跡相比較,判斷其偏差,然后決定下一步的走向,若加工點(diǎn)走到圖形外,則下一步就要向圖形內(nèi)走。若加工點(diǎn)在圖形內(nèi),則下一步要向圖形外走。這樣就能得出一個(gè)接近規(guī)定圖形的軌跡,其最大偏差不超過一個(gè)脈沖當(dāng)量。在逐點(diǎn)比較法中,每進(jìn)給一步,均需要進(jìn)行偏差判別、坐標(biāo)進(jìn)給、新偏差計(jì)算和終點(diǎn)比較4個(gè)步驟。對(duì)于一條二維平面直線,無論處于哪個(gè)象限,對(duì)其進(jìn)行逐點(diǎn)比較法直線插補(bǔ)時(shí),由以下3式計(jì)算
N=|xe-x0|+|ye-y0| (1)
Fx=F-|y|,當(dāng)x≥0,走x后 (2)
Fy=F+|x|,當(dāng)y0,走y后 (3)
其中,N代表總步數(shù);F表示判斷式;x,y表示坐標(biāo)。
通常情況下,在雕刻圖形的設(shè)計(jì)和生成階段,首先要預(yù)置雕刻的精度參數(shù),所以y軸的進(jìn)給量一般較小,且每步固定,雕刻的精度要求越高,則y軸的進(jìn)給量則越小,這也使得雕刻文件的行數(shù)大幅增加。z軸的最大行程,一般略大于被加工材料的厚度。在3個(gè)坐標(biāo)中,x軸的運(yùn)動(dòng)量最大,其行程由被加工材料的幅寬決定。所以在進(jìn)行空間直線插補(bǔ)時(shí),是假定了該空間的x軸進(jìn)給的步數(shù)最大。即要在以長(zhǎng)軸為基礎(chǔ)建立的兩個(gè)平面坐標(biāo)系內(nèi)進(jìn)行差補(bǔ)運(yùn)算,才能插補(bǔ)出正確的空間直線軌跡。因此,每讀出一行雕刻加工的坐標(biāo)數(shù)據(jù),均要先行判斷,找出步數(shù)最長(zhǎng)的軸,再以其為關(guān)聯(lián)軸來構(gòu)建兩個(gè)插補(bǔ)平面,這樣才可將對(duì)空間直線的三維差補(bǔ)計(jì)算,轉(zhuǎn)換成對(duì)二維平面的差補(bǔ),其程序流程如圖2所示。在通常情況下,木工雕刻機(jī)一般為2.5D,以x、z軸的兩維插補(bǔ)為主,即當(dāng)y軸進(jìn)給時(shí),x、z軸停止;而當(dāng)x、z聯(lián)動(dòng)時(shí),y軸停止。
3 雕刻機(jī)數(shù)控系統(tǒng)軟件設(shè)計(jì)
數(shù)控系統(tǒng)軟件采用結(jié)構(gòu)化、模塊化的程序設(shè)計(jì)方法,由主程序、中斷服務(wù)程序和功能子程序組成。主程序結(jié)構(gòu)簡(jiǎn)單,主要完成對(duì)單片機(jī)系統(tǒng)及雕刻機(jī)各驅(qū)動(dòng)軸的初始化,對(duì)鍵盤掃描并跳轉(zhuǎn)到相應(yīng)的功能模塊中。中斷服務(wù)程序主要包括步進(jìn)電機(jī)變頻驅(qū)動(dòng)程序等。功能子程序主要包括LCD顯示模塊、參數(shù)設(shè)置模塊、U盤文件讀取模塊、文本轉(zhuǎn)換模塊、步進(jìn)電機(jī)走步程序、插補(bǔ)運(yùn)算程序、對(duì)刀程序、復(fù)位程序以及故障診斷程序等。
LCD顯示模塊主要包括:LCD初始化、調(diào)色板設(shè)置、字符間距設(shè)置、前景畫圖、背景畫圖、字符顯示、區(qū)域填色和清除、背光控制、波特率設(shè)置等程序。
U盤讀取模塊完成對(duì)U盤的讀寫,主要包括U盤檢測(cè)、創(chuàng)建文件和目錄、打開文件、讀文件、刪除文件和目錄、列舉目錄下的文件名等程序。
步進(jìn)電機(jī)走步程序采用T0中斷,在中斷中發(fā)送步進(jìn)電機(jī)進(jìn)給脈沖,調(diào)用插補(bǔ)運(yùn)算程序,并根據(jù)啟停變頻的需要來改變T0時(shí)間常數(shù)等。插補(bǔ)運(yùn)算程序作為子程序,被T0中斷程序調(diào)用。
文本轉(zhuǎn)換程序的作用是將U盤上的nc文件,轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)。浮雕軟件生成的雕刻文檔,是標(biāo)準(zhǔn)的以ASIIC碼格式保存的數(shù)控加工文件,實(shí)際上就是一行行的坐標(biāo)數(shù)據(jù),只有將其經(jīng)過命令行識(shí)別,坐標(biāo)行識(shí)別,結(jié)尾、換行和文件頭尾的識(shí)別,轉(zhuǎn)換成二進(jìn)制數(shù)據(jù),并按照一定的數(shù)據(jù)結(jié)構(gòu),存放在單片機(jī)的片外RAM中,才可為單片機(jī)所用。
特殊功能模塊包括對(duì)刀程序和內(nèi)置木工機(jī)械加工程序,對(duì)刀程序用來檢測(cè)被雕刻材料的厚度。其他工機(jī)械功能有縱向鋸斷、橫向鋸斷、邊緣刨平、端面刨平、平面斜銑、端面斜銑和刨槽等。這些內(nèi)置功能大幅簡(jiǎn)化了機(jī)器的操作,擴(kuò)展了機(jī)器的使用范圍。
4 結(jié)束語
基于嵌入式SoC單片機(jī)C8051F120的雕刻機(jī)數(shù)控系統(tǒng),充分發(fā)揮了單片機(jī)的高集成度和高速度特性,使得控制系統(tǒng)的結(jié)構(gòu)簡(jiǎn)化、成本降低。經(jīng)用戶測(cè)試,雕刻精度為0.01 mm,達(dá)到了設(shè)計(jì)要求。該系統(tǒng)穩(wěn)定可靠,是一種低價(jià)、高效、簡(jiǎn)便的雕刻機(jī)數(shù)控系統(tǒng)解決方案,通過本方案的研究,為中小用戶提供了臺(tái)式低價(jià)的雕刻機(jī),從而拓寬了現(xiàn)有雕刻機(jī)的用戶群。
評(píng)論