找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4364|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

stm32單片機(jī)實(shí)現(xiàn)高速控制步進(jìn)電機(jī)S曲線加減速運(yùn)動(dòng)程序源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

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






由上述的系統(tǒng)框圖和單片機(jī)與運(yùn)動(dòng)控制專用芯片接線圖可以看出,使用一個(gè)stm32或者C51等單片機(jī)+運(yùn)動(dòng)芯片控制步進(jìn)或伺服電機(jī),只要使用單片機(jī)的IO口連接運(yùn)動(dòng)芯片的總線,然后通過IO寫入指令就可以。芯片本身提供了單片機(jī)可以直接調(diào)用的API函數(shù),實(shí)現(xiàn)基本的定長(zhǎng)加減速運(yùn)動(dòng),多軸直線插補(bǔ),圓弧插補(bǔ)運(yùn)動(dòng)的函數(shù),單片機(jī)程序只要按說明直接調(diào)用函數(shù),指定參數(shù)值就可以了。


比如定長(zhǎng)加減速運(yùn)動(dòng)控制函數(shù):
q  定長(zhǎng)運(yùn)動(dòng)
功能:指定一個(gè)運(yùn)動(dòng)軸及曲線類型、運(yùn)動(dòng)方向、脈沖輸出模式、初始速度、運(yùn)行速度、定長(zhǎng)運(yùn)動(dòng)距離、開始減速位置、加速時(shí)間、減速時(shí)間,以初始速度開始加速,在指定的加速時(shí)間到時(shí)加速到運(yùn)行速度恒速運(yùn)行,直到脈沖輸出個(gè)數(shù)大于等于減速位置設(shè)定的個(gè)數(shù)時(shí),開始減速,在指定的減速時(shí)間到達(dá)時(shí)減速到初始速度,并在完成運(yùn)動(dòng)距離時(shí)停止,如果SD減速開關(guān)從OFF->ON 轉(zhuǎn)換并且沒有到達(dá)設(shè)定的減速位置,并且SD_EN使能,將立即開始減速,然后以低速運(yùn)行完成運(yùn)動(dòng)距離后停止。
函數(shù):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 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:710888 發(fā)表于 2021-3-14 10:24 | 只看該作者
是否可以提供下運(yùn)動(dòng)控制芯片datasheet 的官網(wǎng)鏈接
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表