你好,团队。
我正在使用 drv8313进行同步操作,但电机不工作。
我不知道同步和异步校正的含义。
同步行驶时,我是否应该向 INX 提供3相梯形波?
我不明白为什么这种芯片如此难以操作。
您能解释我如何轻松操作它吗?
它不适用于表5。 梯形(120°)换向状态。
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,罗伯特,
同步校正是通过在 INLx = 1时应用 INHx = PWM 信号实现的。 输出将根据 INHx 的状态同步切换。 在 DRV8313上无法实现异步整流,因为唯一有效的状态是同步输出或 Hi-Z 输出。
下面的这个帖子更好地描述了 DRV8313的换向状态:
谢谢,
亚伦
你好,罗伯特,
请描述电机的"软"操作。 电机是否振动或发出噪音?
使电动机平稳运行的最佳方法是将电动机的反电动势与提供的电流相匹配。 上述换向方案使用6步感应梯形电流。 这将与梯形绕线电动机的最佳 BEMF 匹配,而正弦电流将与正弦绕电动机的 BEMF 匹配。
电动机在较低电压或占空比下运行平稳吗?还是总是振动? 您可以接受 OUT1,OUT2和 OUT3的波形吗?
谢谢,
亚伦
你好,Aaron,
我用你的方案编码。
无感应电机工作正常,但振动过大。
如何减少振动?
STM32F103代码如下:
Int main (无效)
{
HAL_TIM_PWM_Start (&hmim2,TIM_CHANNE_2); //IN1
HAL_TIM_PWM_Start (&HTIM3,TIM_CHANNE_1); //in2.
HAL_TIM_PWM_Start (&htim3,TIM_CHANNE_2); //in3.
While ()
{
//1.
_HAL_TIM_SetCompare (&hmim3,TIM_CHANNEL_1,200);
HAL_GPIO 写入引脚(GPIOB,GPIO PIN_13,GPIO PIN_RESET);//EN1
HAL_GPI_WritePin (GPIOB,GPIO _PIN_14,GPIO _PIN_SET);//EN2
HAL_GPI_WritePin (GPIOB,GPIO _PIN_15,GPIO _PIN_SET);//EN3
HAL_DELAY (5);
__HAL_TIM_SetCompare (&hmim3,TIM_CHANGE_1,0);
//2.
_HAL_TIM_SetCompare (&hmim2,TIM_CHANNE_2,200);
HAL_GPI_WritePin (GPIOB,GPIO _PIN_13,GPIO _PIN_SET);//EN1
HAL_GPI_WritePin (GPIOB,GPIO _PIN_14,GPIO _PIN_RESET);//EN2
HAL_GPI_WritePin (GPIOB,GPIO _PIN_15,GPIO _PIN_SET);//EN3
HAL_DELAY (5);
//3.
HAL_GPI_WritePin (GPIOB,GPIO _PIN_13,GPIO _PIN_SET);//EN1
HAL_GPI_WritePin (GPIOB,GPIO _PIN_14,GPIO _PIN_SET);//EN2
HAL_GPIO 写入引脚(GPIOB,GPIO PIN_15,GPIO PIN_RESET);//EN3
HAL_DELAY (5);
__HAL_TIM_SetCompare (&hmim2,TIM_CHANNE_2,0);
//4.
__HAL_TIM_SetCompare (&hmim3,TIM_CHANNE_2,200);//in3.
HAL_GPIO 写入引脚(GPIOB,GPIO PIN_13,GPIO PIN_RESET);//EN1
HAL_GPI_WritePin (GPIOB,GPIO _PIN_14,GPIO _PIN_SET);//EN2
HAL_GPI_WritePin (GPIOB,GPIO _PIN_15,GPIO _PIN_SET);//EN3
HAL_DELAY (5);
//5.
HAL_GPI_WritePin (GPIOB,GPIO _PIN_13,GPIO _PIN_SET);//EN1
HAL_GPI_WritePin (GPIOB,GPIO _PIN_14,GPIO _PIN_RESET);//EN2
HAL_GPI_WritePin (GPIOB,GPIO _PIN_15,GPIO _PIN_SET);//EN3
HAL_DELAY (5);
__HAL_TIM_SetCompare (&hmim3,TIM_CHANGE_2,0);
//6.
_HAL_TIM_SetCompare (&hmim3,TIM_CHANNEL_1,200);
HAL_GPI_WritePin (GPIOB,GPIO _PIN_13,GPIO _PIN_SET);//EN1
HAL_GPI_WritePin (GPIOB,GPIO _PIN_14,GPIO _PIN_SET);//EN2
HAL_GPIO 写入引脚(GPIOB,GPIO PIN_15,GPIO PIN_RESET);//EN3
HAL_DELAY (5);
__HAL_TIM_SetCompare (&hmim3,TIM_CHANGE_1,0);
}
}