/********************************** * 文件名称: 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