ESPnixie----基於ESP32的輝光鍾

2021-12-26 DF創客社區

正文共:130019

預計閱讀時間:4分鐘


這其實是個爛尾了很久的項目 第一次看到輝光鐘的時候真的很驚豔 ! 
就那種,duang~一下,很好看,很騷氣的感覺。

Amazing!!!

然後淘寶上看了看價格,覺得自己做才有意思(並不是)
其實說到底就是錢包不允許(攤手)

以下部分是電路分析和介紹覺得太長的可以略過

言歸正傳,這個輝光鍾使用的輝光管型號是IN14,
這個管子產於上世紀70-90年代的蘇聯。同其他輝光管一樣,也是利用冷陰極輝光放電效應發光。IN14主要充氖氣,通電後會產生特徵的橘紅色光芒來顯示0-9十個數字。值得一提的是,IN14的管內還充入了少量汞,可以大幅延長使用壽命。因為汞蒸氣能夠有效吸收陰極發射的電子,避免其他陰極受電子輻射產生「中毒」現象。也正是因為汞蒸氣的存在,IN14的橘色輝光邊緣,會帶有些許藍紫色光芒,使得顯示效果更加漂亮。

藍紫色的邊緣不太好拍清楚,實際看的話還是比較明顯的

從背面拍就比較明顯了

實際上在黑暗環境下,從頂部後側斜向下看,整個管子的玻璃殼都會泛著幽幽的紫光。

1977年8月,暴力美學工廠出產

首先解決輝光管的驅動問題

IN14最合適的驅動參數為,陽極170V,串聯20K電阻,典型電流為2.5mA。
顯然直接用220V市電來獲取170V高壓是比較危險的,
出於安全考慮,使用BOOST電路進行升壓,從12V直接升壓到170V。

在第一版樣機中,使用經典的MC34063進行升壓,
但是MC34063是單端驅動,MOS管的關斷依靠電阻,
關斷速度慢不說,米勒效應還大到起飛……
直觀點來說,就是MOS管和功率電感 

非!常!適!合!燒!開!水!


可以看到,MOS管關斷速度非常慢,而且因為米勒效應存在一個很大平臺,
已經選擇了柵漏電容儘可能小的管子了,再換更小的管子很難了。

後來看上了MAX1771
內置圖騰柱驅動,而且是PFM控制,在輕重載條件下都能獲得很高的轉換效率。
經過長時間測試,這一版升壓電路僅略微溫熱。
示波器圖忘記拍了,很完美的方波,沒有過衝沒有振鈴,上升和下降邊沿很陡峭!

很常規的BOOST電路
二極體本來想用肖特基的,但是這麼高耐壓的肖特基很少,而且很貴。
所以最後還是選擇了超快恢復管。


輝光管驅動晶片選擇了HV57708
這個也算是輝光管常用驅動電路了。
這裡值得一提的是,HV57708的輸出端只有80V耐壓,所以,這裡有個很有意思的技巧。


在電路上,每個輝光管的陽極直接通過20K電阻接到170V高壓上,
而每個陰極接到HV57708的輸出埠上,
而HV57708的高壓電源端,實際上輸入75V,由170V高壓通過ZMM75穩壓二極體獲得。


這樣,在HV57708輸出低電平時,輝光管點亮。
而輸出高電平時,輝光管陰極為75V,不能保持輝光放電,從而不顯示數字。

需要注意的是,HV57708為5V電平,而ESP32為3.3V,且不像STM32的IO是5V容忍的,所以必須加電平轉換。
在這裡用了一個SN74LVC125來作為電平轉換。


主控晶片直接使用了樂鑫官方的ESP32-WROOM-32UC模組。


因為PCB板載天線增益較低,方向性也比較明顯,而且天線區域需要淨空,對器件布局來說會增加一些麻煩,所以特意選擇了這個需要外接天線的模組。


淘寶上一個小巧的2.4G天線也就兩三塊錢,但是增益比板載天線要好得多了。

在製作外殼的時候,主板用銅柱墊高一些,天線的安裝位置前後剛好淨空。

時鐘晶片選擇了DS3231,配合一枚CR1220紐扣電池
DS3231使用I2C通訊,內部集成晶振,需要的外圍器件很少
而且能達到5ppm的精度,非常合適!

已知bug
一開始設計的時候,HV57708的數據線和鎖存線分別用了36和39這倆IO,
然後調試的時候死活沒反應……
然後才發現ESP32的IO34~39隻能作為輸入,不能作為輸出!所以就只能飛兩根線了,將他們分別接到26和33兩個IO上。

