首页 > 其他分享 >剪裁法设计配光器

剪裁法设计配光器

时间:2024-07-04 17:43:30浏览次数:14  
标签:frac 剪裁法 site 光器 设计 theta alpha pi sin

剪裁法设计配光器

剪裁法设计配光器

一、设计原理

  1. 边光原理
    边光原理是非成像光学中的一个基础原理,其内容可以表述为:来自光源边缘的光线经过若干有序正则光学曲面后依然落在投射光斑的边缘,而来自光源内部的光线也将落在光斑内部。这里的边缘包含两层含义:①二维曲面边缘;②光束立体角边缘。对于需要考察光斑内部分布的照明配光器件而言,利用边光原理可以生成一个基础方案,也为设计带来方便。
    其核心思想就是 “边缘对边缘” ,可以作如下具体的表述:
    若一个具有一定光展的光源发出的光线经过一个或几个序列化的单调正则光学表面的光学作用后投向目标面形成光斑,则整个光学过程具有以下两个性质:一是光源的边光成为光斑的边光;二是光源的内光映射为光斑的内光,并保持光线的拓扑结构不变。
    如图3.37所示,唯有\(C_i\)不是边光,而是内部光线,简称内光。


8fd3ee9430fe1afadc4bbd8936842548.png

  1. 反射定律
    在均匀介质中,由费马原理可以导出反射定律。反射定律包含两点:①入射光线、法线和反射光线共面;②入射角和反射角相等。主要应用于镜面或界面等光学器件设计。
    一条光线从\(P_1\)点出发,在镜面\(M\)的\(A\)点反射,转而折向\(P_2\)点。\(P_1\)到\(P_2\)的距离与\(Q\)到\(P_1\)的距离相等,这里\(Q\)是\(P\)的镜像。如果光沿着路径\(P_1BP_2\)传播,其距离等于路径 \(QBP_2\)的距离,或者沿着路径\(P_1CP_2\)传播,其距离等于路径 \(QCP_2\)的距离,那么它传播更远的距离。这个原理解释了为什么入射光线与表面法线的夹角\(\alpha\)等于反射光线与法线的夹角。图3.25(a)为原理图。
    以数学的形式,图3.25(b)中\(P_1\)和\(P_2\)两点间的距离\(S\)为

    \[S = \sqrt{a ^ 2 + x ^ 2} + \sqrt{b ^ 2 +(d - x) ^ 2} \]

    从而W

    \[\frac{dS}{dx} = \frac{1}{2}\frac{2x}{\sqrt{a ^ 2 + x ^ 2}} - \frac{1}{2}\frac{2(d - x)}{b ^ 2 + (d - x) ^ 2} = sin{\alpha_1} - sin{\alpha_2} \]

    我们要寻找点\(A\)位置\(\alpha\)使得\(P_1\)和\(P_2\)的距离是最小的。使得\(S\)取得最小值的\(x\)的值可以通过\(\frac{dS}{dx}\)获得,从而

    \[sin{\alpha_1} = sin{\alpha_2} \Leftrightarrow \alpha_1 = \alpha_2 \]

    这便是反射定律。


d60eeeebcf028fc79b0506c69a80e026.png

二、设计目标

  1. 距配光器底部距离\(d = 20mm\)的LED发出的光线通过配光器反射后能投射至\(H = 3000mm\)的目标面,形成一个半径为\(r_N = 500mm\)均匀圆斑。
  2. 对于均匀圆斑,要求均匀度\(\eta > 0.9\),光效\(\varepsilon > 0.9\).

三、设计方法

剪裁法配光系统大致如下图所示。将光源角空间进行分割记为\(\theta_i\),同时将目标面分割记为\(r_i\);通过能量分配建立\(\theta_i\)与\(r_i\)之间的映射关系,求出\(\theta_i\)和\(r_i\);最后通过反射定律求出由\(P_i\)构成的光学母线。由于对称,故在设计过程中可以只考虑二维平面下的半边。


fc4b505bc5b75d4c9f69667a576bc1b6.png

1、 光源角分割

本次设计中选用的LED光源为朗伯型光源,故该光源有如下光强分布:

