501|1

6

帖子

0

TA的资源

一粒金砂(中级)

【翌创ET6001测评】FOC电流环算力 [复制链接]

测试目的:

       评估在200M主频下的执行FOC电流环的算力

测试结果:

       如下图所示,ADC完成采样中断时,置IO为高电平,读ADC,计算FOC电流环,设置PWM输出,置IO为低电平。测试得到单次FOC电流环时间为1.72uS。

image-20241103115713-1.png  

说明:

       由于我开发环境,暂无法DEBUG,无法单次调试抓内存数据,只能通过GPIO测定FOC电流环执行时间;

开发板是只有IO的最小系统,没有BLDC电控需要的MOS驱动以及ADC配合PGA的真实采样环路,所以测试的仅为算力测试。一般在100M的M4F上测试,最快常规是5us,本次在ET6001上测到1.72比预期好很多,但由于没有真实的硬件回路,一些过调制case无法执行到。

 

入口代码

void AdcIrq(void)
{
	System_Obj *pS = &SystemObj;
	pS->Ia = ADC1->SARC_RESULT[0].RESULT&0xFFFF;//u
	pS->Ib = ADC1->SARC_RESULT[1].RESULT&0xFFFF;//v
	pS->UdcAdc = ADC1->SARC_RESULT[2].RESULT&0xFFFF;//vbus
	pS->SpeedR = ADC1->SARC_RESULT[3].RESULT&0xFFFF;//spped r
	//电流环计算
	MotorCurrentLoop(&SystemObj);
}
#define POLS 			(2)				
#define LD 					(0.000925f)
#define LQ 					(LD)          
#define RS 					(0.358000f) 
#define FI 				    (0.01374f) 
void VarInit(System_Obj *pSysObj)
{
    extern uint32_t SystemCoreClockFrequency;
    pSysObj->MainFreq = SystemCoreClockFrequency;
    pSysObj->PwmFreq = 10000;
    pSysObj->CtrlFreq = 2000;
    pSysObj->HalfDuty = MyDiv16(SystemObj.MainFreq , SystemObj.PwmFreq,0,0)>>2;
    pSysObj->VolSampBase = 105;
    pSysObj->CurSampBase = 10;
    MotorSetParam(RS,LD,LQ,FI);
    MotorContrlPamIni();
}

 

最新回复

  详情 回复 发表于 2024-11-3 12:45

回复
举报

38

帖子

0

TA的资源

一粒金砂(中级)


回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表