TLE9854使用MOSFET驱动电机(五):使用 PWM 驱动 MOSFET,且四个 H 桥桥臂都使用 PWM 驱动,方向二(反向)

1、修改main.c程序,将H桥的导通桥臂进行更改,即改变电机运行方向:

#include "tle_device.h"



int adc1;

int adc2;





int main(void)

{

  uint8_t pwm_dir;//定义pwm的方向



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

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

  ** by using the IFXConfigWizard                                             **

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

  TLE_Init();



  CCU6_T12_Str_En();                                      //初始化 T12 定时器

  CCU6_StartTmr_T12();                                    // 启动 T12 定时器

  BDRV_Set_Bridge(Ch_LS_PWM, Ch_PWM, Ch_LS_PWM, Ch_PWM);  //将PWM信号映射到 LS1, HS1, LS2 和 HS2四个H桥的桥臂 */



pwm_dir = CCU6_MASK_COUT61 | CCU6_MASK_CC61;  //设置要用PWM调制的H桥桥臂,GL2、GH2

  CCU6_Passive_Level_High_Sel(CCU6_MASK_CC60); //设置CC60信号为常高,即GH1常通

  //pwm_dir =  CCU6_MASK_COUT60 | CCU6_MASK_CC60;        //设置要调制的PWM信号

  //CCU6_Passive_Level_High_Sel(CCU6_MASK_CC61);   //设置CC61信号为常高,即GH2常通



    

  for (;;)

  {

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



    CCU6_T12_Modulation_En(pwm_dir);                    //设置CCU6的输出方向                   



CCU6_Ch0_Value_Set(adc1);                           // 设置通道1的占空比   

CCU6_Ch1_Value_Set(adc2);                           //设置通道2的占空比

CCU6_T12_Str_En();                                 //初始化 T12 定时器

}

}

2、设置adc1为1000,adc2为500

因为CC60信号为常高,即GH1常通,所以adc1参数设置为多少,GH1都一直保持常通,所以adc1的值对功能没有任何影响,此处设置为1000.

 

此时GH1常通、GH2、GL2在PWM控制下进行开关

各引脚电压为:

V(gh1) = 24V, V(gh2) = 12V, V(gl1) = 0V, V(gl2) = 5V

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

各引脚的电压波形为:

 

GH2:

 

GH2引脚的电压峰值为24V,但是高电平的时间占信号所有的时间为50%,所以用万用表量出来GH2引脚电压为12V。

 

SH2:

 

SH2引脚的电压峰值为12V,但是高电平的时间占信号所有的时间为50%,所以用万用表量出来SH2引脚电压为6V。

 

GL2:

 

GL2引脚的电压峰值为10V,但是高电平的时间占信号所有的时间为50%,所以用万用表量出来GL2引脚电压为5V。

adc2值设置为500,占空比的总周期为1000,所以设置的占空比为50%,程序参数与示波器采集到的波形相符合。

 

SL:

 

GL1:

 

 

SH1:

 

GH1:

 

3、H桥导通示意图

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WangLanguager

您的鼓励是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值