引言
隨(suí)著電子工業以及計算機行(háng)業的迅速發展,工業及日常生活上對印製電路板的需求量與日俱增。數控鑽床是PCB 加工過程(chéng)中的必備設(shè)備。本設計構(gòu)建的數控係統硬件以德州儀器的TMS320F2812 為核心,軟件采用(yòng)上(shàng)位機與下位機聯合工作的方式。與目前常用的PCB 鑽床數控係統相比,在保(bǎo)證係統性(xìng)能的基礎上大大降低了成本。硬件設計係統包括上位機和下位機兩部分。上(shàng)位機采用PC 機(jī),通過串口與下位機進行通信。下(xià)位機以TMS320F2812為核心,接收(shōu)到來自(zì)上位機(jī)的鑽孔數據(jù)以後,通過DSP的GPIO 口控製(zhì)步進電機驅動器,完成鑽頭的定位(wèi)以及鑽孔的動作。係統的結構示(shì)意圖如圖1 所示。
圖1 硬件結構
DSP 的GPIO 口G4、G5、A0、A1、A2、A3 分別連接(jiē)X、Y、Z 軸步進電機(jī)驅動器的DIR 和PUL 信號,由於DSP 係統工作電平較低,為了保證步進電機驅動器的光耦隔(gé)離電路(lù)正常工作,輸入信號采(cǎi)用(yòng)共陽(yáng)極的接法。驅動器設置為32 細分。步進電動機(jī)為42 型兩項四線電機,步距角(jiǎo)為1.8 度(dù)。機床采用螺距為3.5mm 的梯形絲杠進(jìn)行傳動。設置係(xì)統精確到0.1mm,因此係(xì)統脈衝數以183 為最小單位。
軟件設計
軟件功能簡介
本軟件係統支持機(jī)床的手動控製以及根(gēn)據(jù)鑽孔數據對PCB 進行自動鑽(zuàn)孔(kǒng),軟件係統包括上位機軟件和(hé)下位機軟件兩部分。進行自動鑽孔之前需要(yào)先(xiān)由(yóu)Protel 或Altium Designer 導出文本格式的坐標數據文件。
上位機可以通過按鈕(niǔ)控件對下位機發送手動(dòng)控(kòng)製(zhì)命令,進行原點校正(zhèng)以及手(shǒu)動控製(zhì);同時上位機可以通過VC++ 軟件提取出文本文件的(de)坐標數據,進而(ér)進行鑽床的自動控製。上位機綜合兩種類型數據進行(háng)進一步處理,最後通(tōng)過串口控件將數據發送給(gěi)下位機(jī)。
下位機接收到數據進行解析,進行相應的手動或自動方式下的步進電機驅動器控製信號的輸出,進而對三(sān)個(gè)坐標(biāo)方(fāng)向的步進電機進行運動控(kòng)製。
上位機軟件(jiàn)設計
本上(shàng)位機軟件可以提取由Protel 或(huò)Altium Designer軟件導出的鑽孔坐標數據。由CAD 軟件(jiàn)導出鑽孔數據時(shí)選用NC Drill 類型,單位采用Millimeter,format 設(shè)置成(chéng)4 :2(精確到0.01mm),最(zuì)後導出擴展名為txt 的文本文(wén)件即(jí)可。上位機軟(ruǎn)件(jiàn)主要包括手動(dòng)控製和自動控製兩大(dà)功能,軟件界麵如圖2 所示。為了便於下位機對控製指令的識別,對發送數據的首字節(jiē)進行設定:首字節一共有三種情況,分別是0xaa、0xbb 和0xcc。0xaa 和0xcc 用於手(shǒu)動控製的開始與停止,0xbb 用於自動(dòng)控製的開始。為了便於操作,上位機啟動後直接對串口進行初始(shǐ)化(huà),後續工作可以隨時開始。
圖2 上位機(jī)控製(zhì)界麵
手動控製
手動控製分為“上下左(zuǒ)右前後”三軸六個方向的按鈕,其中指定X 軸為左右運動,Y 軸為前後運動,Z 軸為上下運動(dòng),分別由相應按鈕進行調節。為了便於手動操作,按鈕(niǔ)按下時(shí)機床以一定的速(sù)度向指定的方向運行,按鈕抬起時停止運動。由於微軟MFC 按鈕默認情況(kuàng)下不支持按(àn)鈕(niǔ)按下和抬起動作的分別識別,因此引入PreTranslateMessage(MSG* pMsg)函數對按鈕的動作進行捕捉並解(jiě)析。
手動控製(zhì)情(qíng)況(kuàng)下,相應按(àn)鈕(niǔ)按下(xià)時,首先發送0xaa字節,然後依次發送X 軸方向及使能(néng)、Y 軸方向及使(shǐ)能、Z 軸方向及使能共七(qī)個字節,下位(wèi)機接收數據(jù)完畢後驅動(dòng)相應步進電機轉動。當手(shǒu)動控製按鍵抬起後,發送0xcc字節,下(xià)位機接收(shōu)後使(shǐ)對應步進電機停止運行,完成一個手動控製過程。
自動控製
需要自動鑽孔方式運行(háng)時,通過“打開”按鈕讀入NC DRILL 文件數據,並且在左邊的顯示區對(duì)源(yuán)碼、鑽孔尺寸分類以及每種孔徑的個數進行(háng)顯示,通過鑽孔尺寸下拉菜單選取相應尺寸後點擊(jī)“開始(shǐ)鑽(zuàn)孔”即可對選定孔徑(jìng)的所(suǒ)有坐標進行定位鑽孔。
與手動情況下發送(sòng)數據不(bú)同(tóng),由於自動控製情況下發送的鑽孔坐標個數不固定,因此需要在所有坐標發送完畢後(hòu)加上結束字節0xff 以便下位機判斷數據傳送的結束,進(jìn)而可以進行數據處理以及驅動器(qì)的控製。CAD 文件(jiàn)導出的坐標數據精確到0.01mm,整數位為四位有效(xiào)數字。為了便於下位機(jī)處理,上位機將(jiāng)坐標(biāo)數據處理成統一格式:小數(shù)點後不足兩位的用零補齊,每個坐標的X 和Y 的值都表示成六(liù)位,分(fèn)別用6 個字節表示,因此每個孔(kǒng)位表示成(chéng)12 個字節,用(yòng)data.Add();進行依次發送(sòng)。坐標數據順次發(fā)送完畢後(hòu),在最(zuì)後發送0xff 字(zì)節,表示數據傳送完畢,下位機可以進行後續處理。
下位機軟件設(shè)計
相應的下位機軟件可(kě)以針對上位機的兩種操作模式進行解析,進而產生對應的驅動(dòng)信號。下位機(jī)程(chéng)序流程圖如圖3 所示。
圖3 下位機(jī)程序流程圖
TMS320F2812 對各部件初始化完畢後進入死循環,采用中斷方式接(jiē)收串口數據。如果接收到(dào)首字節(jiē)為0xaa,進入手動控製模式(shì),根據後續六個字(zì)節(jiē)數據判斷方向與對應(yīng)使(shǐ)能信號後(hòu)開始輸出控製脈衝,電機帶(dài)動相應軸運動,當接收到0xcc 後退出循環,結束脈衝輸出,步進(jìn)電機進入鎖定狀態。
如果首字節接收到0xbb,則進(jìn)入自動控製模式,依次接收串口數據,當接收到0xff 時,數據傳(chuán)輸結束。根據下一(yī)點坐標與當前坐標點的差值輸出相應(yīng)的(de)脈衝數,精確定位(wèi)到下一個孔位的(de)坐標處進行鑽孔動作。每種孔徑鑽孔完(wán)畢後需要鑽頭回到原點,但是因為(wéi)成本限製的原因,機床沒有采用限(xiàn)位裝置,所以在鑽孔(kǒng)過程中用變量對行程進行累加(jiā),最後一個孔(kǒng)鑽孔結束(shù)後往原(yuán)點方向運行累計值即可回(huí)到原(yuán)點(diǎn),最(zuì)後退出本次(cì)循環即可。
結束語
采用VC++ 與DSP 結合的方式實現了高精度低成本的PCB 鑽床控製係統。係統運行平穩、高效,麵向低預算的行業(yè)有著廣闊的應用前景。
如果您有機床(chuáng)行業、企業相關新聞稿件發表,或進行資訊(xùn)合作,歡迎聯係本網編輯部(bù), 郵(yóu)箱:skjcsc@vip.sina.com
- 2024年11月 金屬切削機床產量數(shù)據
- 2024年(nián)11月 分地區金屬切削機床產量數據
- 2024年11月 軸承出口情況
- 2024年11月 基本型乘用車(轎車)產量數據
- 2024年11月 新能源汽(qì)車產量數據(jù)
- 2024年(nián)11月 新能源(yuán)汽車銷量情況
- 2024年10月 新能源汽車產量數據
- 2024年(nián)10月 軸承出(chū)口情況
- 2024年10月(yuè) 分地(dì)區金屬切削機床(chuáng)產(chǎn)量數據
- 2024年10月 金屬切削機床產量數據
- 2024年(nián)9月 新能源汽車銷量情況
- 2024年8月 新能源汽(qì)車產量數據
- 2028年8月 基本型乘(chéng)用車(轎車)產量數據