我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > 機械制圖 > 機械技巧

基于VC++的步進電機控制方法探討

時間:2011-06-06 08:46:21 來源:未知

步進電機是一種將電脈沖信號轉換為線位移或角位移的電機,但步進電機的控制通常都采用匯編語言或C語言進行軟件開發,本文結合SC3步進電機控制器及平移臺的控制開發為例,介紹了一種如何在Windows平臺下利用Visual C++6.0提供的串行通信控件MSComm來實現PC機與步進電機控制器之間的數據通訊,最終實現由PC機直接控制步進電機的方法,并詳細介紹了編寫串行通信程序的基本步驟和方法。調試結果表明:設計的控制程序簡單、易懂,工作可靠,且具有友好的人機交互界面。 

     步進電機是一種將電脈沖轉化為角位移的機電式數模轉換器,在控制系統中具有十分廣泛的用途,但傳統的步進電機的控制通常都采用匯編語言或C語言進行軟件開發,本文利用VC++提供的串行通信控件MSComm實現PC機與步進電機控制器之間的串行通信。與 DOS下串行通信程序不同的是,Windows不提倡應用程序直接控制硬件,而是通過Windows操作系統提供的設備驅動程序來進行數據傳送。串行口在Win32中是作為文件來進行處理的,而不是直接對端口進行操作,對于串行通信,Win32提供了相應的文件I/O函數與通信函數,通過了解這些函數的使用,可以編制出符合不同需要的通信程序。

    實現串行通信一般有3種方法:使用VC++提供的串行通信控件MSComm;在單線程中實現自定義的串口通信類;多線程下實現串行通信。結合實際情況,本系統采用VC++提供的串行通信控件MSComm來進行軟件編程,可以很方便地管理與控制計算機串口。

    1、系統組成

    由PC機控制步進電動機的系統如圖1所示。

圖1 PC機控制步進電機系統框圖

    本系統的電機控制采用通用的RS 232串口的異步通信。由于RS 232早期是為促進公用電話網絡進行數據通信而制定的標準,其邏輯電平對地是對稱的,與TTL、MOS邏輯電平完全不同。邏輯0電平規定為+5~+15 V之間,邏輯1電平規定為-5~-15 V之間,因此,RS 232驅動器與TTL電平連接必須經過電平轉換。

    2、控制軟硬件的技術參數

    本系統采用卓立漢光儀器有限公司生產的SC3步進電機控制器及平移臺,實現平移臺的三維控制(x,y,z)。利用RS 232串口異步通信完成對步進電機的單步和連續移動控制,并且把電機的實際位置數據反饋給PC機處理。

    電控平移臺的機械指標如下:
    (1) 精密電控旋轉臺:型號RSA200用于x軸。轉動范圍>±40°;傳動比180∶1;小步距0.000 312 5°;臺面直徑Φ200;分辨率0.001 25°;重復定位精度<0.005°;最大速度25/s;中心最大負載60 kg。
    (2) 重載型電控平移臺:型號TSA300B,用于z軸。最小步距0.003 15 mm;重復定位精度<0.005 mm;加固定平移臺有效行程為150 mm。
    (3) 超薄型電控平移臺:型號TSA30C,用于y軸。最小步距為0.002 mm;重復定位精度<0.005 mm;有效行程30 mm。SC3步進電機控制器設有手動和聯動方式,手動能設置的操作有:速度設定、歸零操作、方向設定、位移量設定等,聯機方式可以使電機的運動直接受應用軟件控制。由于是進行二次開發,因此應用程序必須嵌入原控制器的控制指令及協議。#p#分頁標題#e#
    該指令系統主要有以下幾條:
聯絡指令指令格式:“?R" & CHR$(13)
    該指令發出200 ms以內SC3回送:“OK”& CHR$(10),表示聯絡成功。
查詢指令指令格式:“?V”& CHR$(13)
    SC3接到該指令后回送:“V number” & CHR$(10)。其中number為ASC碼表示的SC3當前速度值。范圍0~255。
坐標查詢指令指令格式:“?X”& CHR$(13) 或“?Y”& CHR$(13)或“?Z”& CHR$(13)
    SC3接到該指令后回送:“X+number” & CHR$(10),或“Xnumber” & CHR$(10),其他軸類似。其中number為以ASC碼表示的SC3當前坐標值,正負號代表當前位置在開機位置(0位)的正負方向的位置。
