
测试环境: 控制板:NUCLEO-F303RE Power Board:NUCLEO-IHM07M1 BLDC 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 |
在现有的框架下,如果是在电机的运行过程中从位置模式切换到速度模式是不行的 ,必须在电机停止的时候设置为速度模式 |
你好,我最近也遇到这个问题,请问当时有解决的方案吗? |