• <rp id="wfxtb"><acronym id="wfxtb"></acronym></rp><em id="wfxtb"></em><dd id="wfxtb"><big id="wfxtb"><video id="wfxtb"></video></big></dd>
  • <rp id="wfxtb"></rp>

    <mark id="wfxtb"><center id="wfxtb"></center></mark>

      <rp id="wfxtb"><span id="wfxtb"><u id="wfxtb"></u></span></rp>

      <rp id="wfxtb"><object id="wfxtb"></object></rp>

      注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      基于USB總線的數控雕刻機控制系統設計
      文章長度[] 加入時間[2007/7/3] 更新時間[2025/5/8 19:38:36] 級別[0] [評論] [收藏]
       

      0.引言

      隨著PC技術的迅速發展,其在工業控制領域得到廣泛應用。用PC技術開發的數控系統可以得到強有力的硬件和軟件支持,避開專有技術的制約,在較短時間內達到較高水平[ 1 ]。USB 自問世以來,就以其速度快、成本低廉等諸多優點逐步占領了PC及其外圍設備市場。隨著大量支持USB的個人電腦的普及, USB 逐步成為PC機的標準接口已經是大勢所趨。本文介紹了一種基于USB 接口進行數據傳輸和控制的數控雕刻機的軟硬件設計方案。

      1.系統硬件結構

      整個系統的硬件結構如圖1所示。




      圖1 系統硬件結構框圖

      系統硬件主要由以下幾個部分組成:

      (1) PC主機-CAD/CAM 建模,生成文本形式的G2Code,讀入G2Code對其進行解釋,調用直線或者圓弧插補,進行插補運算,將各種插補轉換為一系列相應的電機脈沖信息,并往USB通訊模塊傳輸。

      (2)USB通訊模塊—接收主機傳輸來的包含電機運動的使能,方向,速度,脈沖信息的各種字節,將這些邏輯控制電平和控制脈沖在相應的控制線上實現。

      (3)運動控制卡—接收通訊模塊發出的控制電平和脈沖,將其放大并轉換為步進電機的控制脈沖。

      (4) X, Y, Z向步進電機—接收運動控制卡的輸出脈沖,朝某個方向運轉,并帶動相應的執行機構運動。整個機構的運行方式是:雕刻頭在直流電機的帶動下做高速旋轉,并在Z 方向做上下運動, X 2Y工作臺帶動工件做X、Y方向的進給運動,刀具和工件的運動的合成就可以得到文字和圖案的輪廓。

      2.系統軟件結構

      此雕刻系統中的軟件結構如圖2所示。運動控制程序負責實現步進電機的基本動作所需要的輸入信號。USB固件程序實現設備的枚舉和端點與主機的通信。USB設備驅動程序為應用程序和底層驅動程序之間提供接口。PC機底層驅動負責處理總線枚舉、電源管理以及USB 事務的其它方面,Windows操作系統提供這類驅動程序。Windows操作系統還提供AP I函數,來啟動應用程序與設備驅動程序之間的通信。USB應用程序的功能是提供操作和仿真界面、進行插補運算并和底層進行通信?梢,編程者需要開發的程序有PC機的USB 應用程序、USB 設備驅動程序以及單片機程序(包括PD IUSBD12的固件程序和運動控制程序) 。



      圖2 系統的軟件結構框圖

      3.插補控制的實現

      3.1 步進電機的基本動作

      對于各種復雜的運動軌跡,可以通過各種基本的插補來擬合的,而各種基本插補又是由步進電機的最基本的一些動作來完成的,這些基本的動作包括(以三維加工為例) : (0, 0, 0) 、(0, 0, n) 、( 0, n, 0) 、( n, 0, 0) 、(0, n, n) 、( n, 0, n) 、( n, n, 0) 、( n, n, n)其中n表示某路電機往某個方向步進的步數,是一個整數。在PC主機客戶軟件中,將各種插補運動分解為了一系列的電機的基本動作,往往需要實現的基本動作中n = ±1。

      3.2 電機基本動作的實現

      用運動控制卡來控制步進電機,其輸入控制信息有三類:使能,方向,一定頻率的脈沖。據此將PC主機發往USB設備的數據進行一定的格式定義,以進行分類,然后在單片機中將接收到的數據按照此類格式進行分析,并實現其功能。


      圖3 單片機處理接收到的數據

      圖3是單片機程序內處在主循環程序中的處理接收到的數據的流程。據此流程圖,可以看出要使電機沿某方向運轉一定的步數,只需依次發送電機的使能方向信息,速度信息和一系列的步數信息,所接收的步數信息往往是n= ±1的電機的基本動作。為了避免電機的基本動作間因為接收數據的時間而變得不連續,單片機采用了定時器中斷編程來控制脈沖輸出,而單片機前臺則負責接收主機發送過來的數據,并等待上一個脈沖輸出的完成。AT89S52單片機片內有3 路定時器中斷,剛好可以滿足雕刻機3個電機的控制需求,每路定時器中斷負責控制1個電機的控制脈沖輸出。

      3.3 插補運算

      直線插補和圓弧插補是兩種最重要的插補,許多復雜的曲線可以通過這兩種插補來擬合,根據數字積分器(DDA)的原理可以寫出這兩種插補運算的實現函數。圖4,圖5是在主機中客戶軟件層實現它們的流程圖。

      對于其它類型的插補,實現的思路與上述的兩種類似,都需要根據插補的原理和算法來得到插補過程的每小段的增量,此增量就是步進電機的某個基本動作,將此基本動作序列依次發送到單片機底層即可實現刀具的插補運動。



      圖4 DDA直線插補流程


      圖5 DDA圓弧插補流程

      3.4 與單片機的USB通訊

      對于在客戶軟件層的插補運算,必須將電機的運動使能、方向、速度和運動步數信息發往底層單片機,實現發送的通訊方式是通過USB傳輸,USB傳輸速度快,可以滿足插補運算過程中的大量插補數據傳輸的需求。

      (1) 電路連接圖

      系統采用AT89S52控制PD IUSBD12傳輸數據,并將控制信號實時輸出。其電路連接示意圖如圖6所示。



      圖6 電路連接示意圖

      (2) USB固件程序開發

      USB支持4種傳輸類型:中斷,控制,塊和同步[ 3 ]。雕刻機系統可靠性是關鍵,在滿足數據傳輸速度要求的前提下,系統采用了控制傳輸和中斷傳輸兩種傳輸方式。

      PD IUSBD12的固件設計成完全的中斷驅動,采用KeilC51進行編寫。USB的傳輸可在后臺進行,它的基本思想是:后臺ISR (中斷服務程序)和前臺主程序循環之間的數據交換通過事件標志和數據緩沖區來實現[ 4 ]。整個單片機程序中,對電機的控制脈沖的輸出的實時性要求最高,所以設定了定時器中斷的級別為高級別,對于單片機內部的循環緩沖區,定時器中斷程序檢查循環緩沖區的填充情況,并在允許的時候重新打開低級的中斷服務。

      (3) USB設備驅動程序開發

      開發USB 接口設備驅動程序必須遵守WDM(Windows驅動程序模型)規范。WDM驅動程序有兩個主要的初始化入口點—DriverEntry和AddDevice例程。DrvierEntry主要工作是把各種函數指針填入驅動程序對象,以注冊其它回調例程[ 5 ]。PnP管理器將為每個硬件實例調用一次AddDevice例程,AddDevice函數的主要工作是創建一個設備對象并把它連接到設備堆棧中。驅動程序與應用程序和硬件之間通信都是IRP ( I/O請求包)完成的。在運行過程中,內核會調用不同的回調例程來完成不同的IRP。DriverUnload則是在設備卸載時的清除例程。

      (4) USB應用程序開發

      完成了USB 固件程序開發和USB 設備驅動程序開發后,就可以編寫上層的USB 主機客戶程序,真正發揮USB設備的作用。應用程序通過訪問AP I通信函數,使位于上層的應用程序與位于下層的設備驅動程序進行數據交換。

      1)與USB設備建立通訊

      采用了GU ID接口方式來打開設備, GU ID是在編寫設備驅動程序時獲得的,也可以通過AP I函數調用來獲得。依次調用AP I函數SetupDiGetClassDevs, SetupDi2 EnumDevice Interfaces, SetupDiGet2Device InterfaceDetail獲得設備接口元素的接口詳細信息中包含的設備路徑名,選擇相應的USB 端點和管道,調用AP I函數Cre2ateFile可以打開這個設備,獲取設備的句柄。至此,與USB設備的通訊就建立起來了,調用AP I函數Read2 File,WriteFile即可讀寫USB設備,而要關閉設備則是調用CloseFile函數。

      2)客戶程序的整體結構

      整個PC主機客戶程序采用Visual C ++. net作為開發環境,并且運用了多線程的編程思想和DLL (動態鏈接庫)模塊化設計方法。程序中設置了2個線程,一個是主線程,負責用戶界面,保持中樞地位,它的生存周期也就是整個程序的生存期,而另一個線程則是讀入以文本文件形式提供的G代碼,翻譯G代碼,調用直線或者圓弧插補子程序,將脈沖信息寫入USB設備,并將刀路進行實時3D圖形化仿真顯示。程序分為三大模塊:主界面、虛擬機和機床控制,其中虛擬機(VirtualMachine)和機床控制(Machine Control)以dll的形式來實現,整個客戶軟件結構如圖7。



      圖7 客戶軟件模塊結構

      通過這套基于USB的雕刻機我們可以雕刻圖案和文字等,如圖8。



      圖8 雕刻樣品

      4.結束語

      整個系統的設計思路是:利用PC主機的強大的運算功能,迅速運算出刀具所運動的軌跡的脈沖信息序列,并將這些脈沖信息序列通過USB總線發往USB設備,由于上層客戶程序的運算速度是遠遠大于底層單片機實現這些脈沖序列的速度的,基本上客戶軟件都是在等待USB設備芯片數據緩沖區的數據被單片機讀出了一部分才發出了數據,所以不會存在因為底層單片機等待脈沖信息傳輸到來而破壞系統控制的連續性的情況。

        此系統采用USB 傳輸,無需外加存儲器來存儲G代碼,只要改變單片機內的循環緩沖區的大小,就能適應不同的加工速度要求的數控系統,由于各種插補運算在上層客戶軟件實現,可以應用于較復雜的數控系統中。

      1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。
      2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! 以上可能是本站收集或者轉載的文章,本站可能沒有文章中的元件或產品,如果您需要類似的商品請 點這里查看商品列表!
      本站協議。 版權信息。 關于我們。 本站地圖。 營業執照。 發票說明。 付款方式。 聯系方式
      深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102
      E-mail:51dz$163.com($改為@);Tel:(0755)27947428
      工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389
      91嫩草黄片动漫版