隨著工業的發展,嵌入式技術應用日益廣泛和成熟。ARM嵌入式處理器作為一種32位高性能、低功耗的RISC芯片,支持多種操作系統、主頻高、運算處理能力強,并可兼容8/16位器件,還能帶海量低價的SDRAM數據存儲器。得到各行各業的青睞,已經顯示出強大的功能和巨大的商業價值。尤其在控制領域獲得了越來越為廣泛的應用。利用以ARM為內核的嵌入式微處理器進行運動">

      技術頻道

      基于ARM芯片S3C4510的步進電機加減速控制

        隨著工業的發展,嵌入式技術應用日益廣泛和成熟。ARM嵌入式處理器作為一種32位高性能、低功耗的RISC芯片,支持多種操作系統、主頻高、運算處理能力強,并可兼容8/16位器件,還能帶海量低價的SDRAM數據存儲器。得到各行各業的青睞,已經顯示出強大的功能和巨大的商業價值。尤其在控制領域獲得了越來越為廣泛的應用。利用以ARM為內核的嵌入式微處理器進行運動控制系統的開發,有著廣闊的發展空間。
        在一些要求低成本的運動控制系統中,經常用步進電機做執行元件。步進電機在這種應用場合下最大的優勢是:可以開環方式控制而無需反饋就能對位置和速度進行控制。但也正是因為負載位置對控制電路沒有反饋,步進電機就必須正確響應每次勵磁變化。如果勵磁頻率選擇不當,電機不能夠移到新的位置,那么實際的負載位置相對控制器所期待的位置出現永久誤差,即發生失步現象或過沖現象。因此步進電機開環控制系統中,如何防止失步和過沖是開環控制系統能否正常運行的關鍵。

      步進電機加減速控制原理
        失步和過沖現象分別出現在步進電機啟動和停止的時候。一般情況下,系統的極限啟動頻率比較低,而要求的運行速度往往比較高。如果系統以要求的運行速度直接啟動,因為該速度已超過極限啟動頻率而不能正常啟動,輕則可能發生丟步,重則根本不能啟動,產生堵轉。系統運行起來以后,如果達到終點時立即停止發送脈沖串,令其立即停止,則由于系統慣性作用,會使步進電機轉子轉到接近終點平衡位置的下一個平衡位置,并在該位置停下,從而產生過沖現象。因此,在步進電機啟動或停止時就需要進行加、減速控制。加減速控制多采用軟件來實現,分為加速、勻速和減速三個階段。其控制曲線如圖1所示。

      圖1 步進電機加減速控制曲線

      加減速控制方法
        采用微處理器對步進電機進行加減速控制,實際上就是改變輸出脈沖的時間間隔,升速時脈沖頻率逐漸加快,減速時脈沖頻率逐漸變慢。采用恒加速度算法,易操作性強,效果也很好。如圖2所示,Δtm時間內相鄰脈沖變化完成時,即步進電機轉過一步,所以,圖2中陰影部分面積為1。

      圖2 步進電機加減速時脈沖頻率變化圖


        設電動機的加速時的第m步頻率為Fm,第m-1步頻率為Fm-1。加速度是F的斜率,設為a,則
      a=(Fm-Fm-1)/Δtm;
        另有((Fm + Fm-1)Δtm)/2=1;
        由以上兩式可推出:
      A=((fmax-f0)*(fmax+f0))/(2*trans);

      軟件實現
        采用定時器中斷方式控制電機變速時,實際上是不斷改變定時器裝載值的大小。控制脈沖由ARM芯片S3C4510的定時器發出,則定時器的溢出頻率應為二倍的控制脈沖頻率。實現函數如下:
      void pulse (REG16 f0,REG16 fmax,REG16 tran,REG16 steep)
      { UINT16 I,A;
      SysDisableInt(INT_TIMER0);
      SysSetInterrupt(INT_TIMER0,OnTimer2);
      trans = tran;
      A = ((fmax-f0)*(fmax+f0))/(2*trans);
      for(i=0;i <= trans;i++)
      { f[i> = sqrt_16(2*A*i+f0*f0);
      }
      f0 += f0; //2f0
      TMOD=0x00; //disable timer0 and timer1
      TDATA0=0x2FAF080/f0;//f0=50,000,000/TDATA0
      TMOD=0x03; //enable timer0 and timer1 in interval mode
      step = steep+steep; //2step
      trans = trans+trans;
      tempstep=0; //the number of pulse
      output = 0;
      status = 0; //the state of pulse,high or low
      SysEnableInt(INT_TIMER0); }
        其中f0為起始脈沖頻率,fmax為到達勻速運行狀態時的最大脈沖頻率,tran為加速或減速時的過渡脈沖步數,steep為該程序段總的脈沖步數。
      結語
        采用以ARM為內核的微處理器主頻高、指令執行速度快,能輸出較高的脈沖頻率,并采用加減速控制方法控制步進電機能平穩高速的運行,因此非常適合用于經濟型數控機床中,代替原來基于PC機的數控機床,降低成本。
        另外需要注意的是,嵌入式數控系統的開發一般都是基于嵌入式實時操作系統的,比如UC/0S-II。而操作系統的本身都要依賴于定時中斷作為調度的基礎,在移植操作系統和選擇控制步進電機的定時器時要特別小心,兩者不能產生沖突和影響,否則整個系統將會崩潰。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 亚洲一区二区三区无码国产| 亚洲国产美女福利直播秀一区二区| 一区二区三区视频| 超清无码一区二区三区| 精品福利一区二区三区免费视频| 中文字幕在线观看一区| 精品亚洲av无码一区二区柚蜜| 精品日产一区二区三区手机| 日韩精品人妻av一区二区三区| 亚洲视频一区在线播放| 国模吧无码一区二区三区| 精品国产日韩亚洲一区在线| ...91久久精品一区二区三区 | 久久人妻内射无码一区三区| 天天爽夜夜爽人人爽一区二区 | 无码人妻一区二区三区兔费| 高清一区二区三区日本久| 中文字幕无线码一区| 国产中的精品一区的| 无码视频免费一区二三区| 亚洲国产AV一区二区三区四区 | 无人码一区二区三区视频| 久久精品国产一区| 国偷自产视频一区二区久 | 国产区精品一区二区不卡中文| 成人久久精品一区二区三区| 国产乱码精品一区二区三区中文 | 国产自产对白一区| 国产在线精品一区二区不卡| 一区二区国产在线播放| 日韩免费视频一区| 亚洲乱码一区二区三区国产精品| 国产伦理一区二区| 中文字幕一区二区三区有限公司| 春暖花开亚洲性无区一区二区 | 国产一区内射最近更新| 亚洲日韩AV一区二区三区中文| 一区二区视频在线| 国产亚洲一区二区三区在线观看| 亚洲人AV永久一区二区三区久久| 国产精品亚洲一区二区三区久久 |