- 积分
- 1367
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 30
- 最后登录
- 1970-1-1
该用户从未签到
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
void F281X_ileg2_dcbus_drv_read(ILEG2DCBUSMEAS *p)
{
int16 DatQ15;
int32 Tmp;
// Wait until ADC conversion is completed
while (AdcRegs.ADCST.bit.SEQ1_BSY == 1)
{};
// 流入电机方向的电流才能产生力矩拖动负载
//Ia,正数,电流流向电机,-1~+1代表-25A~25A
DatQ15 = AdcRegs.ADCRESULT0^0x8000; // ^按位异或,将转换结果转换为Q15格式的双极性数据
Tmp = (int32)p->ImeasAGain*(int32)DatQ15; // Tmp = gain*dat => Q28 = Q13*Q15
p->ImeasA = (int16)(Tmp>>13); // Convert Q28 to Q15
p->ImeasA += p->ImeasAOffset; // Add offset
p->ImeasA *= -1; // 正数,电流流向电机,-1~+1代表-25A~25A
我想问一下:ImeasAGain,ImeasAOffset这两个参数是怎么确定的啊??是不是经过硬件调理电路把它调到了0-3v,软件里ImeasAGain=1,ImeasAOffset=0??、? |
|