发现并解决的问题:
1 ADC采样误差大
ADC转换公式错误,已改正。
电流采样通常是在采样电流通路里串联一个阻值小功率大的精密电阻(如0.024Ω的电阻R1),再放大其两端的电压(如sm72295中的3脚和11脚),使最终的电压在ADC采样电压范围内,就可将电流的采样转变为电压的采样。
2 电阻的数码表示法
数码法是在电阻的表面用三位数字或两位数字加R来表示标称值的方法,该方法常用于贴片电阻、排阻等。
示例:标注为"103"的电阻其阻值为10x10³=10kΩ ;标注为"472"的电阻其阻值为47x10²=4.7kΩ。需要注意的是,要将这种标注法与直标法区别开,如标注为220的电阻,其阻值为 22Ω ,只有标注为221的电阻器,其阻值才为220Ω。
3 死区时间的计算
死区时间控制寄存器TIM->BDTR
DTG[7:0] 决定了死区持续时间:
DTG[7:5] = 0xx ,则DT = DTG[7:0] × Tdtg ,Tdtg = TDTS
DTG[7:5] = 10x,则DT = (DTG[5:0] + 64) × Tdtg,Tdtg = TDTS × 2
DTG[7:5] = 110,则DT = (DTG[4:0] +32) × Tdtg,Tdtg = TDTS × 8
DTG[7:5] = 111,则DT = (DTG[4:0] +32) × Tdtg,Tdtg = TDTS × 16
其中,TD为死区持续时间,TDTS为系统时钟周期时长。
目前进度:
将PANEL_DISABLE、LOAD_DISABLE修正对应为RESET,PANEL_ENABLE、LOAD_ENABLE修正对应为SET,好像烧掉了一个MOS管。明天根据电路原理图进一步看MPPT算法,修改死区时间,找出烧毁的MOS管进行更换。