|
A3967SLB |
![]() |
A3967SLB 的PDF資料下載,559040K |
其他型號 |
A3967SLB的供應商: |
聯系人:朱先生/李小姐 電話:0755-83325286/0755-83326422 |
聯系人:曹歡 電話:0755-83002566 |
聯系人:王先生 電話:13510086379 |
聯系人:朱先生/周艷麗 電話:0755-83266687/0755-83265028 |
|
>>更多供應商 |
基于A3967SLB的步進電機細分驅動系統(tǒng)設計
趙運福 劉慶想等
![]() |
---|
Imax=Vref/8Rs
AT89C52具有8KB Flash,256B內部RAM,32個I/O口線,3個16位定時/記數器,一個6向量兩級中斷系統(tǒng),一個全雙工串行通信接口,同時片內還有振蕩器和時鐘電路。使用很方便。在這個系統(tǒng)中,單片機主要用來產生控制脈沖并與上位機進行串行通信。
通信電路
在最簡單的RS-232直接傳送通信系統(tǒng)中,只要發(fā)送和接受雙方同時準備好,僅用信號發(fā)送端(TXD)、信號接收端(RXD)和信號地(GND)3 根信號線就可以進行通信;若以應答方式進行數據通信,可使用請求發(fā)送(RTS)、清除發(fā)送(CTS)或數據終端準備(DTR)、數據裝置準備(DSR)4 個信號進行硬件握手。在AT89C52單片機系統(tǒng)中,分別從P3.0和P3.1引出串口線RXD和TXD,通過專用的電平轉換芯片轉換成RS-232接口標準的電平,這樣,二者之間就可以通過RS-232接口進行數字信號的傳送。單片機可以通過直接傳送或應答握手的方式與主機進行數據通信,但由于握手方式占用其它端口,而單片機的端口數量有限,所以,計算機與單片機的通信常采用直接傳送的方式。通信電路如圖2所示。
![]() |
---|
軟件設計
軟件部分的設計主要包括下位機按MCU的接收程序、脈沖控制程序以及上位機的串口發(fā)送程序。上位機與下位機之間進行數據通信。上位機的程序主要通過Windows可視化編程VC++實現。
下位機程序主要負責接受PC發(fā)來的數據,按照要求產生控制脈沖,具體流程為:首先對要使用的串口進行初始化,然后P2輸出口清零,接著進入住程序的死循環(huán),等待中斷觸發(fā)。接收一個字節(jié)的數據,RI=1,接著將RI清零。當單片機接收完數據后,標志位置1。將緩存中的數據存入控制的變量中,以便控制時使用(具體操作時先法數據幀再發(fā)啟動幀)。軟件控制流程如圖3所示。
![]() |
---|
結語
結合以上介紹的基于A3967SLB的步進電機控制系統(tǒng),在VC++環(huán)境下,利用MSComm控件實現了PC與單片機之間的串行通信。實驗結果表明,用這種方式實現上位機對基于A3967SLB的步進電機的控制系統(tǒng)進行精確的驅動可行有效。
本系統(tǒng)中,利用PC的豐富軟硬件資源和強大的系統(tǒng)功能,可進行一些數據處理、顯示等工作;而從控制器AT89C52則用于實時控制。另外,該系統(tǒng)為開放式結構,便于系統(tǒng)升級。
|
|||
|