主题中讨论的其他器件: MSP430FR2355、 TIDA-00774、 CSD88584Q5DC、 TIDA-01516、 DRV832X
工具/软件:Code Composer Studio
大家好、我使用 DRV8323通过传感1xPWM 模式驱动无刷电机。 我使用 MSP430FR2355微控制器通过 SPI 与驱动器连接。
我使用 TIDA-00774的 drv8323.h 和 drv8323.c 参考设计来配置驱动器、下面是我使用的代码:
//DRV8323 P4DIR &=~(BIT3); //输入-故障 P6DIR |=(BIT1); //输出- EN_GATE P6DIR |=(BIT3); //输出- DIR P6OUT |= BIT3; P6DIR |= BIT4; //输出中断 P6OUT |= BIT4; // DRV8323-SPI 通信的代码 CS:P4.4、SCLK:P4.5、SDI:P4.6、SDO:P4.7 P4DIR |= BIT6; //GPIO-SDI P4OUT &=~BIT6; //输出 SDI P4DIR &=~BIT7; //输入 SDO P4DIR |= BIT5; //输出 SCLK P4OUT &=~BIT4; P4DIR |= BIT4; //输出 nSCS P4OUT |= BIT4; P4DIR |= BIT2; //输出 DRV_CAL //代码来启用驱动程序 P6OUT &=~BIT1; DELAY_us (150); P6OUT |= BIT1; delay_us (10);//10us 延迟 //P4.2 DRV_CAL P4OUT |= BIT1; DELAY_us (150); P4OUT &=~BIT1; delay_us (10);//10us 延迟 //故障中断 P4IES |= BIT3; P4IE |= BIT3; P4IFG &=~BIT3; DRV8x_Analog_Init (); // DRV8x_Analog_Init ()的代码 void DRV8x_Analog _Init (void) { SPI_Write (GATE 驱动器_HS_REG、0x03BF); DELAY_1ms (1); SPI_Write (GATE 驱动器_HS_REG、0x03BF); DELAY_1ms (1); SPI_Write (ADR_DRV_CTRL_REG、0x0053); DELAY_1ms (1); SPI_Write (GATE _DRIVE_LS_REG、 0x06FF); DELAY_1ms (1); SPI_Write (OCP_CTRL_REG、0x0160);//0x0160 DELAY_1ms (1); SPI_Write (CSA_CTRL_REG、0x0083);//0x0683 DELAY_1ms (1); } //来自 drv8323.c 的代码 void SPI_Write (uint8_t address、uint16_t value) { uint8_t i; uint16_t command = 0x0000; address = address & 0x0F_t ~ +命令 + 0x0001+命令++ 0x0001_(rnf_delay);命令+命令+= 0x0001u_t ++命令+ 0x0001u_t +命令++命令+ 0x0001 (nr);命令+命令+ 0x0001u_t +命令++ 0x0001 +命令+ 0x0001 +命令+++ 0x0001 + 0x0001 ++命令+ 0x0001 ++ 对于(i=0; i<16;i++) { M1_SCLK_HIGH; __DELAY_CYCLLES (15); if (((COMMAND >>(15 - I))& 0x01)= 0x01) { M1_SDI_HIGH; } 否则 { M1_SDI_LOW; } __DELAY_CYCLLES (15); M1_SCLK_LOW; _ M1_NSCS (30);} _DELAY_CYCLS (15); } //一些定义 #define M1_SCLK_HIGH(P4OUT |= BIT4) #define M1_SCLK_LOW(P4OUT &=~ ~ ~BIT4)#define M1_SDI_HIGH (P4OUT |= BIT6)#define M1_SDI_LOW (P4OUT &= 4)(PITM1 (P4OUT 和= 1)(BITS_4)#define 4 (BITM1 (PITIN_4)(PIT_4)(PITM1 (PITIN_4))
我不知道驱动程序的配置是否有问题、我无法使其正常工作。 我附上原理图
我使用的是 csd88584q5dc 半桥电源块、
我在 Inha 引脚中有 PWM 信号、我通过示波器看到它、并将霍尔传感器输入连接到原理图中的相应引脚。 我使用24V 作为 VM。
我的设计基于 TIDA-00774和 TIDA-01516、 我不是电机驱动器领域的专家、我可以意识到、我不知道很多概念和信息、
我使用的配置是否正常? 如果有任何帮助、我们将不胜感激。 提前感谢。
Diana