Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于LED阵列的365nm紫外光自动匀光系统

Design and Implementation of a 365nm UV LED Array Auto-Uniformity System for Photolithography

📋 项目概述

本项目设计并实现了一套基于 365nm紫外LED阵列 的自动匀光系统,主要应用于光刻(Photolithography) 领域。系统通过96通道的高精度光强传感器阵列实时检测曝光平面光强分布,结合最小二乘法匀光调控算法和PID闭环控制,实现曝光平面光强的自动均匀化调控。

  • 作者:whale

🎯 项目背景

光刻技术是微纳制造领域的核心支撑技术,曝光平面光强均匀性直接影响光刻图形精度。传统汞灯光源存在能耗高、寿命短、均匀性调控困难等问题。365nm紫外LED具有低功耗、长寿命、快速响应等优势,但多LED阵列拼接时因灯珠特性差异和光学衰减易导致光强分布不均。

本项目通过构建"检测→计算→调控"闭环控制系统,实现了曝光平面光强均匀性的实时动态补偿,匀光精度目标达到±5%以内。


🏗️ 系统架构

┌─────────────────────────────────────────────────────────┐
│                    PC (LabVIEW)                          │
│  ┌─────────────┐  ┌────────────┐  ┌─────────────────┐  │
│  │ 数据采集模块 │  │ 匀光算法   │  │ 数据处理与显示  │  │
│  │ (VISA/串口) │  │ (最小二乘) │  │ (Excel/TXT/图表)│  │
│  └──────┬──────┘  └─────┬──────┘  └─────────────────┘  │
└─────────┼───────────────┼────────────────────────────────┘
          │ 串口/WiFi     │ PWM控制
          ▼               ▼
┌─────────────────────────────────────────────────────────┐
│               ESP8266 主控制器                            │
│  ┌──────────┐  ┌──────────┐  ┌──────────────────────┐  │
│  │ I2C总线   │  │ GPIO控制 │  │ WiFi AP + TCP Server │  │
│  │ (50kHz)  │  │ (A,B,C)  │  │ (SSID : 8888)     │  │
│  └─────┬────┘  └────┬─────┘  └──────────────────────┘  │
└────────┼────────────┼────────────────────────────────────┘
         │            ▼
         │    ┌───────────────┐
         │    │ 12× DG4051    │  8通道模拟多路复用器
         │    │ MUX阵列       │  (C:GPIO12, B:GPIO14, A:GPIO16)
         │    └───────┬───────┘
         ▼            ▼
┌─────────────────────────────────────────────────────────┐
│              96通道传感器采集层                            │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐               │
│  │ ADS1015#1│  │ ADS1015#2│  │ ADS1015#3│  12位ADC      │
│  │ (0x48)   │  │ (0x49)   │  │ (0x4A)   │  ±0.256~±6.144V│
│  │ CH0~CH3  │  │ CH0~CH3  │  │ CH0~CH3  │               │
│  └──────────┘  └──────────┘  └──────────┘               │
│       × 8 MUX通道 × 12 组 = 96 通道                      │
└──────────────────────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────────────────────┐
│         9× LED灯板 365nm UV LED阵列                       │
│     PWM独立调光 | 365nm波长 | 紫外光刻胶敏感波段          │
└─────────────────────────────────────────────────────────┘

硬件组成

组件 型号/参数 数量 用途
主控芯片 ESP8266 (NodeMCU) 1 系统控制、通信、ADC采集
ADC芯片 ADS1015 (12-bit) 3 光强传感器模拟信号数字化
多路复用器 DG4051 (8通道) 12 扩展ADC通道至96路
UV LED灯板 365nm紫外LED 9 曝光光源(PWM可调)
光强传感器 紫外光电探测器 37 (96通道) 曝光平面光强检测
PCB板 定制设计 若干 传感器阵列、驱动电路
电源模块 DC稳压电源 1 系统供电

软件组成

软件 语言/平台 功能
ESP8266固件 Arduino C++ 96通道ADC采集、MUX控制、WiFi通信
LabVIEW上位机 LabVIEW 2017 数据采集、匀光算法、PWM控制、数据显示
Python数据处理 Python 3 TXT→Excel批量转换、数据后处理

📁 项目文件结构

