標(biāo)題: stm32單片機(jī)實(shí)現(xiàn)高速控制步進(jìn)電機(jī)S曲線加減速運(yùn)動(dòng)程序源碼 [打印本頁(yè)]

作者: xzhktech    時(shí)間: 2021-3-7 12:14
標(biāo)題: stm32單片機(jī)實(shí)現(xiàn)高速控制步進(jìn)電機(jī)S曲線加減速運(yùn)動(dòng)程序源碼

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






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


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



作者: seanking    時(shí)間: 2021-3-14 10:24
是否可以提供下運(yùn)動(dòng)控制芯片datasheet 的官網(wǎng)鏈接




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1