51單片機控制步進電機驅動器工作原理

2020-11-25 電子產品世界

  步進電機在控制系統中具有廣泛的應用。它可以把脈衝信號轉換成角位移,並且可用作電磁製動輪、電磁差分器、或角位移發生器等。有時從一些舊設備上拆下的步進電機(這種電機一般沒有損壞)要改作它用,一般需自己設計驅動器。本文介紹的就是為從一日本產舊式印表機上拆下的步進電機而設計的驅動器。

  本文先介紹該步進電機的工作原理,然後介紹了其驅動器的軟、硬體設計。

  1. 步進電機的工作原理

  該步進電機為一四相步進電機,採用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖1是該四相反應式步進電機工作原理示意圖。


圖1 四相步進電機步進示意圖

  開始時,開關SB接通電源,SA、SC、SD斷開,B相磁極和轉子0、3號齒對齊,同時,轉子的1、4號齒就和C、D相繞組磁極產生錯齒,2、5號齒就和D、A相繞組磁極產生錯齒。

  當開關SC接通電源,SB、SA、SD斷開時,由於C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒和C相繞組的磁極對齊。而 0、3號齒和A、B相繞組產生錯齒,2、5號齒就和A、D相繞組磁極產生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉子會沿著A、B、C、D方向轉動。

  四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控制精度。

  單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示:


a. 單四拍 b. 雙四拍 c八拍
圖2.步進電機工作時序波形圖

  2.基於AT89C2051的步進電機驅動器系統電路原理

  步進電機驅動器系統電路原理如圖3:


圖3 步進電機驅動器系統電路原理圖

  AT89C2051將控制脈衝從P1口的P1.4~P1.7輸出,經74LS14反相後進入9014,經9014放大後控制光電開關,光電隔離後,由功率管TIP122將脈衝信號進行電壓和電流放大,驅動步進電機的各相繞組。使步進電機隨著不同的脈衝信號分別作正轉、反轉、加速、減速和停止等動作。圖中L1為步進電機的一相繞組。AT89C2051選用頻率22MHz的晶振,選用較高晶振的目的是為了在方式2下儘量減小AT89C2051對上位機脈衝信號周期的影響。

  圖3中的RL1~RL4為繞組內阻,50Ω電阻是一外接電阻,起限流作用,也是一個改善迴路時間常數的元件。D1~D4為續流二極體,使電機繞組產生的反電動勢通過續流二極體(D1~D4)而衰減掉,從而保護了功率管TIP122不受損壞。

  在50Ω外接電阻上並聯一個200μF電容,可以改善注入步進電機繞組的電流脈衝前沿,提高了步進電機的高頻性能。與續流二極體串聯的200Ω電阻可減小迴路的放電時間常數,使繞組中電流脈衝的後沿變陡,電流下降時間變小,也起到提高高頻工作性能的作用。

  3.軟體設計

  該驅動器根據撥碼開關KX、KY的不同組合有三種工作方式供選擇:

  方式1為中斷方式:P3.5(INT1)為步進脈衝輸入端,P3.7為正反轉脈衝輸入端。上位機(PC機或單片機)與驅動器僅以2條線相連。

  方式2為串行通訊方式:上位機(PC機或單片機)將控制命令發送給驅動器,驅動器根據控制命令自行完成有關控制過程。

  方式3為撥碼開關控制方式:通過K1~K5的不同組合,直接控制步進電機。

  當上電或按下復位鍵KR後,AT89C2051先檢測撥碼開關KX、KY的狀態,根據KX、KY 的不同組合,進入不同的工作方式。以下給出方式1的程序流程框圖與源程序。

  在程序的編制中,要特別注意步進電機在換向時的處理。為使步進電機在換向時能平滑過渡,不至於產生錯步,應在每一步中設置標誌位。其中20H單元的各位為步進電機正轉標誌位;21H單元各位為反轉標誌位。在正轉時,不僅給正轉標誌位賦值,也同時給反轉標誌位賦值;在反轉時也如此。這樣,當步進電機換向時,就可以上一次的位置作為起點反向運動,避免了電機換向時產生錯步。


