简易激光微投影仪的制作

电子说

1.3w人已加入

描述

第1步:来自德克萨斯州的小东西

激光投影仪

激光投影仪

激光投影仪

该机器的核心是德州仪器(TI)的TALP1000B模块,被称为双轴模拟MEMS定位镜。”这是非常令人满意的,所以让我们分解它:

双轴:这意味着设备可以在水平和垂直轴上倾斜。

模拟:沿轴的倾斜由模拟电压控制,从-5到5伏不等。

MEMS:这代表Micro Electrical Mechanical System,它意味着它非常小!

指点镜:设备的中心是万向节上的镜子;镜子可以在每个方向上指向几度,允许它在几度锥形内的任何地方引导激光。

快速浏览数据表显示这是一个复杂的部分。此外还有四个转向线圈,一个发光器,四个位置传感器和一个温度传感器。虽然我们不会使用传感器,但稍后我会近距离分享一些损坏的TALP1000B的华丽照片。

TALP1000B已经停产,但你找不到它,你可以建立一个更大的激光指向镜自己使用我在早期的Instructable中提出的计划:原则完全相同,但你需要建立一个真人大小的Dalek来容纳它!

第2步:物料清单

以下是此项目的物料清单:

一台德州仪器TALP1000B(停产)

One Arduino Nano

一个SparkFun电机驱动器 - 双TB6612FNG(带接头)

一个面包板

一个trimpot(1kOhms)

四根2.54mm至2mm跨接线

0.1“(2.54mm)接头

3D打印机和灯丝

红色激光笔

TALPB模块是最难找到的。我很幸运,在科学盈余网点找到了一些。

您仍然可以以高昂的价格在线找到TALPB,b因为以下原因,我不建议花很多钱:

它们非常脆弱,如果你打破一些,你可能需要几个。

它们具有100Hz的低谐振频率,这意味着您无法以足够快的速度驱动它们以进行无闪烁的激光演示。

它们有镀金表面,这意味着它只反射红色激光。这排除了使用超亮绿色激光或紫外激光与黑暗中发光的持久性。

虽然这些部件做有位置传感器,但我认为Arduino不够快,无法通过某种位置反馈驱动它们。

《我的意见是,虽然这些部件非常小且准确,但它们似乎对于业余爱好项目来说不够实用。我希望社区能够提出更好的DIY设计!

第3步:身体的制作

激光投影仪

我在OpenSCAD中对身体进行了建模并对其进行了3D打印。它是一个截头圆锥体,顶部有一个开口,背面有一个插槽,用于插入TALB1000P模块,前面有一个大的间隙光孔。

你从上面照射激光,它是从前面反射出来。这款3D打印机不仅外观酷,而且功能强大。它使一切都保持一致,并容纳了可怕的脆弱的TALB1000P模块。我添加了脊和凸起,以便在我放弃早期原型并摧毁TALB1000P模块后更容易抓握。

第4步:打破心脏的多种方法

激光投影仪

激光投影仪

TALP1000B是一个非常脆弱的部分。短暂的摔倒或粗心的触摸会破坏部件(意外触摸它是我如何摧毁我的第二个模块)。它是如此脆弱,我怀疑即使强烈的目光也可能会杀死它!

如果物理危险性不够,数据表会发出额外的危险:

小心避免开始停止启动或停止正弦驱动电压时的瞬变。如果将50Hz驱动功率设置为产生50Hz镜像旋转(4至5度机械运动)的电压,则镜子将运行数千小时而没有问题。

》但是,如果在电压输出很大的时候向下或向上驱动正弦驱动电源,则会发生电压阶跃,这将激发镜子的共振并导致相当大的旋转角度(足以使镜子撞击作为旋转停止的陶瓷电路板。

有两种方法可以避免这种情况:a)仅在驱动电压接近零时上电或下电(如图所示)如下图所示),b)在上电或下电之前减小正弦驱动的幅度。

因此,基本上,即使关闭电源也会破坏它。哦,vey!

第5步:起搏器电路

激光投影仪

激光投影仪

激光投影仪

我为它制造的驱动电路由Arduino Nano和双通道电机驱动器组成。

虽然电机驱动器是为电机制造的,但它们可以轻松驱动磁线圈。当连接到电磁线圈时,驱动器的正向和反向功能会使线圈在正向或反向通电。