速度設置指令指令格式:“V”& number & CHR$(13)
    其中number為以ASC碼表示的速度設置值。范圍0~255。
歸零指令指令格式:“HX”& CHR$(13) 或“HY”& CHR$(13) 或“HZ”& CHR$(13) 
    SC3接到此類指令后進行歸零操作。完成歸零操作后回送:“OK”& CHR$(10),表示SC3歸零完畢。
零狀態查詢指令指令格式:“?H”& CHR$(13)
    SC3接到此類指令后回送:“H000” & CHR$(10)
    其中000的含義:
    第一位數值:1表示z軸歸零成功,0表示z軸未歸零。
    第二位數值:1表示y軸歸零成功,0表示y軸未歸零。
    第三位數值:1表示x軸歸零成功,0表示x軸未歸零。
運行指令指令格式:“Xdirectionnumber”& CHR$(13)或“Y directionnumber”& CHR$(13)或“Z directionnumber”& CHR$(13)

3、軟件實現

    3.1 利用VC++提供的串行通信控件MSComm實現串行通信
    首先,在VC++[5]的對話框中創建通信控件,若Control工具欄中缺少該控件,可通過菜單Project→Add to?Project→Components and Control插入即可,再將該控件從工具箱拉到對話框中。此時,你只需要關心控件提供的對Windows通信驅動程序的API函數的接口,即只需要設置和監視MSComm控件的屬性和事件。
    在ClassWizard中為新建的通信控件定義成員對象(CMSComm m_Serial),通過該對象便可以對串口屬性進行設置,MSComm控件共有27個屬性,其中主要包括:
    Commport:設置并返回通信端口號,缺省為COM1。
    Settings:以字符串的形式設置并返回波特率、奇偶校驗、數據位、停止位。
    PortOpen:設置并返回通信端口的狀態,也可以打開和關閉端口。
    Input:從接收緩沖區返回和刪除字符。
    Output:向發送緩沖區寫入字符串。
    InputLen:每次設置Input讀入的字符個數,缺省值為0,表明讀取接收緩沖區中的全部內容。
    InBufferCount:返回接收緩沖區中已接收到的字符數,將其置0可以清除接收緩沖區。
    InputMode:定義Input屬性獲取數據的方式(為0:文本方式;為1:二進制方式)。
    RThreshold和SThreshold屬性,表示在OnComm事件發生之前,接收緩沖區或發送緩沖區中可接收的字符數。#p#分頁標題#e#
    以下是通過設置控件屬性對串口進行初始化的實例:
    打開所需串口后,需要考慮串口通信的時機。在接收或發送數據過程中,可能需要監視并響應一些事件和錯誤,所以事件驅動是處理串行端口交互作用的一種非常有效的方法。使用OnComm事件和CommEvent屬性捕捉并檢查通信事件和錯誤的值。發生通信事件或錯誤時,將觸發OnComm事件,CommEvent屬性的值將被改變,應用程序檢查CommEvent屬性值并作出相應的反應。在程序中用ClassWizard為CMSComm控件添加OnComm消息處理函數:

    3.2 系統初始化
    在執行應用程序時首先必須進行初始化,其初始化程序框圖如圖2所示。

