1. EV3100电梯专用变频器架构解析
EV3100作为一款专为电梯控制设计的高性能变频器,其软件架构充分考虑了电梯系统的特殊需求。整个系统运行在TI TMS320F2810 DSP平台上,采用汇编语言实现,确保了毫秒级的实时响应能力。在实际工程应用中,我们发现其架构设计有几个显著特点:
核心控制层采用中断驱动架构,主要包括:
- 50μs高速PWM中断服务程序(ISR):负责矢量控制算法执行
- 1ms定时中断:处理速度环控制
- 10ms定时中断:完成状态监测与故障保护
这种分层中断设计确保了关键控制任务不会被阻塞。我们在深圳某商业大厦项目中实测,即使在满载情况下,PWM中断的抖动时间也能控制在±2μs以内。
2. 电梯运行模式实现细节
2.1 距离控制模式关键技术
距离控制是电梯最核心的功能,其实现依赖于精确的位置测量。EV3100采用增量式编码器(通常为1024线/转)进行位置反馈,通过四倍频技术将分辨率提升到4096脉冲/转。在实际调试中,我们发现几个关键点:
-
自学习过程(SUB_STUDY)必须满足:
- 空载运行
- 全程匀速(建议0.5m/s)
- 连续通过所有楼层
-
层高数据存储在EEPROM的特定区域(地址0x8000-0x803F),采用16位无符号整型记录脉冲数。我们曾遇到某项目因电磁干扰导致数据异常,解决方案是:
assembly复制MOVW DP, #0x8000 ; 设置数据页
MOV AL, @0x0000 ; 读取首层高度
CMP AL, #0 ; 校验数据有效性
JEQ DATA_ERROR ; 跳转错误处理
2.2 多段速控制实现
多段速控制通过X1-X3端子的组合状态选择速度曲线。在代码中,这体现为:
assembly复制LDP #0x600 ; 映射到GPIO寄存器页
BIT X1_PORT, X1_PIN ; 检测X1状态
BFF X1_ACTIVE, EQ ; 条件跳转
实际应用中需要注意:
- 端子输入必须做20ms软件消抖
- 速度切换时需确保加速度不超过F3.12设定值
- 建议在井道两端设置强迫减速信号(常闭触点)
3. S型速度曲线生成算法
3.1 曲线参数计算
S曲线生成是电梯舒适性的关键。EV3100采用三段式算法:
- 加加速阶段(jerk>0)
- 匀加速阶段(jerk=0)
- 减加速阶段(jerk<0)
核心计算公式:
code复制当前加速度 a = a_prev + jerk × Δt
当前速度 v = v_prev + a × Δt
当前位置 s = s_prev + v × Δt
在代码中,这通过定点数运算实现:
assembly复制MOVL XAR7, #ACCEL_TABLE ; 加载加速度表指针
MPY P, @XAR7++, #32767 ; Q15格式乘法
ADD ACC, P << 1 ; 累加到加速度寄存器
3.2 动态调整机制
当收到新的楼层指令时,系统会重新计算剩余距离的S曲线。我们开发了一个调试工具可以实时捕获曲线数据,典型参数如下:
| 参数 | 默认值 | 调整范围 | 影响 |
|---|---|---|---|
| 加速度(F3.11) | 0.8m/s² | 0.3-1.2m/s² | 启动冲击感 |
| 加加速度 | 1.5m/s³ | 0.8-3.0m/s³ | 舒适度 |
| 爬行速度 | 0.1m/s | 0.05-0.15m/s | 平层精度 |
4. 端子逻辑编程实践
4.1 输入端子配置
通过F5组参数可以灵活定义端子功能。例如将X4配置为消防返回功能:
code复制F5.03 = 12 (消防返回功能码)
F5.14 = 0001H (逻辑字最低位有效)
在代码中,这对应于:
assembly复制MOV PHANTOM_INPUT, #0001H ; 设置逻辑输入字
CMP FUNCTION_CODE, #12 ; 检查功能码
BEQ FIRE_MODE_HANDLER ; 跳转处理程序
4.2 输出端子应用
Y1端子常用来指示运行状态,典型配置:
code复制F5.30 = 1 (运行中输出)
F5.31 = 3 (故障输出)
实际接线时需要注意:
- 继电器输出需并联续流二极管
- 晶体管输出最大电流0.5A
- 避免与强电线同槽敷设
5. 通信协议实现
5.1 Modbus RTU协议栈
EV3100使用SCI接口实现Modbus RTU,关键数据结构:
assembly复制Modbus_Frame STRUC
Address DB ? ; 从站地址
Function DB ? ; 功能码
DataPtr DW ? ; 数据指针
Length DW ? ; 数据长度
CRC DW ? ; 校验码
Modbus_Frame ENDS
常见故障处理:
- 通信超时:检查F9.10(波特率)设置
- CRC错误:确认停止位(通常设1位)
- 从站无响应:检查终端电阻(120Ω)
5.2 参数读写操作
读取运行速度(F9.01)的Modbus命令示例:
code复制01 03 00 01 00 01 D5 CA
对应的响应帧:
code复制01 03 02 00 64 38 1F
(表示当前速度为1.00m/s)
6. 安全保护机制
6.1 故障检测系统
EV3100实现了三级故障检测:
- 硬件保护(PDPINT引脚)
- 软件快速检测(50μs周期)
- 综合诊断(10ms周期)
典型故障处理流程:
assembly复制FAULT_HANDLER:
CLRC INTM ; 允许嵌套中断
MOV IER, #0 ; 禁用所有中断
SETC DBGM ; 冻结PWM
MOV AL, #FAULT_CODE
CALL SAVE_DIAG_DATA ; 保存诊断数据
JMP SAFE_STATE ; 进入安全状态
6.2 故障代码解析
常见故障及对策:
| 代码 | 描述 | 可能原因 | 解决方案 |
|---|---|---|---|
| E001 | 过流 | 电机短路 | 检查绝缘电阻 |
| E003 | 过压 | 减速过快 | 调整F3.14 |
| E009 | 编码器异常 | 信号干扰 | 检查屏蔽层 |
7. 参数管理系统
7.1 参数存储结构
EEPROM存储布局:
| 地址范围 | 内容 | 备注 |
|---|---|---|
| 0x0000-0x0FFF | 用户参数 | 可修改 |
| 0x1000-0x1FFF | 系统参数 | 厂家设置 |
| 0x8000-0x8FFF | 运行数据 | 自动记录 |
参数写入流程:
assembly复制WRITE_PARAM:
MOV AR6, #PARAM_ADDR
MOV AR7, #PARAM_VALUE
CALL EEPROM_PROGRAM
CMP AL, #0
JNE WRITE_ERROR
RET
7.2 参数保护机制
为了防止误操作,EV3100设置了多级保护:
- 键盘密码(F0.00)
- 参数锁定(F0.01)
- 厂家权限(FE组)
在调试现场,我们建议:
- 修改前备份所有参数
- 先修改F0.01=1允许写入
- 修改完成后执行F0.02=1保存
8. 调试与优化经验
8.1 启动参数整定
电机参数自学习步骤:
- 设置F1.00=电机类型
- F1.01=额定功率
- F1.02=额定电压
- 执行F1.31=1(静态自学习)
- 执行F1.32=1(动态自学习)
常见问题:
- 自学习失败:检查电机接线
- 振动大:调整F2.11(载波频率)
- 启动冲击:优化F3.11(加速度)
8.2 平层精度调整
影响平层精度的关键因素:
- 编码器安装同心度(应<0.1mm)
- 钢丝绳打滑量(需定期张紧)
- 爬行速度设置(建议0.08-0.12m/s)
调整方法:
- 测量各层平层误差
- 修改F4.05(平层补偿)
- 重复测试直至误差<±3mm
在长期维护中发现,每季度检查一次编码器连接器和钢丝绳张力,可以保持最佳运行状态。对于高层电梯,建议在中间层增加强迫减速开关作为位置校验点。
