在st mcsdk中,如何从位置模式切换到速度模式?
测试环境:控制板:NUCLEO-F303REPower Board:NUCLEO-IHM07M1BLDC motor ,增加了编码器现在位置模式下,可以正常跑,main函数里 MC_StartMotor1();/* USER CODE END 2 */
/* Infinite loop *//* USER CODE BEGIN WHILE */
while(MC_GetAlignmentStatusMotor1()!=TC_ALIGNMENT_COMPLETED){}
while (1){ /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ MC_ProgramPositionCommandMotor1(3.14*2,0.1); HAL_Delay(1000); MC_ProgramPositionCommandMotor1(-3.14*2,0.1); HAL_Delay(1000);}
现在想切换到速度模式:MC_ProgramSpeedRampMotor1(600/6,1000);//无法切换,还是位置模式
//MC_ProgramTorqueRampMotor1(5000,0); //力矩模式也无法切换,但在st motor cotrol workbench中,可以力矩模式,这个也同样不解
查看定义typedef enum{STC_TORQUE_MODE, /**< @brief Torque mode.*/STC_SPEED_MODE /**< @brief Speed mode.*/} STC_Modality_t;//只有2种模式,是需要自己增加POSITION MODE么?哪位遇到过这种情况,
非常感谢!1
在现有的框架下,如果是在电机的运行过程中从位置模式切换到速度模式是不行的 ,必须在电机停止的时候设置为速度模式
页:
[1]