1.TLE82453

1.1 TLE82453简介

1.2 TLE82453时序

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

1.3 TLE82453 初始化

extern void TLE82453_Init(void){DWORD_U result = {0};// Disable chipTLE82453_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 =1KHZresult.dword = TLE82453_RWReg(0,TLE_W|RCLKDVD|FCLK_WDEN|FDITH_DIV_M|FDITH_DIV_N|FSYS_DIV_8);// Set Configuration Registerresult.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 = 58mAresult.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 = 1KHZresult.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.7mAresult.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 Registerresult.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 cycleresult.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 chipDelayUS(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。

TLE82453使用相关推荐

最新文章

  1. Python 自动化办公之 Excel 对比工具
  2. 简述java中的注释以及用法_怎样理解 Java 注解和运用注解编程?
  3. AAC规格分类和下载地址
  4. 解决 Ubuntu Software (Software Center) Crash 问题
  5. 微软启动了自爆程序,让我们一起帮它倒计时
  6. win32diskimager报错:An error occured when attempting to XXX, Error 5: Access is Denied
  7. InfoPath2010表单-IE浏览器2个“微型内嵌工具”的使用和介绍
  8. 学校计算机机房台账,机房工作
  9. paip.程序模块间的通讯方式大总结
  10. nginx反向代理实现直接域名访问
  11. 爬虫实战(三)----使用百度API获取经纬度/地址
  12. 戴尔台式计算机没声音,戴尔电脑重装系统后没有声音怎么办
  13. mysql左联和右联_MySQL左联、右联查询接where和and条件的区别
  14. 香港中大完成全球首个多专科单孔微创机械人手术临床研究
  15. HTML5期末大作业:旅游网页设计与实现——四川成都-(9页 带购物车)
  16. 上海汇珏EPON典型应用分析
  17. 解决windows10 时间轴灰色的活动历史记录无法删除的问题
  18. Loadrunner12.55windows-linux-os安装详细教程
  19. python key=lambda函数_使用’key’和lambda表达式的python max函数
  20. 小萌库- 新海诚那些唯美感人的动漫

热门文章

  1. 【H5游戏】-使用js复刻经典小游戏【接鸡蛋】,快来帮助鸡妈妈找回蛋宝宝吧
  2. 硬件电路设计入门之计数器74HCT4060
  3. 01.Bootstrap
  4. linux 卸载edrawmax,Ubuntu 12.10安装FreeMind(Win下亿图替代品)
  5. 超级兔子魔法设置 V7.99 正式版
  6. 【吃瓜之旅】第五章吃瓜学习
  7. mySql获取表的字段名,字段注释
  8. java解析office数学公式
  9. 《袁老师访谈录》第21期《红鸟沙龙》第4期|刘通/折纸艺术家
  10. 2020usnews加拿大计算机排名,2020年USNews排名之加拿大大学排名及其介绍