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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2541|回復(fù): 4
收起左側(cè)

STM32步進(jìn)電機(jī)4軸加減算法分享

[復(fù)制鏈接]
ID:685243 發(fā)表于 2020-1-12 10:00 | 顯示全部樓層 |閱讀模式
s32 steps[4]={150000, 150000, 150000, 150000};//運(yùn)動(dòng)距離
u32 accel[4]={10000,10000, 10000, 10000};//加速度
u32 decel[4]={10000, 10000, 10000, 10000};//減速度
u32 speed[4]={10000, 10000, 10000, 10000};//速度
s32 stpdecel[4]={65000, 65000, 65000, 65000};//急停減速度
u8 addr485=0;
u8 LmtSnsPos[4]={1,1,1,1};//正限位電平
u8 LmtSnsNeg[4]={1,1,1,1};//負(fù)限位電平
u8 HomeSns[4]={1,1,1,1};//回零電平
s32 position[4]={0,0,0,0};//當(dāng)前位置
s32 HomePos[4]={0,0,0,0};//
s32 SoftLmtPos[4]={0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff};
s32 SoftLmtNeg[4]={0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff};


u16 AxisPulsePin[4]={AXIS_PULSE_1, AXIS_PULSE_2, AXIS_PULSE_3, AXIS_PULSE_4};
u16 AxisDirPin[4]={AXIS_DIR_1, AXIS_DIR_2, AXIS_DIR_3, AXIS_DIR_4};
u16 LmtPosPin[4]={AXIS_LMTPOS_1, AXIS_LMTPOS_2, AXIS_LMTPOS_3, AXIS_LMTPOS_4};
u16 LmtNegPin[4]={AXIS_LMTNEG_1, AXIS_LMTNEG_2, AXIS_LMTNEG_3, AXIS_LMTNEG_4};
u16 HomePin[4]={AXIS_HOME_1, AXIS_HOME_2, AXIS_HOME_3, AXIS_HOME_4};
u16 AddrPin[4]={GPIO_Pin_7, GPIO_Pin_6, GPIO_Pin_15, GPIO_Pin_14};
GPIO_TypeDef *AxisLmtPosPort[4]={GPIOE, GPIOE, GPIOE, GPIOE};
GPIO_TypeDef *AxisLmtNegPort[4]={GPIOE, GPIOE, GPIOE, GPIOE};
GPIO_TypeDef *AxisPulsePort[4]={GPIOE, GPIOE, GPIOE, GPIOE};
GPIO_TypeDef *AxisDirPort[4]={GPIOE, GPIOE, GPIOE, GPIOE};
GPIO_TypeDef *HomePort[4]={GPIOC, GPIOC, GPIOC, GPIOC};
GPIO_TypeDef *AddrPort[4]={GPIOC, GPIOC, GPIOB, GPIOB};
uint32_t AxisEXTILine[4]={EXTI_Line0, EXTI_Line1, EXTI_Line2, EXTI_Line3};
uint8_t AxisEXTIPinSource[4]={GPIO_PinSource0, GPIO_PinSource1, GPIO_PinSource2, GPIO_PinSource3};

bool bLmtPos[4]={FALSE, FALSE, FALSE, FALSE};
bool bLmtNeg[4]={FALSE, FALSE, FALSE, FALSE};
bool bStopCmd[4]={FALSE, FALSE, FALSE, FALSE};
bool bEmgStopping[4]={FALSE, FALSE, FALSE, FALSE}; //是否碰限位急停
bool bEnableSoftLmt[4]={FALSE, FALSE, FALSE, FALSE};

bool bHomeOK[4]={FALSE, FALSE, FALSE, FALSE};
bool bZeroCapture[4]={FALSE, FALSE, FALSE, FALSE};
s32 ZeroDir[4]={POSITIVE, POSITIVE, POSITIVE, POSITIVE};          //回零方向
s32 ZeroOffset[4]={1000, 1000, 1000, 1000}; //零點(diǎn)偏移
u32 ZeroBackDistance[4]={6400, 6400, 6400, 6400}; //回零回退距離
u8 ZeroStep[4]={0, 0, 0, 0};        
u32 HomeFastSpeed[4]={10000, 10000, 10000, 10000};//回零快搜速度
u32 HomeSlowSpeed[4]={2000, 2000, 2000, 2000};//回零慢搜速度

全部資料51hei下載地址:
STM32F103加減速.7z (163.31 KB, 下載次數(shù): 64)
回復(fù)

使用道具 舉報(bào)

ID:527588 發(fā)表于 2020-2-10 12:36 | 顯示全部樓層
謝謝分享!!!
回復(fù)

使用道具 舉報(bào)

ID:691681 發(fā)表于 2020-2-10 14:38 | 顯示全部樓層
樓主,下載前問(wèn)一聲,是您原創(chuàng)的嗎?有詳細(xì)的文檔嗎?
回復(fù)

使用道具 舉報(bào)

ID:527588 發(fā)表于 2020-5-9 23:04 | 顯示全部樓層
感謝分享,學(xué)習(xí)中
回復(fù)

使用道具 舉報(bào)

ID:527588 發(fā)表于 2020-5-9 23:05 | 顯示全部樓層

謝謝分享!進(jìn)來(lái)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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