在线免费观看成年人视频-在线免费观看国产-在线免费观看国产精品-在线免费观看黄网站-在线免费观看精品

產品分類

當前位置: 首頁 > 工業控制產品 > 運動控制 > 步進電機

類型分類:
科普知識
數據分類:
步進電機

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

發布日期:2022-10-09 點擊率:82

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

A Discussion of the Measure on the Controlling of Stepper Motor in VC++
CHEN Jiafeng,PENG Qisheng
(Department of Electronic and Information Engineering,Southcentral University for Nationalities,Wuhan,430074,China)
Abstract:Stepper motor is a kind of motor of translating electrical pulse into displacement Ordinarily,the software of control system for stepper motor is programmedby assemble or C language The paper introduces a method of programming realizing serial communication between PC and stepper motor in VC++6.0 based MSComm control by SC3 stepper motor contoller The basal process and method ofprogramming serial communication are introduced. The result shows that designed program is simple and understandable and higher reliability and friendly manmachine conversation interface
Keywords:stepper motor;Visual C++;serial communication;MSComm control

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

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

1 系統組成

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

本系統的電機控制采用通用的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.00125°;重復定位精度<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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事件發生之前,接收緩沖區或發送緩沖區中可接收的字符數。

以下是通過設置控件屬性對串口進行初始化的實例:

打開所需串口后,需要考慮串口通信的時機。在接收或發送數據過程中,可能需要監視并響應一些事件和錯誤,所以事件驅動是處理串行端口交互作用的一種非常有效的方法。使用OnComm事件和CommEvent屬性捕捉并檢查通信事件和錯誤的值。發生通信事件或錯誤時,將觸發OnComm事件,CommEvent屬性的值將被改變,應用程序檢查CommEvent屬性值并作出相應的反應。在程序中用ClassWizard為CMSComm控件添加OnComm消息處理函數:

3.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機對步進電機直接控制的應用軟件具有友好的人機交互界面,且編程簡便、工作可靠,是一種切實有效的方法。同時,這種串行控制方法和技術還可運用于相應的工業控制場合。

參考文獻
[1]李朝青.PC機及單片機數據通信技術M].北京:北京航空航天大學出版社,1999.
[2][美]Joe Campbell.串行通信C程序員指南[M].徐國定譯.北京:清華大學出版社,1995.
[3]Herbert Schildt,Schildt′sExpert C++[M].MCGrawHill,1998.
[4][美]Young  Michael J.Visual C++6從入門到精通[M]邱仲潘,等譯.北京:電子工業出版社,1999.
[5]向世明.Visual C++數字圖像與圖形處理[M].北京:電子工業出版社,2002.

下一篇: 斷路器、隔離開關、接

上一篇: 索爾維全系列Solef?PV

