在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于VC++的步進電機控制系統(tǒng)研究

            基于VC++的步進電機控制系統(tǒng)研究

            作者: 時間:2013-10-21 來源:網(wǎng)絡 收藏


            3、軟件實現(xiàn)

            3.1 利用提供的串行通信控件MSComm實現(xiàn)串行通信

            首先,在的對話框中創(chuàng)建通信控件,若Control工具欄中缺少該控件,可通過菜單Project→Add toProject→Components and Control插入即可,再將該控件從工具箱拉到對話框中。此時,你只需要關心控件提供的對Windows通信驅動程序的API函數(shù)的接口,即只需要設置和監(jiān)視MSComm控件的屬性和事件。

            在ClassWizard中為新建的通信控件定義成員對象(CMSComm m_Serial),通過該對象便可以對串口屬性進行設置,MSComm控件共有27個屬性,其中主要包括:

            Commport:設置并返回通信端口號,缺省為COM1。

            Settings:以字符串的形式設置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位。

            PortOpen:設置并返回通信端口的狀態(tài),也可以打開和關閉端口。

            Input:從接收緩沖區(qū)返回和刪除字符。

            Output:向發(fā)送緩沖區(qū)寫入字符串。

            InputLen:每次設置Input讀入的字符個數(shù),缺省值為0,表明讀取接收緩沖區(qū)中的全部內容。

            InBufferCount:返回接收緩沖區(qū)中已接收到的字符數(shù),將其置0可以清除接收緩沖區(qū)。

            InputMode:定義Input屬性獲取數(shù)據(jù)的方式(為0:文本方式;為1:二進制方式)。

            RThreshold和SThreshold屬性,表示在OnComm事件發(fā)生之前,接收緩沖區(qū)或發(fā)送緩沖區(qū)中可接收的字符數(shù)。

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

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

            3.2 系統(tǒng)初始化

            在執(zhí)行應用程序時首先必須進行初始化,其初始化程序框圖如圖2所示。



            圖2 初始化程序框圖

            運行程序時,視圖執(zhí)行初始化操作函數(shù)OnInitialUpdate(),該函數(shù)內要先打開串口1,通過設置對象m_ContrCom各成員函數(shù),設置好各通信參數(shù):

            然后經(jīng)過一個位置選擇對話框,通常選“保持原來的位置”,然后就發(fā)出詢問各軸的坐標值的指令。流程如圖2所示。除x軸是直接發(fā)送坐標詢問指令獲得坐標數(shù)據(jù)外,其他2個軸都是通過連續(xù)的2個定時器來詢問坐標的,定時器響應后執(zhí)行圖3的程序。此后就進入待操作畫面。

            3.3 運行操作的編程

            在電機運動操作區(qū)的各文本框內輸入某一軸向的位移值、速度值,按下“運行”按鈕,則程序會把位移值轉化為字符型的實際要運行的步數(shù),通過串口送到SC3控制器,控制對應的軸的電機運行相應的步數(shù)。運行結束后,SC3會返回一個“OK”字符至串口,PC機接受到這個字符后,就知道電機運行結束,然后向串口發(fā)送坐標詢問指令,SC3會回送有關坐標數(shù)據(jù),PC機接到這些數(shù)據(jù)后進行處理運算并在文本框中顯示出來。這樣就結束了一個完整的運行操作。

            所有主要的PC機和SC3控制器的有關數(shù)據(jù)通信程序都在MSComm控件內。包括所有的接受、識別返回字符,各軸向坐標的運算和顯示。

            當步進運動完畢后,返回到PC機的數(shù)據(jù)為已經(jīng)運行的步數(shù),根據(jù)這個步數(shù)要計算相應的坐標,必須知道各軸的脈沖當量。每走一步,電移臺的位移等于脈沖當量,即分辨率。

            坐標值=初始坐標+運行步數(shù)*脈沖當量

            平移臺脈沖當量=絲杠導程mm*步距角/(360*細分數(shù))

            旋轉臺(x軸)的脈沖當量(度)=步進電機步距角/(傳動比*細分數(shù))

            其中細分數(shù)是由控制器后面板撥碼開關設置的。

            步進電機的步距角都為1.8°,縱軸的絲杠導程為1 mm,橫軸為4 mm,旋轉軸傳動比為180∶1,細分數(shù)為2,則根據(jù)以上公式可得出:

            縱軸(z)脈沖當量=1/100

            橫軸(y)脈沖當量=1/400

            旋轉軸(x)脈沖當量=1/200

            4、結語

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

            陀螺儀相關文章:陀螺儀原理



            上一頁 1 2 3 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