TLE9854使用MOSFET驱动电机(七):直接打开 H 桥的桥臂,不使用 PWM 控制,方向一(正 向)

1、查看BDRV_Set_Bridge()函数的参数的相关配置

 

右键点击BDRV_Set_Bridge()函数的参数Ch_LS_PWM,然后选中”Go To Definition Of ‘Ch_LS_PWM’”,进行跳转

 

 

 

 

可以看到H桥的LS桥臂有四种设置状态,H桥的HS桥臂也有一样的四个状态

   Ch_LS_Off = 0u,    /*桥臂非使能 */

   Ch_LS_En  = 1u,   /*桥臂使能 */

   Ch_LS_PWM = 3u,  /*桥臂使用PWM(CCU6生成)驱动*/

   Ch_LS_On  = 5u   /*桥臂使能并且静态打开*/

用PWM驱动H桥桥臂,BDRV_Set_Bridge()函数的四个参数分别设置为:

Ch_LS_PWM, Ch_PWM, Ch_LS_PWM, Ch_PWM

现在想要直接打通H桥,而不再使用PWM,则四个参数要进行调整,修改要打通的H桥桥臂的参数为:Ch_LS_On或Ch_On

2、根据BDRV_Set_Bridge()函数参数的相关配置进行修改程序

  查看BDRV_Set_Bridge()函数定义

 

 

可以看到BDRV_Set_Bridge()函数四个参数分别控制LS1、HS1、LS2、HS2四个桥臂,现在想要打通HS2、LS1,关断HS1、LS2则需要将BDRV_Set_Bridge()函数修改为:

BDRV_Set_Bridge(Ch_LS_On, Ch_En, Ch_LS_En, Ch_On);

3、完整的修改后的main.c程序为:

 

#include "tle_device.h"



int main(void)

{





  /*****************************************************************************

  ** initialization of the hardware modules based on the configuration done   **

  ** by using the IFXConfigWizard                                             **

  *****************************************************************************/

  TLE_Init();



                                  

  BDRV_Set_Bridge(Ch_LS_On, Ch_En, Ch_LS_En, Ch_On); //将LS1、HS2设置为ON,即打开LS1、HS2,将LS2、HS1设置为EN,不能将LS2、HS1分别设置为Ch_LS_Off、Ch_Off,这样会导致H桥无法正常工作。

    

  for (;;)

  {

    (void)WDT1_Service();   //看门狗                              

  }

}

 

4、此时GH2、GL1常通、GH1、GL2常闭

各引脚电压为:

V(gh1) = 0V, V(gh2) = 24V, V(gl1) = 10V, V(gl2) = 0V

V(sh1) = 0V, V(sh2) = 12V, V(sl) = 0V

各引脚的电压波形为:

 

GH2:

 

SH2:

 

GL2:

 

SL:

 

 

 

GL1:

 

 

SH1:

 

GH1:

 

 

5、分析测试结果,可以看出

使用直接控制H桥桥臂打开的方式,相较于使用PWM的方式代码简洁了许多,而且GH1、SH1端点的电压在GH2、GL1导通时保持为0,。

但是GL1端的电压从5V变成了10V,并且电机一直以最大速度运行,没有办法调节电机的转速,所以相较于PWM控制,无法调速是一个很大的劣势。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页