圖2 初始化程序框圖

    運行程序時,視圖執行初始化操作函數OnInitialUpdate(),該函數內要先打開串口1,通過設置對象m_ContrCom各成員函數,設置好各通信參數:
        然后經過一個位置選擇對話框,通常選“保持原來的位置”,然后就發出詢問各軸的坐標值的指令。流程如圖2所示。除x軸是直接發送坐標詢問指令獲得坐標數據外,其他2個軸都是通過連續的2個定時器來詢問坐標的,定時器響應后執行圖3的程序。此后就進入待操作畫面。

    3.3 運行操作的編程
    在電機運動操作區的各文本框內輸入某一軸向的位移值、速度值,按下“運行”按鈕,則程序會把位移值轉化為字符型的實際要運行的步數,通過串口送到SC3步進電機控制器,控制對應的軸的電機運行相應的步數。運行結束后,SC3會返回一個“OK”字符至串口,PC機接受到這個字符后,就知道電機運行結束,然后向串口發送坐標詢問指令,SC3會回送有關坐標數據,PC機接到這些數據后進行處理運算并在文本框中顯示出來。這樣就結束了一個完整的運行操作。
    所有主要的PC機和SC3控制器的有關數據通信程序都在MSComm控件內。包括所有的接受、識別返回字符,各軸向坐標的運算和顯示。
    當步進運動完畢后,返回到PC機的數據為步進電機已經運行的步數,根據這個步數要計算相應的坐標,必須知道各軸的脈沖當量。步進電機每走一步,電移臺的位移等于脈沖當量,即分辨率。
    坐標值=初始坐標+運行步數*脈沖當量
    平移臺脈沖當量=絲杠導程mm*步距角/(360*細分數)
    旋轉臺(x軸)的脈沖當量(度)=步進電機步距角/(傳動比*細分數)
    其中細分數是由控制器后面板撥碼開關設置的。
    步進電機的步距角都為1.8°,縱軸的絲杠導程為1 mm,橫軸為4 mm,旋轉軸傳動比為180∶1,細分數為2,則根據以上公式可得出:
    縱軸(z)脈沖當量=1/100
    橫軸(y)脈沖當量=1/400
    旋轉軸(x)脈沖當量=1/200

    4、結語

    在PC機和單片機之間實現串行通信控制是近幾年很受歡迎、較為流行的方法。本文介紹的運用MSComm控件來編制的由PC機對步進電機直接控制的應用軟件具有友好的人機交互界面,且編程簡便、工作可靠,是一種切實有效的方法。同時,這種串行控制方法和技術還可運用于相應的工業控制場合。#p#分頁標題#e#


