新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機及VC++的步進電機控制系統設計

        基于單片機及VC++的步進電機控制系統設計

        作者: 時間:2013-02-18 來源:網絡 收藏

          當我們安裝6.0時,如果選擇了ACtiveX控件項(自定義安裝),MSComm控件就 會自動安裝在計算機上了,并在系統文件夾下多了3個文件:Mscomm.srg,Mscomm32.ocx, Mscomm32.dep,即MSComm控件已經過授權,但要注意的是,如果程序移植到其它沒有安 裝VC軟件的PC機上,必須將其使用“執照”License 在注冊表中登記注冊,才可以正常運行。 為了正常運行, 還需要將VC開發的可執行文件與運行所需的三個動態鏈接文件 MFC42D.DLL,MFCO42D.DLL,MSVCRTD.DLL放在同一個文件夾中。使用Installshield軟 件進行封裝實現以上要求即可。

          4.2 下位機軟件設計

          本文所設計系統中,采用單相驅動和單-雙相驅動兩種加電方式驅動運轉,即 單相四拍和單-雙相八拍驅動,分別為整步和半步運轉,步進角分別為7.5度和3.75度,不同 的驅動方式其狀態表不同,兩種驅動方式的波形及狀態表如下,其中1代表高電平,表示驅 動的磁極繞組通電;0代表低電平,表示驅動的磁極繞組不通電。


          按照設計要求改變轉速,則只要改變P2.7-P2.4輪流改變電平的時間即可達到要求,這個 時間不應采用延時來實現,因為會影響到其他功能的實現。這里以定時的方式來實現,晶振 頻率為11.0592M,采用T0方式1定時。主程序流程圖如圖7所示:


          系統上電后,首先進行初始化,包括液晶屏初始化及將程序所用到的內存單元(開關機 狀態標志位7FH、正反轉標志位7EH、單相勵磁或單雙相勵磁標志位7DH、測試標志位7CH、 當前速度寄存單元2EH)清零。然后檢測是否開啟電機,檢測到開信號后,設置狀態位,7FH=1,7EH=1,7DH=1,2EH=10,代表起始狀態設置為:單雙相勵磁正轉,起始速度為10r/m。

          設置 T0 相關參數后,開始定時,同時檢測鍵盤是否有其它請求發生,如果有,則改變 相應的狀態位,并改變輸出波形,控制運行狀態改變。

          串行通信的編程方式有兩種查詢方式:查TI 或RI 是否為“1”。中斷方式:如果預先開 了中斷,當TI、RI 為“1”,會自動產生中斷。兩種方式中當發送或接受數據后都要注意清 TI 或RI。本文所設計系統中,下位機采用查詢及中斷兩種接收方式,接收上位機的控制指 令;發送采用查詢方式,將當前電機運行狀態信息發給上位機實時顯示。

          5 功能驗證

          利用示波器測量P2.7-P2.4口產生的波形,以測試電機的激勵脈沖是否與理論相符,所測 波形如圖8、9所示。圖8是在單-雙相八拍勵磁方式,轉速為10轉/分的情況下,測量出的P2.7 和P2.5波形,即A,/A的激勵波形。圖9是在單相四拍勵磁方式,轉速為30轉/分的情況下, 測量出的P2.7和P2.6波形,即A,/B的激勵波形。


          上位機控制操作和鍵盤控制操作可以單獨發出指令,也可以交互發出指令,該系統應用 環境較廣。經測試,所設計系統可以很好的達到設計要求,可以實現對的基本控制 及狀態實時顯示。

          6 結論

          本文設計出的步進電機,可以實現對步進電機的基本控制及運行狀態的實時顯 示。該系統實用性強,操作方便,經測試取得了良好效果。經過一定的技術改進后,可以應 用于包裝機械的物料計量、包裝膜供送、橫封等過程中,精確控制執行機構的運行速度和運 行位置。利用步進電機替代傳統的機械或其它方式,不僅能使包裝機械結構變得簡單、調節 方便、可靠性增加,而且精度會得到很大提高。

        參考文獻:

        [1].AT89S52 datasheethttp://www.dzsc.com/datasheet/AT89S52+_970343.html.
        [2].MAX232datasheethttp://www.dzsc.com/datasheet/MAX232_1074207.html.

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



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 梓潼县| 名山县| 肥西县| 白河县| 册亨县| 襄汾县| 梁平县| 昔阳县| 福安市| 太原市| 获嘉县| 内江市| 青神县| 永仁县| 西乡县| 阳山县| 咸阳市| 古田县| 南宫市| 沁阳市| 壶关县| 凤阳县| 玉屏| 垫江县| 静乐县| 刚察县| 贵溪市| 五常市| 江陵县| 秦皇岛市| 洮南市| 沅江市| 虎林市| 湖南省| 博客| 西乌珠穆沁旗| 麻江县| 梁河县| 赫章县| 富顺县| 阳山县|