因硬件已确定芯片选择使用2810,移植三相异步电机矢量控制ACI3-4程序,发现底层配置及接口有打包在libraries下的F281xDRV-ml.L28这个文件里,现需要修改底层配置及输入输出函数,如何修改这个文件;
我有试着把F281xDRV-ml.L28这个文件移除,把在C:\tidcs\DMC\c28\v32x5\lib\drvlib281x\src的相关文件全部添加进去,编译发现有溢出问题。在保留F281xDRV-ml.L28,把f281xileg_vdc.c这个文件添加上去,原本正常运转的电机,不能正常运行,转子左右摇摆;把void F281X_ileg2_dcbus_drv_init(ILEG2DCBUSMEAS *p)这个函数的内容和ilg2_vdc1.init(&ilg2_vdc1)关掉,这可正常运行,否则进入中断陷阱。
在ADC检测A,B相电流的函数,
DatQ15 = AdcRegs.ADCRESULT0^0x8000; //为啥要异或0x8000
Tmp = (int32)p->ImeasAGain*(int32)DatQ15; // ImeasAGain这个系数和硬件电路的关系,实际程序中是设为1,
p->ImeasA = (int16)(Tmp>>13); //
p->ImeasA += p->ImeasAOffset; // 这个ImeasAOffset如何补偿
p->ImeasA *= -1; //为啥要乘-1
这样算出来的值是真实的A相电流值吗?同样的还有母线电压检测。
这种计算方法和controlsuits中的方法和结果一样吗?