温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
ESP8266
复古
辉光
时钟
设计
制作
邱桦霖
wwwele169com|89电子基础0 引言随着单片机的价格不断降低,单片机变得十分普及,功能越来越强大,运行也越来越稳定,它具有体积小,面向控制,高性价比等优点。当今世界,单片机已经无处不在,本次设计采用 ESP8266 作为时钟的主控,它的价格低廉,集成了常用的 WiFi 功能,且能够提供稳定高效的连接,当网络通畅时可以与调配好的服务器进行通信,当失去网络连接时,可以搭配 DS1302 模块可以继续走时,当网络恢复时便能自动校时。在开发时,使用 Arduino 的 IDE 便可对其进行编程,代码转化效率高,便于后期的开发升级。在显示方面,该电子时钟采用了发明于上世纪 50 年代的辉光管,亦称“冷阴极离子管”或“冷阴极充气管”,是一种利用气体辉光放电原理而工作的离子管,在电子电路中指示、稳压等作用。由于它在 21 世纪的今天具有一定的收藏和观赏价值。所以本设计将历史的辉光管与现代的单片机进行融合,制作独一无的,历史与现代融合产物辉光钟。1 总体设计方案 1.1 系统总体框架与设计本次辉光钟的设计所采用的 ESP8266 主控是一款拥有高性能的无线芯片,它拥有超低功耗的 32 位微型 MCU,同时具有 16 位缩减模式,主频支持 80MHz 和 160MHz,支持RTOS,集成了 WiFi MAC/BB/RF/PA/LNA,板载天线。最主要的是 ESP8266 可以实现远程控制、OTA 升级等。这大大降低了开发成本,缩短了开发周期。作为与 ESP8266 同样重要的时钟芯片,本次所采用的是 DS1302,它是由美国的DALLAS 公司开发的时钟电路,其优点为高性能、低功耗、并自带 RAM 的时钟电路,不仅可以对基本时间进行计时,还能够进行闰年补偿,可以自动对少于 31 天的月份日期进行调整。DS1302 在与 ESP8266 的连接上也十分的方便,除去供电接口外,只需三条线便能进行串行通信。ESP8266与 DS1302 构成了本次设计中主要的控制部分即“产生时间”。在“发送时间”的设计中,由于 ESP8266 端口有限,所以笔者选用了 74HC595 芯片来进行“节约端口”,74HC595 是单片机系统中常用的芯片,它是一个 8 位串行输入、并行输出的位移缓存器,能够将串行信号转化为并行信号,并具有一定的驱动能力,可以去除掉三极管等放大电路(后文会介绍详细功能)。在驱动显示方面,由于辉光管的驱动特殊性,笔者在查阅大量资料后,发现常用到的辉光管 BCD 译码驱动芯片有 SN74141 和 K155ID1,本次设计中所采用的是 K155ID1。K155ID1 在功能上与常见的BCD 译码芯片几乎没有区别,唯一的一点是因为辉光管的驱动需要 170180V 的高压,维持点亮的电压约为 120V,K155ID1 的输出耐压为 60V 左右,所以完全满足高压经过电阻和辉光管串联之后的电路。以上就是本次设计的总体布局,后文会对每个模块进行详细的功能介绍。系统总体设计方案框图如图 1 所示。电源ESP8266主控74HC595K155ID1辉光管DS1302 图 1 系统方框图 1.2 辉光时钟的主要用途该电子时钟以ESP8266为主控,利用WiFi进行自动对时,无需手动调节,在失去网络连接时,可利用 DS1302 模块进行精准的走时,ESP8266 读取 DS1302 的时间,进行显时。2 硬件与软件的设计 2.1 硬件设计2.1.1 主控模块根据 ESP8266 的系统(SoC)设计,其内部包含了处理器芯片等组件,处理器大约有 16 条 GPIO 线路,其中一些基于 ESP8266 的复古辉光时钟的设计与制作邱桦霖(贵阳学院 电子与通信工程学院,贵州贵阳,550002)摘要:时钟一直是我们生活中不能缺少的物品,现代的数字时钟主要采用了LED数码管进行显示。但还有一种显示方式是采用辉光管。辉光管点亮时十分美观,具有个人收藏和观赏价值。本次设计把电子时钟的显示改为辉光管。时钟采用ESP8266为主控,DS1302为时钟芯片,两片74HC595和四片K155ID1芯片来驱动辉光管。该时钟实现了历史与现代的完美融合,可以实现WiFi自动对时和辉光管防阴极中毒,保证了时间的准确和较长的显示寿命。关键词:ESP8266;数字时钟;辉光管DOI:10.16589/11-3571/tn.2023.01.00590|电子制作 2023 年 1 月电子基础GPIO 规定默认用于与其他内部组件进行通信,比如与内部闪存的通信等。在实际应用中大约还有 11 个 GPIO 引脚可按常规 GPIO 进行使用,在这 11 个针脚中,又有 2 个针脚预留给串口 RX 和 TX。因此,最后只剩下 9 个通用 I/O 引脚,即 D0 到 D8。在本次设计中由于使用了 74HC595,所以在发送时间数据时,只使用了 D2、D3、D4 引脚。D5、D6、D7 引脚用于连接 DS1302 模块。其余引脚为供电引脚。所使用的引脚如表 1 所示。表1引脚号引脚名称功能1VIN主电源2GND接地3D2连接74HC595的Q7 4D3连接74HC595的ST_CP端5D4连接74HC595的SH_CP端63V3DS1302供电7GND接地8D5获取DS1302时钟信号9D6接收或发送DS1302数据10D7连接DS1302复位11D8连接74HC595的OE端2.1.2 DS1302 模块DS1302 有一块备用电池以预防断电情况发生,VCC 接在 ESP8266 的 3V3 端口,当 ESP8266 突然断电时,DS1302也能继续走时。ESP8266 的 D5、D6、D7 分别与 DS1302 的 CLK、DATA、RST 连接。其中 CLK 用来产生 DS1302 的读写信号,DATA 用来和单片机进行数据传输。如图 2 所示的 DS1302 模块接线图。2.1.3 74HC595 芯片由于 ESP8266 端口有限无法传输时钟所使用的时、分、信息。故采用 74HC595 来解决这一问题。前文相信读者已经稍微了解到 74HC595,它是一个 8 位串行输入、平行输出的位移缓存器:平行输出为三态输出。在 SCK 的上升沿,单行数据由 SDL 输入到内部的 8 位位移缓存器,并由 Q7输出,而平行输出则是在 LCK 的上升沿将在 8 位位移缓存器的数据存入到 8 位平行输出缓存器。当串行数据输入端OE 的控制信号为低使能时,平行输出端的输出值等于平行输出缓存器所存储的值。而当 OE 为高电位,也就是输出关闭时,平行输出端会维持在高阻抗状态。就本次设计中所用到的功能,简明的说:Q0Q7 负责发送时钟所需要显示的时、分信息。DS 级联下一块 74HC595 并将移位命令传输至下一片,SH_CP 高电平触发控制移位动作,ST_CP 高电平触发并行输出,OE 低电平输出有效。74HC595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。74HC595 真值表、引脚功能表如表 2和表 3 所示。表2 74HC595真值表输入管脚输出管脚SISCKSCLRRCKOEHQ0Q7 输出高阻LQ0Q7 输出有效值L移位寄存器清零L上升沿H移位寄存器存储LH下降沿H移位寄存器存储H下降沿H移位寄存器状态保持上升沿输出存储器锁存移位寄存器中的状态值下降沿输出存储器状态保持IN-12AA1IN-12A辉光管+170v1num02num93num84num75num66num57num48num39num210num111NC12IN_12A1K155ID1/SN74141U78192A3D4VCC5B6C72839710611GND124135141150162.54mm排针1x5PJP1112233445574HC595HC1Q11Q22Q33Q44Q55Q66Q77GND8Q79MR10SHCP11STCP12OE13DS14Q015VCC1674HC595HC2Q11Q22Q33Q44Q55Q66Q77GND8Q79MR10SHCP11STCP12OE13DS14Q015VCC1620K R120K R2K155ID1/SN74141U28192A3D4VCC5B6C72839710611GND12413514115016IN-12A辉光管A2+170v1num02num93num84num75num66num57num48num39num210num111NC12IN_12A120K R3K155ID1/SN74141U48192A3D4VCC5B6C72839710611GND12413514115016IN-12AA3IN-12A辉光管+170v1num02num93num84num75num66num57num48num39num210num111NC12IN_12A120K R4K155ID1/SN74141U98192A3D4VCC5B6C72839710611GND12413514115016IN-12AA4IN-12A辉光管+170v1num02num93num84num75num66num57num48num39num210num111NC12IN_12A1DS1302时钟芯片U12RST1DATA2CLK3GND4VCC5DS1302时钟芯片DC接口符号U13123vccgndGND200KR5200KR6NE1NeNE2NeGNDESP8266开发板U1A01RSV2RSV3SD34SD25SD16CMD7SD08CLK9GND103.3V11EN12RST13GND14VIN153.3V16GND17TX18RX19D820D721D622D523GND243.3V25D426D327D228D129D030氖泡,氖气灯氖泡,氖气灯图 2 控制部分原理图wwwele169com|91电子基础表3 74HC595引脚功能表引脚号引脚名称功能1、2、3、4、5、6、7、15Q0Q78位并行数据输出8GND接地9Q7 串行数据输出10MR低电平复位11SH_CP数据输入时钟线12ST_CP输出存储器锁存时钟线13OE低电平输出有效14DS串行数据输入16VCC电源2.1.4 K155ID1 芯片一片 74HC595 可控制两片 K155ID1,分别显示小时和分钟。K155ID1 芯片为辉光管的驱动芯片同时也是一个简单的 BCD 译码芯片也被称为二十进制译码器,通过 4 位二进制输入,可输出09的十进制数字,用于辉光管的显示。K155ID1 真值表、引脚功能表如表 4 和表 5 所示。表4 K155ID1真值表输入输出ABCD00000000110010200113010040101501106011171000810019表5 K155ID1 引脚功能表引脚号引脚名称功能3、6、7、4A、B、C、D与74HC595的Q0Q7数据端 连接16、15、14、13、11、10、9、1、2、80、1、5、4、6、7、3、8、9、2与辉光管对应的显示数字引脚相连接2.1.5 IN12A 辉光管辉光管也叫阴冷极辉光放电指示管,诞生于 50 年代左右,由一家名为海顿兄弟实验室的小型真空管制造商制造出来,并在 1955 年被美国宝来公司收购之后开始推向市场。美国宝来公司将这种阴冷极辉光放电指示管命名为 NIXIE,虽然后来这种阴冷极辉光放电指示管有很多种名称出现,业界一般统称为阴冷极氖读数管,但是大多数还是以美国宝来公司的 NIXIE 这个名字作统称,因此后来大部分都是用Nixie tube这个词来表示。本次设计采用的是IN12A辉光管,如图 3、图 4 所示,其开启电压为 170V,电流为 1mA。其管脚和显示原理图如图 5、图 6 所示,将 HIV 端接入 170V,再将各个管脚对应接入 K155ID1 的输出端上即可。图 3 辉光管 侧视图 图 4 辉光管 图 5 辉光管管脚图 正视图 2.2 软件设计