久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4311|回復: 1
打印 上一主題 下一主題
收起左側

stm32單片機實現高速控制步進電機S曲線加減速運動程序源碼

[復制鏈接]
跳轉到指定樓層
樓主

使用單片機做步進電機控制的時候,經常碰到一些非常傷腦筋的問題,一是寫步進電機控制時許確實很麻煩,正轉反轉,加速減速,得研究很長時間數學公式,特別是S加減速運動;二是單片機的計算速度不行,要求脈沖速度快的話,加減速需要計算變化的脈沖頻率,計算不過來,特別是兩個或多個電機要聯動控制或者插補基本上就不行了,兩個電機運動會出現明顯的偏差。
所以能不能有其他簡單快速的方案了?
經過很長時間研究后,我發現常規的運動控制完全可以使用單片機+一個專用運動控制芯片HMC80xx來實現,這樣的話,復雜的加減速控制程序,多個步進高精度聯動都由專用運動芯片來完成,單片機只需要通過通信接口寫入控制命令就可以了。
話不多說,我們來看看具體的實現方案:






由上述的系統框圖和單片機與運動控制專用芯片接線圖可以看出,使用一個stm32或者C51等單片機+運動芯片控制步進或伺服電機,只要使用單片機的IO口連接運動芯片的總線,然后通過IO寫入指令就可以。芯片本身提供了單片機可以直接調用的API函數,實現基本的定長加減速運動,多軸直線插補,圓弧插補運動的函數,單片機程序只要按說明直接調用函數,指定參數值就可以了。


比如定長加減速運動控制函數:
q  定長運動
功能:指定一個運動軸及曲線類型、運動方向、脈沖輸出模式、初始速度、運行速度、定長運動距離、開始減速位置、加速時間、減速時間,以初始速度開始加速,在指定的加速時間到時加速到運行速度恒速運行,直到脈沖輸出個數大于等于減速位置設定的個數時,開始減速,在指定的減速時間到達時減速到初始速度,并在完成運動距離時停止,如果SD減速開關從OFF->ON 轉換并且沒有到達設定的減速位置,并且SD_EN使能,將立即開始減速,然后以低速運行完成運動距離后停止。
函數:int  DeltMov(int dev,unsigned int Axs,unsigned intcurve,unsigned int Dir,unsigned char Outmod,unsigned int Vo,unsigned intVt,unsigned int Length,unsigned int StartDec,unsigned long Acctime,unsignedlong Dectime,unsigned int SD_EN,unsigned int WaitSYNC);


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:710888 發表于 2021-3-14 10:24 | 只看該作者
是否可以提供下運動控制芯片datasheet 的官網鏈接
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久蜜桃av一区二区天堂 | 青青久草 | 福利视频网站 | 久久亚洲春色中文字幕久久久 | 一区二区三区四区不卡 | 成人区精品一区二区婷婷 | 色爱综合 | 浴室洗澡偷拍一区二区 | 黄色一级大片在线免费看产 | 天天干夜夜操 | 久久精品国产一区二区电影 | 在线观看中文字幕 | 综合久久一区 | 青春草国产 | av毛片免费 | 毛片一区二区三区 | 亚洲精品久久久一区二区三区 | 亚洲一区二区在线播放 | 国产精品久久久久久久久久久久久 | 黄色一级视频免费 | 狠狠操狠狠干 | 国产98在线 | 免费, | 在线日韩视频 | 欧美久久久久久久 | 99精品在线免费观看 | 国产福利91精品一区二区三区 | 日日噜噜噜夜夜爽爽狠狠视频97 | 91精品国产91久久久久久吃药 | 日日夜精品视频 | 午夜免费观看体验区 | 亚洲免费视频在线观看 | 成人在线不卡 | 一级黄色录像片子 | h片免费在线观看 | 亚洲人成人一区二区在线观看 | 久久精品亚洲国产 | 夜久久| 男人久久天堂 | 久久久久久久久综合 | 国产高清一区二区三区 | 亚洲国产成人精品女人久久久 |