添加S型加减速算法

This commit is contained in:
MQjehovah 2018-03-01 17:32:38 +08:00
parent 9976846796
commit 67382ed910
2 changed files with 7 additions and 2 deletions

View File

@ -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
{ {

View File

@ -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)