工业沙盘模型动态灯光控制系统:基于STM32与Modbus的实现

工业沙盘模型动态灯光控制系统:基于STM32与Modbus的实现

一、引言

在工业沙盘模型(如电厂、物流线、化工装置)中,动态灯光演示是展示工艺流程、能量流向的核心手段。传统静态模型只能看外观,无法还原“燃料→燃烧→锅炉→汽轮机→发电机”的完整逻辑。本文结合一个真实的海外EPC项目(国机集团柬埔寨2×450MW燃机联合循环电站沙盘),给出基于STM32+Modbus的完整控制方案,包含硬件选型、软件设计、代码示例及现场调试经验。

二、系统需求

  • 还原燃气轮机、余热锅炉、蒸汽轮机、LNG接收站等核心设备。
  • LED灯光按6级流程顺序流动:LNG气化→燃气轮机做功→余热锅炉产汽→蒸汽轮机发电→电能升压→并网。
  • 支持中控平板遥控启停、速度调节(5档),并预留DCS接口。
  • 灯光颜色区分设备:LNG用浅蓝、燃机用金色、锅炉用橙红、汽轮机用深紫、发电机用深蓝、并网用亮白。

三、硬件架构

层级选型功能
主控层STM32F103RCT6接收指令,控制灯光时序
驱动层WS2812B可寻址LED灯带(60灯/米)独立控制每个灯珠
电源层12V转5V稳压模块+过流保护为灯带及主控供电
通讯层Modbus RTU(RS485)与中控平板通讯,预留Wi-Fi

四、软件设计

4.1 灯光流程定义

定义6个阶段的灯珠起止索引(以160灯为例):

int stages[6][2] = {
    {0, 30},   // LNG气化区
    {31, 60},  // 燃气轮机
    {61, 90},  // 余热锅炉
    {91, 120}, // 蒸汽轮机
    {121, 140},// 发电机
    {141, 160} // 并网
};
4.2 主循环代码(Arduino框架)
cpp
#include <FastLED.h>
#define LED_PIN 5
#define NUM_LEDS 160
CRGB leds[NUM_LEDS];
int speed = 100; // 毫秒/灯珠,可通过串口调节

void setup() {
    FastLED.addLeds<WS2812B, LED_PIN, GRB>(leds, NUM_LEDS);
    Serial.begin(9600);
}

void loop() {
    if (Serial.available()) {
        char c = Serial.read();
        if (c >= '1' && c <= '5') speed = 100 - (c-'1')*20;
    }
    for(int s=0; s<6; s++) {
        for(int i=stages[s][0]; i<=stages[s][1]; i++) {
            switch(s) {
                case 0: leds[i] = CRGB::LightBlue; break;
                case 1: leds[i] = CRGB::Gold; break;
                case 2: leds[i] = CRGB::OrangeRed; break;
                case 3: leds[i] = CRGB::Purple; break;
                case 4: leds[i] = CRGB::DarkBlue; break;
                case 5: leds[i] = CRGB::White; break;
            }
            FastLED.show();
            delay(speed);
            leds[i] = CRGB::Black;
        }
        delay(500);
    }
}
4.3 Modbus通讯协议
定义寄存器映射:

地址	功能	数据类型
40001	启停(1启动,0停止)	bit
40002	速度档位(1-5)	uint16
40003	当前阶段(1-6)	uint16
中控平板发送Modbus命令即可远程控制。

五、现场调试经验
灯带供电:每米灯带电流约0.3A(5V),5米以上需从两端供电,避免亮度不均。

故障模拟:客户要求增加“阀门卡涩”故障演示,我们在主循环中加入虚拟故障点触发逻辑,使灯光在指定阶段停留并闪烁,一周内完成升级。

剖切模型灯光集成:燃机剖切处将LED灯带贴于外壳内壁,边缘用导光条柔化光线,避免刺眼。

六、项目参数
沙盘尺寸:4.2m × 2.1m

灯带总长:约65米

控制系统:STM32 + 中控平板(Modbus RTU)

制作周期:45天(含程序开发)

制作单位:筑城世纪模型(北京通州宋庄2000㎡制作工厂)

七、参考资料
FastLED库官方文档

Modbus RTU协议规范

本文作者:筑城世纪模型技术团队
更多技术案例:https://www.zcsjmodel.com
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值