我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

            99re这里都是精品| 国产一区二三区| 91精品国产综合久久小美女| 国产成人小视频| 国产精品一区在线观看你懂的| 日韩福利电影在线观看| 亚洲大片在线观看| 亚洲小说欧美激情另类| 亚洲尤物在线视频观看| 一区二区三区在线免费视频 | 中文子幕无线码一区tr| 久久久亚洲欧洲日产国码αv| 精品国产免费一区二区三区四区 | 激情五月婷婷综合网| 久99久精品视频免费观看| 另类中文字幕网| 国产成人精品影视| 97精品久久久午夜一区二区三区| 91视频.com| 91精品国产综合久久久久久久久久| 欧美一区二区国产| 久久精品日韩一区二区三区| 亚洲欧洲一区二区在线播放| 樱花影视一区二区| 天天亚洲美女在线视频| 韩国女主播成人在线观看| 国产真实乱对白精彩久久| 成人高清视频在线| 欧美日韩国产电影| 中文字幕欧美激情一区| 亚洲免费色视频| 久久99精品一区二区三区| 成人免费毛片aaaaa**| 欧美三级视频在线播放| 久久免费午夜影院| 亚洲午夜影视影院在线观看| 黑人巨大精品欧美黑白配亚洲| 成人激情文学综合网| 欧美高清性hdvideosex| 国产精品丝袜一区| 麻豆精品久久久| 色老汉一区二区三区| 精品国产乱码久久久久久浪潮| 中文字幕一区av| 久久99国产精品成人| 色狠狠综合天天综合综合| 欧美精品一区二区精品网| 夜夜操天天操亚洲| 国产福利91精品| 7777精品伊人久久久大香线蕉最新版 | 色香色香欲天天天影视综合网| 成人高清在线视频| 日韩欧美在线123| 亚洲欧美日韩久久精品| 国产一区二区三区在线看麻豆| 欧美视频一区在线观看| 国产精品视频第一区| 久久国产精品99精品国产| 91浏览器在线视频| 国产农村妇女毛片精品久久麻豆| 日韩精品一二三| 欧美性xxxxx极品少妇| 国产午夜精品久久久久久久| 日韩综合在线视频| 精品视频999| 亚洲视频图片小说| heyzo一本久久综合| www国产精品av| 免费成人在线视频观看| 欧美精品xxxxbbbb| 亚洲国产中文字幕在线视频综合| 成人av资源在线观看| 国产午夜精品福利| 国产精品一区专区| 久久精品人人做| 国产一区二区在线观看免费| 精品免费国产一区二区三区四区| 免费在线成人网| 欧美一级搡bbbb搡bbbb| 日本不卡一区二区| 日韩欧美成人一区| 狠狠色丁香久久婷婷综合丁香| 日韩欧美视频在线| 久久66热偷产精品| 久久久精品tv| 成人动漫在线一区| 亚洲视频一区在线| 欧美无砖砖区免费| 天堂成人国产精品一区| 日韩一区二区三区视频| 青娱乐精品视频在线| 欧美v日韩v国产v| 国产一区二区在线看| 国产精品无圣光一区二区| 91原创在线视频| 亚洲国产欧美在线| 欧美一区二区三区四区视频| 蜜桃视频一区二区三区在线观看 | 中文字幕第一区第二区| 91无套直看片红桃| 亚洲二区视频在线| 欧美变态凌虐bdsm| 国产一区二区三区四区五区美女| 国产欧美日韩三区| 91福利视频久久久久| 日本vs亚洲vs韩国一区三区| 久久五月婷婷丁香社区| 91在线观看一区二区| 亚洲成a人v欧美综合天堂| 日韩午夜在线播放| 国产成人精品亚洲777人妖| 综合欧美亚洲日本| 日韩一区二区电影| 成人av电影免费在线播放| 亚洲午夜激情网站| 久久久www成人免费毛片麻豆| 色香色香欲天天天影视综合网| 免费观看91视频大全| 国产精品国产三级国产aⅴ中文| 欧美日韩国产欧美日美国产精品| 韩日欧美一区二区三区| 日韩毛片一二三区| 精品欧美乱码久久久久久1区2区| 91在线观看污| 国产尤物一区二区| 亚洲综合网站在线观看| 久久精品夜色噜噜亚洲a∨| 欧美在线不卡视频| 成人夜色视频网站在线观看| 亚洲综合图片区| 国产区在线观看成人精品 | 亚洲午夜电影在线观看| 国产日韩av一区| 欧美一级一区二区| 91成人国产精品| 国产大陆a不卡| 婷婷综合在线观看| 亚洲精品自拍动漫在线| 国产清纯白嫩初高生在线观看91 | 狂野欧美性猛交blacked| 亚洲欧美日韩综合aⅴ视频| 亚洲精品一区在线观看| 欧美日韩色综合| 99在线视频精品| 国产suv一区二区三区88区| 日韩不卡手机在线v区| 亚洲综合色自拍一区| 国产精品女同互慰在线看| 亚洲精品一区二区三区在线观看| 欧美日韩不卡视频| 在线观看欧美日本| 99视频在线观看一区三区| 国产高清无密码一区二区三区| 日韩av二区在线播放| 亚洲高清免费观看高清完整版在线观看| 日本一区二区三区免费乱视频| 亚洲精品一区二区三区影院| 日韩欧美电影一区| 日韩精品一区二区三区三区免费| 欧美日韩午夜在线视频| 欧美性猛片aaaaaaa做受| 97se亚洲国产综合自在线观| www.久久精品| 成人激情开心网| 国产suv精品一区二区6| 国产99久久久国产精品| 国产成人自拍网| 国产精品1区2区3区| 国产成人av影院| 国产成人在线影院| 成人爱爱电影网址| 暴力调教一区二区三区| 不卡的av电影在线观看| a4yy欧美一区二区三区| 色综合久久久久| 欧美性淫爽ww久久久久无| 在线免费观看不卡av| 欧美色视频在线观看| 欧美精品在线观看播放| 欧美日韩国产精选| 欧美片在线播放| 欧美成人三级电影在线| 久久色在线视频| 亚洲桃色在线一区| 亚洲小少妇裸体bbw| 日本va欧美va精品| 国内成人自拍视频| 99久久99久久精品免费看蜜桃| 色88888久久久久久影院野外| 欧美日韩国产在线播放网站| 欧美日韩激情一区二区三区| 欧美成人精精品一区二区频| 欧美国产一区在线| 亚洲午夜在线电影| 国产九九视频一区二区三区| 91农村精品一区二区在线| 欧美一区二区在线免费观看| 国产女人水真多18毛片18精品视频| 一区二区三区加勒比av| 青娱乐精品在线视频|