圖4 方式1程序框圖

  方式1源程序:
   MOV 20H,#00H ;20H單元置初值,電機正轉位置指針
   MOV 21H,#00H ;21H單元置初值,電機反轉位置指針
   MOV P1,#0C0H ;P1口置初值,防止電機上電短路
   MOV TMOD,#60H ;T1計數器置初值,開中斷
   MOV TL1,#0FFH
   MOV TH1,#0FFH
   SETB ET1
   SETB EA
   SETB TR1
   SJMP $
  ;***********計數器1中斷程序************

  IT1P: JB P3.7,FAN ;電機正、反轉指針
  ;*************電機正轉*****************
   JB 00H,LOOP0
   JB 01H,LOOP1
   JB 02H,LOOP2
   JB 03H,LOOP3
   JB 04H,LOOP4
   JB 05H,LOOP5
   JB 06H,LOOP6
   JB 07H,LOOP7
  LOOP0: MOV P1,#0D0H
   MOV 20H,#02H
   MOV 21H,#40H
   AJMP QUIT
  LOOP1: MOV P1,#090H
   MOV 20H,#04H
   MOV 21H,#20H
   AJMP QUIT
  LOOP2: MOV P1,#0B0H
   MOV 20H,#08H
   MOV 21H,#10H
   AJMP QUIT
  LOOP3: MOV P1,#030H
   MOV 20H,#10H
   MOV 21H,#08H
   AJMP QUIT
  LOOP4: MOV P1,#070H
   MOV 20H,#20H
   MOV 21H,#04H
   AJMP QUIT
  LOOP5: MOV P1,#060H
   MOV 20H,#40H
   MOV 21H,#02H
   AJMP QUIT
  LOOP6: MOV P1,#0E0H
   MOV 20H,#80H
   MOV 21H,#01H
   AJMP QUIT
  LOOP7: MOV P1,#0C0H
   MOV 20H,#01H
   MOV 21H,#80H
   AJMP QUIT
  ;***************電機反轉*****************
  FAN: JB 08H,LOOQ0
   JB 09H,LOOQ1
   JB 0AH,LOOQ2
   JB 0BH,LOOQ3
   JB 0CH,LOOQ4
   JB 0DH,LOOQ5
   JB 0EH,LOOQ6
   JB 0FH,LOOQ7
  LOOQ0: MOV P1,#0A0H
   MOV 21H,#02H
   MOV 20H,#40H
   AJMP QUIT
  LOOQ1: MOV P1,#0E0H
   MOV 21H,#04H
   MOV 20H,#20H
   AJMP QUIT
  LOOQ2: MOV P1,#0C0H
   MOV 21H,#08H
   MOV 20H,#10H
   AJMP QUIT
  LOOQ3: MOV P1,#0D0H
   MOV 21H,#10H
   MOV 20H,#08H
   AJMP QUIT
  LOOQ4: MOV P1,#050H
   MOV 21H,#20H
   MOV 20H,#04H
   AJMP QUIT
  LOOQ5: MOV P1,#070H
   MOV 21H,#40H
   MOV 20H,#02H
   AJMP QUIT
  LOOQ6: MOV P1,#030H
   MOV 21H,#80H
   MOV 20H,#01H
   AJMP QUIT
  LOOQ7: MOV P1,#0B0H
   MOV 21H,#01H
   MOV 20H,#80H
  QUIT: RETI
   END

  4.結論

  該驅動器經實驗驗證能驅動0.5N.m的步進電機。將驅動部分的電阻、電容及續流二極體的有關參數加以調整,可驅動1.2N.m的步進電機。該驅動器電路簡單可靠,結構緊湊,對於I/O口線與單片機資源緊張的系統來說特別適用。

