本資料詳細介紹鄧步進電機的工作原理以及單片機控制步進電機的特點。步進電機是數字控制電機,它將脈衝信號轉變成角位移,即給一個脈衝信號,步進電機就轉動一個角度,因此非常適合於單片機控制。
步進電機可分為反應式步進電機、永磁式步進電機和混合式步進電機。步進電機區別於其他控制電機的最大特點是,它是通過輸入脈衝信號來進行控制的,即電機的總轉動角度由輸入脈衝數決定,而電機的轉速由脈衝信號頻率決定。它具有高精度的定位、位置及速度控制、具定位保持力、動作靈敏、開迴路控制不必依賴傳感器定位、中低速時具備高轉矩、高信賴性、小型、高功率等特徵,使其具有廣泛的應用。
一、步進電機的工作原理
步進電機是機電控制中一種常用的執行機構,它的用途是將電脈衝轉化為角位移,它的的驅動電路根據控制信號工作,控制信號由單片機產生。當步進驅動器接收到一個脈衝信號,它就驅動步進電機按設定的方向轉動一個固定的角度,控制換相順序,即通電控制脈衝必須嚴格按照一定順序分別控制各相的通斷。通過控制脈衝個數即可以控制角位移量,從而達到準確定位的目的。控制步進電機的轉向,即給定工作方式正序換相通電,步進電機正轉,若按反序通電換相,則電機就反轉。控制步進電機的速度,即給步進電機發一個控制脈衝,它就轉一步,再發一個脈衝,它會再轉一步,兩個脈衝的間隔越短,步進電機就轉得越快。同時通過控制脈衝頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
二、設計方案
本設計採用51單片機AT89C51(晶振頻率為12MHZ)對四相六線制步進電機(內阻33歐,步進1.8度,額定電壓12V)進行控制。通過I/O口輸出的具有時序的方波作為步進電機的控制信號,信號經過晶片ULN2003驅動步進電機。ULN2003 是高耐壓、大電流達林頓陳列,由七個矽NPN 達林頓管組成。ULN2003 的每一對達林頓都串聯一個2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標準邏輯緩衝器來處理的數據。ULN2003 工作電壓高,工作電流大,灌電流可達500mA,並且能夠在關態時承受50V 的電壓,輸出還可以在高負載電流並行運行。通過ULN2003構成步進電機的驅動電路,電路圖如圖1所示。51的25-28口接ULN2003的1-4輸入端。另外,用鍵盤來對電機的狀態進行控制,並用數碼管顯示電機的轉速,採用74LS164作為2位單個數碼管的顯示驅動。74LS164帶鎖存,使用串行接法可以節約I/O口資源。其電路圖如圖2所示。通過51的TXD和RXD口對CLK和DATA發送數據。
圖1 51單片機控制步進電機線路圖
圖2 顯示電路圖
三、預期目標
將圖1圖2連接起來,使之實現:按下啟動鍵,電機旋轉,按下加1鍵,速度增加,按下減1鍵,速度降低,最高速度為100轉/分,最低速度為25轉/分,按下停止鍵,電機停轉。速度值在數碼管上顯示出來。
綜合以上選取的方案,總的流程如圖3所示。
圖3 系統電路流程圖
結束語
設計的步進電機基本能實現預期目標,經過調試和修改,但還是存在問題,比如按開關的時候會出現不穩定情況,轉速有時比較亂,顯示有時也有些不理想,後面的工作就是在軟體和硬體等方面進行修改,以完全達到預期目標。
關鍵字:單片機 控制步進電機 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/2011/1031/article_5967.html 本網站轉載的所有的文章、圖片、音頻視頻文件等資料的版權歸版權所有人所有,本站採用的非本站原創文章及圖片等內容無法一一聯繫確認版權者。如果本網所選內容的文章作者及編輯認為其作品不宜公開自由傳播,或不應無償使用,請及時通過電子郵件或電話通知我們,以迅速採取適當措施,避免給雙方造成不必要的經濟損失。
推薦閱讀
MSP430F5438A單片機在寫Info Memory時,需要先把整頁數據擦除,才能寫進去。否則寫失敗。而且還得設置下載程序時不要擦除 Info memory, 否則存儲數據失敗。因為沒此下載時都給你擦除了。
發表於 2020-05-08
開發板led點陣模塊電路圖如下:74HC595:74HC595是一個8位串行輸入、並行輸出的位移緩存器。晶片第11角為數據輸入時鐘線,上升沿有效。晶片第12腳為輸出存儲器鎖存時鐘線,上升沿有效。晶片第13腳為輸出有效(低電平)。晶片第14腳為串行數據輸入。為表示出輸入74HC595的8位二進位數,開發板加入了led模塊(圖一中綠色所示)。若要使led發光,則需將JP595接vcc。OE為輸出有效控制端,低電平有效,所以務必將JOE短接片短接到GND端。_nop_();函數為延時一個機器周期,所對應頭文件為intrins.h#include<reg52.h>#include<intrins.h>#define
發表於 2020-05-08
要求:每次亮相鄰兩個燈,分別閃爍五次後,移動一位,彙編。做而論道編程如下:;------------------------ ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV R2, #0FCH MOV A, #1;------------------------LOOP: MOV P0, R2 ;
發表於 2020-05-08
}}void main(){while(1){key();}}四、運行程序後成功後,打開proteus右鍵單擊單片機AT89C51,找到編輯,然後添加hex文件
發表於 2020-05-08
顯示狀態:點陣上每隔1s顯示一個數字,顯示到9又重頭顯示不斷循環#include<reg52.h>#include<intrins.h> typedef unsigned int u16;typedef unsigned char u8; u8 flag=0; //時間標誌位 #define lie_io P0 //定義P0埠 sbit RCLKK = P3^5; sbit SRCLK = P3^6;sbit SER = P3^4; //串行輸入 u
發表於 2020-05-08
上學期期末的課設題目是led點陣廣告牌,當時的要求如下:(1)能夠顯示不同字符的LED點陣廣告牌;(2)按鍵切換不同的顯示效果(如閃爍,靜止,平移等);(3)按鍵切換不同的顯示內容;(4)能夠顯示圖形或自定義字符;(5)其他功能(創新部分);(6)系統調試、分析、總結與功能實現。當時用的是我用是的普中科技的STC90C51RD+的單片機,不過只要是51單片機,換哪個51內核的晶片都可以,只要電路和程序匹配就可以。我用的那款普中科技的51單片機可以直接連線決定線路的布置,不需要自己去重新焊一個電路板。然後我根據任務要求連接了電路,寫了對應的程序,還有proteus仿真。另外,覺得有趣可以點個讚;有什麼有趣的想法可以評論一下,我感興趣
發表於 2020-05-08