添加S型加减速算法
This commit is contained in:
parent
9976846796
commit
67382ed910
@ -18,6 +18,9 @@
|
|||||||
#define STEP_PER_CIRCLE (360 / ANGEL_PER_STEP) //电机转动一圈的步数
|
#define STEP_PER_CIRCLE (360 / ANGEL_PER_STEP) //电机转动一圈的步数
|
||||||
#define STEP_DIV (4) //电机驱动细分值
|
#define STEP_DIV (4) //电机驱动细分值
|
||||||
#define PUL_PER_CIRCLE (STEP_PER_CIRCLE * STEP_DIV) //电机转动一圈的脉冲数
|
#define PUL_PER_CIRCLE (STEP_PER_CIRCLE * STEP_DIV) //电机转动一圈的脉冲数
|
||||||
|
#define ACC_TIME 500 //整个加速(或减速)过程持续的时间,由用户指定,控制电机加减速的快慢,单位ms
|
||||||
|
#define ACC_TIME_DIV 100 //加速阶段离散的点的个数
|
||||||
|
#define TIME_PER_DIV ACC_TIME/ACC_TIME_DIV //每个离散点持续的时间
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* @Author: MQjehovah mail:MQjehovah@hotmail.com
|
* @Author: MQjehovah mail:MQjehovah@hotmail.com
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @date 2018-02-28 14:15:45
|
* @date 2018-02-28 14:15:45
|
||||||
* @brief
|
* @brief 加速曲线是根据时间来离散的,所以每个阶段由时间来分割,及时间累积达到某个值。总的加速时间值由用户指定
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @attention
|
* @attention
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
@ -23,7 +23,6 @@ void Motor_GPIO_Init(void)
|
|||||||
{
|
{
|
||||||
// GPIO_InitTypeDef GPIO_InitStructure;
|
// GPIO_InitTypeDef GPIO_InitStructure;
|
||||||
// RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
|
// RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
|
||||||
|
|
||||||
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4;
|
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4;
|
||||||
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
|
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
|
||||||
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||||
@ -177,6 +176,9 @@ void TIM2_IRQHandler(void)
|
|||||||
|
|
||||||
pmotor->passed_puase++; //总脉冲个数
|
pmotor->passed_puase++; //总脉冲个数
|
||||||
pmotor->f_puase++; //以该频率脉冲输出的脉冲个数
|
pmotor->f_puase++; //以该频率脉冲输出的脉冲个数
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//对称反转???
|
//对称反转???
|
||||||
// if (pmotor->RevetDot == pmotor->PulsesHaven)
|
// if (pmotor->RevetDot == pmotor->PulsesHaven)
|
||||||
|
Loading…
Reference in New Issue
Block a user