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