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.

[参考译文] 编译器/TM4C123GE6PM:使用 TM4C123微控制器的步进电机驱动器 IC DRV8835中存在问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/908609/compiler-tm4c123ge6pm-problem-in-stepper-motor-driver-ic-drv8835-using-tm4c123-micro-controller

器件型号:TM4C123GE6PM
主题中讨论的其他器件:TM4C123DRV8835

工具/软件:TI C/C++编译器

您好!

我曾尝试使用 TM4C123微控制器实现步进电机驱动器 DRV8835 IC 接口、即使保持持续运行、步进电机也是路由电机、请在我缺少任何东西的情况下提供帮助、并请考虑以下源代码。 或者、如果您有相同驱动程序的任何源代码、请发送给我。

注意:我在 Mode_0引脚为 IN1且 IN2为正常 GPIO 引脚中使用 MODE:0。(切换高电平或低电平条件)。  

此 GPIO 引脚初始化代码

void Motor_Driver_one (void)

usbprint ("***** 电机1启用***** \r\n");
/********* 电机-1 PB 引脚******** /

ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);  
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTB_BASE、GPIO_PIN_5 | GPIO_PIN_4);
ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_5、0);
ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_4、0);

/********* 电机-1 PE 引脚******** /

ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOE);  
ROM_GPIOPinTypeGPIOOutput (GPIO_Porte _BASE、GPIO_PIN_5 | GPIO_PIN_4);
ROM_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_5、0);
ROM_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_4、0);

/********* 电机-1 PD 引脚******** /

ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);  
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTD_base、GPIO_PIN_0);
ROM_GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0、0);

此 while 循环以连续运行。

while (1)
{  
ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_5、0);
/*** IN1-> PHASE IN2 -> ENABLE ***/
ROM_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_5、1);//AENBLE1 -> PE4
ROM_GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0、1);//BENBLE1 -> PD0
for (int i = 0;i <= 900;i++){}
ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_4、1);//APHASE1 -> PB4
ROM_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_4、1);//BPHASE1 -> PE5
for (int i = 0;i <= 900;i++){}
ROM_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_5、0);//AENBLE1 -> PE4
ROM_GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0、0);//BENBLE1 -> PD0  
for (int i = 0;i <= 900;i++){}
ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_4、0);//APHASE1 -> PB4
ROM_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_4、0);//BPHASE1 -> PE5
for (int i = 0;i <= 900;i++){}

 请为此提供帮助、

谢谢、

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

    您好、Chedthan、

    您的 API 使用不正确。 要写入 GPIO 引脚、您需要使用 GPIO_PIN_X 掩码、而不是"1"。 您的源代码的方式  

    ROM_GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0、1);//BENBLE1 -> PD0 

    实际上是写入引脚。

    要解决此问题、您需要使用以下方法:

    ROM_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_5、GPIO_PIN_5);//AENBLE1 -> PE4
    ROM_GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0、GPIO_PIN_0);//BENBLE1 -> PD0
    for (i = 0;GPIO_PIN_+);GPIO_PIN_IN+、GPIO_IN+(GPIO_IN+)
    //APHASE1 -> PB4
    ROM_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_4、GPIO_PIN_4);//BPHASE1 -> PE5 

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

    您好 Ralph Jacobi、

    如果使用它的话就可以了

    ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_4、GPIO_PIN_4);

    或  

    ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_4、1);它工作正常、因为我将 GPIO 引脚设置为高电平或低电平、就是这样(如果我在 CRO 中进行探测、我可以发现二者之间的差异、  

    但我没有解决 DRV8835驱动器 IC、即使我在 ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_4、GPIO_PIN_4)中尝试过;步进电机未运行、请帮助我解决、上述代码是最新代码或 Ralph Jacobi 请告知我。

    谢谢、此致

    Chedthan G R.

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

    您好、Chedthan、

    您是否更新了所有功能? 端口 E4和 E5也需要更新。

    您还应检查示波器上的信号、以确保正确输出波形。

    您之所以使用 GPIO over PWM、还有原因吗? 我觉得在这种情况下、您需要使用 PWM。 我们在 TivaWare 中提供了多个 PWM 示例、以展示如何配置 PWM 功能。

    我不熟悉 DRV8835、因此我只能提供有关调试区域的 MCU 级指导。

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

    您好 Ralph Jacobi、

    感谢您的答复和支持、现在它正在工作。 我根据链接 https://e2e.ti.com/support/motor-drivers/f/38/p/653351/2430821#2430821?jktype=e2e 更改了某些 GPIO 切换状态或步进

    我使用了模式1方法、因为无需使用 PWM 我们可以切换 GPIO 引脚、我在 TM4C123中使用四个步进电机驱动器 IC 的 PWM 引脚有限、因此我仅使用 GPIO 引脚

    谢谢、此致

    Chedthan G R.