\[I = I_0 cos{\theta} \]

已知光通量光强关系式:

\[I_V = \frac{d \phi_V}{d \Omega} \]

\[\varphi = \int I_V d \Omega \]

故可推得:

\[\varphi = \int_{\theta_i}^{\theta_j} I sin{\theta} d \theta \]

\[\varphi = I_0 \int_{\theta_i}^{\theta_j} cos{\theta} sin{\theta} d \theta \]

将光源角按照能量等分形式进行分割。已知总能量\(\varphi_a\),等分为\(N\)份,则有单份能量\(\varphi_i = \frac{\varphi_a}{N}\),可以推得:

\[\varphi_i = I_0 \int_{\theta_i}^{\theta_{i + 1}} cos{\theta} sin{\theta} d \theta \]

\[\varphi_i = \frac{1}{2} I_0 [sin{\theta_{i + 1}} ^ 2 - sin{\theta_i} ^ 2] \]

代入\(\varphi_i = \frac{\varphi_a}{N}\),可得

\[\theta_{i + 1} = arcsin{\sqrt{\frac{2 \varphi_a}{N I_0} + sin{\theta_i} ^ 2}} \]

2、目标面分割

因为对光源角进行了等能分割,故对目标面进行等面积分割。
目标光斑面积为:

\[S_a = \pi r_N ^ 2 \]

将目标光斑面积等分为\(N\)份,则中心圆面积为:

\[S_1 = \pi r_1 ^ 2 \]

其余圆环面积为:

\[S_i = \pi (r_i ^ 2 - r_{i - 1} ^ 2) \]

使得任意\(i \in [1, N]\)均有:

\[S_i = \frac{S_a}{N} \]

可以得到:

\[S_1 = \pi r_1 ^ 2 = \frac{\pi r_N ^ 2}{N} \]

化简得:

\[r_1 = \sqrt{\frac{r_N ^ 2}{N}} \]

对于\(i \in [2, N]\)则有:

\[r_i = \sqrt{\frac{r_N ^ 2}{N} + r(i - 1) ^ 2} \]

3、建立映射关系

等能分割后的光源角与等面积分割的目标面一一对应,映射的光源分割角\(\theta_i\)与目标分割圆环半径\(r_i\)计算公式如下:

\[\begin{cases} r_1 = \sqrt{\frac{r_N ^ 2}{N}} \\ r_i = \sqrt{\frac{r_N ^ 2}{N} + r(i - 1) ^ 2}, & i \in [2, N] \end{cases} \]

\[\begin{cases} \theta_1 = arcsin{\sqrt{\frac{1}{N}}} \\ \theta_i = arcsin{\sqrt{\frac{1}{N} + sin{\theta_{i - 1}} ^ 2}}, & i \in [2, N] \end{cases} \]

4、建立反射关系,求解\(P_i\)(光学母线)


示意图片2.png

反射光路大致如上图所示,其中\(\alpha\)为入射光线和反射光线之间的夹角,\(a\)为LED到目标面落点之间的距离,\(b\)为LED到反射点之间的距离,\(c\)为反射点到目标面落点之间的距离。
则根据余弦定理,可以求得角\(\alpha\)为:

\[\alpha = arccos{\frac{b ^ 2 + c ^ 2 - a ^ 2}{2 b c}} \]

同时,已知下一发射角\(\theta_{i + 1}\),设当前斜边长为\(L_1\),反射面长为\(L_2\),根据余弦定理,则有:

\[\frac{L_2}{sin{\theta_{i + 1} - \theta_i}} = \frac{L_1}{sin{\frac{\pi}{2} - \alpha + \theta_i - \theta_{i + 1}}} \]

易推反射光线与下一反射面的夹角为\(\alpha + \frac{\pi}{2}\),故可以推得下一反射面反射点的坐标\((x_{i + 1}, y_{i + 1})\):

\[\left[ \begin{matrix} x_{i + 1} \\ y_{i + 1} \end{matrix} \right] = \left[ \begin{matrix} cos{\alpha + \frac{\pi}{2}} & sin{\alpha + \frac{\pi}{2}}\\ -sin{\alpha + \frac{\pi}{2}} & cos{\alpha + \frac{\pi}{2}} \end{matrix} \right] \left[ \begin{matrix} x_i \\ y_i \end{matrix} \right] \]