TALP1000B上的线圈需要高达60mA的电流才能工作。这超出了Arduino可以提供的最大40mA,因此使用驱动器是必不可少的。

我还在设计中添加了一个微调电位器,这使我能够控制输出信号的幅度。这使得我可以在关闭电路之前将驱动电压降至零,以避免数据表警告我的共振。

步骤6:无法工作的驱动器。..。..还有一个!

为了验证我的电路是否输出了平滑的波形,我写了一个测试程序,在X轴和余弦上输出正弦波Y轴。我将驱动电路的每个输出连接到一个220欧姆电阻串联的双极LED。双极LED是一种特殊的双端LED,当电流在一个方向流动时会发出一种颜色,而当电流在相反方向流动时会发出另一种颜色。

这个试验台让我能够观察颜色变化并确保颜色没有快速变化。蝙蝠,我观察到明亮的闪光,一种颜色淡出,另一种颜色即将消失。

问题是我一直在使用L9110芯片作为电机驱动器。该驱动器具有PWM速度引脚和方向引脚,但PWM正向的PWM速度控制信号的占空比是反向占空比的反向。

当方向位为正向时输出零,需要0%的PWM占空比;但是当方向位反转时,输出为零需要100%的PWM占空比。这意味着为了在方向改变期间输出保持为零,您必须同时改变方向和PWM值 - 这不能同时发生,因此无论您执行何种顺序,都会在从负转换到电压时产生电压尖峰从零开始。

这解释了我看到的闪光,测试电路可能使我免于摧毁了另一个TALB1000B模块!

SparkFun电机驱动器可以节省时间!

发现L9110不行,我决定评估一下SparkFun电机驱动器 - 双TB6612FNG(我之前在一个早期的Instructable中获胜!Woot!)。

在那个芯片上,速度控制引脚上的PWM为0%表示无论方向如何,输出均以0%驱动。 TB6612FNG有两个方向控制引脚,必须翻转以反转方向,但PWM引脚的占空比为零时,通过In1和In2都为高电平的中间状态这样做是安全的。驱动器进入中间“短制动”模式,以任何方式激励线圈。

使用TB6612FNG,我能够在没有任何闪光的情况下获得平滑的极性转换。成功!

第7步:运行Arduino草图和性能测试

激光投影仪

激光投影仪

Shine a从顶部的开口激光照射到TALP1000B上,确保你可以看到墙壁或投影屏幕上的点。

在插入Nano之前,将微调电位器调低至最低,以保护TALP1000B可防止任何过度振动(我强烈建议您使用前面所述的某些LED验证电路)。

现在,插上USB线并将Arduino草图上传到您的Arduino Nano。

逐渐打开调压器,观察激光点上的运动。逐渐增加,注意任何问题的迹象。如果其中一个轴反转,则意味着线圈的引线反转。

重要事项:在关闭Nano电源,上传新代码或断开连接之前驱动程序,将trimpot一直降低到零并确保TALP1000B绝对静止。这有助于保护它免受损坏!

增加绘图速率效果的研究

动画显示使用完全相同的心形将绘图速率从1.95帧/秒提高到每秒13.95帧的效果。

这些图像是使用 FasterDriver.ino 代码捕获的,该代码使用预先计算的数据和其他技巧,以允许Arduino更快地驱动PWM输出。不幸的是,TALP1000B表现出各种共振,使其无法超过每秒四帧左右。我曾经期望这个商业模块的性能远远超过我的DIY设备,但它似乎没有更好!

第8步:破碎的心脏剖析

激光投影仪

激光投影仪

激光投影仪

激光投影仪

激光投影仪

激光投影仪

激光投影仪

激光投影仪

下面是一些破损的TALP1000B模块的图片!

在板下方,您会看到有一个发光二极管和四个位置传感器。它们看起来很大,好像它们是小太阳能电池。看起来位置传感器通过拾取来自中央LED元件的反射光来工作。据推测,万向节距离点越近,传感器接收的光越少。

万向镜本身非常有趣。它看起来是由单个板蚀刻而成,总共有八个非常小的陶瓷磁铁,在北/南和东/西轴两侧各有两个。它们被电路板另一侧的线圈拉动和排斥。这是一个相对简单的设计,与我对自制激光转向模块的设计没什么不同。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分