久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

最新廣告
關注中國自動化產業發展的先行者!
工業智能邊緣計算2025年會
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

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



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

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

    1、系統組成

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



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

    本系統的電機控制采用通用的RS 232[5]串口的異步通信。由于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步進電機控制器設有手動和聯動方式,手動能設置的操作有:速度設定、歸零操作、方向設定、位移量設定等,聯機方式可以使電機的運動直接受應用軟件控制。由于是進行二次開發,因此應用程序必須嵌入原控制器的控制指令及協議。

    該指令系統主要有以下幾條:

    聯絡指令指令格式:“?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

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 女人被狂躁的视频免费一一 | 精品视频在线免费播放| 欧美日韩亚洲高清不卡一区二区三区| 91精品国产视频| 日日摸夜夜摸人人嗷嗷叫 | a级毛片毛片免费很很综合| 中文字幕小明| 在线二区| 免费视频爱爱太爽了| 国产日产精品_国产精品毛片| 黄页网站18以下禁止观看| 不卡视频在线播放| 国产午夜视频| 久久久亚洲| 片免费观看网站视频| 亚洲精品国产乱码在线播| 98国产精品永久在线观看| 久久久久国产一级毛片高清片 | 看一级毛片免费观看视频| 26uuu亚洲| 丁香亚洲综合五月天婷婷| 国产在线拍揄自揄视频不卡99| 欧美日视频| 色老头网站久久网| 亚洲福利视频一区二区| 亚洲视频重口味| 综合色图| 中文无码日韩欧| 91视频黑丝| a级国产视频| aaa一级毛片免费| hh99m 福利毛片| 一区二区视频在线观看| 干成人| 大陆1区二区三区| 久久一区二区三区免费播放| 久草热视频| 久久国产热视频| 久久99精品久久久久久| 日本一级在线| 久久青草免费97线频观|