经过迭代即可求得光学母线。

四、设计步骤

1、设计参数

\[\begin{matrix} d = 20mm \\ H = 3000mm \\ LED 1616 \\ r_N = 500mm \\ \end{matrix} \]

2、编写matlab程序,计算光学母线

main.m

%% 初始化
clc
clear

%% 参数设定
H = 3000;   % 目标面距离
RN = 500;  % 目标光斑半径
N = 10000;  % 曲面细分
d = 20;     % 初始定点距离

%% 坐标运算
y = RS_site(H, d, RN, N);
y = real(y);    % 略去虚部

%% 绘制图像
plot(y(:, 1), y(:, 2));
axis equal;
grid on;
y = [y, zeros(length(y), 1)];

%% 保存抛物线数据
save('裁剪法反射面数据.txt', 'y', '-ascii');

RS_site.m

function site = RS_site(H, d, l, N)
    % 计算剪裁法反射面母线坐标
    % H为LED到目标面的距离
    % d为LED到首个反射点之间的距离
    % l为目标光斑半径
    % N为分割点数
    theta = zeros(N, 1);    
    theta(1) = asin(sqrt(1 / N));   % 初始角度
    L1 = d / cos(theta(1));  % LED到首点之间距离
    site = zeros(N, 2);      % 为反射面坐标分配内存
    site(1, :) = [d * tan(theta(1)), d];   % 反射面上首个坐标
    r = zeros(N, 1);
    r(1) = sqrt(l ^ 2 / N);  % 按照能量分配计算得到中心圆的半径
    for i = 2 : N
        theta(i)=asin(sqrt(1 / N + (sin(theta(i - 1))) ^ 2));   % 计算每一反射点对应角度
        r(i) = sqrt(l ^ 2 / N + r(i - 1) ^ 2);                  % 计算当前接收面环带外半径
        t = [r(i - 1), -H];
        a = norm(t);    % 求解LED到目标面落点之间的距离
        c = norm(site(i - 1, :) - t);   % 求解反射点到目标面落点之间的距离
        alpha = acos((L1 ^ 2 + c ^ 2 - a ^ 2) / (2 * L1 * c)) / 2;  % 求解入射光线与反射光线之间的夹角
        L2 = L1 * sin(theta(i) - theta(i - 1)) / sin(pi / 2 - alpha + theta(i - 1) - theta(i)); % 求解该段反射面长度
        % 计算反射点坐标
        t = -site(i - 1, :) / norm(site(i - 1, :)) * L2;
        tsite = site(i - 1, :)' + ...
            [cos(alpha + pi / 2), -sin(alpha + pi / 2); sin(alpha + pi / 2), cos(alpha + pi / 2)]...
            * t';
        site(i, :) = tsite';
        % 初始化下一段斜边长
        L1 = norm(site(i, :));
    end
    site = [0, d; site];
end

计算得到光学母线:


光学母线.png

3、将计算好的光学母线数据导入SolidWorks,建立配光器模型


solidworks草图绘制.png


solidworks零件示意图.png

4、在SolidWorks中保存零件为.sat(R20)格式,并导入TracePro中

添加规格为1.6mm * 1.6mm的朗伯型光源作为LED光源,并在3000mm外设立接收板,为光源添加波长为\(555nm\)的光线,进行光线追迹。


裁剪法配光器tracepro示意图.png


裁剪法配光器光线追迹图.png

得到接收面的辐照度分析图,包括中心点和其他任意点的分析。


100000000条光线辐照度分析图1.png


100000000条光线辐照度分析图2.png


100000000条光线辐照度分析图3.png


100000000条光线辐照度分析图4.png


100000000条光线辐照度分析图5.png

五、误查分析

从仿真结果可以看出,光效为\(0.99\),均匀度大于\(0.95\),均满足均匀度\(\eta > 0.9\),光效\(\varepsilon > 0.9\)的设计目标。但在中间处有一定的下凹,可能是因为LED光源对反射光线的遮挡所导致的。考虑到剪裁法对目标面进行细分,以光通量角映射目标面或许会有一定的误查。

