生成程序中WorkBench参数的位置

  • 电机参数&电流采样
  • Drive Settings
  • PWM generation
  • default settings
  • Speed Regulator
  • Torque and flux regulator
  • 无传感器的STO配置
  • 无传感器的Start_up_parameters
  • 加速曲线的设置
  • 切换转速值
  • 其他值
  • IO口的更改以及设置


电机参数&电流采样

WorkBench参数设置如下图:

chemex的域ad配置信息_Max


对应位置在Pmsm-motor-paramenter.h,位置如下图所示:

chemex的域ad配置信息_Max_02


对于NOMINAL_CURRENT这个参数来说,它的求取和电流采样电阻、电流采样电路增益放大、单片机供电电压有关,WorkBench中电流采样增益与采样电阻设置如下图所示:

chemex的域ad配置信息_Max_03


那么NOMINAL_CURRENT的计算:

chemex的域ad配置信息_chemex的域ad配置信息_04


电流采样的参数在power_stage_parameters.h中。

chemex的域ad配置信息_chemex的域ad配置信息_05

Drive Settings

这里的WorkBench参数设置如下图:

chemex的域ad配置信息_Max_06

PWM generation

参数在driver_paramenter.h中,位置如下图所示:

chemex的域ad配置信息_Max_07

default settings

参数在driver_paramenter.h中,位置如下图所示:

chemex的域ad配置信息_chemex的域ad配置信息_08


电机的目标转速。

Speed Regulator

参数在driver_paramenter.h中,位置如下图所示:

chemex的域ad配置信息_chemex的域ad配置信息_09


1000,700,0是速度环PID参数,16,256,16为PID参数放大倍数。因为Kp,Ki,Kd的值很小,需要整数计算,所以需要进行放大,得出计算结果后,再进行缩小。

Torque and flux regulator

参数在driver_paramenter.h中,位置如下图所示:

chemex的域ad配置信息_工程文件_10


2428,177,100是扭矩的PID 参数,也就是q轴的PID参数,

2400,180,100是转子磁通的PID 参数,也就是d轴的PID参数。

下边的TF_KxDIV参数与上文的SP_KxDIV参数的作用一样。

无传感器的STO配置

chemex的域ad配置信息_chemex的域ad配置信息_11


参数在drivr_paramenter.h中。

chemex的域ad配置信息_参数设置_12


OBS_MEAS_ERRORS_BEFORE_FAULTS对应workbench里的Max measurement errors number before。

VARIANCE_THRESHOLD是相对应的,只不过程序里把200%换写成了2。

无传感器的Start_up_parameters

chemex的域ad配置信息_工程文件_13

加速曲线的设置

参数在driver_paramenter.h中,位置如下图所示:

chemex的域ad配置信息_工程文件_14


对应加速曲线的设置。这里PHASES_FINAL_CURRENT的值计算方法同上边。

切换转速值

参数在driver_paramenter.h中,位置如下图所示:

chemex的域ad配置信息_chemex的域ad配置信息_15

其他值

chemex的域ad配置信息_工程文件_16


这里的参数是ADC采样时间,对应在WorkBench的ADC采样IO口设置的那个界面。

IO口的更改以及设置

IO 口在WorkBench界面进行设置的时候已经选择好了,详情参照:.

更改的方法有两种:

1,回到WorkBench更改以后更新代码,但是如果自己对工程文件已经进行了修改,若是没有把自己的代码写在如下图/xxxx CODE BEGIN xxxx/和/xxxx CODE ENDxxxx/所示代码之间,更新的时候就会删掉自己添加的程序:

chemex的域ad配置信息_Max_17


2.直接在工程文件里边更改。在main.h文件里边。具体位置如下图所示:

chemex的域ad配置信息_chemex的域ad配置信息_18


更改的时候也不能随意更改,请按照define的IO口具体功能结合自己所用的MCU手册,选择具有相同复用功能的IO口。

如果是更改ADC采样IO口,切记,在ADC初始化的程序里(static void MX_ADC1_Init(void)),相应的要更改ADC 的channel值。如下图所示:

chemex的域ad配置信息_参数设置_19


STM32F407ZGT6的ADC采样通道(channel)和IO口的对应关系如下图所示:

chemex的域ad配置信息_工程文件_20