在串口燒寫程序時,除了IO0要保持為低,IO2也要保持為低,
但是在設計時候IO2作為I2C的SDA使用了,被上拉電阻拉高了。
後來排查了好久好久才發現這個問題,所以如果要用串口燒寫程序,就必須手動將IO2與GND短接一下。
不過好在,我開發了OTA升級,直接通過wifi就可以升級程序,
然後忘記引出復位引腳也是一個極蠢的錯誤…… (fishgan本來就很蠢)(doudou不僅蠢還皮)

之前一版使用的STM32主控晶片,配合的是XC6206線性穩壓器,
換ESP32以後,腦袋短路了一下,還是用了XC6206,然後就翻車了……
一開始調試時候好好的,後來開發完成,撤除串口調試器以後,莫名就不行了,
查了老半天才發現是因為ESP32在wifi通訊時,瞬時電流過大,超過了XC6206最大輸出電流,所以,電壓就會掉下來,然後ESP32就一直觸發Brownout錯誤,然後復位,
而接著調試器的時候,調試器輸出3.3V就足夠供給了,
最後只能飛線出來換上一個AMS1117解決。

此外要注意一下,很多市面上的USB轉串口,都是5V電平的,
直接接到ESP32串口上會導致esp32工作不正常。
用一個電平轉換電路,或者在RX和TX線上串聯一個470歐姆電阻就行啦!
當然。。我的解決方案是,直接用stm32f103c8t6的開發板自己做了個usb轉串口,
stm32的原生usb接口與電腦通訊,然後串口電平是3.3V,剛好適合!

最後就是一個無傷大雅的bug,
調試的埠焊盤標註,TX和RX標反了……(hahahahaha)

軟體功能
顯示時間是最基本的啦~
然後每過一分鐘會將所有數字跳閃一遍,這樣可以有效抑制陰極中毒,延長輝光管壽命~
每天會自動連接網際網路校時。
如果紐扣電池沒電,或者長時間沒有聯網校時,程序會判斷為當前時間不可靠,
這時候時間數值會閃爍顯示,提示用戶,
聯網校時的時長我設定為7天,
在nixieHardware.h中可以通過修改MAX_OFFLINE_DAY的數值來調整。

直接上電的話,會嘗試連接已保存的WiFi熱點,同時輝光管顯示全1在連接成功或者10秒未成功連接之後,進入正常運行,顯示時間。
而按住P1按鍵上電(其實就是P1焊盤和GND短接),會啟動AP模式和本地網頁伺服器此時輝光管顯示全0。
AP模式默認的wifi熱點名稱是nixieClock,密碼是12345678,
在network.h中,可以修改DEFAULT_AP_SSID和DEFAULT_AP_PASSWORD來調整。
在連接ap熱點後,應該會自動跳轉到配置主頁,
當然,也可以用http://NixieClock.local或者IP位址來訪問配置頁面。
在配置頁面裡,可以設置家裡的路由器,也可以直接上傳新的程序,
配置頁面裡的功能大家就自己探索吧~




再說一下,預留了數字間冒號的位置,程序裡也已經支持了,
但是我本人不太喜歡有冒號(這個就看個人口味了,有人就很喜歡)
要的話直接焊上IN3輝光管就行了~

福利時間!!!
附件裡提供了完整的項目文件!
包括硬體原理圖,PCB文件(已經修正所有已知bug啦)
還有軟體原始碼以及編譯好的鏡像。
不過完整打包的項目超出了論壇附件大小限制,所以上傳到百度雲啦,
附件是傳送門

點擊「閱讀原文」獲取~

代碼是在PlatformIO平臺下開發的,直接就能編譯使用了~
初次使用需要在串口下燒寫,後續就可以OTA燒寫,
編譯出來的firmware.bin文件,直接可以使用配置頁面上傳。

如果要在ArduinoIDE下開發的話,這裡給出一個遷移方案(未進行實際測試,歡迎大家測試反饋)
首先需要部署好在ArduinoIDE下的ESP32開發工具鏈(廢話),
新建一個Arduino項目,將src文件夾裡的main.cpp的內容完全複製進ino文件內,
將src文件夾下的其餘文件,直接複製到ino文件同一目錄下,
重啟arduinoIDE之後,應該能直接看到別的文件。
在庫管理器裡加載RTC,NTPClient,AutoConnect這三個庫,
然後嘗試編譯一下吧~(記得設置好ESP32本身的配置信息哦)
如果編譯成功的話,項目–>導出已編譯的二進位文件,可以獲取bin文件,
然後通過配置頁面上傳就行了。
如果在ArduinoIDE下編譯有問題歡迎反饋~我會盡力幫忙