六、参考

  1. 张航, 严金华. 非成像光学设计[M]. 北京: 科学出版社, 2016.
  2. 基于剪裁法的反射面设计.

标签:frac,剪裁法,site,光器,设计,theta,alpha,pi,sin
From: https://www.cnblogs.com/zbyisgudi/p/18284305

相关文章

  • CPC配光系统设计
    CPC配光系统设计CPC配光系统设计一、设计原理边光原理边光原理是非成像光学中的一个基础原理,其内容可以表述为:来自光源边缘的光线经过若干有序正则光学曲面后依然落在投射光斑的边缘,而来自光源内部的光线也将落在光斑内部。这里的边缘包含两层含义:①二维曲面边缘;②光束立体角......
  • STM32秒表设计【课设4/5】
    引言终于轮到我们最后的八段LED了!作为秒表的眼睛,必不可少的就是显示模块。八段LED初始化直接就叫做LED_Init()吧voidLED_Init(void){GPIO_InitTypeDefled; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE); led.GPIO_Mode=GPIO_Mode_IPU; led.GPIO_Pin=GPI......
  • 软件开发资料汇总(规格说明书、详细设计、测试计划、验收报告)
       前言:在软件开发过程中,文档资料是非常关键的一部分,它们帮助团队成员理解项目需求、设计、实施、测试、验收等各个环节,确保项目的顺利进行。以下是各个阶段的文档资料概述:软件项目管理部分文档清单: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求......
  • 设计模式实现思路介绍
    设计模式是在软件工程中用于解决特定问题的典型解决方案。它们是在多年的软件开发实践中总结出来的,并且因其重用性、通用性和高效性而被广泛接受。设计模式通常被分为三种主要类型:创建型、结构型和行为型。创建型设计模式创建型设计模式专注于如何创建对象,以确保系统在创......
  • 基于STM32单片机的智能垃圾桶控制系统 语音识别 LD3322 垃圾分类 红外感应 超声波满溢
        随着社会科学技术的飞速发展,人们的生活质量和速度也在不断提高。大多数传统的家用垃圾桶已经过时且缺乏新颖性,并且缺乏人性化设计。使用起来既不方便也不卫生,并且所有的生活垃圾和废物垃圾都被均匀地装载,没有经过仔细的分类。随之而来的是,清洁工的任务量正以几何速......
  • 基于STM32单片机的智能垃圾桶控制系统 语音识别LD3322 垃圾分类 火灾检测 金属检测 成
        随着社会科学技术的飞速发展,人们的生活质量和速度也在不断提高。大多数传统的家用垃圾桶已经过时且缺乏新颖性,并且缺乏人性化设计。使用起来既不方便也不卫生,并且所有的生活垃圾和废物垃圾都被均匀地装载,没有经过仔细的分类。随之而来的是,清洁工的任务量正以几何速......
  • 【单片机毕业设计选题24044】-基于STM32的水处理系统设计与实现
    系统功能:采用STM32最小系统板控制,采集传感器数据显示在OLED上并通过继电器进行相应的操作。系统操作说明:上电后OLED显示“欢迎使用水处理系统请稍后”,两秒后进入第一页面显示。第一页面第一行显示“系统状态信息”,第二行显示温湿度,第三行显示光照和水位,第四行显示系统状......
  • 【计算机毕业设计】基于python+Django旅游景点推荐系统+LW
    博主介绍:✌全网粉丝3W+,csdn特邀作者、CSDN新星计划导师、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视......
  • 【计算机毕业设计】Python基于Django框架图书管理系统
    博主介绍:✌全网粉丝3W+,csdn特邀作者、CSDN新星计划导师、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视......
  • STM32秒表设计【课设3/5】
    引言今天我们来写秒表的核心——定时器!初始化时钟首先得开时钟吧!然后得配置时钟吧!最后再将配置初始化进去吧!我直接叫它为TIM6_Init();让我们看看TIM6在那个时钟上吧!OK!直接开写:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE)让我们看看里面需要配置啥吧,配置的......