基于VC++的步進電機控制系統研究
實現串行通信一般有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步進電機控制器設有手動和聯動方式,手動能設置的操作有:速度設定、歸零操作、方向設定、位移量設定等,聯機方式可以使電機的運動直接受應用軟件控制。由于是進行二次開發,因此應用程序必須嵌入原控制器的控制指令及協議。
該指令系統主要有以下幾條:
聯絡指令指令格式:“?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)
陀螺儀相關文章:陀螺儀原理
評論