69精产国品一二三产区区别| 37大但人文艺术A级都市天气| 欧美丰满熟妇性XXXX| 久久亚洲男人第一AV网站| 免费观看的A级毛片的网站| 人与动物PPT免费模板| 无码国产精品一区二区VR老人| 人人妻人人做人人人少妇| 玩弄丰满熟妇XXXXX性60| 亚州熟妇无码AV线播放| 伊人成年网站综合网| 宝贝你下面喷潮了| 国模无码视频一区二区三区| 美女露100%双奶头无遮挡图片| 久久精品中文字幕无码| 欧美精品黑人成人另类视频| 天堂АⅤ在线最新版在线| 亚洲老熟女XXXXHDWAA| AAAAA级少妇高潮大片| 国产GAYSEXCHINA男外| 精品一区二区三区| 人妻少妇乱子伦精品无码专区毛片 | 日本人妻JAPANESEXXX| 午夜精品久久久久久| 中文字幕乱码人妻综合二区三区| 伊人久久大香线蕉AV不卡| 被C了一节课的林妙妙| 韩国全部三级伦在线播放| 男生晚上睡不着想看B站 | 狠狠综合久久AV一区二区| 免费少妇A级毛片| 无码国产精品一区二区免费式影视 | 一本丁香综合久久久久不卡网站| 一边做一边喷17P| 动漫RH男男车车好快的车车| 久久99亚洲网美利坚合众国| 日本japanese人妻护士| 亚洲乱码日产精品BD在线看| 被窝影院午夜无码国产| 久久99精品九九九久久婷婷| 日韩人妻无码一区二区三区| 夜夜添无码试看一区二区三区| 18日韩xxxx| 国产精品久久久久影院亚瑟妓| 国语对白做受XXXXX在| 欧美性爱XXXX黑人XYX性爽| 亚洲第一无码精品一区| 成人网站在线进入爽爽爽 | YOUJIZZ中国少妇| 黑人精品XXX一区一二区| 欧美一区二区三区放荡人妇| 亚洲AV无码国产一区二区三区不| 一本久久综合亚洲鲁鲁五月天| 中文字幕人妻互换激情| 国产精品亚洲А∨无码播放 | 亚洲AV嫩草AV极品在线观看| 99久久精品美女高潮喷水| 饥渴人妻被快递员玩弄的视频 | 中文有码无码人妻在线短视频 | 欧美成人免费全部观看| 亚洲AV日韩精品久久久久久A | 狼人香蕉毛片AV高潮视频| 天天狠天天透天干天天怕∴| 18禁无遮挡羞羞啪啪免费网站| 成午夜福利人试看120秒 | 另类老妇性BBWBBW| 小妖精又紧又湿高潮H视频69| 亚洲熟妇无码中文高清| 国产精品国产三级国产专I| 亲子乱AⅤ一区二区三区| 夜里18款禁用软件APP| 国产精品久久久久精品香蕉爆乳| 久久精品国产亚洲AV无码娇色 | 成人无码专区免费播放三区| 老熟妇午夜毛片一区二区三区| 青青青国产成人久久111网站| 特级XXXXX欧美| JAPANESE酒醉侵犯| 久久五月丁香综合中文亚洲| 亚洲AV无码专区青青草原 | 亚洲AV无码精品狠狠爱| 粉嫩av一区二区夜夜嗨| 欧美三级三级三级爽爽爽| 再深点灬舒服灬太大了网站 | 乌克兰XXXXXLMEDJYF| WWW国产精品内射老熟女| 麻豆一区区三区四区产品麻豆| 三级做A全过程在线观看| 最新国产精品久久精品| 久久天天躁狠狠躁夜夜躁2014| 日日躁夜夜躁狠狠躁| 99视频精品全部在线观看 | 无码专区6080YY电影| 宝宝腿趴开一点就不会疼的原因 | 亚洲丰满多毛XXXⅩ熟妇| 各种女BBWBBWBBW么| 日本处ⅩⅩ人╳护士19| A男人的天堂久久A毛片| 男人扒开女人下部添高潮的视频 | 爱丫爱丫影院在线观看免费| 免费国产在线精品一区| 一二三四视频社区在线| 精品一区二区三区波多野结衣| 人妻少妇无码精品专区| AAA日本高清在线播放免费观看 | 五十熟妇日本熟妇久久| 粉嫩av一区二区三区| 少妇午夜啪爽嗷嗷叫视频| 肥胖BMGBMGBMG多毛图片| 日产精品一线二线三线京东| 宝宝锕~进去就不痛了在线观看| 精品久久久久久中文字幕人妻最新| 欧美最猛黑人XXXⅩ猛男野外| 亚洲AV无码成人网站国产网站| JIZZJIZZJIZZ中国| 内射后入在线观看一区| 中文字幕无码一线二线三线 | 亚洲AV无码不卡在线播放| 国产免费破外女真实出血视频| 欧美丰满熟妇XXXX性大屁股| 中文字幕乱码无码人妻系列蜜桃| 国产一精品一AV一免费爽爽| 无码精品久久久久久人妻中字 | 国产精品国产三级国产AV主播 | 熟妇人妻一区二区三区四区| 丰满人妻被快递员侵犯的电影| 老太太 GRANNY| 中文字幕日韩一区二区三区不卡 | 亚洲AV日韩AV无码AV| 国产在线精品二区| 亚洲国产欧美在线成人| 久久狠狠色噜噜狠狠狠狠97| 亚洲色欲啪啪久久WWW综合网 | 无码专区天天躁天天躁在线| 国产成在线观看免费视频成本人| 人人妻人人澡人人爽人人精品图片 | 中国极品少妇XXXXX| 男女作爱免费网站在线观看| YSL千人千色YESE88网站| 日韩无码视频专区| 国产精品久久久久久久9999| 亚洲AV永久无码精品表情包| 精品亚洲AⅤ无码午夜在线| 野花高清影视免费观看西瓜| 免费XXXXX大片在线观看一区| 亚洲精品无码鲁网中文电影| 久久久久亚洲AV无码网站| 2023年新番肉食系| 日本无遮挡吸乳视频| 国产精品天干天干在线观看| 亚洲高清乱码午夜电影网| 久久这里只精品国产免费9| BBWBBW欧美肥妇PICS| 色综合伊人色综合网站无码| 国产一卡2卡3卡4卡网站免费| 四季亚洲Av日韩AV无码中文 | 一本久道综合在线无码88| 邻居少妇张开腿让我爽了在线观看| 亚洲无人区码一码二码三码区别| 国产无遮挡免费真人视频在线观看 | GOOD电影网韩国三级无码| 色欲香天天天综合网站| 国产真实老熟女无套内射| 一对浑圆的胸乳被揉捏动态图| 精品v内射66偷窥| 曰批全过程免费视频观看| 欧美自拍亚洲综合在线| 国产成人亚洲精品无码VR| 亚洲日本VA中文字幕久久道具| 妓女妓女影院妓女影库妓女网| 小SB几天没做又欠CH| 久久久久久久久精品无码中文字幕 | 日本XXXX色视频在线观看免费,| AV成人午夜无码一区二区| 天堂AV无码大芭蕉伊人AV孕妇| 抖抈探探APP入口免费| 亚洲AV永久无码精品水牛影视| 国产亚洲精品无码不卡| 伊人婷婷六月狠狠狠去| 日日摸日日碰人妻无码老牲| 狠狠躁夜夜躁人人爽超碰97香蕉| 亚洲AV日韩AV无码大全| 久久综合狠狠综合久久| 丰满少妇女人A毛片视频| 亚洲色WWW成人永久网址| 人妻AV综合天堂一区| 国精产品一线二线三线区别| 7777色情ⅩXXX欧美色妇| 天天躁夜夜躁天干天干2020| 精品无人区麻豆乱码1区2| 边吃奶边扎下面动态| 亚洲爆乳无码专区WWW| 漂亮人妻被中出中文字幕久久| 成 人影片免费观看| 亚洲国产综合无码一区| 青青青国产免A在线观看| 狠狠干2015最新版| FREE性欧美18ⅩXOO极品| 亚洲AV无码一区二区三区性色| 久久精品国产99精品国产亚洲性|