主题中讨论的其他器件: INSTASPIN-BLDC
大家好、
我使用的是 DRV8312-C2-KIT、我将深入了解电动势测量和 InstaSPIN-BLDC 功能。
我找到了 InstaSPIN-BLDC 的定义:
typedef 结构
{
Int32 Vag;//内部:VAG 输入--包含实数 VA + VaOffset ->以接地为基准(_IQ)
Int32 VBG;//内部:VBG 输入--包含实数 Vb + VbOffset -->以接地为基准(_IQ)
Int32 VCG;//内部:VCG 输入--包含实际 VC + VcOffset -->以接地为基准(_IQ)
Int32 Van;//内部:VA 至中性(_IQ)
Int32 VBN;//内部:VB 到中性(_IQ)
Int32 Vcn;//内部:VC 到中性(_IQ)
Int32 VaOffset;// VaOffset (_IQ)
Int32 VbOffset;// VbOffset (_IQ)
int32 VcOffset;// VcOffset (_IQ)
Int32 Int_Threshold;//输入:发生换向的积分阈值(_IQ)
Eintbool Vint_lockout;//内部:反激电压锁定标志
int32 * vphase;//内部:指向要计数的相电压的指针(_IQ)
int32 V_int;//输出:积分器(_IQ)
Eintbool ComM_Trig;//输出:换向触发脉冲
UINT16状态;//输入:值0至5
} INSTASPIN_BLDC;
Vag 表示 OUT_A 和接地之间的电压、Van 表示 OUT_A 和星形连接点之间的电压、VaOffset 是星形连接点和接地之间的电压。
这意味着 Vag = Van + VaOffset。
我在这里吗?
接下来、我不了解的 MainISR 中有一些行:
为什么 ADC 结果左移三倍/乘以八倍?
iqVaIn =_IQ15toIq ((AdcResult.ADCRESULT1<<3));
用于测量相电压的分压器为 ADC 提供 OUT_A 和接地之间的电压。
ADC 结果被写入 Vag (也就是说、按照我之前的假设、这是相同的)。
那么、为什么会进行偏移调整呢?
InstaSPIN_BLDC1.Vag = iqVaIn - InstaSPIN_BLDC1.VaOffset;
最后一个问题是有关校准的问题。 在下面的行中做了什么?
InstaSPIN_BLDC1.VaOffset =_IQmpy (cal_filt_gain、iqVaIn)+ InstaSPIN_BLDC1.VaOffset;
提前感谢您!
Sarah