py交易時間
因為做這個項目花了不少錢,所以打樣時候多的板就出了回點血TAT
出完為止
7塊空板70元一塊(實際上我打樣10塊750元…..就算70了吧)
所有器件(XC6206已換成AMS1117,除了輝光管)- 60元一套
如果需要我代焊好的話emmmm
就算20元手工費吧。。。去恰一杯DQ(冬天才適合吃冰淇淋!)【所以沒有老婆的零花錢了】
此外可以單獨加配木質外殼(雷射切割,未組裝)
也20元吧。。。畢竟zz同志被我白嫖畫的外殼,請他恰頓飯去【所以也沒有老婆的飯了】參考信息

相關焦點

  • 【玩轉ESP32】12、esp32串口使用
    收錄於話題 #玩轉esp32UART1默認引腳是GPIO9用作U1RXD,GPIO10用作U1TXD,但是這兩個引腳也是用於外接flash的,因此在使用UART1的時候需要設置其他引腳;
  • 【玩轉ESP32】2、開發資料
    收錄於話題 #玩轉esp32 點擊上方[物聯網思考],選擇置頂,第一時間查看物聯網分享!
  • ESP32 coredump 分析
    上次寫了一個 ESP32 入門,我想有必要再寫這篇文章,這次主要是分析 coredump 的,這就像 Android 和 Linux 系統的死機分析,有意思,也有難度。我覺得 ESP32 還有一個好處是,對於初學者真的太方便了,買個 Linux 開發板可能要幾百塊,但是買一個 ESP32 模塊的話,也就 40 塊錢,而且也是跑 Freertos 系統的,還有還有就是非常方便攜帶,調試燒錄供電都可以用一個 usb 線搞定,說真的,我沒有收錢宣傳,是真的適合沒有錢又喜歡入門嵌入式的同學們,但是這個只是起點,嵌入式後期我覺得一定是要學習Linux 的。
  • 基於ESP32與phyphox的物理DIS實驗開發(1)
    第一篇:初識ESP32          「ESP32是樂鑫信息科技推出的一塊集成了WIFI、藍牙的晶片。不過在這之前,請去淘寶買一塊ESP32!我買的是安可信科技家的,之後的教程裡也都用他們家的ESP32來講解。
  • ESP32晶片-LEDC外設(另附Arduino代碼)
    在文檔內,我們就看這裡就好在大量的說明舵機之前,不妨讓我們先來了解一些關於晶片本身的能力:https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/ledc.html有個神奇的地方
  • esp32和stm32哪個好_ESP32對比ESP8266
    esp32和stm32哪個好_ESP32對比ESP8266 單片機愛好者 發表於 2020-04-23 11:06:19   esp32和stm32哪個好
  • 老宇哥帶你玩轉ESP32:01入門介紹
    ,看到這裡可能有部分同學要批我,為啥還用Arduino這麼「low」的開發方式,有一些骨子裡不太看得起Arduino,其實Arduino這些年發展非常好,效率雖然比傳統開發可能會慢一丟丟,但是在這麼強的晶片性能下基本上可以忽略了,還有一些說底層屏蔽了太多的東西,看不到實際的寄存器操作,其實用官方SDK開發也不是一樣,都是在調庫,當我們想了解實際怎麼控制的,同樣的可以打開庫,去看庫是怎麼實現的。
  • 啟明雲端分享|ESP32-S3如何實現tcp_client和tcp_server
    2)伺服器編輯內容發送給esp32,在窗口監視頁面顯示。編譯官方tcp_server例程(需要配置下面會詳細介紹),燒錄到ESP32-S3開發板。打開tcp調試助手(電腦or手機必須與開發板在同一路由器下)。
  • 故障燈esp什麼意思
    esp系統涉及到的傳感器很多,所以一般故障原因都是出在傳感器上面,可能是接線頭鬆脫傳感器功能失效、也有可能是誤報等等。esp又稱電子穩定程序,它通過對從各傳感器傳來的車輛行駛狀態信息進行分析,然後向abs、ebd等發出糾偏指令,來幫助車輛維持動態平衡。esp可以使車輛在各種狀況下保持最佳的穩定性,在轉向過度或轉向不足的情形下效果更加明顯。
  • ESP32 – GPIO 引腳參考大全
    ESP32 模組引腳圖ESP32 開發板引腳圖
  • 用 ESP32 開發板 DIY NES 掌機
    自製遊戲機項目每年也會推陳出新,《樹莓派 CM3 掌上遊戲機 DIY 全記錄》在去年火熱一時,它是基於 RetroPie 和樹莓派 CM3 的一款掌機。下面,要為大家介紹的是基於 ESP32 和 ATtiny861 來製造 NES 遊戲模擬器掌機,並附有製作該項目的完整素材。來看一段視頻。材料清單
  • Espressif ESP32:使用EMFI繞過Secure Boot
    0x04 測試目標我們使用了AZ Delivery提供的ESP32 NodeMCU模塊,如下圖所示。這些模塊是基於ESP32-WROOM-32。0x06 漏洞利用Espressif IoT開發框架(ESP-IDF)中包含許多便捷的工具,包括編譯軟體(idf.py)、刻錄eFuses(espefuse.py)、生成密鑰(espsecure.py)、對內存進行編程(esptool.py)。我們在尋找漏洞利用方法的過程中,廣泛利用了這些工具。
  • 【玩轉ESP32】4、ESP32驅動DHT11
    收錄於話題 #玩轉esp323、代碼驅動#include <stdio.h>#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "driver
  • ESP32-C3 學習測試(二、GPIO中斷、按鍵驅動測試)
    1.1 GPIO基礎測試基礎測試是基於 官方的generic_gpio示例新建工程:針對自己的開發板進行代碼調整:/* GPIO Example   This example code is in the Public Domain (or CC0 licensed, at your option.)
  • 奔馳C級esp停止運行
    奔馳C級esp停止運行?汽車網小編為您來解答。 奔馳C級esp指的是車身電子穩定系統(外文名Electronic Stability Program,簡稱ESP),通常是支持ABS及ASR的功能。它通過對從各傳感器傳來的車輛行駛狀態信息進行分析,然後向ABS、ASR發出糾偏指令,來幫助車輛維持動態平衡。
  • 繼ESP8266之後,又一款將稱霸2017年的物聯網市場現象級產品——樂鑫ESP32(WiFi/藍牙雙模)評測
    核心模塊是基於樂鑫ESP32 WiFi/雙模藍牙 的單晶片SoC的模組,此模組經過大量的驗證測試,所以如果對這個ESP32這顆Soc晶片感興趣,建議先購買現成模塊開發;而擴展型功能底板主要是一個將核心模塊ESP-WROOM-32的IO引腳擴展出來,方便工程師開發調試,另外,底板也負責USB轉串口以及給WiFi模塊供電的職責。
  • 基於 ESP32 的WIFI控制智能門牌
    關於零件和設備的注意事項:基於 WeMos D1 R32 ESP32:我選擇了基於 ESP32 的板,它需要藍牙或 WIFI 的零外部突破,但如果您熟悉 Arduino 板 - 這是一個簡單的項目,可以移植和使用 ESP 突破。在設計過程中,我使用了各種品牌和類型的基於 ESP32 的開發板,沒有給我任何問題。
  • 用Arduino玩轉掌控板(ESP32):B站粉絲計數器
    眾所周知,掌控板在創客教育中用的非常廣泛,它是一塊基於 ESP32 的學習開發板。大家對掌控板編程,用的比較多的都是圖形化編程的方式,比如 mPython、Mind+ 等。但是,既然掌控板是基於 ESP32 晶片的,所以我們也可以用 Arduino 軟體對其編程。
  • 寶來手套箱怎麼拆 大眾新寶來可以加裝esp開關嗎
    大眾新寶來可以加裝esp開關嗎,新寶來esp開關怎麼加裝 大眾新寶來esp這不只是一個開關那麼簡單的,這是一個系統,這個系統涉及到abs等等很多東西的,原車有就有,沒有就加裝不了的。ESP系統實際是一種牽引力控制系統,與其他牽引力控制系統比較,ESP不但控制驅動輪,而且可控制從動輪。
  • 32位以及64位棧遷移的具體分析與學習
    leave; //mov esp,ebp; pop ebp;ret ; // pop eip棧遷移 的核心思想就是 將棧 的 esp 和 ebp 轉移到一個 輸入不受長度限制的 且可控制 的 址處,通常是 bss 段地址!