汇川MD290/MD380/MD500变频器源码功能说明文档

张开发
2026/4/7 9:34:46 15 分钟阅读

分享文章

汇川MD290/MD380/MD500变频器源码功能说明文档
变频器汇川的三种变频器源码包括MD290,MD380,MD500变频器源码,基于TMS320F28035 新的SVC3算法高速速度波动小新的转子电阻漏感辩识算法.一、源码整体架构概述汇川MD290、MD380、MD500系列变频器源码基于TI TMS320F28035 DSP芯片开发整体采用模块化设计涵盖系统初始化、电机控制核心、参数辨识、故障保护等核心功能模块。源码文件总数达167个按功能可划分为系统基础层、电机控制层、参数辨识层、故障保护层四大层级各层级间通过标准化的数据交互接口协同工作确保变频器在不同工况下稳定、高效运行。变频器汇川的三种变频器源码包括MD290,MD380,MD500变频器源码,基于TMS320F28035 新的SVC3算法高速速度波动小新的转子电阻漏感辩识算法.系统基础层负责DSP硬件初始化、时钟配置、中断管理等底层操作电机控制层实现矢量控制FVC/SVC、V/F控制、编码器测速等核心控制逻辑参数辨识层完成电机定子电阻、转子电阻、互感等关键参数的自动检测故障保护层则对过流、过压、欠压、过热等异常工况进行实时监控与处理。二、核心模块功能解析2.1 系统基础层模块系统基础层是变频器运行的硬件支撑主要通过01_system目录下的文件实现核心功能包括DSP初始化、中断控制、定时器配置等。2.1.1 DSP系统初始化DSP2803x_CSMPasswords.asm、DSP2803x_CodeStartBranch.asm代码安全模块配置DSP2803x_CSMPasswords.asm定义了CSMCode Security Module密码配置支持加密与非加密两种模式。开发阶段默认使用0xFFFF作为密码非加密方便调试量产阶段可修改为自定义128位密码防止代码被非法读取。同时该文件将Flash预留区域0x3F7F80 - 0x3F7FF5统一初始化为0x0000确保代码安全模块正常工作。程序启动流程DSP2803xCodeStartBranch.asm是DSP程序的入口文件负责启动前的硬件初始化操作1. 配置CPU工作模式OBJMODE使能受保护寄存器访问EALLOW2. 禁用看门狗定时器WDCR寄存器配置避免程序启动阶段误触发复位3. 初始化RAM区域M0、M1、L0/L2/L3、L1将所有RAM空间清零确保变量初始状态稳定4. 跳转到C语言主函数c_int00完成从汇编启动到C程序的过渡。2.1.2 定时器与外设初始化DSP2803x_CpuTimers.c、DSP2803x_GlobalVariableDefs.cCPU定时器配置DSP2803x_CpuTimers.c实现了3个32位CPU定时器的初始化与配置功能。InitCpuTimers()函数将定时器周期初始化为最大值0xFFFFFFFF并停止定时器运行ConfigCpuTimer()函数支持根据输入的CPU频率MHz和定时周期μs自动计算定时器周期寄存器值同时配置定时器中断使能、自由运行模式等参数。实际应用中定时器0可用于通用定时任务定时器1/2预留用于DSP BIOS或实时操作系统。全局外设变量定义DSP2803xGlobalVariableDefs.c通过#pragma DATASECTION指令将ADC、PWM、GPIO、SCI等外设寄存器结构体映射到指定的数据段如AdcRegsFile、EPwm1RegsFile确保外设访问的地址正确性。同时定义了EmuKey、Flash_CPUScaleFactor等全局变量用于仿真调试和Flash运行参数校准。2.1.3 主程序框架main.c、mainInit_2803x.c主程序流程main.c定义了变频器的主运行逻辑按初始化→中断使能→循环任务的顺序执行1.系统控制初始化InitSysCtrl()完成PLL时钟配置如将20MHz外部晶振倍频至100MHz、Flash初始化、外设时钟使能等操作2.中断初始化InitInterrupt()禁用全局中断初始化PIEPeripheral Interrupt Expansion向量表将ADC中断、PWM过流中断等映射到对应的中断服务函数3.外设初始化InitPeripherals()配置GPIO引脚功能如PWM输出、编码器输入、ADC采样参数、PWM周期与死区4.电机控制初始化InitForMotorApp()初始化电机控制相关变量如速度给定、电流环参数设置电机运行初始状态5.循环任务主循环中通过时间差判断mDetaTime CTIME_05MS周期性执行0.5ms电机控制任务Main05msMotor()和2ms功能任务Main2msMotorA/B/C/D()同时执行非阻塞的0ms任务Main0msFunction()确保实时性与任务调度灵活性。硬件初始化细节mainInit_2803x.c提供了更细化的硬件初始化函数如InitPll()实现PLL锁相环配置支持根据目标频率自动调整倍频系数InitFlash()配置Flash流水线模式和等待周期优化Flash中代码的运行性能InitSetGpio()根据电机控制需求配置GPIO引脚的复用功能如将GPIO0/1配置为EPWM1A/B输出、上拉/下拉电阻和输入输出方向。2.2 电机控制层模块电机控制层是变频器的核心功能层位于02_motor目录下涵盖编码器测速、载波频率计算、电流坐标变换、电机主控制逻辑等功能支持异步电机的V/F控制、无速度传感器矢量控制SVC和有速度传感器矢量控制FVC。2.2.1 编码器测速MotorEncoder.c该模块支持ABZ编码器、UVW编码器和旋变Resolver三种速度反馈设备核心功能包括硬件接口初始化、速度计算与滤波。硬件接口适配ABZ编码器通过QEPQuadrature Encoder Pulse模块实现InitSetQEP()函数配置QEP计数器复位模式、捕获时钟分频系数启用位置计数器旋变由于TMS320F28035无专用旋变接口通过GPIO模拟串口通讯InitRtInterface()函数配置GPIO20REDVEL\、GPIO21SO、GPIO23SCLK为对应功能实现旋变位置信号的采样与解码。速度计算逻辑VCGetFeedBackSpeed()函数根据编码器类型选择不同的速度计算方式ABZ/UVW编码器通过GetFeedSpeedQEP()函数计算相邻采样周期内的位置变化量DetaPos和时间变化量DetaTime调用CalFeedSpeed()函数根据电机极对数、编码器线数计算实际电机速度单位rpm或Hz旋变在中断中采样旋变位置信号通过RotorTransCalVel()函数计算位置变化率得到电机速度并进行滤波处理避免高频噪声影响。2.2.2 载波频率与PWM调制MotorCarrier.c该模块实现载波频率自适应调整、PWM调制方式切换CPWM/DPWM和相位计算确保变频器输出波形质量与运行效率的平衡。载波频率计算CalCarrierWaveFreq()函数根据环境温度、电机运行频率和过载情况动态调整载波频率1. 温度补偿当温度超过70℃时逐步降低载波频率每20秒降低0.1kHz避免IGBT过热2. 频率限制根据机型功率如75kW以上机型最大载波频率6kHz和运行频率8Hz以下载波频率减半限制载波频率范围3. 过载调整当变频器过载超过50%时降低载波频率至4kHz减少开关损耗。PWM调制方式支持异步调制CPWM和同步调制DPWM自动切换异步调制适用于低频率段如75HzAsynPWMAngleCal()函数根据载波频率和电机运行频率计算每个载波周期内的相位变化步长同步调制适用于高频率段如75HzSynPWMAngleCal()函数根据预设的频率-载波比表如75Hz对应载波比80确保输出电压基波与载波同步减少谐波失真。2.2.3 电流坐标变换MotorCurrentTransform.c该模块实现电机控制中核心的坐标变换算法将三相电流转换为便于控制的两相旋转坐标系下的电流分量。Clark变换UVW→αβUVWToAlphBetaAxes()函数将三相定子电流UVW转换为两相静止坐标系下的αβ电流通过幅值不变变换公式确保变换前后电流幅值一致如α相电流 U相电流 × √2/2β相电流 (V相电流 - W相电流) × √3/2Park变换αβ→dqAlphBetaToDQ1()函数将αβ电流转换为两相旋转坐标系下的dq电流d轴为励磁分量q轴为转矩分量利用电机转子位置角θ的正弦和余弦值实现静止坐标系到旋转坐标系的对齐为电流环控制提供基础。2.2.4 电机主控制逻辑MotorMain.c该模块是电机控制的核心实现速度环、电流环、PWM输出等关键功能按定时周期分为0.5ms任务和2ms任务。0.5ms任务Main05msMotor()1. 速度反馈采集调用VCGetFeedBackSpeed()获取电机实际速度2. 速度环控制根据速度给定与反馈的偏差通过PI调节器计算转矩电流给定3. 电流环控制根据dq轴电流给定与反馈的偏差计算输出电压指令4. 相位计算根据电机速度和位置计算PWM输出的相位角为SVPWM调制做准备。2ms任务Main2msMotorA/B/C/D()1. 参数更新从功能模块获取最新的运行参数如速度给定、电机极对数2. 保护逻辑执行过流、过压、欠压等故障检测与处理3. 数据交互将电机运行状态如电流、电压、速度发送给功能模块用于显示与监控4. PWM调制根据电压指令和相位角生成SVPWM波形控制IGBT输出。2.3 参数辨识层模块参数辨识层02motor/paraestimation目录实现电机关键参数的自动检测为矢量控制提供准确的电机模型确保控制精度。核心文件包括MotorImParEst.c动态参数辨识和MotorImParStaticEst.c静态参数辨识。2.3.1 定子电阻辨识RsIdentify()定子电阻是电流环控制的关键参数通过向电机定子注入直流电流测量电压与电流的关系计算得到硬件配置配置PWM输出固定占空比的波形使电机定子绕组通入直流电流数据采集通过ADC采样定子电流和母线电压记录不同电流下的电压值参数计算根据欧姆定律R U/I计算定子电阻值并进行多次采样平均减少测量误差。2.3.2 互感与空载电流辨识LmIoIdentify()互感LM和空载电流I0影响电机的励磁控制通过电机空载运行时的参数测量实现空载启动控制电机以额定频率的80%空载运行确保电机处于空载状态数据采集采样电机运行时的励磁电流和端电压参数计算根据电机空载等效电路利用电压、频率与励磁电流的关系计算互感和空载电流。2.3.3 转子电阻与漏感辨识RrLoIdentify()转子电阻R2和漏感L0影响电机的动态响应通过电机堵转或低速运行时的参数测量实现堵转控制将电机转子固定向定子注入特定频率的交流电流数据采集采样定子电流、电压和功率参数计算根据堵转时的电机等效电路通过阻抗分析计算转子电阻和漏感。2.4 故障保护层模块故障保护层02motor/mainpublic/MotorInvProtect.c实现变频器全工况下的故障监控与处理覆盖过流、过压、欠压、过热、缺相、编码器故障等常见故障类型。2.4.1 过流保护硬件过流通过PWM模块的TZTrip Zone功能检测到过流信号后立即封锁PWM输出调用HardWareErrorDeal()函数记录故障电流值触发故障报警软件过流在电流采样中断中判断电流是否超过设定阈值如150%额定电流若超过则逐步降低输出电压若持续过流则封锁PWM。2.4.2 过压/欠压保护过压保护监测直流母线电压若超过设定阈值如810V for 380V机型则启用制动电阻若配置消耗多余能量或降低输出频率减少再生电能欠压保护若母线电压低于设定阈值如350V for 380V机型则停止PWM输出避免IGBT在低电压下损坏待电压恢复后重新启动。2.4.3 缺相保护输入缺相通过检测输入电压的波形完整性若某一相电压缺失如波形占空比异常则触发输入缺相故障停止变频器运行输出缺相通过检测三相输出电流的平衡度若某一相电流远小于其他两相如差值超过7倍则判断为输出缺相封锁PWM输出。2.4.4 过热保护通过温度传感器采集IGBT模块温度若温度超过设定阈值如95℃则逐步降低载波频率或输出电流若温度持续升高至105℃则停止变频器运行避免IGBT过热损坏。三、软件版本适配与差异源码支持MD290、MD380、MD500三种变频器型号通过SOFTSERIES宏定义区分主要差异体现在硬件配置、功能支持和保护参数上MD290定位低端经济型变频器不支持编码器测速仅支持V/F控制载波频率范围1-8kHzMD380定位中端通用型变频器支持SVC/FVC控制编码器测速ABZ/UVW载波频率范围2-12kHzMD500定位高端高性能变频器支持旋变测速、制动单元控制载波频率范围2-15kHz同时增加电流采样校正、多电机控制等功能。通过#if (SOFTSERIES MD500SOFT)等条件编译指令实现不同型号间的代码复用与差异适配降低维护成本。四、总结与应用建议汇川MD系列变频器源码采用模块化、分层设计兼顾了控制精度、运行稳定性和代码可维护性。核心优势包括硬件适配性强基于TMS320F28035 DSP支持多种外设接口ADC、PWM、QEP、SCI便于硬件扩展控制算法成熟实现SVPWM、Clark/Park变换、PI调节器等经典电机控制算法支持V/F、SVC、FVC多种控制模式保护机制完善覆盖过流、过压、欠压等全场景故障确保设备安全运行参数自辨识自动检测电机关键参数简化现场调试流程。实际应用中建议根据变频器型号和电机类型调整控制参数如电流环KP/KI、速度环KP/KI并通过示波器观察PWM输出波形和电流波形优化死区时间、载波频率等参数确保变频器运行在最佳状态。

更多文章