





















摘 要:傳統的數字時鐘功能單一,且易受環境溫度等因素影響出現誤差。本設計基于北斗衛星導航系統的精準授時技術,結合單片機主控系統、傳感器模塊、WiFi模塊和LCD12864模塊,實現日期、時間的實時獲取和顯示、語音鬧鐘的設置和提醒、LCD背景燈光的自動開關、溫濕度數據的檢測和監控報警等功能。其中,鬧鐘、溫濕度等數據的功能設置和信息獲取均可通過手機端進行遠程無線智能語音交互,實現北斗數字時鐘的物聯網智能控制。
關鍵詞:物聯網;單片機;北斗衛星;智能時鐘;云端通信;語音交互
中圖分類號:TP368 文獻標識碼:A 文章編號:2095-1302(2024)02-00-05
0 引 言
數字時鐘是以數字形式顯示時、分、秒等信息的一種計時裝置,內容呈現直觀,性能穩定,被廣泛應用在家庭、工廠和各種科技研發活動中。目前主流的傳統數字時鐘主要采用微控制器晶振電路產生的基礎時鐘脈沖進行定時,或者配合相關時鐘芯片(如DS1302、PCF8563)實現計時效果[1]。由于時間的連續性,很難準確為本地時鐘設置實時時間信息,同時,由于晶振頻率等硬件參數易受到溫度影響,時間基準將產生誤差并不斷累積。此外,傳統時鐘在后續功能擴展和維護方面均受到限制。
衛星授時是實現全球范圍內時間精確同步的最佳選擇,本文設計的時鐘信息來源于北斗衛星導航系統的精準授時技
術[2-3],北斗衛星導航系統(BeiDou Navigation Satellite System, BDS)是中國自主研發的全球衛星導航系統,也是繼美國全球定位系統(GPS)、俄羅斯格洛納斯(GLONASS)之后的第三個獨立運行的成熟的衛星導航系統[4]。
北斗授時系統通過星載原子鐘傳遞國家授時中心發播的國際通用標準時間(UTC)[5],本文設計的智能時鐘作為接收終端,接收北斗衛星的廣播信號后,交由微控制器進行分析處理,實現與標準時間的同步,使得時鐘的設計更加簡單方便和容易維護,也為時鐘智能化功能的嵌入提供了更多空間,編程控制更加靈活。
1 系統總體設計
智能北斗時鐘系統架構如圖1所示。采用STC89C54單片機為主控制器,接收北斗模塊獲取的數據,并將數據中的日期和時間信息解析后在LCD屏幕上顯示。時鐘的鬧鐘功能可由按鍵設置完成,通過蜂鳴器電路發出不同頻率的聲音提醒用戶。相關傳感器經單片機驅動后可正常輸出傳感器數據,經由按鍵或者手機APP切換不同的屏幕顯示,設置溫濕度和光照報警閾值,自動控制繼電器和LCD屏幕開關,繼電器接口可根據用戶需求自行連接相關執行器,如風扇、燈光、加濕器等。
WiFi模塊通過無線網絡連接云平臺,實現移動端手機APP與北斗時鐘的智能交互,遠程查看傳感器數據,語音設置鬧鐘時間等,使北斗時鐘具有物聯網智能監測和控制功能。
2 硬件設計
為保證程序功能拓展的靈活性,本設計采用具有更大ROM和RAM的STC89C54單片機搭建最小應用系統,它與常見的STC系列51單片機完全兼容[6],可以通過串口直接下載程序。智能北斗時鐘以STC89C54單片機為核心開展主要外圍電路的設計。
2.1 電源電路
智能北斗時鐘主要使用鋰電池供電,通過DC-005電源插座充電,本設計采用IP5306移動電源芯片進行電源管理,如圖2所示。IP5306是一款集鋰電池充電管理、電池電量指示、升壓轉換為一體的多功能電源管理系統級芯片。斷開外部充電電源后,系統自動切換到電池升壓輸出Vout,輸出電壓固定5 V,D1~D4四個LED燈用于電量顯示。
系統電源電路具有5 V和3.3 V電壓輸出,如圖3所示。AMS1117三端穩壓芯片將輸入的5 V電壓轉成3.3 V,經電容進行濾波處理后給其它電路供電。
2.2 通信模塊接口電路
本設計使用中科微電子的北斗/GPS雙模定位通信模塊ATGM332D,接收具有高精度授時信息的衛星數據,接口電路如圖4所示。模塊通過BDS_RXD與BDS_TXD引腳和單片機P3.0與P3.1口連接,實現串口數據通信,單片機對串口緩存的NMEA協議數據包進行解析處理,獲取所需的日期和時間信息[7]。PPS為授時輸出引腳,與單片機外部中斷口P3.2連接,在收到時間信息后,默認每隔1 s輸出一個變化脈沖,觸發時間信息同步。
為保證時鐘在北斗信號較弱或者沒有信號時能正常工作,同時在掉電時為模塊的RTC部分供電,保存最新的模塊參數,加快下次啟動后搜索衛星的速度,本設計在VBAT引腳外接了備用紐扣電池CR1220[8]。
此外,為實現北斗時鐘的物聯網智能控制,本設計使用ESP8266WiFi模塊連接互聯網。ESP8266是一款超低功耗的WiFi串口透傳模塊,專為移動設備和物聯網應用設計。如圖5所示,模塊與單片機之間通過串口通信。
2.3 傳感器及執行器接口電路
溫濕度模塊選用DHT11傳感器,與單片機之間采用簡單的單總線協議通信,接口電路如圖6所示。DHT11內部由高性能8位單片機、電阻感濕元件和NTC測溫元件組成,可以實時收集周圍的溫度和濕度信息,并轉化為數字信號,發送給STC89C54單片機[9-10]。
光照傳感器電路如圖7所示。選用阻值為10 kΩ的光敏電阻GM5516,其電阻值隨著入射光的強弱而發生改變,通過串聯分壓連接到PCF8591數據采集器的AIN0模擬輸入口,通過I2C總線將A/D轉換后的數字量發送給STC89C54單片機進行分析處理。
蜂鳴器和繼電器驅動電路用于時鐘的鬧鈴報警和超過閾值后的繼電器開關控制,蜂鳴器驅動電路如圖8所示。當驅動信號為低電平時,PNP三極管導通,蜂鳴器通電發出響聲。繼電器驅動電路如圖9所示。當驅動信號為低電平時,PNP三極管導通,繼電器吸合,開啟外接的風扇、加濕器、燈具等設備。
2.4 輸入輸出設備接口電路
智能北斗時鐘的各項功能設置由用戶操作按鍵完成,本系統中使用獨立式按鍵設計,電路簡單直觀[11],如圖10所示。單片機通過讀取對應I/O口的電平狀態判斷按鍵是否按下,當I/O口為低電平時,對應按鍵被按下。4個按鍵的功能分別為Key1界面切換、Key2選項上移/數字加、Key3選項下移/數字減和Key4設置/確認。
系統采用LCD12864液晶模塊顯示時間、日期,設置信息等,分辨率為128×64,如圖11所示。液晶模塊與單片機的接口方式簡單、指令操作方便,可顯示8列×4行16×16點陣的漢字,也可完成圖形顯示,具有良好的人機交互界面。
3 軟件設計
本智能北斗時鐘的軟件設計涵蓋了物聯網三層架構,包括時鐘端、網絡端和應用端的程序設計。
3.1 時鐘端程序設計
時鐘的程序設計主要為基于單片機的智能終端軟件開發,包括按鍵子程序、傳感器驅動子程序、執行器驅動子程序、串口收發子程序、LCD顯示子程序、數據分析處理子程序等模塊程序的設計開發。時鐘端系統的主程序流程如圖12所示。在溫濕度報警的同時可以觸發繼電器動作,打開外接設備重新調整溫濕度數據。衛星數據、WiFi語音指令和溫濕度數據在串口中斷服務程序中獲取和解析,其程序流程如圖13所示。
3.2 網絡和應用端程序設計
網絡端采用新大陸物聯網云平臺搭建的數據傳輸通道,新大陸云平臺是一個開放的物聯網云服務平臺,通過平臺提供的案例設計器、API、SDK等,使得技術人員能輕松、快速開發物聯網相關應用。
在搭建和配置云服務平臺后,用戶可以通過手機、平板、計算機等終端設備,實時掌握時鐘端傳感器、鬧鐘設置等信息,使得對本智能北斗時鐘的信息管理變的更加輕松簡單。如圖14所示,當時鐘端WiFi模塊和新大陸云連接成功后,給云平臺發送溫濕度等數據信息,云平臺也可以下發控制執行器指令,控制時鐘端繼電器連接的外部設備[12],如圖15所示。
應用端為安卓應用程序APP,通過MQTT協議連接云平臺,作為客戶端訂閱云平臺服務器端提供的消息,并可發布相應的控制命令,通過云平臺遠程操作北斗時鐘的各項設置和運行。本安卓應用程序發布的控制命令采用科大訊飛的語音識別引擎進行解析,用戶界面如圖16所示,可以使用預先定義好的語音指令與北斗時鐘交互。
4 系統測試
在系統上電后,北斗授時模塊需要約30 s的加載周期,LCD12864顯示“衛星連接中”,顯示信息和溫濕度數據,如圖17所示。衛星連接成功后,可以看到單片機解析后顯示的日期和時間信息,如圖18所示。
通過本地Key1按鍵或者遠程語音命令可以切換到光照信息、鬧鐘狀態和閾值數據界面,其中,溫度默認的閾值數據界面如圖19所示,當溫度高于59 ℃時,繼電器吸合。通過Key4按鍵或者遠程語音命令可以進入相關設置界面,
如圖20所示,通過Key2和Key3對鬧鐘、溫濕度、光照等閾值進行設置,鬧鈴的時間設定和溫度閾值的設定如圖21和圖22所示。經測試,蜂鳴器能在設定的鬧鈴時間準時響起,LCD屏幕背光燈能在光照較弱時自動打開。
此外,當北斗時鐘掉電或者衛星信號較弱時,經測試,系統可以通過備用紐扣電池保存的參數繼續準確計時,更新時鐘信息。
5 結 語
本文基于北斗衛星精準授時技術設計的智能時鐘,能夠實現與標準時間的實時同步,精確度高,穩定可靠,使用和維護方便,應用場景廣泛,除了鬧鐘設置、溫濕度監測、光照監測等功能外,還有物聯網遠程交互功能,可通過云平臺和手機語音APP對時鐘進行設置和操控,極大方便了普通用戶,使得北斗衛星系統在智能家居中的應用場景不斷擴大。
參考文獻
[1]翟朝霞,金國華,劉劍橋,等. 基于單片機的多功能電子萬年歷系統[J].數字技術與應用,2019,37(10):134-135.
[2]李芬.北斗授時在電力計量系統工業物聯網時鐘同步的應用[J].衛星應用,2021,12(7):51-57.
[3]陳金鑫,鄧盛名,余斌,等.北斗+GPS雙源授時在五強溪水電廠的應用[J].水電站機電技術,2022,45(10):133-135.
[4]潘瀟,徐偉民,葉紅.本地承載網北斗授時同步時鐘改造研究[J].通信與信息技術,2022,52(6):65-68.
[5]汪琰.淺談GPS+北斗雙時鐘系統在5G 基站上的應用[J].電子測試,2021,28(10):78-79.
[6]張云,曹劍俠,李景景.基于單片機的多功能萬年歷設計[J].信息與電腦,2022,34(12):137-139.
[7]王亞林,陳楠.一種物體定位檢測實驗電路設計[J].電子技術與軟件工程,2022,11(6):124-127.
[8]吳奇新,鄭文豪,葉志鵬,等.基于SMT32的智能導盲杖[J].電子制作,2020,27(13):34-36.
[9]許亮,劉通.基于51單片機的新型萬年歷設計[J].棗莊學院學
報,2017,34(5):81-84.
[10]譚銘明,姚玲英,阮煜琴,等.基于52單片機智能貼心時鐘的研究與設計[J].電子制作,2021,28(9):16-19.
[11]孫鳳乾.基于STC89C51單片機的數字時鐘設計[J].齊魯工業大學學報,2021,35(3):47-51.
[12]浦靈敏,宋林桂.物聯網與嵌入式技術應用開發[M].武漢:華中科技大學出版社,2022.