TLE82453使用

本文详细介绍了TLE82453芯片的初始化过程和STM32F4XX实现简单颤振的步骤。通过调整PID参数,实现了不同采样率下的恒流控制,并对比了不同参数设置下的颤振效果。重点探讨了如何优化PID参数以接近TLE82453的性能,同时提供了两种不同的参数配置案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.TLE82453

1.1 TLE82453简介

1.2 TLE82453时序

 

  注意读数据要读两次,第一次丢弃,第二次是需要的数值。

1.3 TLE82453 初始化

extern void TLE82453_Init(void)

{

  DWORD_U result = {0};

  // Disable chip

  TLE82453_EN_CLR;

 

  // Set RESN pin from low to high.

  TLE82453_RESN_CLR;

  DelayMS(10);

  TLE82453_RESN_SET;

  DelayMS(20);

 

  // Set Clock Divider Registe,M=38,N=7,so Fdith = 5MHZ/39/128=1KHZ

  // Set Clock Divider Registe,M=38,N=7,so Fdith =1KHZ

  result.dword = TLE82453_RWReg(0,TLE_W|RCLKDVD|FCLK_WDEN|FDITH_DIV_M|FDITH_DIV_N|FSYS_DIV_8);

 

  // Set Configuration Register

  result.dword = TLE82453_RWReg(0,TLE_W|RCFG|RCFG_FME|RCFG_FM0|RCFG_FM1|RCFG_FM2|RCFG_CH2_SR1|RCFG_CH1_SR1|RCFG_CH0_SR1);

 

  // Integrator Threshold & Open On Register,Open load current = 58mA

  result.dword = TLE82453_RWReg(0,TLE_W|RINTT_OL|CH0|RINTT_OL_VALUE);

  result.dword = TLE82453_RWReg(0,TLE_W|RINTT_OL|CH1|RINTT_OL_VALUE);

  result.dword = TLE82453_RWReg(0,TLE_W|RINTT_OL|CH2|RINTT_OL_VALUE);

 

  // Set Autozero Register,RSETPOINT_EN must = 0,AZ is defualt function

  //result.dword = TLE82453_RWReg(0,TLE_W|RAUTOZERO|RAUTOZERO_START|CH0);

  //result.dword = TLE82453_RWReg(0,TLE_W|RAUTOZERO|RAUTOZERO_START|CH1);

  //result.dword = TLE82453_RWReg(0,TLE_W|RAUTOZERO|RAUTOZERO_START|CH2);

 

  // Set PWM period register,5MHZ/312/16 = 1KHZ

  result.dword = TLE82453_RWReg(0,TLE_W|RPWM_PERIOD|RPWM_PERIOD_KI|RPWM_PERIOD_VALUE|CH0);

  result.dword = TLE82453_RWReg(0,TLE_W|RPWM_PERIOD|RPWM_PERIOD_KI|RPWM_PERIOD_VALUE|CH1);

  result.dword = TLE82453_RWReg(0,TLE_W|RPWM_PERIOD|RPWM_PERIOD_KI|RPWM_PERIOD_VALUE|CH2);

 

  // Set Setpoint register,682*1500/2047=499.7mA

  result.dword = TLE82453_RWReg(0,TLE_W|RSETPOINT|RSETPOINT_EN|RSETPOINT_AL|RSETPOINT_VALUE|CH0); 

  result.dword = TLE82453_RWReg(0,TLE_W|RSETPOINT|RSETPOINT_EN|RSETPOINT_AL|RSETPOINT_VALUE|CH1); 

  result.dword = TLE82453_RWReg(0,TLE_W|RSETPOINT|RSETPOINT_EN|RSETPOINT_AL|RSETPOINT_VALUE|CH2);  

 

  // Set Integrator Register

  result.dword = TLE82453_RWReg(0,TLE_W|RINT_LIMIT|CH0|RINT_LIMIT_HL|RINT_LIMIT_LL);   

  result.dword = TLE82453_RWReg(0,TLE_W|RINT_LIMIT|CH1|RINT_LIMIT_HL|RINT_LIMIT_LL);   

  result.dword = TLE82453_RWReg(0,TLE_W|RINT_LIMIT|CH2|RINT_LIMIT_HL|RINT_LIMIT_LL);

 

  // Set Dither Register,steps=3,step size=18,3*18*1500/2047=39.6mA

  // SYNC = 1,so a new dither period will not start until the start of the next PWM cycle

  result.dword = TLE82453_RWReg(0,TLE_W|RDITHER|CH0|RDITHER_EN|RDITHER_SYNC|RDITHER_SETP_SIZE|RDITHER_SETP_NUM(3));   

  result.dword = TLE82453_RWReg(0,TLE_W|RDITHER|CH1|RDITHER_EN|RDITHER_SYNC|RDITHER_SETP_SIZE|RDITHER_SETP_NUM(3));   

  result.dword = TLE82453_RWReg(0,TLE_W|RDITHER|CH2|RDITHER_EN|RDITHER_SYNC|RDITHER_SETP_SIZE|RDITHER_SETP_NUM(3));   

 

  // If no fault, enable chip

  DelayUS(20);

  TLE82453_RWReg(0,TLE_R|RDIAG);

  DelayUS(20);

  result.dword = TLE82453_RWReg(0,TLE_R|RDIAG);

  DelayUS(20);

  TLE82453_RWReg(0,TLE_R|RICVID);

  DelayUS(20);

  result.dword = TLE82453_RWReg(0,TLE_R|RICVID);

  if( result.dword == RICVID_ID )

    TLE82453_EN_SET;

}

2.STM32F4XX实现简单颤振

2.1输出电流反馈采样率

采用ADC软件触发+DMA搬移,以使用两个通道为例,计算每个通道采样率。

The total conversion time is calculated as follows:

Tconv = Sampling time + 12 cycles

设置如下:

With ADCCLK = 15 MHz and sampling time = 28 cycles:

Tconv = 28 + 12 = 40 cycles,则单通道最大采样率为375kbps。

配置为28cycles以下采集不稳;

配置为28cycles,两个通道各取4次平均,能实现46.8k采样率;

配置为28cycles,两个通道各取8次平均,能实现23.4k采样率;

配置为28cycles,两个通道各取16次平均,能实现11.7k采样率;

配置为28cycles,两个通道各取32次平均,能实现5.85k采样率;

考虑恒流控制频率最大一般不会超过2KHZ,先选取11.7k采样率。

2.2 STM32F4XX实现颤振

STM32F4XX采用类似TLE82453的控制方法,并做一定的简化,例如step_size的刷新选择在输出PWM的溢出中断中进行,这样不需要再为颤振单独设置一个定时器了,默认颤振周期和PWM周期是同步的,颤振频率最大只能是输出PWM频率的1/4。PID的参数需要合理设置,响应时间要足够小,否则颤振效果较差。大多数场景可能只需要几路颤振,考虑到TLE82453的价格,损失部分性能可以接受,可以根据项目成本和性能要求折衷选择。

 

2.3 PID参数1

steps=3,step_size=30波形,kp=0.625,ki=0.0625,kd=0.0625:    

 

 

左边一列为普通高边开关的恒流和颤振;右边一列为TLE82453的恒流和颤振。

这个PID参数由于设置不合理,和TLE82453对比效果比较差。

2.4 PID参数2

Steps=3,step_size=30波形,kp=1,ki=0.01,kd=0:

       

左边一列为普通高边开关的恒流和颤振;右边一列为TLE82453的恒流和颤振。

这个PID参数调大了P值,减小了I值,输出效果接近TLE82453。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值