uv-auto-flat-repo/
├── README.md                    # 项目说明文档
├── docs/                        # 文档目录
│   └── 开题报告.pdf             # 开题报告(原版PDF)
├── firmware/esp8266/             # ESP8266固件
│   ├── channel37/               # 主固件(96通道)
│   │   └── channel37.ino        # 完整96通道ADC采集程序
│   └── example/                 # 优化版固件
│       └── example.ino          # 抗干扰优化版(中值滤波+校准)
├── labview/                     # LabVIEW上位机程序
│   ├── read37(test_pro).vi      # 主采集VI(含控制界面)
│   ├── sub_vi/                  # 子VI模块
│   │   ├── auto_light.vi        # 自动匀光控制
│   │   ├── auto_calibration.vi  # 自动校准
│   │   ├── data_process.vi      # 数据处理
│   │   ├── Least squares solution.vi  # 最小二乘求解
│   │   ├── 测光强.vi            # 光强测量
│   │   ├── median and average.vi    # 中值滤波与均值
│   │   ├── read37.vi            # 37通道读取
│   │   ├── read37 and record.vi # 读取并记录
│   │   ├── TSVD.vi              # 截断SVD正则化
│   │   └── λ.vi                 # 波长参数
│   ├── raw_data/                # 原始采集数据
│   │   ├── S_rawdata_b1~b9.txt  # 传感器标定数据
│   │   ├── board_1.vi           # 单板数据采集
│   │   ├── data_process.vi      # 数据处理
│   │   ├── out.xlsx / out1.xlsx # 处理后数据
│   │   └── b9/                  # 实测数据(19组时间序列)
│   └── median and average.vi    # 根目录数据处理VI
├── python/                      # Python辅助脚本
│   └── txt_excel.py             # 批量TXT→Excel转换
└── 实测/                        # 实测照片
    ├── 光强30/                  # 光强30档实测照片+视频
    │   ├── IMG_20250917_*.jpg   # 6张实测照片
    │   └── 光强30.mp4            # 实测视频
    └── 光强40/                  # 光强40档实测照片
        └── IMG_20250917_*.jpg   # 6张实测照片

⚙️ 核心功能

1. 多通道高精度数据采集

  • 96个独立ADC通道:3个ADS1015 × 4通道 × 8 MUX组
  • 可编程增益:±0.256V / ±0.512V / ±1.024V / ±2.048V / ±4.096V / ±6.144V
  • 双模式通信:串口(115200bps) + WiFi(TCP Server, 端口8888)
  • 采样优化:中值滤波(5次采样去掉极值取平均)、I2C降速至50kHz抗干扰

2. 自动匀光控制

  • LED-传感器映射标定:逐LED逐档位标定,建立9块LED灯板对37个传感器(96通道)的贡献权重矩阵
  • 最小二乘求解:基于标定矩阵,以目标光强为约束,求解各LED最优PWM值
  • TSVD正则化:引入截断奇异值分解抑制噪声干扰
  • PID辅助调节:弥补最小二乘法动态响应不足,减少超调

3. 闭环控制系统

设定目标光强 → 最小二乘计算PWM → LED阵列发光
                                   ↓
                              传感器采集光强
                                   ↓
                              计算均匀性误差
                                   ↓
                    ┌─── 误差<阈值? ───┐
                    ↓ 否                ↓ 是
              PID+最小二乘调整      维持当前PWM

4. ESP8266固件命令集

命令 功能 示例
READ 读取所有96通道 READ
READSLOW 慢速稳定读取 READSLOW
GAIN:n 设置ADC增益 GAIN:1 (设±4.096V)
TESTCH:n 测试单个通道 TESTCH:42
CALIBRATE 校准所有通道 CALIBRATE
CALCH:n 校准单通道 CALCH:30
AUTO:n 自动读取间隔ms AUTO:1000
STOP 停止自动读取 STOP
STATUS 系统状态 STATUS

📊 实测数据示例

传感器标定数据 (S_rawdata_b1.txt)

6.59,6.31,7.19,6.83,8.66,6.06,6.41,6.65,6.59
6.59,6.31,7.19,6.83,8.67,6.06,6.41,6.65,6.58
7.01,7.06,8.06,7.23,9.11,6.86,6.70,7.11,7.17
...

9列数据对应9块LED灯板在不同PWM档位下的传感器检测值矩阵

