引言
目前國內使用的數控系統通常是在通用計算機或工控機的基礎上加裝運動控制卡,使用Windows作業系統,並安裝昂貴的數控軟體構成的。這樣的系統軟體成本高、硬體資源浪費、功耗大。而嵌入式產品具有系統結構精簡、功耗低等特點,能彌補傳統數控系統的不足。免費軟體Linux 作業系統進軍嵌入式領域,更使得嵌入式產品能夠充分發揮廉價、高性價比的優勢。
本文所述的正是以Linux作業系統為軟體平臺,以ARM9微處理器為硬體平臺,以數控銑床為背景,自主研發數控硬體及軟體的嵌入式數控銑床控制系統。
1 系統硬體組成
系統的硬體由ARM系統主板和擴展板卡組成。
硬體結構如圖1。
1.1 ARM系統主板
根據系統需要,主板上主要包括中央處理器S3C2410X、SDRAM 內存、NAND FLASH ( 64M )、串口、CS8900A乙太網晶片( 10M 網口)、LCD顯示器接口、USB接口、擴展總線接口等。
中央處理器S3C2410X內部資源十分豐富,包括1個LCD控制器、SDRAM 控制器、3個通道的UART、4個具有PWM 功能的計時器和1個內部時鐘、2個USB主機接口和1個USB設備接口等。S3C2410X 處理器主頻最高為202MH z, 內置16 KB 指令高速緩存和16KB數據高速緩存,5級指令流水線,帶有乘累加運單元,可以運行起嵌入式Linux 作業系統並能進行較為複雜的信息處理,基本滿足用戶對快速性的要求。並且採用NAND FLASH 與SDRAM 組合來存儲數據和程序,可以獲得非常高的性價比。
系統採用10M 的乙太網接口晶片CS8900A, 這是用於嵌入式設備的低成本以太區域網控制器。通過標準網絡接口數控系統可以連接到Internet或區域網上。
1.2 擴展板卡
擴展板卡即把步進電機驅動器控制接口、伺服電機驅動器控制接口、編碼器接口集成在一個板子上,作為控制數控銑床的控制卡,來控制步進電機和伺服電機的運轉。
工具機目前設計為3軸聯動,為未來能擴展為5軸,設計留有5組接線端子。每組需要兩個接線端子與驅動器相連(採用單脈衝方式),其中一個端子通過導線連接步進電機驅動器的CP, 提供給步進電機脈衝信號,控制它轉動,另一個接驅動器的CW, 控制電機的轉動方向,使電機可以完成正轉、反轉和停止動作。對電機的速度控制是通過軟體控制脈衝的輸出頻率實現的。經比較決定選擇三相混合式步進電機驅動器BD3SFB。因BD3SFB驅動器可兼容兩相、四相和五相的工作方式,且有更高的定位精度,可控制電機在任意細分步數情況下,如6000步/轉時精確定位。 電機和驅動器間僅用3根線連接,與交流異步電機一樣,減少連線出錯的可能性。
伺服電機的控制與反饋由驅動器完成,數控系統只需將指令信號發送至驅動器中。由處理器的通用I/O口產生伺服電機的脈衝信號和方向信號。伺服驅動器一般需要差分信號作為輸入,故採用26LS31晶片作為其輸出驅動電路,經過光耦的隔離直接連接到伺服電機驅動器上。
對步進電機採用開環控制,但為了將銑刀具體位置呈現給用戶,同時修正控制及運動部分不可預見的誤差,可以在步進電機上安裝編碼器。通過聯軸器將二者相連。編碼器脈衝信號經8253計數後可得到被測量的數位訊號,然後經地址鎖存器連接到擴展總線,由處理器進行處理。8253復用8 位數據總線表示計數值,處理器先讀低8位後讀高8位,計數範圍是0 ~65 535。同時,鑑向器佔用數據總線3 位表示各電機旋轉方向。在單脈衝模式下,編碼器脈衝由D觸發器CD4013鑑相,處理器通過判斷高低電平得知電機旋轉方向。為了抗幹擾和實現電氣隔離,在與步進電機驅動器的脈衝信號和方向信號的埠連接時採用了光電隔離器件。D觸發器鑑相如圖2。