生成程序中WorkBench参数的位置
- 电机参数&电流采样
- Drive Settings
- PWM generation
- default settings
- Speed Regulator
- Torque and flux regulator
- 无传感器的STO配置
- 无传感器的Start_up_parameters
- 加速曲线的设置
- 切换转速值
- 其他值
- IO口的更改以及设置
电机参数&电流采样
WorkBench参数设置如下图:
对应位置在Pmsm-motor-paramenter.h,位置如下图所示:
对于NOMINAL_CURRENT这个参数来说,它的求取和电流采样电阻、电流采样电路增益放大、单片机供电电压有关,WorkBench中电流采样增益与采样电阻设置如下图所示:
那么NOMINAL_CURRENT的计算:
电流采样的参数在power_stage_parameters.h中。
Drive Settings
这里的WorkBench参数设置如下图:
PWM generation
参数在driver_paramenter.h中,位置如下图所示:
default settings
参数在driver_paramenter.h中,位置如下图所示:
电机的目标转速。
Speed Regulator
参数在driver_paramenter.h中,位置如下图所示:
1000,700,0是速度环PID参数,16,256,16为PID参数放大倍数。因为Kp,Ki,Kd的值很小,需要整数计算,所以需要进行放大,得出计算结果后,再进行缩小。
Torque and flux regulator
参数在driver_paramenter.h中,位置如下图所示:
2428,177,100是扭矩的PID 参数,也就是q轴的PID参数,
2400,180,100是转子磁通的PID 参数,也就是d轴的PID参数。
下边的TF_KxDIV参数与上文的SP_KxDIV参数的作用一样。
无传感器的STO配置
参数在drivr_paramenter.h中。
OBS_MEAS_ERRORS_BEFORE_FAULTS对应workbench里的Max measurement errors number before。
VARIANCE_THRESHOLD是相对应的,只不过程序里把200%换写成了2。
无传感器的Start_up_parameters
加速曲线的设置
参数在driver_paramenter.h中,位置如下图所示:
对应加速曲线的设置。这里PHASES_FINAL_CURRENT的值计算方法同上边。
切换转速值
参数在driver_paramenter.h中,位置如下图所示:
其他值
这里的参数是ADC采样时间,对应在WorkBench的ADC采样IO口设置的那个界面。
IO口的更改以及设置
IO 口在WorkBench界面进行设置的时候已经选择好了,详情参照:.
更改的方法有两种:
1,回到WorkBench更改以后更新代码,但是如果自己对工程文件已经进行了修改,若是没有把自己的代码写在如下图/xxxx CODE BEGIN xxxx/和/xxxx CODE ENDxxxx/所示代码之间,更新的时候就会删掉自己添加的程序:
2.直接在工程文件里边更改。在main.h文件里边。具体位置如下图所示:
更改的时候也不能随意更改,请按照define的IO口具体功能结合自己所用的MCU手册,选择具有相同复用功能的IO口。
如果是更改ADC采样IO口,切记,在ADC初始化的程序里(static void MX_ADC1_Init(void)),相应的要更改ADC 的channel值。如下图所示:
STM32F407ZGT6的ADC采样通道(channel)和IO口的对应关系如下图所示: