Nixie三边时钟的制作教程

电子说

1.3w人已加入

描述

步骤1:设备

时钟

时钟

时钟

时钟

时钟

设备

1。 Arduino Uno R3

2。 16X2 LCD显示屏(仅用于测试,在最终组装时移除)

3。 BME280传感器

4。带备用电池的RTC实时时钟

5。 12V - 150V DC-DC升压转换器

6。 12V - 5V DC-DC降压转换器

7。 12V 1A - 电源适配器

8。 5V步进电机28BY-48和控制器ULN2003

9。用于基础,平台和规模的木材。

10。玻璃穹顶

11。 3mm黄铜棒

12。 3毫米黄铜圆顶螺母

13。黄铜板,2毫米(300毫米x 600毫米)

14。黑色100gsm纸

15。各种电缆

16。单极开关

17。 5v红色LED

18。 12V正中心适配器入口

19。各种螺丝,塑料支架,热缩,PCB引脚,电线

20。 PCB板(3 X 40mm X 20mm)

21。 5mm红色LED

22。电流调节器:

a。 1K电阻

b。 1uF容量

c。 470欧姆电阻

d。 220K电阻

e。 2K装饰罐,3296

f。 MJE340 NPN晶体管

步骤2:构造

时钟

时钟

时钟

时钟

我附上了一张Fritzing图,显示了这个项目的完整接线。

我附上了俄罗斯原装IN-13数据表,MJE340数据表,TSR-3296数据表,MS Publisher Scales格式,和电流调节器原理图

检查IN-13时,您会注意到管底部玻璃内有一个粉红点。在右侧,从左到右读取的导线为:辅助阴极,Ind阴极和阳极。重要的是阳极不要过载,建议最大值为140V。

检查2K微调电位器时,抽头连接是中心连接,可以使用两个外部连接中的任何一个。在检查MJE340晶体管时,查看黑色塑料侧,而不是散热器侧,从左到右读取连接,给出发射器(E-1),收集器(C-2)和基座(B-3)。

构建电流调节器时,电阻器可以安装在任一方向,但电容器必须安装时“负”灰色条朝向GND。同时确保所有GND返回单点,这对于高压GND也是最重要的,高压GND也必须返回到同一点。

最常见的错误是错误地连接MJE340。

第3步:CURRENT REGULATOR

时钟

时钟

时钟

时钟

时钟

时钟

时钟

时钟

电流调节器将来自Arduino Uno的PWM数字脉冲转换为IN-使用的模拟电流脉冲13 IND-阴极为显示器供电。

每个电子管需要一个电流调节器。根据原理图,Arduino Uno通过引脚3和6,两个PWM使能,通过1K电阻控制MJE340的集电极。 1uF电容可以平滑电流波动。一个470欧姆的电阻为2K微调电位器提供电流,220K电阻为辅助阴极提供电源。微调电位器允许设置最大和最小显示值。 Trim电位为MJE340的发射极供电,Base引脚连接到Ind Cathode。

步骤4:步进电机

时钟

时钟

时钟

时钟

时钟

用360度伺服电机测试系统后我决定使用步进电机提供更准确的。步进电机通过Arduino Uno的四条控制线进行控制。步进电机臂连接到3毫米的铜棒上,铜棒已经钻过三角形的木块。杆的顶部被攻丝并穿过铜板并用圆顶黄铜螺母固定。

步进电机与每组值的显示相匹配,小时+分钟,摄氏+华氏,湿度+压力。每张脸与另一张脸成120度。为了计算出需要旋转一次臂的步骤数,我们得到:360/11.25 = 32步(4步顺序,步幅为11.25)。连同64的齿轮比,我们得到(32 * 64)= 2048来完成一圈的旋转。

因此,我们需要一个683的值来将手臂旋转120度。

步进电机安装在顶板的底部,通过控制器8,9,10和11连接到Arduino Uno的控制器,连接到5V电源。

第5步:软件

时钟

时钟

时钟

我附加了三个库文件,全部来自https ://github.com/网站。附加的NCO文件中的其他“包含”文件都是标准库文件。

我附上了两个Arduino NCO文件,一个显示Nixie管的校准,另一个显示用于控制项目的完整程序。摄氏温度,华氏温度,压力和湿度获得的值都转换为整数,并且还受限于使用CONSTRAIN Arduino函数。此外,MAP函数还用于将这些整数值映射到40到255的固定范围(IN-13管的最小值和最大值),关键代码如下:

对于小时和分钟:

小时=约束(小时,0,23);

分钟=约束(分钟,0,59);

new_hours = map(小时,0,23,40,255);

new_minutes = map(分钟,0,59,40,255);

对于Celsius和华氏度:

摄氏度=约束(摄氏10,35);

fahrenheit = constrain(fahrenheit,50,100);

new_celsius = map(摄氏10,35,40,255);

new_fahrenheit = map(fahrenheit,50,100,40,255);

对于压力和湿度:

Bar_pressure = constrain(Bar_pressure,980,1030);

Percentage_humidity = constrain(Percentage_humidity,30,80);

new_Bar_pressure = map(Bar_pressure,980,1030,40,255);

new_Percentage_humidity = map(Percentage_humidity,30,80,40,255);

注意:固定范围通过使用固定值校准IN-13M并观察光柱的最终位置来确定40至255的值。

注意:已添加软件的V2版本。这个版本纠正了两个问题,一个是使用步进电机转动三面木块,另一个是光检测处理。

步骤6:结论和审查

这个项目很有意思,因为它让我第一次使用步进电机和IN-13 Nixie管。步进电机最终是中央显示器运动的最佳选择,因为伺服电机无法提供我所需的精度。

有必要使用校准程序以提供尽可能多的每个IN-13数码管显示的显示器或显示器高度尽可能准确。虽然时间,温度,压力和湿度读数准确地将这些值映射到IN-13上并不容易,但Arduino MAP功能为这个过程提供了很大的帮助。

我已经包含了一个MS Publisher文件保存每个值的打印比例。我决定将这些打印到黄色的100 GSM纸上,以提供背景和打印的字母和数字之间的最大对比度。

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

全部0条评论

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

×
20
完善资料,
赚取积分