| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /**********************************
- * 文件名称: foc_define_parameter.h
- * 功能描述: FOC算法参数定义文件
- * 主要内容:
- * 1. 定义电机启动和控制参数
- * 2. 定义FOC算法相关参数
- * 3. 定义电机参数
- **********************************/
- #ifndef __FOC_DEFINE_PARAMETER_H_
- #define __FOC_DEFINE_PARAMETER_H_
- #define MOTOR_STARTUP_CURRENT 1.0f // 电机启动电流 (A)
- #define SPEED_LOOP_CLOSE_RAD_S 50.0f // 速度闭环阈值 (单位: rad/s)
- #define OPENLOOP_TEST
- #define VBUS 24.0f
- // 选择FOC类型:霍尔传感器FOC或无传感器FOC
- #define HALL_FOC_SELECT // 使用霍尔传感器的FOC模式
- //#define SENSORLESS_FOC_SELECT // 使用无传感器的FOC模式
- // 电机参数(基于TG5P40电机)
- #define RS_PARAMETER 0.445f // 定子电阻 (Ω)
- #define LS_PARAMETER 0.00031f // 定子电感 (H)
- #define FLUX_PARAMETER 0.007797f // 磁链 (Wb)
- // % TG5P40电机参数
- // % MATLAB参数设置
- // MOTOR_PNF_param.Value = 4; % 电机极对数
- // MOTOR_PN_param.Value = uint8(4); % 电机极数
- // MOTOR_RS_param.Value = 0.445; % 定子电阻 (Ω)
- // MOTOR_LS_param.Value = 0.00031; % 定子电感 (H)
- // MOTOR_KE_param.Value = 5.656; % 反电动势常数 (V/krpm)
- // MOTOR_J_param.Value = 0.0000028; % 转动惯量 (kg.m^2)
- // MOTOR_F_param.Value = 0.000007; % 摩擦系数 (N.m.s)
- // MOTOR_TL_param.Value = 0;%0.001; % 负载转矩 (N.m)
- //% MOTOR_FLUX_param.Value = 0.007797; % 磁链 (Wb)
- // MOTOR_FLUX_param.Value = MOTOR_KE_param.Value*30.0/sqrt(3.0)/1000.0/MOTOR_PNF_param.Value/pi;
- /**
- * @brief 磁链计算方法说明
- *
- * 已知Ke = 4.0 V/krpm,电机极对数p = 4
- *
- * 计算步骤:
- *
- * 1. 计算电机机械角速度(1000 rpm 时)
- * ωm = 1000 × 2π / 60 = 104.72 rad/s
- *
- * 2. 计算电机电角速度
- * ωe = 4 × 104.72 = 418.88 rad/s
- *
- * 3. 将Ke从 V/krpm 转换为 V/(rad/s)
- * Ke_elec = 4.0 / 418.88 = 0.00955 V/(rad/s)
- *
- * 4. 根据电磁感应原理(ωe = 1 rad/s时)
- * Ke_elec = √(3/2) × Φf
- * 其中 √(3/2) = 1.2247
- *
- * 5. 计算磁链
- * Φf = Ke_elec / 1.2247 = 0.00955 / 1.2247 = 0.0078 Wb = 7.8 mWb
- *
- * 简化公式
- * Φf = Ke / (p × 104.72 × 1.2247)
- * = Ke / (p × 128.3)
- *
- * 示例计算:4.0 / (4 × 128.3) = 4.0 / 513.2 = 0.0078 Wb
- */
- #endif
|