实时ADC采集数据 (b9/13.txt)

CH0:2,0.000250V
CH1:2,0.000250V
CH3:4603,0.575375V    ← 有光感应的通道
CH20:4706,0.588250V   ← 有光感应的通道
CH24:4712,0.589000V   ← 有光感应的通道
...

每组36通道 × 12次读取(共432行),可看到光敏通道电压明显高于背景


🔬 算法详解

最小二乘法匀光模型

设 LED灯板PWM值向量为 x = [x₁, x₂, ..., x₉]ᵀ,传感器检测光强向量为 y = [y₁, y₂, ..., y₃₇]ᵀ,标定得到的映射矩阵为 A (37×9):

y = A · x

目标光强为 y_target,优化目标:

min || A·x - y_target ||²₂

加入Tikhonov正则化:

min || A·x - y_target ||²₂ + λ||x||²₂

最优解:

x* = (AᵀA + λI)⁻¹ Aᵀ y_target

通过TSVD(截断奇异值分解)处理AᵀA可能存在的病态问题。


💰 项目成本估算

类别 组件 数量 单价(元) 小计(元)
主控与通信 ESP8266 NodeMCU 1 15 15
ADC采集 ADS1015模块 3 8 24
多路复用 DG4051芯片 12 3 36
光源 365nm UV LED灯板 9 30 270
传感器 紫外光电探测器 37 20 740
PCB制作 定制PCB板 3 80 240
驱动电路 PWM驱动模块 9 15 135
电源 DC稳压电源模块 1 120 120
I2C电平转换 1 5 5
结构件 遮光罩/暗箱 1 200 200
光学滤光片 1 150 150
支架与机械件 若干 100 100
线材与辅料 杜邦线、排针、焊锡等 若干 100 100
软件 LabVIEW (教育版) 1 0 0
合计 2,135元

🎯 性能指标

指标 目标值 当前状态
匀光精度(均匀性误差) ±5% 开发中
系统响应时间 ≤0.5s 开发中
稳态误差 ≤2% 开发中
ADC采样通道数 96 ✅ 已实现
采样精度 12-bit ✅ 已实现
通信方式 串口+WiFi ✅ 已实现
标定功能 逐LED逐档位 ✅ 已实现
中值滤波 5采样去极值 ✅ 已实现

🚀 快速开始

1. ESP8266固件烧录

# 使用Arduino IDE打开 firmware/esp8266/channel37/channel37.ino
# 安装依赖库:Adafruit ADS1X15, ESP8266WiFi
# 选择开发板:NodeMCU 1.0 (ESP-12E Module)
# 烧录即可

2. LabVIEW上位机

  • 需安装 NI LabVIEW 2017 或更高版本
  • 需安装 NI VISA 驱动(用于串口通信)
  • 打开 labview/read37(test_pro).vi 运行

3. 数据后处理

# 批量转换传感器原始数据到Excel
cd python
python3 txt_excel.py

📅 研究进度(计划)

时间 阶段 内容
2026.01-02 方案设计 文献调研、系统方案、开题报告
2026.02-03 硬件开发 PCB设计、元器件采购、硬件集成
2026.03-04 标定实验 LED-传感器映射标定、数据预处理
2026.04-05 算法开发 最小二乘法匀光算法、闭环控制
2026.05-06 系统测试 匀光精度测试、优化改进
2026.06-08 论文撰写 数据整理、论文定稿、答辩准备

📝 技术难点与解决方案

难点 解决方案
96通道高速采集干扰 I2C降速至50kHz、MUX稳定延时、中值滤波
365nm紫外光检测噪声 硬件遮光+软件卡尔曼滤波+3σ异常值剔除
LED标定矩阵病态问题 TSVD正则化 + Tikhonov正则项
闭环控制动态响应 最小二乘前馈 + PID反馈混合控制
WiFi/串口双模通信冲突 双缓冲区独立处理、事件驱动架构

📄 许可证

本项目为学术研究项目,代码和文档仅供参考学习。


📮 联系方式

  • 作者:whale

  • 课题:基于LED阵列的365nm紫外光在光刻领域的自动匀光系统设计与实现


最后更新:2026年5月

About

基于LED阵列的365nm紫外光自动匀光系统 | 365nm UV LED Auto-Uniformity System for Photolithography

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages