基于STM32的新型電動(dòng)兩輪車遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)*
*基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(51507097)。
本文引用地址:http://www.ex-cimer.com/article/202204/432709.htm在世界范圍內(nèi),電動(dòng)兩輪車的使用越來(lái)越普及,給出行帶來(lái)很大方便,同時(shí)電動(dòng)兩輪車的功能越來(lái)越多,功率可以人為定制,進(jìn)而出現(xiàn)了很多價(jià)格昂貴的改裝車。因此車輛的防盜問(wèn)題日益突出,被盜事件也日益增多,防盜性能亟須增強(qiáng)。目前市面上電動(dòng)兩輪車設(shè)計(jì)的防盜方法主要是采用車鑰匙和機(jī)械鎖,不能及時(shí)獲取電動(dòng)兩輪車的位置和狀態(tài),更不能及時(shí)地防止盜竊的發(fā)生;通信方式主要是采用藍(lán)牙和Wi-Fi(wireless fidelity,無(wú)線保真),通信距離短,受控制范圍小1-3。有學(xué)者采用RFID(射頻識(shí)別)技術(shù)設(shè)計(jì)了電動(dòng)車防盜監(jiān)控平臺(tái),能夠在車輛被盜時(shí)及時(shí)幫助失主找回車輛。但RFID 通信距離太短,不能遠(yuǎn)距離實(shí)時(shí)控制[4]。
本文基于目前電動(dòng)兩輪車防盜和通信的缺陷,設(shè)計(jì)了一種新的遠(yuǎn)程防盜控制系統(tǒng)。
1 系統(tǒng)設(shè)計(jì)方案
本設(shè)計(jì)采用STM32F103ZET6 為主控芯片,北斗S1216F8-BD 定位芯片構(gòu)成北斗定位模塊, 通信芯片SIM800C 構(gòu)成GSM(Global System for Mobile Communications,全球移動(dòng)通信系統(tǒng))通信模塊。如圖1 所示。電源模塊給整個(gè)系統(tǒng)供電。STM32 的工作電壓是1.8 V ~ 3.3 V 范圍,本設(shè)計(jì)中使用直流3.3 V 供電。將電源接入到芯片電源引腳即可。北斗定位模塊把獲取的位置信息傳輸給控制器。
手機(jī)APP(應(yīng)用程序)界面如圖2 所示,獲取STM32上傳的信息,如位置、報(bào)警等。用戶發(fā)出控制命令,實(shí)現(xiàn)相應(yīng)的控制功能。
通信模塊負(fù)責(zé)信息的傳輸。位置信息和控制請(qǐng)求經(jīng)通信模塊發(fā)送給APP,用戶通過(guò)APP 發(fā)出控制命令經(jīng)GSM 模塊發(fā)送給控制器,使用戶能隨時(shí)隨地掌握車輛狀態(tài)和對(duì)車輛實(shí)時(shí)控制。
控制器采用STM32F103ZET6 微控制器,是整個(gè)系統(tǒng)的控制核心,完成數(shù)據(jù)處理和控制功能。
Copyright:廣州大學(xué)何忠英
圖2 APP控制界面
2 硬件電路原理圖設(shè)計(jì)
為節(jié)省開(kāi)發(fā)時(shí)間和成本,系統(tǒng)采用模塊化設(shè)計(jì)。系統(tǒng)提供相應(yīng)的電源、時(shí)鐘和復(fù)位電路,以使STM32F103ZET6微控制器正常工作;留有引腳插口,以便接入GSM 模塊和北斗模塊;因?yàn)镃PU(中央處理器)引腳輸出最高電壓為DC 5V,不能直接驅(qū)動(dòng)電機(jī)[5],需使用繼電器間接控制。
如圖3 所示。電池(BT)接入電源模塊,經(jīng)電源模塊輸出DC 12 V 供給GSM 通信模塊;輸出DC 3.3 V 供給北斗模塊和STM32 芯片;輸出DC 5 V 供給STM32的GPIO(通用輸入輸出)端口相應(yīng)VDD 引腳(圖中未畫(huà)出);輸出DC 48 V 經(jīng)過(guò)開(kāi)關(guān)S1 和繼電器K1 供給電機(jī)控制模塊。電機(jī)控制模塊輸出控制電壓驅(qū)動(dòng)電動(dòng)兩輪車電機(jī)M1 運(yùn)轉(zhuǎn)或停止。
S2 是電動(dòng)車啟動(dòng)開(kāi)關(guān)。開(kāi)關(guān)S2 閉合時(shí),引腳PB13接3.3 V 電源,引腳PB14 接地,進(jìn)入運(yùn)行模式;開(kāi)關(guān)S2 關(guān)閉時(shí),引腳PB13 接地,引腳PB14 接3.3 V 電源,進(jìn)入監(jiān)控模式。
北斗定位模塊采用S1216F8_BD 定位芯片,定位信號(hào)經(jīng)過(guò)TXD和RXD引腳傳輸給STM32的PA3(USART2_RX)和PA2(USART2_TX)引腳,進(jìn)入CPU 進(jìn)行處理。
GSM 模塊SRXD 和STXD 引腳分別連接主控芯片PB10(USART3_TX)和PB11(USART3_RX)引腳,進(jìn)行信息傳輸,使得主控芯片經(jīng)過(guò)GSM 通信模塊,能可靠地和APP 通信。
3 定位功能實(shí)現(xiàn)
北斗定位模塊原理圖如圖4 所示。
U_BD1 是超低靜態(tài)功耗的穩(wěn)壓芯片,把3.5 V 的電壓經(jīng)過(guò)引腳1 輸入給芯片,再由芯片的第5 腳輸出穩(wěn)定的3.3 V 電壓。
U_BD2 是北斗定位芯片S1216F8_BD,由天線T接收采集衛(wèi)星信號(hào),從第11 腳RF_IN 輸入到芯片,經(jīng)芯片處理完后,把數(shù)據(jù)經(jīng)過(guò)串口輸出。第21 腳和第20腳分別與主控制板的引腳PA2、PA3 連接,進(jìn)行串口通信,傳輸數(shù)據(jù)。
S1216F8-BD 北斗芯片默認(rèn)采用NMEA-0183(美國(guó)國(guó)家海洋電子協(xié)會(huì))協(xié)議輸出北斗定位數(shù)據(jù),控制協(xié)議為Sky Traq 協(xié)議。軟件設(shè)計(jì)流程圖如圖5 所示。
北斗定位函數(shù)初始化硬件之后,通過(guò)調(diào)用北斗的S1216F8BD_Cfg_Rate 函數(shù)判斷模塊是否在位,如果不在位,則嘗試去設(shè)置模塊的波特率為38400,直到檢測(cè)到模塊在位為止。然后進(jìn)入死循環(huán),等待串口接收北斗數(shù)據(jù)。每次接收到北斗模塊發(fā)送過(guò)來(lái)的數(shù)據(jù),就執(zhí)行數(shù)據(jù)解析。最后得到電動(dòng)兩輪車所在位置的經(jīng)度、緯度和行駛速度。
4 行駛功能實(shí)現(xiàn)
4.1 預(yù)先設(shè)置
插入未停機(jī)的中國(guó)移動(dòng)或中國(guó)聯(lián)通的SIM 卡,以便通信使用,并在APP 中設(shè)置接收信息的號(hào)碼。在APP 中設(shè)置電動(dòng)車開(kāi)機(jī)密碼和電動(dòng)車車主身份信息到STM32 內(nèi)核,以便識(shí)別車輛身份。設(shè)置50 m 電子圍欄,用于非法移動(dòng)報(bào)警。
4.2 正常開(kāi)機(jī)使用
使用流程如圖6 所示,電動(dòng)車主正常使用鑰匙開(kāi)車鎖S2,PB13 = 1 和PB14 = 0,進(jìn)入運(yùn)行模式。CPU 上電,系統(tǒng)進(jìn)行初始化,發(fā)送開(kāi)機(jī)申請(qǐng)到APP。車主在APP上輸入行駛密碼。當(dāng)按下啟動(dòng)開(kāi)關(guān)S1,用戶輸入密碼正確時(shí),PB15 = 1,光電耦合器U100 接通,使得繼電器K1 線圈得電,觸點(diǎn)吸合,電機(jī)控制模塊通電,控制電機(jī)正常運(yùn)行,準(zhǔn)予騎行。
當(dāng)開(kāi)機(jī)密碼錯(cuò)誤且錯(cuò)誤次數(shù)超過(guò)3 次,判斷為非法開(kāi)機(jī),此時(shí),PB15 = 0,光電耦合器U100 斷開(kāi),繼電器K1 觸點(diǎn)斷開(kāi),切斷電機(jī)供電,鎖死電機(jī),并且電動(dòng)車發(fā)出警報(bào),上傳位置信息給車主,實(shí)現(xiàn)防止車輛非法騎行或被盜。當(dāng)車主確認(rèn)輸入密碼的是本人,可以解除警報(bào),進(jìn)入監(jiān)控模式;否則一直報(bào)警,并且每隔1 分鐘上傳一次位置信息給車主。
當(dāng)合法騎行完畢,鎖車后,PB13 = 0,PB14 = 1,進(jìn)入監(jiān)控模式。
5 監(jiān)控和報(bào)警
監(jiān)控模式如圖7 所示,會(huì)一直在系統(tǒng)后臺(tái)定位,每隔1 分鐘,采樣一次經(jīng)緯度。依據(jù)前后2 次經(jīng)緯度計(jì)算出車輛的位置移動(dòng)距離L。若未超出電子圍欄( 如50 m),則繼續(xù)監(jiān)控,否則報(bào)警并設(shè)PB15 = 0 鎖電機(jī),且每隔1 分鐘發(fā)送位置信息給車主,以便車主追回車輛,如圖8 所示。當(dāng)車主把警報(bào)解除后,繼續(xù)監(jiān)控,否則一直報(bào)警和定位。
6 車輛追蹤設(shè)計(jì)
用戶可在APP 上隨時(shí)查看位置信息,以便更人性化的監(jiān)控車輛所在位置,放心使用該服務(wù),如圖9 所示。
圖8 顯示被盜位置
圖9 位置查詢
車主在APP 上設(shè)置車主身份信息。當(dāng)車輛被盜時(shí),能在APP 上查詢出車主信息,如圖10 所示。便于執(zhí)法人員準(zhǔn)確地識(shí)別真正的車主,有助于解決糾紛。
圖10 顯示車主信息
7 結(jié)語(yǔ)
系統(tǒng)通過(guò)GSM 模塊接入全球移動(dòng)通信網(wǎng)絡(luò),通信信號(hào)遍布全球每個(gè)角落,使得手機(jī)APP 與控制器之間的通信不受距離限制,解決了控制距離受限制問(wèn)題,實(shí)現(xiàn)了對(duì)電動(dòng)兩輪車的遠(yuǎn)程控制。
本文從設(shè)計(jì)電動(dòng)兩輪車新型控制系統(tǒng)的原理方框圖出發(fā),設(shè)計(jì)了系統(tǒng)的各個(gè)組成部分、硬件電路原理圖、軟件流程圖和程序代碼(因篇幅有限,未列出),介紹了系統(tǒng)的工作原理。經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,此遠(yuǎn)程控制系統(tǒng)可行,具有實(shí)用和商業(yè)推廣價(jià)值。因篇幅有限,APP 設(shè)計(jì)的其他功能,本文未闡述。
參考文獻(xiàn):
[1] 周若蘭等.共享電單車發(fā)展現(xiàn)狀的問(wèn)題及對(duì)策分析[J].物流科技,2021(2):47-49.
[2] 李丹.電動(dòng)自行車安防智能化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2019.
[3] 王紅軍,鄭帥.基于STM32的無(wú)線視頻小車設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2021(1):20-21.
[4] 林健等.基于RFID技術(shù)的電動(dòng)車防盜監(jiān)控平臺(tái)設(shè)計(jì)[J].軟件導(dǎo)刊,2020,19(3):62-65.
[5] 黃克亞.ARM Cortex-M3嵌入式原理及應(yīng)用[M].北京:清華大學(xué)出版社,2020.1.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2022年3月期)
評(píng)論