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.

[参考译文] DRV8243-Q1:电机驱动器不工作

Guru**** 1688270 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1375250/drv8243-q1-motor-driver-not-working

器件型号:DRV8243-Q1

工具与软件:

您好!

我将电机驱动器(DRV8243 IC)用于驱动电机。

我正在使用 CC2340微控制器(工作电压 为3.3V)驱动 DRV8243 (我们为电机提供12v)。

我编写了一个代码来操作此电机、但却无法正常工作。 我已使用万用表进行了检查、但显示为零。 此外、我已经检查了所有 GPIO 电压电平、它运行正常。

我将分享原理图和代码供您参考、为此、请帮我忙。

void GPIO_init (void)

GPIO_WRITE (CONFIG_GPIO_2_SLEEP_N、LOW);
GPIO_WRITE (CONFIG_GPIO_0_DRVOFF、低电平);
GPIO_WRITE (CONFIG_GPIO_1_PH_IN2、低电平);
GPIO_WRITE (CONFIG_GPIO_3_EN_IN1、低电平);
}

void hal_motor_lock (void)

GPIO_WRITE (CONFIG_GPIO_2_SLEEP_N、LOW);
Usleep(30);
GPIO_WRITE (CONFIG_GPIO_2_SLEEP_N、HIGH);//
// while (GPIO_read (CONFIG_GPIO_5_FAULT_N)==1);
GPIO_WRITE (CONFIG_GPIO_0_DRVOFF、LOW);
GPIO_WRITE (CONFIG_GPIO_3_EN_IN1、低电平);
GPIO_WRITE (CONFIG_GPIO_1_PH_IN2、高电平);

}
void hal_motor_unlock (void)

GPIO_WRITE (CONFIG_GPIO_2_SLEEP_N、LOW);
Usleep(65000);
GPIO_WRITE (CONFIG_GPIO_2_SLEEP_N、HIGH);
// while (GPIO_read (CONFIG_GPIO_5_FAULT_N)==1);
GPIO_WRITE (CONFIG_GPIO_0_DRVOFF、LOW);
GPIO_WRITE (CONFIG_GPIO_3_EN_IN1、高电平);
GPIO_WRITE (CONFIG_GPIO_1_PH_IN2、低电平);


}
void motor_normal (void)

GPIO_WRITE (CONFIG_GPIO_2_SLEEP_N、LOW);
Usleep(30);
GPIO_WRITE (CONFIG_GPIO_2_SLEEP_N、HIGH);
GPIO_WRITE (CONFIG_GPIO_0_DRVOFF、HIGH);
GPIO_WRITE (CONFIG_GPIO_3_EN_IN1、低电平);
GPIO_WRITE (CONFIG_GPIO_1_PH_IN2、高电平);

}

void vTask1Function (void * ptr)//这是调用函数

GPIO_init ();
for (;;)

HAL_MOTOR_LOCK();
vTaskDelay (pdms_to_ticks (100));
motor_normal();
vTaskDelay (pdms_to_ticks (1000));
HAL_MOTOR_UNLOCK();
vTaskDelay (pdms_to_ticks (100));
motor_normal();
vTaskDelay (pdms_to_ticks (1000));
}
}

电机驱动器的原理图

谢谢、此致

Ratan Dalei