[劉銘 李聽聽 陳劉偉]
本系統(tǒng)包括了車位鎖、車位共享智慧控制系統(tǒng)、充電裝置、無線中繼器四部分。其中車位鎖被安裝在車位,由鋰電池供電,并通過藍牙實時的向車位共享智慧控制系統(tǒng)發(fā)送鋰電池狀態(tài)信息,包括電量、溫度等,當車位鎖狀態(tài)發(fā)生變化時(打開或者關(guān)上),觸發(fā)向中央管理系統(tǒng)發(fā)送狀態(tài)切換信息。中央電源管理系統(tǒng)接到車位鎖發(fā)來的信息后,內(nèi)部進行解析并顯示屏上顯示各類狀態(tài)。當車位鎖鋰電池電量不足時,中央管理系統(tǒng)顯示“電量低”,這時管理人員駕駛充電車或者手持充電裝置對車位鎖進行充電或更換鋰電池。本系統(tǒng)采用藍牙5.0 低功耗通信技術(shù),在支持功率控制,有助于在保持連接的情況下降低傳輸功耗,并提高傳輸穩(wěn)定性。
作為一種包含了計算、網(wǎng)絡(luò)、物理實體的復雜系統(tǒng),賽博物理系統(tǒng)有機融合了3C 技術(shù),通過人機交互接口實現(xiàn)物理進程的交互,實現(xiàn)了賽博空間遠程、可靠、實時、安全、協(xié)作和智能化的操控物理實體的目標。
本文將車位鎖這一具有物理實體屬性的機械產(chǎn)品與控制系統(tǒng)、藍牙通信技術(shù)、單片機等技術(shù)相結(jié)合,將停車位、車位鎖、計算模塊、藍牙模塊、鋰電池、車輛等物理實體抽象為虛擬資源并實現(xiàn)有機協(xié)作,構(gòu)建賽博虛物理系統(tǒng)[1]~[3],如圖1 所示。
圖1 車位共享賽博物理系統(tǒng)
整個車位共享智慧控制系統(tǒng)的物理空間主要由以下幾個部分所組成:
(1)停車位:車輛停泊的物理空間,狀態(tài)分為占用和空置兩類。
(2)車位鎖:考慮停車場車位數(shù)量多,電纜布設(shè)難度大等額問題[4],采用電池供電。車輛進入自動識別車輛信息并完成落鎖,支持藍牙模塊通過串口與計算實體連接,通過AT 指令設(shè)置之后藍牙模塊間支持數(shù)據(jù)透傳轉(zhuǎn)發(fā)。
(3)繳費控制器:車輛識別與產(chǎn)生費用支付。
(4)停車場門禁:進出停車場的門禁系統(tǒng),進場識別自動開啟,出場繳費完成后自動。
本次采樣的藍牙模塊為5.0 版本的硬件模塊,是一種低功耗的藍牙模塊,如圖2 所示。由于車位鎖本身需要長期放在車位上,是需要長時間續(xù)航的。藍牙模塊采用的標準是藍牙5.0,相較之前版本更安全,成本更低,延遲更低,且傳輸距離更長,而且能最大程度的防止干擾。藍牙5.0支持星型拓撲的一對多連接,同時可以根據(jù)實際需求調(diào)整發(fā)射功率,可大幅降低傳輸功耗。
圖2 藍牙模塊實物
藍牙模塊的引腳定義如表1 所示。藍牙模塊工作電壓為3.3~5 V,為了使其功耗更低,使用3.3 V 作為工作電壓。將其連接在開發(fā)板上的5 V 轉(zhuǎn)3.3 V 電源PIN 腳上。
表1 藍牙模塊引腳定義
賽博物理系統(tǒng)的信息處理主體是集運算、儲存、控制于一體的單片機,總的來說就是一臺微型電腦[5]。單片機作為嵌入式開發(fā)的工具,其發(fā)展非常迅速,功能也在不斷增強,且單片機應(yīng)用范圍也越來越廣泛。
本系統(tǒng)采用意法半導體(ST)公司所推出的STM32 F103ZET6 大容量芯片,芯片內(nèi)核為Cortex-M3,集成了定時器、UART、ADC、USB、I2C 等多種功能,如表2所示。STM32F103ZET 包含有3 個ADC,每個ADC 的轉(zhuǎn)換速率為1 MHz,也就是1μs。STM32 將ADC 分成了兩個通道,分別為規(guī)則通道組和注入通道組。
表2 軟件各層級模塊定義
STM32 中ADC 的規(guī)則通道組可以包含最多16 個轉(zhuǎn)換,而注入通道組只包含4 個,所以STM32 中的ADC 可以進行很多不同的轉(zhuǎn)換模式,但車位鎖中的電池電量檢測只需要執(zhí)行規(guī)則通道的單次轉(zhuǎn)換。
2.4.1 軟件程序架構(gòu)設(shè)計
系統(tǒng)軟件架構(gòu)分為3 個層次,分別為底層(驅(qū)動層),中間層和應(yīng)用層。其中,驅(qū)動層與硬件緊密相連,設(shè)置相關(guān)的GPIO 口以及對應(yīng)的定時器,UART 的串口設(shè)置和對應(yīng)的中斷設(shè)置,CLOCK 模塊的設(shè)置等,并且包括了各個模塊的初始化。中間層主要是對串口接收到的數(shù)據(jù)進行解釋。應(yīng)用層主要是根據(jù)串口接收到的信息來驅(qū)動顯示器顯示對應(yīng)的信息,而用戶根據(jù)顯示器可以了解到車位目前的狀況。
2.4.2 UART 通信
UART 使用的是異步、串行通信。其中,串行通訊指的是使用一條數(shù)據(jù)線將,每個字符一位一位的按順序進行傳輸。特點是較并行傳輸簡單,一條線纜就可以實現(xiàn)通訊,成本低,適用于遠距離通信,對于傳輸速度無要求的場合。而異步通信指的是通信中的兩個字符的時間間隔是不固定的,而在一個字符內(nèi)的各位的時間間隔是固定的,一個字符通常為8 位。
2.4.3 UART 通信協(xié)議
UART 是異步串行通信協(xié)議的一種,這代表著傳輸數(shù)據(jù)會將每一個字符一位接著一位的傳輸,如圖3 所示。以下是各位的功能。
圖3 UART 的數(shù)據(jù)傳輸格式
起始位:首先發(fā)出一個邏輯“0”,代表了開始傳輸數(shù)據(jù)。
數(shù)據(jù)位:起始位之后,便是代表字符的位,可以是5~8為的邏輯“0或“1”,構(gòu)成一個字符。本文使用ASCII碼,也就是7 位。從最低位開始傳輸。
校驗位:在數(shù)據(jù)位后加上這一位,可以使數(shù)據(jù)流中“1”的位數(shù)為偶數(shù)(即偶校驗)或者奇數(shù)(即奇校驗)。
停止位:這一位代表了一個字符數(shù)據(jù)傳輸結(jié)束??梢允? 位、1.5 位、2 位的高電平。
空閑位:處于邏輯“1”狀態(tài),表示當前線路中沒有數(shù)據(jù)傳輸。
2.4.4 STM32上的串口設(shè)置
串口是MCU 的重要外部接口,也是調(diào)速軟件的必要手段,如今的所以MCU基本都會帶有串口,STM32 也不例外。
STM32 的串口非常豐富,其功能也相當?shù)膹姾贰5窃谑褂肧TM32 的串口之前,必須在軟件端進行設(shè)置,一般來說,串口的設(shè)置分為以下幾步。
(1)串口時鐘使能,GPIO 時鐘使能
(2)串口復位
(3)GPIO 端口模式設(shè)置
(4)串口參數(shù)初始化
(5)開啟中斷并初始NVIC(如果需要開啟中斷才需要這個步驟)
(6)使能串口
(7)編寫中斷處理函數(shù)
2.4.5 電池狀態(tài)及動態(tài)管理
電池的放電和充電是有規(guī)律的,鋰電池的充電可以分為4 個階段[6],分別為:涓流充電、恒流充電、恒壓充電以及充電中止,充電電壓變化如圖4 所示。
圖4 鋰電池充電曲線
鋰電池充電時,先是保持電流恒定,這個時候的電流達到最大,電池電壓隨著恒流充電逐步升高[7]。當電池電壓接近4.2 V 時,電流大小開始降低,直到電壓達到4.2 V 時,電壓保持不變,這時被稱為恒壓充電,這個時候的電流會持續(xù)減少。當充電電流減少到0.02 C至0.07 C 時,停止充電。
上面的充電曲線并不包括鋰電池過放和鋰電池過充的過程,如果鋰電池過放(電池電壓已經(jīng)低于3 V),需要進行恢復性充電,直到電池電壓達到3 V 以上,才會進行正常充電流程中的恒流充電。而為了防止過充,一般采用兩種方法,一種如上所示,在充電電流低于0.02 C 至0.07 C 之間時,停止充電。另一種在恒壓充電開始時計時,持續(xù)充電2 小時后終止充電過程。鋰電池保護芯片一般采用前種方法。
電池在剛開始使用時,電壓會快速下降,放電的倍率月大,電壓便會下降的越快[8]。之后,電池電壓會進入一個較為平緩但仍在下降的階段,這時被稱為電池的平臺區(qū),同樣的,放電倍率越大,平臺區(qū)持續(xù)時間越長,平臺電壓越低,電壓下降的越緩慢。當電池的電量接近放完時,電池的負載電壓開始急劇下降直至達到截止電壓。
另外,鋰電池的過放對于電池的損害很大,并且容易造成設(shè)備無法重新啟動,所以應(yīng)該保證電池電壓不低于3V。
但是STM32 單片機的PIN 口僅支持3.3 V 以下的電壓輸入,所以不能將5 V 電壓直接輸入,否則會燒壞單片機的主芯片。需要接入電阻降壓或者利用單片機自帶的降壓DC/DC 轉(zhuǎn)換器,將5 V 降到3.3 V。
之后將電壓連接到PIN 口,進行ADC 采樣,通過得到的數(shù)值進行計算即可得到鋰電池的電壓,然后根據(jù)放電曲線就可以得到目前電池的剩余容量。
在流程啟動前需做好系統(tǒng)整備工作,包括了硬件準備,需要的物品如下。
(1)PC 機一臺安裝有MDK5、XCOM 以及下載器J-link 的驅(qū)動
(2)5V 鋰電池一個,STM32 開發(fā)板與一個相同芯片的STM32 核心板,J-link 下載器一個。
(3)代碼通過編譯以后通過J-link 將HEX 文件下載至集成電路中的MCU 中。
(4)單片機2 通過ad 采樣獲得外部電源的電壓,將百分比對應(yīng)的字符和鎖的狀態(tài)對應(yīng)的字符發(fā)送到單片機1,單片機1 的LCD 可以顯示電源百分比和車位鎖狀態(tài)。
將所有模塊連接完成之后,則進入工作模式,啟動共享車位智慧控制流程。
(1)各車位的狀態(tài)信息和車位鎖信息經(jīng)車位鎖的低功耗藍牙模塊實時上傳至車位共享智慧控制系統(tǒng)的賽博信息存儲空間;
(2)有車輛進入停車區(qū)域后,系統(tǒng)識別該車輛類型和所需停車位大小等信息,根據(jù)車位、車位鎖的實時狀態(tài)信息,規(guī)劃停車位,并通過路徑規(guī)劃最短路徑發(fā)送至車輛導航[9],引導車輛尋找停車位;
(3)車輛離開停車位,判斷車輛是否使離,若離開,則將車位狀態(tài)變化信息上報至系統(tǒng),系統(tǒng)在門禁處進行費用結(jié)算。
本文基于賽博物理系統(tǒng)構(gòu)建了車位共享智慧控制系統(tǒng),使用低功耗藍牙、分布式計算等技術(shù),實現(xiàn)車位共享的動態(tài)控制。對車位鎖的共享模式和控制流程進行改進,使用云-邊協(xié)同的控制系統(tǒng),契合了賽博物理系統(tǒng)的理論,可以大幅改善用戶停車體驗及簡化車位管理復雜度。同時,本文也是基于賽博物理系統(tǒng)對物理空間和虛擬空間創(chuàng)新性結(jié)合的一次探索,可為后續(xù)更多關(guān)于傳統(tǒng)產(chǎn)品和系統(tǒng)的智能化研究提供實踐支撐。