TLE82453使用

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。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
随后汽车电子化程度的提升,自动驾驶及智能化的进展,电机在车中的应用会越来越多,电机的类型和驱动也在发生着变化,传统的机械驱动或者电机继电器控制正在向 PWM(脉宽调制)调速和BLDC(无刷直流)电机控制方向转变,尤其是在节能减排的这个大趋势下,BLDC在汽车中将得到更广泛的应用,一个500W的散热风扇,继电器控制改为BLDC可PWM调速方案, 可以节省大概1%的油耗;300W的水泵从机械方式改为电动驱动方式,可以减少 7.1g/km的二氧化碳排放;80W 的油泵从不可调速方案改为可调速方案,可以减少 1.9g CO2 /km的二氧化碳排放。 品佳集团一直致力于汽车行业产品方案的设计与推广,本方案是基于Infineon的新一代嵌入式电源控制芯片开发的一款汽车水泵电机控制方案。该方案主要特点就是高效率、低噪音、高可靠性、智能性以及高动态响应等。相比较其他半导体公司的方案,该方案的优势就是芯片采用cortex-M3内核,并且集成了了BDRV、charge pump、LIN BUS、LDO。目前该方案已在长城、一汽、上汽等车厂的部分车型中得到应用。 场景应用图产品实体图 展示板照片方案方块图核心技术优势(1):内核是ARM cortex-M3。 (2):系统时钟40MHz。 (3):内置了带charge pump的NFET drivers。 (4):Current programmable NFET driver with patented slope control for optimized EMC behavior。 (5):Integrated LIN transceiver com-patible with LIN standard 2.2 and SAE J2602。 (6):内置oscillator & PLL。 (7):Current sense amplifier。 (8):Grade-1 & grade-0 qualification。 (9):Complete system-on-chip for BLDC motor control。 (10):Minimum number of external components reduce BOM cost。 方案规格1):sensorless FOC,节省hall成本。 2):speed up to 5000RPM。 3):过压、欠压、短路、开路、过流保护。 4):Current、Speed PID; 5):支持LIN通讯和LIN升级。 6):支持PWM调速。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值