精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機工控的電機減速算法是什么?

汽車電子技術 ? 來源: 工控碼農 ? 作者: 工控碼農 ? 2023-02-07 09:43 ? 次閱讀

有不少網友感嘆高鐵技術之穩,一杯水放在窗戶上面都不會晃動.要達到這個‘穩’,就要在電機啟動停止時,有一個加減速.電機啟動時,速度需要逐漸提高,停止時,速度逐漸減小,這就是步進電機的加減速過程。單片機給步進驅動一個脈沖,電機轉動一個步距角,單片機給脈沖越快,步進電機單位時間內,轉動的角度也就越大.即脈沖頻率正比于電機轉速.另一方面,速度的變化對應的物理量是加速度,高中物理可以知道,一個加速過程一般涉及:初始速度,加速度,加速時間這三個量.對應到電機轉動:起始轉速(rpm),最大速度(rpm),加速時間(min),轉速對應單片機定時器的頻率 pulse/ms(單片機定時器1毫秒中斷次數).

工控行業電機加減速一般有T型加速,S型加速.負載慣量比較輕的情況就可以使用T型曲線,負載慣量比較重的情況一般使用S型曲線,S型曲線光滑,速度不突變.

單片機速度控制原理

單片機通過調節頻率控制電機速度,頻率是單片機定時器的定時間隔決定的,只需要在定時器中斷處理程序里邊翻轉脈沖輸出端口即可.單片機的RAMCPU不是很快,定時器的間隔使用查表的方法來獲取,效率比較高.

圖片

控制流程

圖片

T型曲線

T型曲線的加速減階段是線性加減速的,整個運動[加速,勻速,減速]速度變化看起來像一個等腰梯形.

圖片

加速階段就是一個一次線性函數,斜率不變[加速度不變],公式如下:

圖片

單片機生成加速數組代碼:

//生成T形加速數組
//Vmin:起始速度(pulse/s)
//Vmax:最大速度,即勻速速度(pulse/s)
//AccTime:加速時間(ms)
//pBuffer:數組緩存區
//返回值:數組長度
int GenTTable(uint Vmin,uint Vmax,int AccTime,uint* pBuffer)
{
  //計算加速度
  uint a = (Vmax-Vmin)/AccTime;
  uint v = Vmin;
  uint t = 0;
  int index = 0;
  while(v<=Vmax)
  {
    v = a*t+Vmin;
    pBuffer[index] = f/v;  //f為定時器的工作頻率
    t += 1000000/v;  //v的速度為pulse/s,一個脈沖的時間為:1/v s=1000000/v us
    index++;
  }
  
  return index;
}

S形加減速

T形加速曲線的圖形,可以看出加速階段轉向勻速階段時加速度是突然變為零的,這對大慣量的設備晃動比較大,要想設備晃動比較小,就需要加速過渡到勻速階段是漸進光滑的,加速度不突變,進入到勻速階段時加速度剛好為0.數學模型的S形曲線就是光滑,加速度不突變的。數學方程可以參考**邏輯斯蒂**曲線,下圖是公式推導:

圖片

圖片

單片機S形曲線加速數組生成:

上面的公式推導有一個結論:

圖片

程序代碼就是根據這個公式來生成數組數據

//生成S形加速數組
//Vmin:起始速度(pulse/s)
//Vmax:最大速度,即勻速速度(pulse/s)
//AccTime:加速時間(s)
//pBuffer:數組緩存區
//返回值:數組長度
int GenSTable(uint Vmin,uint Vmax,int AccTime,uint* pBuffer)
{
    double tSum = 0;
    double T= AccTime*f;      //f為定時器工作頻率
    uint C0 = (uint)(f/Vmin);
    uint Cmax = (uint)(f/Vmax);
    uint index = 0;
    while (tSum < T)
    {
      pBuffer[index]= (uint)(Cmax+pow(C0-Cmax,(T-tSum)/T));
      tSum += pBuffer[index];
      index++;
    }
    return index;
}

