a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于串口控制器的步進電機細分驅動系統設計

基于串口控制器的步進電機細分驅動系統設計

作者: 時間:2011-10-21 來源:網絡 收藏

步進電機精度高,慣性小,在不失步的情況下沒有步距誤差積累,特別適用于數字控制的定位系統。傳統的細分驅動電路由細分環行分配器、放大器和合成器等部分組成。這種電路應用復雜,靈活性差。本文利用A3967SLB作為步進電機微控芯片,簡化了步進電機的控制實現。由于單片機資源沒有PC豐富,人機界面也沒有PC友好,因此,本文采用了主從式結構,即PC用于管理,單片機用于執行。

由A3967SLB構成步進電機的驅動部分

A3967SLB是美國Allegro公司生產的PWM恒流控制微步距驅動二相步進電機專用驅動器。它的工作電壓可達30V,驅動電流達750mA,一個A3967SLB即可驅動一臺二相步進電機,可實現8細分驅動。芯片內部的PWM電流控制電路可通過加在PFD的電壓設置為慢、快、混合三種電流衰減模式,如果PFD端的電壓高于0.6Vdd,則選擇慢衰減方式。若低于0.21Vdd,則選擇快衰減模式。處于兩者之間為混合衰減模式。另外,A3967SLB還能提供完善的保護措施,包括抑制瞬態電壓,過熱保護、防止電流直通、欠電壓自鎖等功能。

A3967SLB和微處理器之間不需要附加其他的接口電路,該芯片采用Easy Stepper接口,將8條控制線減少了2條(步長和方向),只要簡單地輸入控制步進電機的脈沖,其內嵌的轉換器就可以實現對步進電機的控制。A3967SLB還需要一些電阻、電容來調整其工作參數,整個驅動電路非常簡單。

如圖1所示,MS1和MS2是步進電機細分分辨率選擇的邏輯輸入口;DIR是電機運轉方向的選擇口;RESET用于重置芯片初始值,屏蔽所有外部輸出;STEP為脈沖輸入端口;OUT1A、OUT1B、OUT2A、OUT2B為H橋的兩對輸出端口;ENABLE為使能端;SLEEP為睡眠模式;SENSE1、SENSE2為H橋的電流檢測電阻;REF為參考電壓;GND為邏輯地和電源地;RC1、RC2為H橋固定截止時間模擬輸入。最大限流Imax是由取樣電阻Rs和取樣比較器的輸入參考電壓Vref決定的:

Imax=Vref/8Rs

AT89C52具有8KB Flash,256B內部RAM,32個I/O口線,3個16位定時/記數器,一個6向量兩級中斷系統,一個全雙工串行通信接口,同時片內還有振蕩器和時鐘電路。使用很方便。在這個系統中,單片機主要用來產生控制脈沖并與上位機進行串行通信。

通信電路

在最簡單的RS-232直接傳送通信系統中,只要發送和接受雙方同時準備好,僅用信號發送端(TXD)、信號接收端(RXD)和信號地(GND)3根信號線就可以進行通信;若以應答方式進行數據通信,可使用請求發送(RTS)、清除發送(CTS)或數據終端準備(DTR)、數據裝置準備(DSR)4個信號進行硬件握手。在AT89C52單片機系統中,分別從P3.0和P3.1引出串口線RXD和TXD,通過專用的電平轉換芯片轉換成RS-232接口標準的電平,這樣,二者之間就可以通過RS-232接口進行數字信號的傳送。單片機可以通過直接傳送或應答握手的方式與主機進行數據通信,但由于握手方式占用其它端口,而單片機的端口數量有限,所以,計算機與單片機的通信常采用直接傳送的方式。通信電路如圖2所示。

軟件設計

軟件部分的設計主要包括下位機按MCU的接收程序、脈沖控制程序以及上位機的串口發送程序。上位機與下位機之間進行數據通信。上位機的程序主要通過Windows可視化編程VC++實現。

下位機程序主要負責接受PC發來的數據,按照要求產生控制脈沖,具體流程為:首先對要使用的串口進行初始化,然后P2輸出口清零,接著進入住程序的死循環,等待中斷觸發。接收一個字節的數據,RI=1,接著將RI清零。當單片機接收完數據后,標志位置1。將緩存中的數據存入控制的變量中,以便控制時使用(具體操作時先法數據幀再發啟動幀)。軟件控制流程如圖3所示。

結語

結合以上介紹的基于A3967SLB的步進電機控制系統,在VC++環境下,利用MSComm控件實現了PC與單片機之間的串行通信。實驗結果表明,用這種方式實現上位機對基于A3967SLB的步進電機的控制系統進行精確的驅動可行有效。

本系統中,利用PC的豐富軟硬件資源和強大的系統功能,可進行一些數據處理、顯示等工作;而從控制器AT89C52則用于實時控制。另外,該系統為開放式結構,便于系統升級。



評論


技術專區

關閉