沈 兵,向 軍,梁會(huì)軍,蒯楓翔
(湖北民族大學(xué) 智能科學(xué)與工程學(xué)院,湖北恩施 445000)
電動(dòng)自行車是人們生活中常見的代步工具,也是發(fā)展綠色經(jīng)濟(jì),提倡綠色出行的載體[1,2]。據(jù)統(tǒng)計(jì),我國的電動(dòng)自行車用戶近3億,并以驚人的速度逐年遞增,而隨著外賣業(yè)的迅速發(fā)展,大部分騎手平均每天騎行距離達(dá)到100 km至150 km,而續(xù)航里程為50 km 左右鋰電池遠(yuǎn)不能支撐騎手一天的工作行程[3,4]。同時(shí),在物聯(lián)網(wǎng)的技術(shù)和共享經(jīng)濟(jì)環(huán)境下,共享電動(dòng)自行車結(jié)合逐漸成熟的智能化終端技術(shù)已經(jīng)出現(xiàn)在很多城市中,并越來越受到城市居民的喜愛和認(rèn)可[3]。但目前共享電動(dòng)自行車大多沒有固定充電樁,如何給電瓶充電已成為共享電動(dòng)自行車接續(xù)發(fā)展的阻礙之一,而如果采用人為更換電池模式,會(huì)給中后期的運(yùn)維工作和人力成本投入造成較大的壓力。幾乎每家每戶都有電動(dòng)自行車,為了方便地給電瓶充電,用戶各顯神通的充電方式會(huì)誘發(fā)觸電、火災(zāi)等問題[6-8]。
為此,結(jié)合“集中充電,自主換電”的思想,依托阿里云物聯(lián)網(wǎng)平臺(tái)設(shè)計(jì)了一套電瓶換電柜控制系統(tǒng),自主研發(fā)一款電瓶換電柜,能滿足電動(dòng)自行車智能換電柜技術(shù)要求及檢測標(biāo)準(zhǔn)。該系統(tǒng)融合物聯(lián)網(wǎng)思維,使電瓶充電更方便、更安全、更有序。
換電柜作為電動(dòng)自行車充電集成化的載體,為電瓶充電帶來了很大便捷。本設(shè)計(jì)初步設(shè)定一個(gè)換電柜擁有6 個(gè)電池充電箱,每個(gè)充電箱內(nèi)配有控制電路板對充電過程進(jìn)行實(shí)時(shí)監(jiān)測、信息采集并建立通訊。1 號箱的電路板作為主控電路板與觸摸屏通過RS-232串口進(jìn)行通訊,主控板與從控電路板建立RS-485通訊協(xié)議,以總線的方式進(jìn)行通訊。換電柜通過ESP8266 無線通訊模塊與阿里云物聯(lián)網(wǎng)平臺(tái)按照MQTT 通信協(xié)議進(jìn)行通訊[8]。用戶可通過手機(jī)上的APP 掃描觸摸屏上的二維碼驗(yàn)證身份。身份驗(yàn)證后發(fā)送指令給阿里云物聯(lián)網(wǎng)平臺(tái),再由平臺(tái)發(fā)送指令給換電柜,解鎖觸摸屏跳轉(zhuǎn)至操作界面,讓用戶進(jìn)行充電、取電的操作,控制系統(tǒng)整體框圖如圖1所示。
圖1 換電柜控制系統(tǒng)整體框圖
控制電路板采用STM32F103R8T6 單片機(jī)作為主控芯片。STM32F103R8T6單片機(jī)是ST旗下的一款常用的增強(qiáng)型系列微控制器,基于Cortex-M3?內(nèi)核,主頻高達(dá)72 MHz,20 K 的靜態(tài)存儲(chǔ),64 K 字節(jié)程序存儲(chǔ)空間[1],具有51個(gè)Ι/O引腳和7個(gè)定時(shí)器。
集成電路板包含電源模塊、通訊模塊、繼電器控制模塊、溫度煙霧報(bào)警模塊、撥碼開關(guān)、指示燈模塊、電壓反饋模塊等多個(gè)模塊,控制電路板整體結(jié)構(gòu)如圖2 所示。據(jù)此,實(shí)現(xiàn)對每個(gè)充電箱充電過程的監(jiān)測、控制以及信息傳遞。
圖2 控制電路板結(jié)構(gòu)圖
控制電路板中不同模塊供電需求不同,例如STM32F103R8T6 芯片、通訊模塊和撥碼開關(guān)需以3.3 V 電壓供電,指示燈模塊、繼電器模塊和溫度模塊需以12 V電壓供電,煙霧模塊需以5 V電壓供電。因此,設(shè)計(jì)選擇以12 V 直流電壓源接入電源模塊,用以LM2576HVT-5.0 穩(wěn)壓器為主的降壓電路將12 V 電壓轉(zhuǎn)換成5 V 電壓,再用以ASM1117-3.3 穩(wěn)壓器為主的降壓電路將5 V 電壓轉(zhuǎn)換成3.3 V 電壓,為整個(gè)電路板和各模塊供電。
通訊模塊是電動(dòng)自行車電瓶換電柜控制系統(tǒng)極為重要的模塊,是觸摸屏與主控電路板、主控電路板與其他充電箱中的控制電路板建立通訊的基礎(chǔ)。主控電路板通過串口1 與觸摸屏進(jìn)行RS-232串行通訊,接受、分析來自觸摸屏的信號。若接受到的信號目標(biāo)對象不是1 號充電箱,主控芯片則將信號按照充電箱控制電路板間的自定義通訊協(xié)議進(jìn)行轉(zhuǎn)換,再通過主控板上的串口2 傳輸?shù)娇刂齐娐钒彘g的通訊總線上。從控制電路板也是經(jīng)由串口2接收傳遞控制信號和充電箱內(nèi)實(shí)時(shí)數(shù)據(jù)。由于控制電路板間的通訊協(xié)議和觸摸屏與主控板間的通訊協(xié)議不同,主控板中的主控芯片將分析以兩種協(xié)議傳遞的信息。串口1 的通訊電路是以MAX232CSA 收發(fā)器為核心外連九針母頭,串口2的通訊電路以MAX1487CPA為核心,通過兩線端子與RS-485總線連接。
電壓反饋模塊主要作用是測量充電過程中的電池電壓,然后經(jīng)過LM358芯片中的運(yùn)算放大器處理后反饋給單片機(jī)進(jìn)行分析。STM32 將設(shè)定三個(gè)閾值與接收到的電壓信號進(jìn)行比較,當(dāng)電壓信號小于最低閾值時(shí),系統(tǒng)認(rèn)為該充電箱內(nèi)并無電池,當(dāng)電壓信號大于最高閾值時(shí),系統(tǒng)認(rèn)為該充電箱內(nèi)的電池已經(jīng)充滿,在這兩種情況下,系統(tǒng)都會(huì)斷開充電繼電器以及執(zhí)行相應(yīng)操作。只有當(dāng)電壓信號大于最低閾值,小于最高閾值時(shí),系統(tǒng)才會(huì)認(rèn)為充電箱內(nèi)有需要充電的電池,而中間的閾值則是用于界定電池電量是否已經(jīng)充過80%。同時(shí),指示燈的亮滅也是通過電壓信號與閾值的比較進(jìn)行變換。
撥碼開關(guān)電路是用SW DΙP-4 撥碼按鍵構(gòu)成的簡易電路,在系統(tǒng)初始化過程中,控制芯片通過讀取相應(yīng)引腳的高低電平,識別撥碼開關(guān)提供的4 位二進(jìn)制信息,以此確定本箱編號。
溫度模塊是結(jié)合DS18B20 傳感器將溫度信號傳給控制芯片。DS18B20 傳感器僅有三根連接線,分別是信號線、地線和電源線,信號線接入電路時(shí)需上拉4.7 kΩ 電阻。芯片在工作過程中定時(shí)讀取溫度信號,分別將溫度信號的整數(shù)部分和小數(shù)部分轉(zhuǎn)換成一字節(jié)的數(shù)據(jù),發(fā)送給主控芯片。
煙霧模塊以MQ-2 多種氣體傳感器為主體,檢測充電箱內(nèi)的煙霧信號后,信號經(jīng)過ADC0832芯片轉(zhuǎn)化后傳給控制電路板。由于需以5 V 電壓給MQ-2 供電,信號傳遞給芯片時(shí)應(yīng)光耦隔離,以保證芯片運(yùn)行安全。
指示燈模塊、風(fēng)扇控制模塊、電磁鎖模塊以及繼電器控制模塊都需要12 V 電壓供電,而STM32F103R8T6 控制芯片引腳僅接受3.3 V 信號,因此當(dāng)信號輸出時(shí)都需經(jīng)光耦隔離控制各模塊的運(yùn)行。
應(yīng)用Android Studio開發(fā)環(huán)境設(shè)計(jì)安卓APP,用戶可下載并使用APP 掃描觸摸屏上的二維碼驗(yàn)證身份并解鎖觸摸屏。
阿里云物聯(lián)網(wǎng)平臺(tái)與APP 和ESP8266 無線通訊模塊之間的通訊協(xié)議均為MQTT,用戶可采取如圖3 的操作流程注冊賬號、身份驗(yàn)證和登陸賬號。登陸賬號后,可采用掃描觸摸屏上的二維碼或在APP 上選定換電柜的編號后向阿里云物聯(lián)網(wǎng)平臺(tái)發(fā)送允許操作指令,使用換電柜。
圖3 APP操作流程圖
點(diǎn)擊APP 中按鈕可觸發(fā)事件將控制命令以JSON 的ALΙNK 的格式傳輸給阿里云,再由阿里云以同樣的數(shù)據(jù)格式傳遞給ESP8266 無線通訊模塊,實(shí)現(xiàn)電動(dòng)自行車終端用戶與換電柜之間的通訊。
設(shè)計(jì)選用大彩科技有限公司旗下DC10768KM 150_1111_0C型號的15寸觸摸屏作為觸控屏。前期制作的人機(jī)交互界面如圖4 所示。六個(gè)區(qū)域中的“充電”、“取電”按鈕分別用來控制六個(gè)充電箱箱門的開啟。按下“充電”按鈕時(shí),若充電箱內(nèi)無電池,對應(yīng)箱門開啟,否則界面會(huì)彈出“箱內(nèi)有電池”的提示。按下“取電”按鈕時(shí),若對應(yīng)充電箱有電量超過80%的電池,充電箱箱門開啟,否則界面會(huì)彈出“箱內(nèi)可取電池”的提示。
每個(gè)區(qū)域有三色燈,紅燈亮?xí)r表示對應(yīng)箱內(nèi)電池電量不足80%。黃燈亮?xí)r表示對應(yīng)箱內(nèi)電池電量大于80%。綠燈亮?xí)r表示箱內(nèi)有電量充足的電池。當(dāng)區(qū)域內(nèi)三色燈全部熄滅時(shí)表示對應(yīng)充電箱內(nèi)無電池。
主程序運(yùn)行流程圖如圖5所示,連接電路后,給控制電路板和觸摸屏上電,各控制電路板首先初始化各引腳功能配置,通過撥碼開關(guān)引腳上的電平識別自身編號,主控電路板編號為1 號。主程序進(jìn)入循環(huán)后,主控板將本充電箱的基本信息通過串口1傳給觸摸屏,通過串口2 向其他控制電路板依次發(fā)送查詢指令。收到查詢指令后,各控制電路板讀取本充電箱內(nèi)溫度、煙霧、箱門關(guān)合及電池電量信息,按自定義協(xié)議規(guī)則整合成數(shù)據(jù),通過串口2 發(fā)送到RS-485 總線上。主控電路板通過識別數(shù)據(jù)內(nèi)源地址和目的地址信息判斷數(shù)據(jù)來源,分析轉(zhuǎn)換后傳給觸摸屏顯示。當(dāng)用戶通過觸摸屏按下“充電”和“取電”按鈕時(shí),觸摸屏發(fā)送指令給主控板。主控板經(jīng)分析轉(zhuǎn)換后或打開本充電箱箱門,或通過串口2 發(fā)送各控制板。
圖5 控制電路板主程序流程圖
電瓶換電柜內(nèi)部具有兩種通訊協(xié)議,一種是DC10768KM150_1111_0C 觸摸屏默認(rèn)通訊協(xié)議;大彩組態(tài)命令集。另一種是各控制電路板間自定義的一個(gè)協(xié)議,其協(xié)議結(jié)構(gòu)如圖6 所示;數(shù)據(jù)共有13位,以FF FF 為幀頭,EE 為幀尾,第三位至第七位分別記錄數(shù)據(jù)的源地址、目標(biāo)地址、功能指令、充電箱箱門的狀態(tài)和箱內(nèi)電池電量的狀態(tài)。數(shù)據(jù)的第八位至第十一位記錄充電箱內(nèi)的溫度和煙霧實(shí)時(shí)數(shù)據(jù),及十二位代表充電箱內(nèi)有無電池的信息。當(dāng)控制電路板收到查詢信號,控制芯片將讀取箱內(nèi)各信號整合到數(shù)據(jù)中,反饋給主控芯片。主控芯片對照目的地址接受分析收到的數(shù)據(jù),將指示燈信號轉(zhuǎn)換成觸摸屏可以識別的指令傳給觸摸屏。
圖6 應(yīng)答信號數(shù)據(jù)分析圖
在測試初始階段,主控芯片只有向RS-485總線依次發(fā)送查詢信號,然后接受每個(gè)充電箱反饋而來的響應(yīng)信號才可獲取其狀態(tài)信息。加入延時(shí)后,主控電路板每隔2 s 按順序向其中一個(gè)從控電路板發(fā)送查詢信號,但經(jīng)測試發(fā)現(xiàn),各個(gè)充電箱狀態(tài)信息需要等待一個(gè)12 s 查詢周期才能反饋至觸摸屏,極大地造成了信息傳輸?shù)难舆t。為了保證充電過中狀態(tài)信息能夠及時(shí)傳輸,對主控電路板的控制策略進(jìn)行了調(diào)整,并改進(jìn)了Keil 程序。經(jīng)過改進(jìn)后,各個(gè)充電箱內(nèi)的狀態(tài)信息跳變后,從控電路板能在1 s內(nèi)主動(dòng)向主控電路板發(fā)送狀態(tài)信息,并通過觸摸屏及時(shí)顯示,消除了初始階段狀態(tài)信息延時(shí)反饋的弊端。
主控芯片和從控芯片共用一套程序,芯片通過初始化過程確定自身編號后執(zhí)行不同的操作。控制電路板中撥碼開關(guān)被置為03,被定為主控電路板;右邊控制電路板中的撥碼開關(guān)被置為03,被定為從控電路板。它們能將充電過程中的狀態(tài)的信息反饋至觸摸屏,并在觸摸屏中的區(qū)域1 和區(qū)域3中顯示。程序經(jīng)過多次調(diào)試和改進(jìn),已可使用手機(jī)APP 掃碼解鎖觸摸屏進(jìn)入主界面進(jìn)行充電、取電的操作。主從控制電路板中的各個(gè)模塊都能及時(shí)采集到實(shí)時(shí)數(shù)據(jù)并反饋給觸摸屏進(jìn)行顯示,控制電路板間也能實(shí)現(xiàn)迅速可靠的通信。
為解決電動(dòng)自行車充電難、充電過程存在不安全等問題,從硬件、軟件兩方面入手設(shè)計(jì)了一套換電柜控制系統(tǒng)。該系統(tǒng)以STM32F103R8T6 單片機(jī)為控制核心,應(yīng)用ESP8266 無線通訊模塊與阿里云物聯(lián)網(wǎng)平臺(tái)根據(jù)MQTT 協(xié)議建立無線通訊,并在Android Studio 軟件中開發(fā)終端APP。用戶可通過APP 驗(yàn)證身份,解鎖換電柜觸摸屏和結(jié)算金額。經(jīng)過實(shí)物測試,該系統(tǒng)能極大程度地給電動(dòng)車用戶帶來便利,提高電瓶充電過程的安全性。