一.调试流程
(1).MCPWM
输出极性;频率;死区时间;关闭fall事件;
<1>.确认预驱极性
根据芯片是否带预驱进行选择
1.带预驱
如果带预驱将#define MCPWM_SWAP_FUNCTION 1 ,同时在设置GPIO时也要 框中内容取消注释
2.不带预驱
查看数据手册预驱的电气属性,逻辑控制,高有效低有效,如果找不到合适的有效方式也可以对这个程序内容进行修改,来满足需求
例如:
默认电平也要进行修改
3.IPM
<2>.频率
频率越大开关损耗越大,在满足纹波的情况下越小越好 图中16KHZ
<3>.死区时间
测量G_S之间有没有震荡,关于转速,最大转速达不到调小死区时间,图中1.2us
(2).MCPWM测试
P端接电流采样,N断接DAC,P>N端时比较器输出高电平 ,在FAIL事件里设置高电平有效,硬件自动关闭PWM
<1>.打开比较器
测试前先处理好比较器,保护好电路
OC接的比较器
<2>.打开DAC
注释中给出了公式 1.2*147/4096/0.005 = 6A
。这个公式的各部分含义如下:
1.2
:表示 DAC 的满量程输出电压(在此配置中为 1.2V)。147
:是要设置的 DAC 值。4096
:DAC 的分辨率,假设这是一个 12 位 DAC(2^12 = 4096)。0.005
:表示电流测量电阻的电阻值(单位是欧姆,可能用于电流检测)。
通过这条公式的推导:
1.2×1474096÷0.005=6 A1.2 \times \frac{147}{4096} \div 0.005 = 6 \text{ A}1.2×4096147÷0.005=6 A
所以,147
是为了在电流检测电阻为 0.005Ω
的情况下产生 6A 输出电流所需的 DAC 设置值
<3>.指定PWM,FILE事件
<4>.开启测试
在ADC中断内判断,过流情况
比较器中断
打开输出PWM
<5>.问题处理