相關焦點

  • 單片機控制步進電機驅動器工作原理
    本文介紹的就是為從一日本產舊式印表機上拆下的步進電機而設計的驅動器。  本文先介紹該步進電機的工作原理,然後介紹了其驅動器的軟、硬體設計。  1. 步進電機的工作原理  該步進電機為一四相步進電機,採用單極性直流電源供電。
  • 單片機控制步進電機的原理
    本資料詳細介紹鄧步進電機的工作原理以及單片機控制步進電機的特點。步進電機是數字控制電機,它將脈衝信號轉變成角位移,即給一個脈衝信號,步進電機就轉動一個角度,因此非常適合於單片機控制。    步進電機可分為反應式步進電機、永磁式步進電機和混合式步進電機。
  • 51單片機精確控制步進電機(有TB6600驅動)
    設備:51單片機開發板、TB6600驅動器、57BYG250B步進電機(二相)、直流開關電源。直流電源給驅動器供電,單片機給驅動器輸入脈衝,驅動器驅動步進電機。程序使用定時器中斷精確控制電機轉動(不考慮失步)。比如我採用16倍細分,則需給驅動輸入3200個脈衝,驅動才會使電機轉一圈,下面程序中1秒發送200個脈衝,則相應的電機16秒轉一圈。
  • 步進電機驅動器原理
    首先步進驅動器會接收到一個脈衝信號,然後它按設定的方向轉動一個固定的角度,它的旋轉是以固定的角度一步一步運行的。同時可以通過控制脈衝的個數來控制那個固定角度,從而達到準確定位的目的;利用脈衝頻率來控制電機轉動的速度和加速度,從而達到調速和定位的目的。
  • 單片機對儀表步進電機的細分控制
    是將電脈衝信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機轉速、停止的位置只取決於脈衝信號的頻率和脈衝數,而不受負載變化的影響,即給電機某相線圈加一脈衝信號,電機則轉過一個步距角。這一線性關係的存在,加上步進電機只有周期性的誤差而無累積誤差等特點,使得在速度、位置等控制領域用步進電機來控制變得非常簡單。雖然步進電機已被廣泛地應用,但步進電機並不像普通的直流電機、交流電機那樣在常規下使用。
  • 步進驅動器工作原理_步進電機驅動器上撥碼開關怎樣設置
    打開APP 步進驅動器工作原理_步進電機驅動器上撥碼開關怎樣設置 ceasia-china.com 發表於 2020-05-21 10:51:32
  • 基於ATMEGA48單片機的儀表步進電機的細分控制
    儀表步進電機本文引用地址:http://www.eepw.com.cn/article/162587.htm  步進電機是將電脈衝信號轉變為角位移或線位移的開環控制元件。
  • 51單片機控制四相步進電機
    接觸單片機快兩年了,不過只是非常業餘的興趣,實踐卻不多,到現在還算是個初學者吧。這幾天給自己的任務就是搞定步進電機的單片機控制。以前曾看過有關步進電機原理和控制的資料,畢竟自己沒有做過,對其具體原理還不是很清楚。
  • 用單片機和CPLD實現步進電機的控制
    它廣泛用於消費類產品(印表機、照相機)、工業控制(數控工具機、工業機器人)、醫療器械等機電產品中。           通常的步進電機控制方法是採用CPU(PC機、單片機等)配合專用的步進電機驅動控制器來實現,這存在成本較高、各個環  節搭配不便(不同類的電機必須要相應的驅動控制器與之配對)等問題。
  • 51單片機與TA8435的步進電機細分控制
    1 步進電機   步進電動機是純粹的數字控制電動機,它將電脈衝信號轉變為角位移,即給一個脈衝,步進電機就轉一個角度,因此非常合適單片機控制,在非超載的情況下,
  • 51單片機學習之3-步進電機
    用於增強單片機IO口的驅動能力。ULN2003是高耐壓、大電流達林頓陳列,由七個矽NPN達林頓管組成。ULN2003是大電流驅動陣列,多用於單片機、智能儀表、PLC、數字量輸出卡等控制電路中。可直接驅動繼電器等負載。
  • 基於單片機的步進電機加減速控制
    步進電機具有轉矩大、慣性小、響應頻率高等優點,因此具有瞬間啟動與急速停止的優越特性。步進電機在各種應用場合下最大的優勢是:可以開環方式控制而無需反饋就能對位置和速度進行控制,但也正是因為負載位置對控制電路沒有反饋,步進電機就必須正確響應每次勵磁變化。
  • 用51單片機控制兩相四線步進電機
    最近學習步進電機的驅動原理,照著教材自己實踐了一下用ULN2003驅動28BYJ-48兩相5線步進電機,可以正常轉動。手頭有一個舊光碟機,拆開發現裡面有三個電機,其中有一個控制雷射頭尋跡的兩相四線步進電機,我就用51的單片機讓它也轉起來。一開始照葫蘆畫瓢用ULN2003驅動,結果發現無論如何也不行。
  • 步進電機驅動器的關鍵技術研究
    步進電機的性能在很大程度上取決於所用的驅動器,改善驅動器的性能,可以顯著地提高步進電機的性能,因此研製高性能的步進電機驅動器是一項普遍關注的課題。根據控制器輸入的脈衝和方向信號,為步進電機各繞組提供正確的通電順序,以及電機需要的高電壓、大電流;同時提供各種保護措施,比如過流、過熱等。    ③步進電機。控制信號經驅動器放大後驅動步進電機,帶動負載。
  • 步進電機及驅動器連接_步進電機驅動器接法_步進電機驅動器怎麼調
    打開APP 步進電機及驅動器連接_步進電機驅動器接法_步進電機驅動器怎麼調 發表於 2017-08-11 16:47:23
  • 基於TB67S109A電機驅動器的步進電機設計(圖文)
    在非超載的情況下,電機的轉速、停止的位置只取決於脈衝信號的頻率和脈衝數,而不受負載變化的影響,當步進驅動器接收到一個脈衝信號,它就驅動步進電機按設定的方向轉動一個固定的角度,稱為「步距角」,它的旋轉是以固定的角度一步一步運行的。可以通過控制脈衝個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈衝頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
  • 步進電機工作原理及電路設計解析—電路精選(44)
    步進電機工作原理及電路設計解析—電路精選(44) Jazz 發表於 2017-01-16 17:09:39 步進電機在控制系統中具有廣泛的應用。
  • 步進電機控制程序(c語言+51單片機)
    #includereg51.h>本文引用地址:http://www.eepw.com.cn/article/162126.htm#define uint unsigned int
  • 51單片機驅動步進電機__終極(完整版)
    在這裡介紹一下用51單片機驅動步進電機的方法。 這款步進電機的驅動電壓12V,步進角為 7.5度 . 一圈 360 度 , 需要 48 個脈衝完成!!! 該步進電機有6根引線,排列次序如下:1:紅色、2:紅色、3:橙色、4:棕色、5:黃色、6:黑色。
  • 用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統
    作者介紹了基於AT89C52單片機的兩相混合式步進電機控制系統的設計方案,增加了步進電機控制系統設計的靈活性。控制系統採用AT89C52單片機作為控制器,由達林頓功率管BUW49組成的雙H橋式電路作為驅動器,加入按鍵控制及LCD1602顯示。控制系統的電路結構簡單、設計思路清晰。實驗表明,控制系統操作簡單、運行可靠,具有較強的實用性。