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.

[参考译文] TIDA-010056:在不连接霍尔传感器的情况下运行该代码

Guru**** 2524550 points
Other Parts Discussed in Thread: TIDA-010056, MSP430FR2355, DRV8350R, DRV8323, DRV8350, DRV8353

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

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/983157/tida-010056-without-connecting-hall-sensor-run-the-code

器件型号:TIDA-010056
主题中讨论的其他器件: MSP430FR2355DRV8350RDRV8323DRV8350DRV8353

您好、TI 帮助者、

我使用的是 TIDA-010056。 其中我没有将 BLDC 电机连接到硬件。 我还没有将 BLDC 电机的霍尔传感器连接到 TIDA-010056。 我只想在自由运行模式下检查 MOSFET 侧的波形(不连接 BLDC 电机和霍尔传感器)。  

那么、我必须在 CCS 编程代码中更改哪些内容(由 TI 针对 TIDA-010056提供)?   

如果您提供更新的程序(不连接霍尔传感器和 BLDC)、将会大有帮助。

提前感谢您。

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

    您好、Sudhir、

    一种简单的方法是从外部向霍尔传感器信号 HA、HB、HC 提供逻辑电压电平。 您不需要霍尔传感器、但需要将引脚 HA、HB、HC 连接到已知信号电平。 逻辑高电平为3.3V、逻辑低电平为 GND。 HA = Hb = Hc = 3.3V (逻辑高电平)、HA = Hb = Hc = 0V (逻辑低电平)的状态均为无效状态。 任何其他状态都将使相应的 MOSFET 能够根据 BLDC 陷阱控制序列打开和关闭。 可使用板载3.3V。

    该代码已阻止转子保护、需要将其禁用。 一种方法 是在计时器 B 中断子例程中注释" Block_Rotter_Counter++;"语句。 如果您熟悉代码、则可以通过其他方式禁用转子堵转保护。

    我建议您学习代码以继续测试。

    此致、

    制造商

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

    我正在寻找紧凑型霍尔效应传感器、类似于 VKB 和 Virtpil 基座上测量轴旋转的传感器。 这些是板载传感器、我正在寻找类似的东西、已经安装在小型 PCB 上、这样我就可以简单地为其布线、而无需精确焊接小芯片和定制 PCB。

    是否有人使用过这些工具? 我不是一名电子大师(我更喜欢机械设计)、因此我确信必须要有一些手柄。

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

    HII Manu Balakrishnan、

    感谢您的快速响应。

    您能不能共享我们必须在 TIDA-010056代码中修改的代码行。

    我们已附上该代码。 如果您修改代码、它将非常有帮助。

    提前感谢您。


    /*--版权--,
    *版权所有(c) 2019、德州仪器(TI)公司
    *保留所有权利。
    *修改者:A0132403
    *修改日期:2019年4月30日
    *已修改*以源代码和二进制形式重新分发和使用,有无
    *如果满足以下条件、则允许进行修改
    符合*:
    *
    **源代码的重新分发必须保留上述版权
    *注意、此条件列表和以下免责声明。
    *
    **二进制形式的再发行必须复制上述版权
    *请注意、中的此条件列表和以下免责声明
    *随分发提供的文档和/或其他材料。
    *
    **德州仪器公司的名称和名称均不相同
    *其贡献者可用于认可或推广衍生产品
    *未经特定的事先书面许可。

    *本软件由版权所有者和贡献者"按原样"提供
    *以及任何明示或暗示的保证、包括但不限于:
    *特定适销性和适用性的隐含保证
    *不承认目的。 在任何情况下、版权所有者不得或
    *派遣国应对任何直接、间接、偶然、特殊、
    *典型或必然的损害(包括但不限于
    *采购替代货物或服务;丧失使用、数据或利润;
    *或业务中断)、无论原因是什么以及任何责任理论、
    *无论是合同、严格责任还是侵权行为(包括疏忽或)
    *否则)因使用本软件而以任何方式产生、
    *即使被告知可能会发生此类损坏。
    *
    (三
    //系统配置
    //器件型号:MSP430FR2355
    //编译器:Code Composer Studio v8.3.0
    //振荡器频率:24MHz,使用内部 DCO
    // PWM 生成:计时器:TB3.1–TB.6,时钟= 25MHz,PWM 频率设置为20kHz
    20kHz
    //
    //位置反馈:霍尔传感器信号
    // HA -> P3.0
    // HB -> P3.1
    // HC -> P3.2
    *
    // ADC:A0 ->来自外部电位器/触发器的速度基准
    // A6 ->相位 A 反电动势感应、用于无传感器
    // A5 ->用于无传感器的 B 相反电动势感应
    // A4 ->用于无传感器的 C 相反电动势感应
    // A7 ->直流总线电压感测
    // A8 ->低侧直流总线电流感应
    // A9 -> PCB 或 FET 温度反馈
    *
    *
    针对反电动势过零检测的//Comparator 配置:CB2/P1.2 -> IDC
    // COMP0.O (P2.0)–相位 A 反电动势过零比较器
    // COMP1.O (P2.1)–相位 C 反电动势过零比较器
    // OA1O (P1.5)-相位 C 反电动势过零比较器。 。
    智能 COMPO 模块的//运算放大器配置为比较器
    *
    //DRV8350RS - SPI 编程引脚连接
    // P4.4 -> SCS
    // P4.5 -> SCLK
    // P4.6 -> SDO
    // P4.7 -> SDI
    *
    /UART 通信
    // P4.2 -> UART RX 引脚
    // P4.3 -> UART TX 引脚
    ///MCU 数字输入/输出
    // P5.4 ->电机旋转方向
    // P4.1 ->启用 DRV8350R 连接
    // P4.0 -> DRV8350R 的故障引脚连接
    // P2.6 -> LED 输出

    (三 /

    //头文件//
    #include "msp430fr2355.h"
    #include "stdint.h"

    #define CALTDH0CTL1_256 *((unsigned int *) 0x1A36)

    /********* InstaSPIN 代码 /


    #define PWM_PERIOD 600 // PWM 频率(Hz)= 25MHz/((2 * PWM_PERIOD)-1)
    #define MAX_DUTYCYCLE 600 //相对于 PWM_PERIOD
    #define MIN_DUTYCYCLE 5 //相对于 PWM_PERIOD
    #define ACCEL_RATE 100 //斜升至满量程占空比的时间=(满量程占空比)* ACCEL_RATE * PWM_PERIOD/PWM_Frequency
    #define DEAD_TIME_MCU 1 // MSP430的死区时间= DEAD_TIME* 0.0625us (对于16MHz 时钟)
    #define Block_Rotor_Duration 800 // blocked_but 关闭时间(s)= Block_Rotor_Duration * 30000/计时器时钟频率

    /********* 程序变量******** /
    unsigned int DC_BUS_CURRENT = 0;
    unsigned int DC_BUS_Voltage = 0;
    unsigned int speed_REF = 0;
    unsigned int Temperature_feedback = 0;
    unsigned int start_count = 0;
    unsigned int HALL_State = 0;
    unsigned int softstart_counter = 0;
    unsigned int CurrentDutyCycle = 100;
    unsigned int direction = 0;
    unsigned int FirstADC_flag = 1;
    unsigned int adc_selection_FLAG = 1;
    unsigned int adc_selection_FLAG_1 = 1;
    unsigned int Block_Rotor_Counter = 0;
    unsigned int Block_Rotor_Counter_1 =0;
    unsigned int ADC_Result = 0;

    unsigned int 换向_time = 0;
    unsigned int 换向_time_counter = 0;
    unsigned int Adv_angle_time_counter = 0;
    unsigned int Adv_angle_time = 0;
    unsigned int sorting_done = 0;
    unsigned int previous_State = 0;
    unsigned int prese_State = 0;
    unsigned int PWM_Duty = PWM_PERIOD;


    /********* ADC 信道选择********* /


    #define measure_speed \
    ADCCTL0 |= ADCSHT_2 | ADCON;\
    ADCCTL1 |= ADCSHP;\
    ADCCTL2 &=~ADCRES;\
    ADCCTL2 |= ADCRES_2;\
    ADCMCTL0 |= ADCINCH_0;\
    ADCIE = ADCIE0;

    #define measure_TEMP \
    ADCCTL0 |= ADCSHT_2 | ADCON;\
    ADCCTL1 |= ADCSHP;\
    ADCCTL2 &=~ADCRES;\
    ADCCTL2 |= ADCRES_2;\
    ADCMCTL0 |= ADCINCH_9;\
    ADCIE = ADCIE0;

    #define measure_VDC \
    ADCCTL0 |= ADCSHT_2 | ADCON;\
    ADCCTL1 |= ADCSHP;\
    ADCCTL2 &=~ADCRES;\
    ADCCTL2 |= ADCRES_2;\
    ADCMCTL0 |= ADCINCH_7;\
    ADCIE = ADCIE0;

    #define measure_IDC \
    ADCCTL0 |= ADCSHT_2 | ADCON;\
    ADCCTL1 |= ADCSHP;\
    ADCCTL2 &=~ADCRES;\
    ADCCTL2 |= ADCRES_2;\
    ADCMCTL0 |= ADCINCH_8;\
    ADCIE = ADCIE0;

    #define measure_BEMF_A \
    ADCCTL0 |= ADCSHT_2 | ADCON;\
    ADCCTL1 |= ADCSHP;\
    ADCCTL2 &=~ADCRES;\
    ADCCTL2 |= ADCRES_2;\
    ADCMCTL0 |= ADCINCH_6;\
    ADCIE = ADCIE0;

    #define measure_BEMF_B \
    ADCCTL0 |= ADCSHT_2 | ADCON;\
    ADCCTL1 |= ADCSHP;\
    ADCCTL2 &=~ADCRES;\
    ADCCTL2 |= ADCRES_2;\
    ADCMCTL0 |= ADCINCH_5;\
    ADCIE = ADCIE0;

    #define measure_BEMF_C \
    ADCCTL0 |= ADCSHT_2 | ADCON;\
    ADCCTL1 |= ADCSHP;\
    ADCCTL2 &=~ADCRES;\
    ADCCTL2 |= ADCRES_2;\
    ADCMCTL0 |= ADCINCH_4;\
    ADCIE = ADCIE0;

    #define conversion 转换_enable \
    ADCCTL0 |= ADCENC | ADCSC;

    #define conversion 禁用\
    ADCCTL0 &=~ADCENC;\
    ADCCTL1 = 0;


    /********* ADC 通道选择结束 /


    INT LPM3_ON = 0;


    void Init_clocks (void);
    void init_io (void);
    void init_wdt (void);
    void init_adc (void);
    void init_TimerB (void);

    void Hall_State_Change_Forward (void);
    void Hall_State_Change_Reverse (void);
    void a_PWM (void);
    void B_PWM (void);
    void C_PWM (void);
    void a_low (void);
    void B_low (void);
    void C_low (void);
    void a_Z (void);
    void B_Z (void);
    void C_Z (void);
    void a_high (void);
    void B_high (void);
    void C_high (void);


    void main (void)

    WDTCTL = WDTPW + WDTHOLD;//停止 WDT
    _delay_cycles (1000000);
    init_clocks ();//初始化25MHz 的时钟

    init_adc ();
    init_TimerB ();
    init_wdt ();
    init_io ();

    A_Z();
    B_Z();
    C_Z();

    _delay_cycles (1000000);

    /********* 启用 DRV8323 /


    P4OUT |= BIT1;
    P4OUT |= BIT0;


    方向=(P5IN 和 BIT4);
    HALL_STATE =((P3IN & BIT0)+(P3IN & BIT1)+(P3IN & BIT2));


    while (1)


    if (softstart_counter >= ACCEL_RATE)

    softstart_counter = 0;
    IF (CurrentDutyCycle < SPED_REF)

    CurrentDutyCycle ++;

    否则、如果(CurrentDutyCycle > SPED_REF)

    电流占空比--;

    IF (CurrentDutyCycle >= MAX_DUTYCYCLE)

    CurrentDutyCycle = MAX_DUTYCYCLE;

    否则、如果(CurrentDutyCycle <= MIN_DUTYCYCLE)

    CurrentDutyCycle = MIN_DUTYCYCLE;


    if (DIRECTION ==0)

    HALL_State_Change_Forward ();

    其他

    HALL_State_Change_Reverse ();



    //结束 main

    //WDT 以重新启动 ADC
    void init_WDT (void)

    WDTCTL = WDT_MDLY_32;//从1MHz 到 SMCLK 的 WDT 32ms 间隔定时器
    SFRIE1 |= WDTIE;//启用 WDT 中断


    空 init_TimerB (空)

    TB3CTL = TBSSEL_SMCLK | MC_3 | TBCLR;// SMCLK、UP_DOWN 模式、清除 TBR
    TB3CCR0 = PWM_PERIOD;// PWM 周期
    TB3CCR1 = PWM_PERIOD;// CCR1 PWM 占空比
    TB3CCR2 = PWM_PERIOD;// CCR2 PWM 占空比
    TB3CCR3 = PWM_PERIOD;// CCR3 PWM 占空比
    TB3CCR4 = PWM_PERIOD;// CCR4 PWM 占空比
    TB3CCR5 = PWM_PERIOD;// CCR3 PWM 占空比
    TB3CCR6 = PWM_PERIOD;// CCR4 PWM 占空比

    TB3CCTL1 = OUTMOD_6;// CCR1复位/置位
    TB3CCTL2 = OUTMOD_2;// CCR2复位/置位
    TB3CCTL3 = OUTMOD_6;// CCR3复位/置位
    TB3CCTL4 = OUTMOD_2;// CCR4复位/置位
    TB3CCTL5 = OUTMOD_6;// CCR4复位/置位
    TB3CCTL6 = OUTMOD_2;// CCR4复位/置位

    TB3CCTL0 |= CCIE;

    _bis_SR_register (GIE);//启用中断
    __no_operation();//用于调试器

    _EINT();//启用中断


    //时钟和 Vcore
    void Init_clocks (void)

    FRCTL0 = FRCTLPW | NWAITS_2;

    _bis_SR_register (SCG0);//禁用 FLL
    CSCTL3 |= SELREF_REFOCLK;//将 REFO 设置为 FLL 基准源
    CSCTL0 = 0;//清除 DCO 和 MOD 寄存器
    CSCTL1 |= DCORSEL_7;//设置 DCO = 24MHz
    CSCTL2 = FLLD_0 + 731;// DCOCLKDIV = 24MHz
    _DELAY_CYCLES (3);
    _BIC_SR_register (SCG0);//启用 FLL
    while (CSCTL7 &(FLLUNLOCK0 | FLLUNLOCK1));// FLL 锁定

    CSCTL4 = SELMS_DCOCLKDIV | SELA_REFOCLK;//将默认 REFO (~32768Hz)设置为 ACLK 源、ACLK = 32768Hz
    //默认 DCOCLKDIV 为 MCLK 和 SMCLK 源

    //IO 初始化//
    void init_io (void)

    //霍尔传感器输入

    P3SEL0 &=~(BIT0+BIT1 + BIT2);//GPIO -霍尔传感器
    P3DIR &=~(BIT0+BIT1 + BIT2);//输入-霍尔传感器

    ///PWM 输出
    //GPIO-PWM
    P6DIR |=(BIT0+BIT1 +BIT2 + BIT3 + BIT4 + BIT4);//OutputPWM

    //指示
    P2SEL0 &=~(BIT6);/GPIO-LED3
    P2DIR |=(BIT6);//输出 LED3

    //方向控制
    P5SEL0 &=~(BIT4);//GPIO - DIR
    P5DIR &=~(BIT4);//输入- DIR

    //启用栅极驱动器
    P4SEL0 &=~(BIT1);//GPIO - DIR
    P4DIR |=(BIT1);//输入- DIR

    //故障输入
    P4SEL0 &=~(BIT0);//GPIO - DIR
    P4DIR &=~(BIT0);//输入- DIR

    //为霍尔传感器端口启用边沿中断

    P3IES |=((BIT0)+(BIT1)+(BIT2));//将霍尔中断更改为下降边沿以检测两个边沿
    P3IE |=(BIT0 | BIT1 | BIT2);

    PM5CTL0 &=~LOCKLPM5;

    P3IFG &=~(BIT0| BIT1 | BIT2);

    _bis_SR_register (GIE);


    void init_adc (void)

    //配置 ADC12
    ADCCTL0 |= ADCSHT_2 | ADCON;// ADCON、S&H=16 ADC CLKS
    ADCCTL1 |= ADCSHP;// ADCCLK = MODOSC;采样计时器
    ADCCTL2 &=~ADCRES;//清除 ADCCTL 中的 ADCRES
    ADCCTL2 |= ADCRES_2;// 12位转换结果
    ADCMCTL0 |= ADCINCH_0;// A1 ADC 输入选择;Vref=AVCC
    ADCIE |= ADCIE0;//启用 ADC 转换完成中断

    /******** TIMERD0.1中断************* /

    //计时器 B1中断服务例程
    #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
    #pragma vector = TIMER3_B0_vector
    _interrupt void Timer3_B0_ISR (void)
    #Elif defined (_GNU_)
    void __attribute__((中断(TIMER3_B0_vector)) Timer3_B0_ISR (void)
    其他
    错误编译器不受支持!
    #endif

    PWM_Duty =(PWM_Period - CurrentDutyCycle);

    TB3CCR1 = PWM_Duty;// CCR1 PWM 占空比
    TB3CCR2 = PWM_DUTY;
    TB3CCR3 = PWM_DUTY;// CCR1 PWM 占空比
    TB3CCR4 = PWM_DUTY;
    TB3CCR5 = PWM_Duty;// CCR1 PWM 占空比
    TB3CCR6 = PWM_DUTY;

    测量速度
    转换_ENABLE

    softstart_counter ++;

    Block_Rotor_Counter_1_+;

    IF (Block_Rotter_Counter_1_=30000)

    Block_Rotor_Counter++;

    IF (Block_Rotor_Counter > Block_Rotor_Duration)

    A_Z();
    B_Z();
    C_Z();
    disable_interrupt ();
    while (1);

    /******** TIMERD0.1中断结束********* /

    /******** ADC 中断********* /

    // ADC 中断服务例程
    #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
    #pragma vector=ADC_vector
    _interrupt void ADC_ISR (void)
    #Elif defined (_GNU_)
    void __attribute__((interrupt (ADC_vector))) ADC_ISR (void)
    其他
    错误编译器不受支持!
    #endif

    switch (__evo_in_range (ADCIV、ADCIV_ADCIFG))

    案例 ADCIV_NONE:
    中断;
    ADCIV_ADCOVIFG 案例:
    中断;
    案例 ADCIV_ADCTOVIFG:
    中断;
    ADCIV_ADCHIIFG 案例:
    中断;
    ADCIV_ADCLOIFG 案例:
    中断;
    ADCIV_ADCINIFG 案例:
    中断;
    ADCIV_ADCIFG 案例:
    ADC_RESULT = ADCMEM0;
    SPEED_REF =(ADC_RESULES>>2);

    中断;
    默认值:
    中断;

    /******** 端口1中断服务例程********* /

    #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
    #pragma vector=PORT3_vector
    _interrupt void Port_3 (void)
    #Elif defined (_GNU_)
    void __attribute__((interrupt (PORT3_vector))) Port_3 (void)
    其他
    错误编译器不受支持!
    #endif

    HALL_STATE =((P3IN & BIT0)+(P3IN & BIT1)+(P3IN & BIT2));

    if (DIRECTION ==0)

    HALL_State_Change_Forward ();

    其他

    HALL_State_Change_Reverse ();

    Block_Rotor_Counter = 0;
    Block_Rotor_Counter_1 = 0;

    P3IES ^=(BIT0)+(BIT1)+(BIT2);
    P3IFG &=~(BIT0| BIT1 | BIT2);


    /******** ADC 中断结束********* /


    //看门狗定时器中断服务例程
    #pragma vector=WDT_Vector
    _interrupt void WDT_ISR (void)

    /********* 换向序列前进 /
    void Hall_State_Change_Forward (void)

    开关(HALL_State)

    案例2:
    C_Z();
    a_pwm ();
    b_low ();


    中断;

    案例6:
    B_Z();
    a_pwm ();
    c_low();


    中断;

    案例3:
    A_Z();
    c_PWM ();
    b_low ();


    中断;
    案例1:
    B_Z();
    c_PWM ();
    a_low ();


    中断;

    案例4:
    A_Z();
    b_pwm ();
    c_low();


    中断;

    情况5:
    C_Z();
    b_pwm ();
    a_low ();


    中断;


    默认值:
    A_Z();
    B_Z();
    C_Z();

    中断;


    /********* 换向序列反向 /
    void Hall_State_Change_Reverse (void)

    开关(HALL_State)

    案例2:
    C_Z();
    b_pwm ();
    a_low ();


    中断;

    案例6:
    B_Z();
    c_PWM ();
    a_low ();


    中断;

    案例3:
    A_Z();
    b_pwm ();
    c_low();


    中断;
    案例1:
    B_Z();
    a_pwm ();
    c_low();


    中断;

    案例4:
    A_Z();
    c_PWM ();
    b_low ();


    中断;

    情况5:
    C_Z();
    a_pwm ();
    b_low ();


    中断;


    默认值:
    A_Z();
    B_Z();
    C_Z();

    中断;


    /********* PWM GPIO 的定义 /

    void A_PWM (void)


    P6SEL0 |= BIT0;
    P6SEL0 |= BIT1;


    void B_PWM (void)


    P6SEL0 |= BIT2;
    P6SEL0 |= BIT3;

    void C_PWM (void)


    P6SEL0 |= BIT4;
    P6SEL0 |= BIT5;

    void a_low (void)

    P6SEL0 &=~BIT0;
    P6OUT &=~BIT0;
    P6SEL0 &=~BIT1;
    P6OUT |= BIT1;

    void B_low (void)(空)

    P6SEL0 &=~BIT2;
    P6OUT &=~BIT2;
    P6SEL0 &=~BIT3;
    P6OUT |= BIT3;

    void C_low (void)

    P6SEL0 &=~BIT4;
    P6OUT &=~BIT4;
    P6SEL0 &=~BIT4;
    P6OUT |= BIT5;

    void A_Z (void)

    P6SEL0 &=~BIT0;
    P6OUT &=~BIT0;
    P6SEL0 &=~BIT1;
    P6OUT &=~BIT1;

    空 B_Z (空)

    P6SEL0 &=~BIT2;
    P6OUT &=~BIT2;
    P6SEL0 &=~BIT3;
    P6OUT &=~BIT3;

    空 C_Z (空)

    P6SEL0 &=~BIT4;
    P6OUT &=~BIT4;
    P6SEL0 &=~BIT4;
    P6OUT &=~BIT4;

    void a_high (void)(空)

    P6SEL0 &=~BIT0;
    P6OUT |= BIT0;
    P6SEL0 &=~BIT1;
    P6OUT &=~BIT1;

    空 B_HIGH (空)

    P6SEL0 &=~BIT2;
    P6OUT |= BIT2;
    P6SEL0 &=~BIT3;
    P6OUT &=~BIT3;

    void C_high (void)(空)

    P6SEL0 &=~BIT4;
    P6OUT |= BIT4;
    P6SEL0 &=~BIT4;
    P6OUT &=~BIT4;


    /********* 结束 /

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

    您好、Sudhir、

    在此处注释以下各行将有所帮助、然后使用前面提到的霍尔连接。  

    (三

    // Block_Rotor_Counter_1_+;

    // if (Block_Rotter_Counter_1>=30000)
    //{
    // Block_Rotor_Counter++;
    //}

    (三

    此致

    制造商

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

    您好、Balakrishnan、
    我们已在我们的代码中实现它。 但它不起作用。 我们仍然没有在微控制器引脚上获得 PWM。
    我们还向 HA、HB、HC 提供了人工、但它不起作用。

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

    您好、Balakrishnan、

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

    您好、Sudhir、

    您能为我提供 HA、HB、HC 应用的逻辑电压(3.3V 或0V)的帮助吗? 此外、您还需要在 J8端子上应用标记为"POT"的速度基准输入。 您可以按照 TIDA-010056设计指南中的说明在此处连接电位计。 如果您在执行此操作后仍未获得 PWM、请 检查 您是否在 DRV8350故障引脚(J9提供)处遇到任何故障。

    谢谢、此致、

    制造商

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

    您好、Balakrishnan、

    在 CCS 调试模式下、我们看到连接在 P4.0上的驱动器 IC DRV8353RH 的 FAULT 引脚处于低电平。 (在 P4OUT 寄存器中,我们显示)。
    那么,如何检查驱动器 IC 中是否存在故障?

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

    您好、Sudhir、

    TIDA-010056使用 H 版本的 DRV8350 (DRV8350RH)。 如果您使用相同的 H 版本器件、 我们无法区分故障。 SPI 版本(DRV8350RS)器件  可通过读取故障状态寄存器来区分故障。

    如果使用 H 版本、那么我们需要评估测试条件并在电路板上探测几个点以调试故障原因。 DRV8350RH 数据表中的故障响应表显示了 nFault 引脚上报告的不同故障场景、需要逐一检查以了解原因。

    谢谢、此致、

    制造商

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

    感谢您的回答、

    我们在硬件上使用 DRV8353RH、因此我们必须如何与驱动器电路和 MCU 进行 SPI 通信、您能简单地解释一下、这将大有帮助。 提前感谢您。

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

    您好、Sudhir、

    您可以尝试使用 DRV8353RS、在这种情况 下、您必须连接/断开 TIDA-010056原理图中提供的几个电阻器(在 DRV8353RS 的引脚29-32外部连接)。 TIDA-010056的设计指南 在"表3中列出了 MCU 端口连接。 TIDA-010056固件系统组件"。 进行此更改后、必须根据 DRV8353RS 的寄存器映射添加代码以通过 SPI 进行读取或写入。 另一种方法是使用硬件版本 DRV8353RH 并尝试 评估测试条件、并在电路板上探测几个点以调试故障原因。

    谢谢、此致、

    制造商

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

    在这里、我要附上 DRV8353RH 与板载一些电阻器的连接原理图。 您是否会详细说明如何检测此连接的故障?

    提前感谢您。

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

    您好、Sudhir、

    将引脚 SDO、SDI、SCLK 和 CS 从 DRV8353连接到微控制器 SPI 引脚。 在 SDO 引脚上连接一个10k 的上拉电阻器(至3.3V)。  建议在 SDI、SDO 和 SCLK 线路中使用100欧姆的串联电阻器。 可以 参考 TIDA-010056原理图、填充 R7、R9、R13、R17、不 填充 R4、R5、R6、R8、R10、 然后将 SDO、SDI、CS 和 SCLK 连接到 MCU。  

    现在、在 MCU 中插入 SPI 读取代码、以便在故障发生后读取故障状态寄存器、从而了解故障原因。 TIDA-010056代码不包括 SPI 读取代码。

    希望这些详细信息能为您提供足够的信息!

    此致、

    制造商

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

    谢谢、

    如前所述、我们必须插入读取 SPI 的代码、但 DRV8353RH 不支持 SPI 通信。

    本说明适用于 DRV8353RH 或 DRV8353RS?

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

    您好、Sudhir、  

    这些说明适用于 SPI 版本 DRV8353RS。

    此致、

    制造商