上面生成的加速數據就是定時器的間隔,可以把這邊這份數據寫到Flash的扇區,這樣不用電機每次運動都來生成一次,減少單片機的運算量.也可使用上位機改變電機的起始速度,勻速速度,加速時間來調節電機加速性能,不用重新編譯單片機代碼,使用起來很方便.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6023

    文章

    44376

    瀏覽量

    628369
  • 電機
    +關注

    關注

    141

    文章

    8772

    瀏覽量

    143770
  • 脈沖頻率
    +關注

    關注

    0

    文章

    11

    瀏覽量

    7934
收藏 人收藏

    評論

    相關推薦

    STM32:F407步進電機S形加減速算法的實現相關資料分享

    項目中對步進電機運行速度有了新要求,所以嘗試實現梯形加減速算法,S形加減速算法。本文主要實現S形加減速算法。原理/思路步進電機有啟動頻率這一
    發表于 06-28 10:07

    啟動停止頻繁步進電機減速算法目的是什么

    電機減速算法目的:對于上述2、3的場合,步進電機容易出現丟步和過沖甚至無法啟動的現象,所以加入該算法來解決這一問題。3. 算法實現3.1加
    發表于 07-07 07:58

    步進電機梯形加減速算法的原理是什么

    目錄步進電機梯形加減速梯形加減速算法原理分析算法實現步進電機梯形加減速
    發表于 07-07 07:53

    步進電機驅動算法——S形加減速算法原理 精選資料下載

    目錄步進電機S形加減速簡介七段S形加減速算法原理分析五段S形加減速算法實現算法分析查表法編程實現思路及方法S曲線加
    發表于 07-08 09:18

    F407步進電機梯形加減速算法是如何實現的?

    使用梯形/S形加減速算法。加減速算法的實現中,我沒有采用之前的定時器主從模式的方式。因為沒有想到如何消除在定時器中斷服務程序中切換PWM波輸出頻率時產生的短暫延時。看來很多文章,還是試著用翻轉電平的方法來產生PWM波。原理/思路...
    發表于 07-08 09:52

    步進電機梯形勻加速算法是什么

    最近公司的一個項目用帶驅動器的步進電機,奈何,經理讓我搞個勻加速的啟動和停止。以前從來沒考慮過算法的我,走了很多彎路,不過最后還是解決了這個問題。梯形加減速應該是指數加速算法和S型加
    發表于 07-08 06:49

    怎么實現S形加減速算法

    怎么實現S形加減速算法
    發表于 10-09 09:16

    怎么實現STM32步進電機S型加減速算法

    怎么實現STM32步進電機S型加減速算法
    發表于 10-11 07:57

    怎么實現步進電機S型曲線加減速算法

    怎么實現步進電機S型曲線加減速算法
    發表于 10-12 10:02

    步進電機減速算法相關資料分享

    步進電機減速算法
    發表于 01-11 06:45

    梯形加減速算法實現

    梯形加減速速度曲線采用“梯形”加減速算法,在運動過程中分成以下四個狀態:空閑狀態,加速狀態,勻速狀態與減速狀態。圖1 梯形加減速速度曲線加減速算法
    發表于 01-11 08:25

    步進電機S加減速算法與查表方式哪個更好?

    步進電機S加減速算法與查表方式哪個更好,有誰用過,能否提供實例?
    發表于 11-08 08:10

    STM32 多步進電機減速算法精確控制 親測可用~~~

    STM32 多步進電機減速算法精確控制 親測可用~~~
    發表于 04-02 16:20 ?272次下載

    步進電機的基本參數及梯形加減速算法

    在2021年接觸到步進電機,當時是用來驅動熱敏打印機,沒有用到加減速算法,速度時間表好像是日本客戶那邊提供過來的,這次調試加減速算法,遇到了不少問題,在這里記錄一下,希望能幫到未來對此有困惑的自己,如果能幫到其他人也算是有幸。
    的頭像 發表于 01-12 17:00 ?1w次閱讀
    步進<b class='flag-5'>電機</b>的基本參數及梯形加<b class='flag-5'>減速算法</b>

    步進電機驅動算法之梯形加減速算法

    目錄 步進電機梯形加減速 梯形加減速和S型曲線比較 如何產生PWM波及TIMx定時器配置 梯形加減速算法原理分析 1.梯形加減速 2.步進
    發表于 03-17 15:08 ?7次下載
    步進<b class='flag-5'>電機</b>驅動<b class='flag-5'>算法</b>之梯形加<b class='flag-5'>減速算法</b>