1 引言
基 於pc機各種匯流排的步進電機或數字式伺服電機的上位控制單元,匯流排形式多種多樣,高速匯流排可以採用isa、pci、usb等匯流排技術。通常使用的是基於 isa匯流排、pci匯流排。由於計算機主機板的更新換代,isa插槽使用的越來越少了pci匯流排的運動控制卡成了目前的主流。但是pci匯流排存在一些缺陷:易 受機箱內環境的影響,受計算機插槽數量的位址、中斷資源的限制而不可能掛接很多裝置等。usb匯流排具有安裝方便、高頻寬、易擴充套件等優點,其中usb2.0 標準有著高達480mb/s的傳輸速率,已經逐漸成為計算機介面的主流。而且,通用序列匯流排usb為多點資料採集提供了很大的便利,利用usb可以實現比 傳統方式更有效、更經濟、點數更多的資料採集。usb資料匯流排已經在各種計算機上得到普及,成為計算機的標準裝置。
2 系統體系結構
基 於usb匯流排的運動控制平台及採集卡系統按照功能的劃分,主要包括3個方面:usb介面設計,通過usb介面實現pc機與微控制器的通訊;電機的驅動,採用 電機驅動晶元uc3717a;資料採集問題,資料採集的目的是為了監控外界情況,步進電機的工作環境例如溫度,以及捕獲運動軌跡等,它是通過感測部件利用 感測器監控外界,將採集的資訊作模數轉換後傳遞到微控制器,由微控制器送到微機,作分析、顯示。系統的體系結構如圖1所示。
圖1 系統的體系結構
系 統的工作過程就是乙個資料採集和控制步進電機執行的過程,其中的每一步都需要不同組的支援。首先,溫度和壓力引數經感測器轉換成模擬訊號,模擬訊號經過 a/d轉換變微控制器可識別的數碼訊號;接著微控制器將數碼訊號進行處理之後,就可以送往led顯示或者傳送給usb介面晶元;然後usb介面晶元在主機需要 的時候,把接收到的資料經usb總傳送給主機進行處理和顯示;最後將處理的結果經usb匯流排和微控制器來控制步進電機的執行。
3系統的硬體電路設計
usb資料採集系統的硬體電路結構主要包括以下幾個部分:usb通訊電路部分、資料採集電路部分、步進電機驅動。模組的功能都是在以atmega16為核心的硬體平台上實現的。
3.1 usb通訊電路的設計
usb 通訊電路的功能是實現資料採集系統裝置端和主機端之間的通訊,這一功能主要是由核心微控制器atmega16和usb控制器件pdiusbd12實現的。 其中,pdiusbd12是符合usb1.1協議的晶元,在usb通訊電路中起著聯絡裝置和主機的橋梁的作用。微控制器atmegal6和usb控制器 pdiusbd12之間通過8位並行匯流排進行通訊,8位並行匯流排在atmegal6端需要連線8個i/o口。pdiusbd12片內整合了時鐘乘法 pll,晶振電路使用6mhz的晶振和兩個2pf到68pf的電容。pdiusbd12的訊號輸出端d+/d-上要各串接乙個18歐的匹配電阻。通訊電路 如圖2所示。
圖2 usb通訊電路
3.2 資料採集電路的設計
資料採集電路的功能就是將現場的溫度、壓力以及應力等資料轉換成合適的模擬訊號,再把模擬訊號傳送給a/d轉換電路。此模組包括溫度採集模組和壓力採集模組兩部分。
溫 度資料採集使用了ds18b20,它是美國dallas公司生產的數位化溫度感測器,世界上第一片支援「一線匯流排」介面的溫度感測器,在其內部使用了在板 (on-b0ard)專利技術。全部感測元件及轉換電路整合在形如乙隻三極體的積體電路內。測量溫度範圍為-55°c~+125°c。現場溫度直接以「一 線匯流排」的數字方式傳輸,大大提高了系統的抗干擾性。新一代的ds18b20體積更小、更經濟、更靈活。將採集的溫度送至atmegal6內部的取樣保持 電路,然後進行放大、a/d轉換,再經過韌體程式的換算就可以得到測量溫度了。
在本系統中,測量壓力採用的器件是廣州森納士儀器****生產的壓力變送器,其量程是0.0lmpa,輸出訊號是4~20ma的電流。當壓力改變時,輸出電流也隨之發生變化,所
以在訊號輸出端接乙個精密電阻,然後對電阻兩端的電壓進行取樣和轉換,再經過韌體程式的換算就可以得到測量壓力了。
3.3步進電機驅動電路設計
步 進電機是一種將電脈衝轉化為角位移的執行機構。當步進驅動器接收到乙個脈衝訊號,它就驅動步進電機按設定的方向轉動乙個固定的角度(稱為「步距角」),它 的旋轉是以固定的角度一步一步執行的。步進電動機的角位移量和輸入脈衝的個數嚴格成正比,在時間上與輸入脈衝同步,可以通過控制脈衝個數來控制角位移量, 從而達到準確定位的目的;同時可以通過控制脈衝頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
電機驅動電路主要由驅動晶元組成,本系統使用的電機驅動晶元為uc3717a。uc3717a晶元使用非常簡單,它通過3個輸入管腳(phase、 i1和i0)分別圖微控制器引腳連線來接收輸入的引數,在2個輸出管腳(aout和bout)上與電機連線輸出相應的控制訊號。由於uc3717a包含乙個 h橋,因此電機驅動電路有兩片uc3717a對應部分相連構成完整的驅動電路。如3微部分驅動電機驅動電路圖。
圖3 部分驅動電機驅動電路
3.4 led顯示電路設計
如圖4所示,該系統的顯示是使用的靜態顯示,應用74ls164的串入並出的特點,將顯示編碼通過微控制器的串列埠傳送到74ls164上鎖存而實現穩定的靜態顯示。在74ls164和數碼管之間串接1k的電阻限制電流,起到保護作用。
圖4 顯示部分電路設計
4系統的軟體設計
usb 資料採集系統是乙個多工系統,而且程式結構也比較複雜,為了提高開發率,增強系統的穩定性,降低開發和維護成本,就需要乙個嵌入式作業系統作為系統發和 執行的平台。μc/os-ⅱ作為乙個原始碼公開的免費型嵌入式實時作業系統,其穩定性好、可靠性高,而且μc/os-ⅱ還具有移植性好、可固化、可裁剪等特 點,非常適合作為usb資料採集系統的開發平台。
usb資料採集系統的軟體由三個部分組成:usb裝置韌體程式、主機pc上的usb裝置驅動程式和主機上的客戶應用程式。系統軟體的組成及各部分之間的關係如圖5所示。
圖5 系統軟體的組成
設 備韌體程式按功能可以劃分為usb通訊程式、微控制器上的a/d轉換程式和led顯示程式,以及微控制器對步進電機驅動晶元控制程式,其中usb通訊程式是整 個韌體程式的主要部分,其功能是實現usb裝置列舉和資料傳輸。usb裝置列舉是usb裝置插上之後,主機與裝置交換資訊並自動配置的過程,列舉成功 後,usb介面與主機就可以進行通訊了。
裝置驅動程式是連線裝置和主機應用程式的紐帶,它向上提**用程式的訪問介面(api),向下則實 現對具體裝置的訪問和管理功能。驅動程式與裝置硬體和上層使用者程式密切相關,在usb體系的中間起到資訊轉換和傳遞的中介作用。在開發usb裝置時,裝置 驅動程式的設計是乙個非常重要的環節,直接影響到整個裝置系統的效能。本系統採用driverworks開發wdm型usb裝置驅動程式
應 用程式的主要功能是在裝置驅動程式中查詢裝置,與裝置交換資料,並將裝置傳送來的資料進行處理和顯示。應用程式和驅動程式的通訊是通過訪問應用程式介面 (api)函式實現的,所以應用程式的開發必須在能訪問api函式的平台上進行。microsoft公司提供的visual studio .net是一種功能強大的支援api函式的程式設計工具,本設計的主機應用程式就是以.net為平台進行開發的,其功能主要包括查詢usb裝置,與usb裝置 交換資料和動態顯示資料曲線。
5 總結
本文的創新點是改變了傳統的用微機pci、isa、串並行口做通訊口,改用高速的 usb介面作為通訊口,有利於速度的提高,也方便了使用及攜帶,為以後的改進和擴充套件提供了餘地;其次,將資料採集功能集合到控制卡里,也是本文的乙個特 點:電機運動過程中,為了監控驅動器的工作環境,需要採集溫度資料;同時將運動軌跡的有關資料採集進來,作為插補和調整的依據,並且將輸出電機的運動命令 和及時傳回電機軌跡狀態相結合,形成了控制平台和資料採集為一體的模組,資料採集的過程是個實時的過程,是在電機運動中同步完成的;最後本系統是開放性的 實時系統。該專案實施半年以來,創造經濟效益60多萬元。
基於windows平台的USB驅動開發技術初步探密
關鍵是首先你要讓usb裝置能work,讓pc機能識別你的裝置,usb開發的里程碑有三個,一是讓pc機發現未知裝置,二是讓pc機識別usb裝置,三是正確安裝usb驅動 當然要能正常工作 1 第一步讓usb識別你的裝置,這一步可以說是最難,也可以說是最容易的一步,說它最難是因為這一步和硬體的正常工作非常...
基於FPGA的智慧型溫度採集控制器
日期 2008 9 3 字型 大 中 小 1引言 目前基於智慧型溫度感測器ds18b20的測溫設計大多是微控制器程式。本課題嘗試使用fpga晶元進行設計。fpga內部有豐富的觸發器和i o引腳,同時具有靜態可重複程式設計和動態在系統重構的特性,極大地提高了設計的靈活性和通用性,更適用於電子系統的開發...
賽靈思基於FPGA平台的PFM電機控制方案有何優勢
據了解,目前大多數工業電機控制採用的是基於mcu或dsp平台的pwm演算法,而這一類方案都會帶來不可避免的emi問題,此外還經常會有能效不高和時延較長等問題的出現。pfm在理論上是一種比pwm更好的電機控制演算法,因為它可以實現更高的能效和更低的emi。xilinx歐洲電機控制專家會同第三方合作夥伴...