自己根据FOC解决方案绘制的PCB,用的是F28069+DRV8305,参照教程lab-2a更改了PWM、SDI引脚以及用户参数,进行调试时整个电机识别过程能够运行完,但是在电机识别过程中电机发热严重,且根据软件监测数据显示速度已经达到上万转,但电机识别完以后,不能通过更改SPEED变量改变电机的运行速度。
浏览代码时发现,对电机控制变量gDrvSpi8305Vars一直在主程序进行读写,但初始化后并没有再次进行赋值,求解答,谢谢!!@Eric大神
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
自己根据FOC解决方案绘制的PCB,用的是F28069+DRV8305,参照教程lab-2a更改了PWM、SDI引脚以及用户参数,进行调试时整个电机识别过程能够运行完,但是在电机识别过程中电机发热严重,且根据软件监测数据显示速度已经达到上万转,但电机识别完以后,不能通过更改SPEED变量改变电机的运行速度。
浏览代码时发现,对电机控制变量gDrvSpi8305Vars一直在主程序进行读写,但初始化后并没有再次进行赋值,求解答,谢谢!!@Eric大神
1. 在调试新版的时候,我一般都会先不带电机,直接跑一下Lab05b,使能系统,看看ADC 偏置是否正常,以及PWM波形是否互补,输出的三相电压是否正常调制。由此来确定硬件电路没有问题。
2. 注意一下电流采样的方向,是正向的还是反相的,对应要修改hal.h中的HAL_readAdcData和HAL_updateAdcBias。
建议你用CCS调试,我一般用lab05b,如果要识别电机,就把Flag_enableUserParams置0即可。在上面1,2点排查后,基本就能够开始识别电机,注意识别的时候对user.h头文件的电机参数,和硬件参数进行相应的修改。尤其是ADC Full scale那些,别算错了。
ERIC