siemens x
國際自動(dòng)化網(wǎng)5月刊

保證步進(jìn)電機(jī)在變速運(yùn)行中不失步的一種控制方法

2025China.cn   2006年05月12日
  摘  要:在單片機(jī)控制系統(tǒng)中,提出了通過硬件及軟件的失步解決方案,并給出實(shí)例。

  關(guān)鍵詞:單片機(jī);步進(jìn)電機(jī);失步

  步進(jìn)電機(jī)是工業(yè)過程控制及儀表中主要執(zhí)行元件之一。其特點(diǎn)是:快速啟停能力強(qiáng),精度高,轉(zhuǎn)速容
易控制;但步進(jìn)電機(jī)在實(shí)際變速過程中,有時(shí)會(huì)發(fā)生停轉(zhuǎn)現(xiàn)象。其原因主要是由于其本身的響應(yīng)速度跟不
上控制速度,即通常所說的“失步”;在單片機(jī)控制系統(tǒng)中,解決失步的方法很多,但大部分方法占用了
單片機(jī)較多時(shí)間,且軟件也比較復(fù)雜。本文提出的控制方法可以大幅度減少單片機(jī)的時(shí)間,軟件也較為簡
單,可廣泛應(yīng)用于各種步進(jìn)電機(jī)的變速運(yùn)行。
  
  一、基本原理
  
  步進(jìn)電機(jī)的運(yùn)行一般要經(jīng)過升頻,恒速,降頻等過程,設(shè)一個(gè)步進(jìn)電機(jī)的控制過程如圖1所示,
 


  從圖 1 可以看出,L2段為恒速運(yùn)行,L1 段為升頻,L3段為降頻,按照“失步”的定義, 如果在 L1 及 L3 段上升及下降的控制頻率變化大于步進(jìn)電機(jī)的響應(yīng)頻率變化,步進(jìn)電機(jī)就會(huì)失步,失步會(huì)導(dǎo)致步進(jìn)電機(jī)停轉(zhuǎn),經(jīng)常會(huì)影響系統(tǒng)的正常工作,因此,在步進(jìn)電機(jī)變速運(yùn)行中,正確的選擇控制頻率是十分重要的,由于各種型號(hào)步進(jìn)電機(jī)頻率響應(yīng)不同,因此需選擇不同的控制頻率,為方便起見,一般選擇控制頻率為均勻的變化,既變化值是一恒定值,相應(yīng)步進(jìn)電機(jī)也是均勻上升或下降,基于目前市場有成品的環(huán)形脈沖分配器出售,因此不考慮步進(jìn)電機(jī)的時(shí)序問題,可以簡單認(rèn)為,步進(jìn)電機(jī)的轉(zhuǎn)速僅與控制脈沖的頻率有關(guān),改變了脈沖頻率,就改變了步進(jìn)電機(jī)的轉(zhuǎn)速,步進(jìn)電機(jī)控制電路的方框圖,如圖 2 示。

  主要由8031單片機(jī)、脈沖發(fā)生器、脈沖分配器及驅(qū)動(dòng)電路組成,增加一個(gè)數(shù)控脈沖發(fā)生器,8031單片機(jī)只要給出控制數(shù)據(jù),脈沖發(fā)生器就會(huì)自動(dòng)產(chǎn)生一組相應(yīng)頻率的脈沖,該脈沖經(jīng)過環(huán)形分配器后,再經(jīng)過驅(qū)動(dòng)電路,直接驅(qū)動(dòng)步進(jìn)電機(jī);可以看出在恒速運(yùn)行中,由于控制數(shù)據(jù)是定值,并一次輸入即可,不需要改變控制數(shù)據(jù),因此,基本上不占用 8031 時(shí)間,在變速運(yùn)行中, CPU只要定時(shí)改變控制數(shù)據(jù)、改變脈沖發(fā)生器輸出脈沖的頻率,也同樣不需要占用 CPU 過多時(shí)間;定時(shí)改變控制數(shù)據(jù)的方法是,將 ,8031中的 T1 設(shè)為定時(shí)中斷方式,在變速運(yùn)行時(shí),啟動(dòng)定時(shí)中斷,即每隔一中斷時(shí)間將自動(dòng)執(zhí)行相應(yīng)的中斷服務(wù)程序,根據(jù)不同型號(hào)的步進(jìn)電機(jī)改變控制頻率的變化,只要控制頻率的變化小于步進(jìn)電機(jī)的響應(yīng)頻率變化,步進(jìn)電機(jī)的轉(zhuǎn)速就跟隨控制頻率變化,而不產(chǎn)生失步,每改變一次控制頻率,中斷服務(wù)程序?qū)⒆詣?dòng)與預(yù)期值進(jìn)行比較,如果沒有到預(yù)期值,則保存已改變的當(dāng)前脈沖數(shù)據(jù),如果到了預(yù)期值,則關(guān)斷定時(shí)中斷,將當(dāng)前數(shù)據(jù)變?yōu)轭A(yù)期值;可以看出,采用這種方法的優(yōu)點(diǎn)是基本不占用 CPU 時(shí)間, CPU 的大部分時(shí)間可以做其它工作,其次由于中斷服務(wù)程序中改變的控制頻率是固定值,因此程序比較簡單,對(duì)各種型號(hào)步進(jìn)電機(jī)來說,改動(dòng)也很方便。
 
  二、軟件實(shí)現(xiàn)方法
  


  控制軟件流程圖,如圖3示。在主程序中,首先要將 T1設(shè)為定時(shí)中斷,并判定是否需要改變步進(jìn)電機(jī)轉(zhuǎn)速,如果不需要 CPU 可以執(zhí)行其它程序,也可返回;如果需要,則首先輸入轉(zhuǎn)速需達(dá)到的預(yù)期值,并啟動(dòng) T1 定時(shí)中斷,在中斷服務(wù)程序中,首先是保護(hù)現(xiàn)場,然后將目前步進(jìn)電機(jī)運(yùn)行的頻率增加或減少一固定值,并與預(yù)期值進(jìn)行比較。如果沒有到預(yù)期值,則將增加或減少后的數(shù)據(jù)做為當(dāng)前值保存并輸出給脈沖發(fā)生器,最后恢復(fù)現(xiàn)場返回;如果到了或超過了預(yù)期值,則將當(dāng)前值改寫為預(yù)期值并輸出給脈沖發(fā)生器,最后關(guān)閉中斷,恢復(fù)現(xiàn)場返回。
 
  如果設(shè)定步進(jìn)電機(jī)型號(hào)為 75BF004 型,需要從停止?fàn)顟B(tài)變速運(yùn)行到 1000r/min ,并保證不失步, T1 中斷時(shí)間應(yīng)設(shè)為10ms , 每次執(zhí)行中斷服務(wù)程序增加頻率應(yīng)為 20r/min,如果將8031的 p1、p3 輸出作為脈沖發(fā)生器的控制口。則程序清單為:

  2.1主程序

  ORG 0000H
  LJMP STA
  ORG 001BH
  LJMP INT1
  STA: MOV R1, #60H
  MOV A, #01H
  MOV RO,#05H
  STA1:MOV @ R0,A
  INC R0
  DJNZ R1,STA1;初始化
  MOV TMO, #11H
  SETB ET1
  SETB EA
  JB 00H,QT;斷定是否需要變速
  MOV 28H,#0E8H
  MOV 29H,#03H;送預(yù)期值,1000r/min
  MOV 2AH,#00H
  MOV 2BH,#00H;將當(dāng)前值置零
  MOV TL1,#078H
  MOV TL1,#0ECH;設(shè)定T1中數(shù)年時(shí)間10ms
  SETB TR1;啟動(dòng)T1
  QT: LJMP STA1

  2.2 中斷服務(wù)程序

   INT1:MOV TL1,#078H
   MOV TH1,#0ECH
   PUSH PSW
   MOV PSW,#10H
   PUSH PSW
   PUSH DPH
   PUSH DPL;保護(hù)現(xiàn)場
   MOV R0,28H
   MOV R1,29H;讀預(yù)期值
   MOV R2,2AH
   MOV R3,2BH;讀當(dāng)前值
   CLR C
   MOV A,R2
   ADD A,#14H;增加20r/min
   MOV R2,A
   MOV A,R3
   ADDC A,#00H
   MOV R3,A
   CLR C
   MOV A,R2
   SUBB A,R0
   MOV A,R3
   SUBB A,R1
   JC DL;判定是否到預(yù)期植
   MOV R2,28H
   MOV R3,29H
   CLR TR1;到預(yù)期值,關(guān)中斷
   SJMP DL1
   DL: MOVA,R2
   MOV P1,A
   MOV A,R3
   MOV P3,A;輸出給脈沖發(fā)生器
   POP DPL
   POP DPH
   POP ACC
   POP PSW;恢復(fù)現(xiàn)場
   RET1

  三、結(jié)束語

  該方法的特點(diǎn)是簡單、可靠,已成功用于汽車車速表校驗(yàn)儀、汽車組合儀表綜合校驗(yàn)儀等許多場合,得到了較好的效果,解決了目前遇到的步進(jìn)電機(jī)停轉(zhuǎn)等問題,還可以廣泛應(yīng)用于其它領(lǐng)域,會(huì)產(chǎn)生更好的效果。
   

(轉(zhuǎn)載)

2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道