一区免费视频_亚洲精品成人av在线_久久99国产精品久久99果冻传媒_毛片网站多少

  為機(jī)床工具企業(yè)提供深度市場分析                     

用戶名:   密碼:         免費(fèi)注冊  |   申請(qǐng)VIP  |  

English  |   German  |   Japanese  |   添加收藏  |  
鉆床

車床 銑床 鉆床 數(shù)控系統(tǒng) 加工中心 鍛壓機(jī)床 刨插拉床 螺紋加工機(jī)床 齒輪加工機(jī)床
磨床 鏜床 刀具 功能部件 配件附件 檢驗(yàn)測量 機(jī)床電器 特種加工 機(jī)器人

車床

電工電力 工程機(jī)械 航空航天 汽車 模具
儀器儀表 通用機(jī)械 軌道交通 船舶

搜索
熱門關(guān)鍵字:

數(shù)控機(jī)床

 | 數(shù)控車床 | 數(shù)控系統(tǒng) | 滾齒機(jī) | 數(shù)控銑床 | 銑刀 | 主軸 | 立式加工中心 | 機(jī)器人
您現(xiàn)在的位置:鉆床網(wǎng)> 技術(shù)前沿>基于VC++ 和DSP 的PCB 鉆床控制系統(tǒng)設(shè)計(jì)
基于VC++ 和DSP 的PCB 鉆床控制系統(tǒng)設(shè)計(jì)
2015-11-5  來源:唐山學(xué)院信息工程系  作者:王建龍



      引言

 

      隨著電子工業(yè)以及計(jì)算機(jī)行業(yè)的迅速發(fā)展,工業(yè)及日常生活上對(duì)印制電路板的需求量與日俱增。數(shù)控鉆床是PCB 加工過程中的必備設(shè)備。本設(shè)計(jì)構(gòu)建的數(shù)控系統(tǒng)硬件以德州儀器的TMS320F2812 為核心,軟件采用上位機(jī)與下位機(jī)聯(lián)合工作的方式。與目前常用的PCB 鉆床數(shù)控系統(tǒng)相比,在保證系統(tǒng)性能的基礎(chǔ)上大大降低了成本。硬件設(shè)計(jì)系統(tǒng)包括上位機(jī)和下位機(jī)兩部分。上位機(jī)采用PC 機(jī),通過串口與下位機(jī)進(jìn)行通信。下位機(jī)以TMS320F2812為核心,接收到來自上位機(jī)的鉆孔數(shù)據(jù)以后,通過DSP的GPIO 口控制步進(jìn)電機(jī)驅(qū)動(dòng)器,完成鉆頭的定位以及鉆孔的動(dòng)作。系統(tǒng)的結(jié)構(gòu)示意圖如圖1 所示。

 

      

                                             圖1 硬件結(jié)構(gòu)

   

      DSP 的GPIO 口G4、G5、A0、A1、A2、A3 分別連接X、Y、Z 軸步進(jìn)電機(jī)驅(qū)動(dòng)器的DIR 和PUL 信號(hào),由于DSP 系統(tǒng)工作電平較低,為了保證步進(jìn)電機(jī)驅(qū)動(dòng)器的光耦隔離電路正常工作,輸入信號(hào)采用共陽極的接法。驅(qū)動(dòng)器設(shè)置為32 細(xì)分。步進(jìn)電動(dòng)機(jī)為42 型兩項(xiàng)四線電機(jī),步距角為1.8 度。機(jī)床采用螺距為3.5mm 的梯形絲杠進(jìn)行傳動(dòng)。設(shè)置系統(tǒng)精確到0.1mm,因此系統(tǒng)脈沖數(shù)以183 為最小單位。

 

      軟件設(shè)計(jì)

 

      軟件功能簡介
 

      本軟件系統(tǒng)支持機(jī)床的手動(dòng)控制以及根據(jù)鉆孔數(shù)據(jù)對(duì)PCB 進(jìn)行自動(dòng)鉆孔,軟件系統(tǒng)包括上位機(jī)軟件和下位機(jī)軟件兩部分。進(jìn)行自動(dòng)鉆孔之前需要先由Protel 或Altium Designer 導(dǎo)出文本格式的坐標(biāo)數(shù)據(jù)文件。

 

      上位機(jī)可以通過按鈕控件對(duì)下位機(jī)發(fā)送手動(dòng)控制命令,進(jìn)行原點(diǎn)校正以及手動(dòng)控制;同時(shí)上位機(jī)可以通過VC++ 軟件提取出文本文件的坐標(biāo)數(shù)據(jù),進(jìn)而進(jìn)行鉆床的自動(dòng)控制。上位機(jī)綜合兩種類型數(shù)據(jù)進(jìn)行進(jìn)一步處理,最后通過串口控件將數(shù)據(jù)發(fā)送給下位機(jī)。

 

      下位機(jī)接收到數(shù)據(jù)進(jìn)行解析,進(jìn)行相應(yīng)的手動(dòng)或自動(dòng)方式下的步進(jìn)電機(jī)驅(qū)動(dòng)器控制信號(hào)的輸出,進(jìn)而對(duì)三個(gè)坐標(biāo)方向的步進(jìn)電機(jī)進(jìn)行運(yùn)動(dòng)控制。

      上位機(jī)軟件設(shè)計(jì)

      本上位機(jī)軟件可以提取由Protel 或Altium Designer軟件導(dǎo)出的鉆孔坐標(biāo)數(shù)據(jù)。由CAD 軟件導(dǎo)出鉆孔數(shù)據(jù)時(shí)選用NC Drill 類型,單位采用Millimeter,format 設(shè)置成4 :2(精確到0.01mm),最后導(dǎo)出擴(kuò)展名為txt 的文本文件即可。上位機(jī)軟件主要包括手動(dòng)控制和自動(dòng)控制兩大功能,軟件界面如圖2 所示。為了便于下位機(jī)對(duì)控制指令的識(shí)別,對(duì)發(fā)送數(shù)據(jù)的首字節(jié)進(jìn)行設(shè)定:首字節(jié)一共有三種情況,分別是0xaa、0xbb 和0xcc。0xaa 和0xcc 用于手動(dòng)控制的開始與停止,0xbb 用于自動(dòng)控制的開始。為了便于操作,上位機(jī)啟動(dòng)后直接對(duì)串口進(jìn)行初始化,后續(xù)工作可以隨時(shí)開始。

 

     

                                 圖2 上位機(jī)控制界面

      手動(dòng)控制

 

      手動(dòng)控制分為“上下左右前后”三軸六個(gè)方向的按鈕,其中指定X 軸為左右運(yùn)動(dòng),Y 軸為前后運(yùn)動(dòng),Z 軸為上下運(yùn)動(dòng),分別由相應(yīng)按鈕進(jìn)行調(diào)節(jié)。為了便于手動(dòng)操作,按鈕按下時(shí)機(jī)床以一定的速度向指定的方向運(yùn)行,按鈕抬起時(shí)停止運(yùn)動(dòng)。由于微軟MFC 按鈕默認(rèn)情況下不支持按鈕按下和抬起動(dòng)作的分別識(shí)別,因此引入PreTranslateMessage(MSG* pMsg)函數(shù)對(duì)按鈕的動(dòng)作進(jìn)行捕捉并解析。

      手動(dòng)控制情況下,相應(yīng)按鈕按下時(shí),首先發(fā)送0xaa字節(jié),然后依次發(fā)送X 軸方向及使能、Y 軸方向及使能、Z 軸方向及使能共七個(gè)字節(jié),下位機(jī)接收數(shù)據(jù)完畢后驅(qū)動(dòng)相應(yīng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。當(dāng)手動(dòng)控制按鍵抬起后,發(fā)送0xcc字節(jié),下位機(jī)接收后使對(duì)應(yīng)步進(jìn)電機(jī)停止運(yùn)行,完成一個(gè)手動(dòng)控制過程。

 

      自動(dòng)控制

 

      需要自動(dòng)鉆孔方式運(yùn)行時(shí),通過“打開”按鈕讀入NC DRILL 文件數(shù)據(jù),并且在左邊的顯示區(qū)對(duì)源碼、鉆孔尺寸分類以及每種孔徑的個(gè)數(shù)進(jìn)行顯示,通過鉆孔尺寸下拉菜單選取相應(yīng)尺寸后點(diǎn)擊“開始鉆孔”即可對(duì)選定孔徑的所有坐標(biāo)進(jìn)行定位鉆孔。

      與手動(dòng)情況下發(fā)送數(shù)據(jù)不同,由于自動(dòng)控制情況下發(fā)送的鉆孔坐標(biāo)個(gè)數(shù)不固定,因此需要在所有坐標(biāo)發(fā)送完畢后加上結(jié)束字節(jié)0xff 以便下位機(jī)判斷數(shù)據(jù)傳送的結(jié)束,進(jìn)而可以進(jìn)行數(shù)據(jù)處理以及驅(qū)動(dòng)器的控制。CAD 文件導(dǎo)出的坐標(biāo)數(shù)據(jù)精確到0.01mm,整數(shù)位為四位有效數(shù)字。為了便于下位機(jī)處理,上位機(jī)將坐標(biāo)數(shù)據(jù)處理成統(tǒng)一格式:小數(shù)點(diǎn)后不足兩位的用零補(bǔ)齊,每個(gè)坐標(biāo)的X 和Y 的值都表示成六位,分別用6 個(gè)字節(jié)表示,因此每個(gè)孔位表示成12 個(gè)字節(jié),用data.Add();進(jìn)行依次發(fā)送。坐標(biāo)數(shù)據(jù)順次發(fā)送完畢后,在最后發(fā)送0xff 字節(jié),表示數(shù)據(jù)傳送完畢,下位機(jī)可以進(jìn)行后續(xù)處理。


        下位機(jī)軟件設(shè)計(jì)


        相應(yīng)的下位機(jī)軟件可以針對(duì)上位機(jī)的兩種操作模式進(jìn)行解析,進(jìn)而產(chǎn)生對(duì)應(yīng)的驅(qū)動(dòng)信號(hào)。下位機(jī)程序流程圖如圖3 所示。

 

        

                                 圖3 下位機(jī)程序流程圖

   
        TMS320F2812 對(duì)各部件初始化完畢后進(jìn)入死循環(huán),采用中斷方式接收串口數(shù)據(jù)。如果接收到首字節(jié)為0xaa,進(jìn)入手動(dòng)控制模式,根據(jù)后續(xù)六個(gè)字節(jié)數(shù)據(jù)判斷方向與對(duì)應(yīng)使能信號(hào)后開始輸出控制脈沖,電機(jī)帶動(dòng)相應(yīng)軸運(yùn)動(dòng),當(dāng)接收到0xcc 后退出循環(huán),結(jié)束脈沖輸出,步進(jìn)電機(jī)進(jìn)入鎖定狀態(tài)。

        如果首字節(jié)接收到0xbb,則進(jìn)入自動(dòng)控制模式,依次接收串口數(shù)據(jù),當(dāng)接收到0xff 時(shí),數(shù)據(jù)傳輸結(jié)束。根據(jù)下一點(diǎn)坐標(biāo)與當(dāng)前坐標(biāo)點(diǎn)的差值輸出相應(yīng)的脈沖數(shù),精確定位到下一個(gè)孔位的坐標(biāo)處進(jìn)行鉆孔動(dòng)作。每種孔徑鉆孔完畢后需要鉆頭回到原點(diǎn),但是因?yàn)槌杀鞠拗频脑颍瑱C(jī)床沒有采用限位裝置,所以在鉆孔過程中用變量對(duì)行程進(jìn)行累加,最后一個(gè)孔鉆孔結(jié)束后往原點(diǎn)方向運(yùn)行累計(jì)值即可回到原點(diǎn),最后退出本次循環(huán)即可。


 
        結(jié)束語


        采用VC++ 與DSP 結(jié)合的方式實(shí)現(xiàn)了高精度低成本的PCB 鉆床控制系統(tǒng)。系統(tǒng)運(yùn)行平穩(wěn)、高效,面向低預(yù)算的行業(yè)有著廣闊的應(yīng)用前景。

    投稿箱:
        如果您有機(jī)床行業(yè)、企業(yè)相關(guān)新聞稿件發(fā)表,或進(jìn)行資訊合作,歡迎聯(lián)系本網(wǎng)編輯部, 郵箱:skjcsc@vip.sina.com