朱鵬,楊延寧,張璐,劉丁,孟凡龍,王闖超
(延安大學物理與電子信息學院,陜西 延安 716000)
青少年是國家的未來和民族的希望,關注青少年的健康成長,一直以來都是國家、社會、家庭的焦點問題之一。在青少年成長過程中,有很多因素會影響他們的成長發育,其中青少年背的書包是不可忽視的因素。隨著越來越重的學習任務,書包里的書本也越來越多,書包已然被看作是青少年們的“職業負荷”。青少年長時間背負著沉重的書包,對肩部肌肉產生強大的壓迫,從而導致頸肩部疼痛,嚴重影響青少年的脊柱生長,大大增加了出現頸曲加大或者脊柱側偏的概率。許多調查顯示[1-2],沉重的書包是影響頸椎生理健康和引起頸椎相關癥狀的主要因素之一。
為了加快教育改革,提高素質教育,實現對青少年負擔的減輕,設計一款智能書包是有必要的。文中設計了一種基于BLE4.0的智能書包,通過實現自動跟隨青少年行走、自動避障、對書包重量進行實時監控的功能,可以有效地減輕青少年書包壓力,保障了青少年身體健康發育。
智能書包設計是用一個單模BLE芯片CC2541為主機單元,用兩個單模BLE芯片CC2541作為從機單元[3]。主要包括:顯示模塊、按鍵模塊、測重模塊、報警模塊、避障模塊等[4]。其中按鍵模塊用來確認主機連接從機、開始或取消接從機數據。測重模塊用來測量出書包的重量。報警模塊是在書包重量超出限值或青少年距離書包超出限定范圍后進行報警。避障模塊是在智能書包跟隨青少年行走過程中,遇到障礙物自動調整方向,防止智能書包撞到障礙物。
系統選用一塊CC2541作為主機系統的主控芯片,選用兩塊CC2541分別作為從機A單元和從機B單元的主控芯片。從機A單元包括壓力傳感器模塊HX711模塊和顯示模塊,從機B單元包括電機驅動模塊和報警模塊。在完成配對后的主機藍牙和從機藍牙能夠構建出一個BLE無線通信網絡。主機在協議棧中讀取兩個從機的接收信號強度指示數據[5],通過CC2541內集成的單片機處理數據,數據處理后發送指令到從機,從機B根據指令信息控制電機驅動模塊。從機A讀取壓力傳感器HX711采集的重量數據,經過處理后顯示在液晶顯示屏中。當書包重量超出限值或從機距離主機超出距離上限值時,報警模塊工作。基于BLE4.0的智能書包總方案原理如圖1所示。

圖1 智能書包總方案原理圖
智能書包設計的核心芯片CC2541是一款針對Bluetooth Low Energy4.0以及私有2.4 GHz BLE應用的功率提升的真正片載系統(SoC)解決方案,它的主要功能有[6-7]:
1)內部高度集成增強型8051單片機,256 kB內置內存,8 kB靜態隨機存取存儲器;
2)完全集成的低功率無線電頻率(1MBPS功能藍牙GFSK);
3)有4種不同的發射功率設置,適合不同開發應用的需求;
4)TI公司提供完整的協議棧和技術文檔與支持,一定程度上減輕了開發者開發基于CC2541應用的難度。
主機單元的核心芯片為CC2541,其額定工作電壓為3.3 V。采用一節大容量18650鋰電池給主機單元供電,因18650鋰電池的輸出電壓不夠穩定,所以選用AMS1117做穩壓電路。AMS1117能夠穩定的輸出3.3 V電壓,具有1%的精度,具有電流過大保護、電路發熱阻斷等功能[8]。主機穩壓電路原理圖如圖2所示。

圖2 主機穩壓電路原理圖
從機單元的核心芯片同主機單元核心芯片相同,均為CC2541,但是從機單元需要驅動電機模塊L298N,為保障從機足夠的電量,采用3節大容量18650鋰電池供電。將驅動電機模塊供電電壓設計為5 V來確保電路的穩定性。需設計兩個穩壓電路,分別為5 V和3 V穩壓供電電源[9]。AMS1117對于輸入電壓值要求不是很高,所以,從機的供電電路設計可以和主機的穩壓電路設計相一致。選用LM2596做5 V穩壓電源電路。LM2596輸出電流可高達3 A,TTL斷電保護,具備熱量過高保護和電流過大保護。從機穩壓電路原理圖如圖3所示。
2.3.1 主控芯片CC2541引腳的介紹
主控制器的選用對于整個設計十分重要,考慮到低功耗、穩定等特點,所以選用CC2541。表1是CC2541的引腳及功能說明。

圖3 從機穩壓電路原理圖

表1 CC2541的引腳及功能說明
2.3.2 主機單元電路設計
主機電路是以CC2541芯片為核心搭建的,配有按鍵模塊、LED模塊、顯示模塊。主機電路中一共設置5個按鍵。按鍵S2、S3、S4分別作為搜索從機、連接從機、獲取從機的RSSI等使用。使用OLED顯示主機和從機的連接狀態、主機讀取到的接收信號強度指示值、以及指令信息[10]。主機電路原理圖如圖4所示。

圖4 主機電路原理圖
2.4.1 從機A電路設計
從機A電路是以CC2541為核心搭建的,配有LED模塊、測重模塊、蜂鳴器報警模塊。測重模塊的設計利用壓力傳感器HX711AD為核心搭建。HX711AD通過PD_SCK和DOUT兩條串口通訊線和CC2541的SCK和SDA相連接,完成數據的發送和接收[11]。選用無源蜂鳴器做蜂鳴器報警模塊。蜂鳴器報警模塊的使能端口與CC2541的P20口相連,當讀取HX711數據小于設定上限時,P20口輸出低電平,三極管S8550處于截止狀態,蜂鳴器不工作。當讀取HX711數據大于設定上限時,P20口輸出高電平,三極管S8550處于導通狀態,蜂鳴器發聲,進而報警。從機A電路的原理圖如圖5所示。

圖5 從機A電路原理圖
2.4.2 從機B電路設計
從機B電路是以CC2541芯片為核心搭建的,配有LED模塊、電機驅動模塊和蜂鳴器報警模塊。采用L298N作為電機驅動模塊。CC2541的P06和P07可輸出PWM波,分別與L298N的兩個使能端相連。CC2541的 4個IO口 P01、P12、P13、P14分別輸出高低電平,作為L298N驅動電機模塊的IN1、IN2、IN3、IN4的控制信號,驅動電機轉動。同樣選用無源蜂鳴器做蜂鳴器報警模塊[12]。蜂鳴器報警模塊的使能端口與CC2541的P20口相連,當智能書包無異常情況發生時,P20口輸出低電平,三極管S8550處于截止狀態,蜂鳴器不工作。當智能書包有異常情況發生時,P20口輸出高電平,三極管S8550處于導通狀態,蜂鳴器發聲,進而報警。從機B電路原理圖如圖6所示。

圖6 從機B電路原理圖
主機核心芯片CC2541的主要功能是在協議棧里獲取兩個從機接收信號強度的指示數據,然后根據RSSI的不同給從機發送指令。
給主機單元上電,初始化板子上的I/O口,對硬件部分初始化,初始化驅動,初始化操作系統,最后開始osal_start_system的進程,這個進程會調用由特定應用決定的啟動函數osalInitTasks來啟動系統,osalInitTasks逐個調用BLE協議棧各層的啟動進程來初始化協議棧,跳入循環等待執行任務,系統啟動完成[13-15]。由于從機的廣播包內包含有RSSI的數據,運用協議棧中的Simple BLE Central RssiCB函數讀取到RSSI。在主機藍牙中,把讀取從機A的RSSI定義為RSSI_Left,把讀取從機B的RSSI定義為RSSI_Right。通過編寫的Simple BLEC ental函數,比較RSSI_Left數值和RSSI_Right的數值大小,給出相應的直行、左轉、右轉指令。主機以廣播的形式,將指令寫到從機的CHAR1中。主機的工作流程圖如圖7所示。

圖7 主機的工作流程圖
從機A的主要功能是測量智能書包載重情況和超重報警。首先,初始化系統的硬件,包括測重模塊、OLED模塊、設置好載重的最大值。然后,進入事件進程,點擊進入這個進程就會發現,這是一個大循環。如果有事件與協議棧中寫好的事件相匹配,那么開始對這個事件進行操作。從機A中,設定一個事件為測重事件,每次開機時系統自定義會寫入測重事件并且對測重事件進行操作,獲取得到實時的智能書包重量信息。如果重量超出上限,發出聲光報警[16]。從機A的工作流程圖如圖8所示。

圖8 從機A的工作流程圖
從機B的主要功能為根據主機寫入的指令驅動電機轉動和報警。首先,對系統的硬件進行初始化,隨后進入事件進程函數。點擊進入這個進程就會發現,這是個大循環。如果有事件與協議棧寫好的事件相匹配,則會對事件進行操作[17]。主機和從機連接后,從機通過發送廣播包的形式為主機提供接收信號強度指示并且主機給從機B通過寫入從機CHAR1的形式發送指令。由TI公司提供的協議棧中已經定義好Simple Profile ChangeCB函數來處理指示值改變后回調事件。當CHAR1里面的數值為0x31時,執行直行指令;當CHAR1里面的數值為0x32時,執行右轉指令;當CHAR1的數值為0x33時,執行左轉指令。從機B的工作流程如圖9所示。

圖9 從機B的工作流程圖
硬件調試首先要對系統的主機核心芯片CC2541的外圍電路進行檢查,檢查外圍電路是否存在虛焊、短接等問題。用萬用表紅表筆接觸供電電路的正極,用黑表筆接觸供電電路的負極,檢測電壓是不是CC2541的額定工作電壓。由于CC2541是高電平復位,示波器相對于萬用表可以明顯的顯示出高低電平的變化情況。通過示波器檢查復位電路。示波器尖頭表筆夾住按鍵的一段,黑夾子夾住電源地,通過示波器的波形跳動檢測電路是否正確。
從機A和從機B核心芯片與主機所用芯片一致,外圍電路檢測過程也一致。然而,從機B硬件電路有驅動電機模塊。首先,測試L298N模塊是否正常工作,然后,連接從機B硬件電路,確保驅動電路完全沒有問題,從而確定從機B的電路是否存在問題。從機A硬件電路有測重模塊以及報警模塊,分別查看各個分模塊的電源指示燈是否正常,用萬用表調制電壓檔測量模塊的供電電壓。
最后,在硬件設計與焊接的過程中考慮到系統體積的便攜性,需要將穩壓模塊、主機芯片等排到一塊電路板上,增加設計難度[18]。為完成要求,改善電路走線,使系統硬件設計達到美觀、實用。
首先,對初始化配置進行檢查,檢查協議棧中的管腳配置是否存在復用情況。其次,主機是否能與從機A和從機B進行連接,連接成功后,檢查主機能否正確讀取廣播包,獲取到RSSI的值。最后,檢查電機驅動程序、測重程序、報警程序等的邏輯性是否正確。
該設計外圍電路簡單,成本低,操作容易,實用性較強。充分應用抗干擾性強,低成本的CC2541芯片,解決了傳統書包影響青少年的健康成長的問題。經過檢測,系統可以自動跟隨青少年行走,對書包重量進行實時監控,與青少年的距離超過限值發生報警等,可以滿足設計的整體要求。但是該設計還有一些不足之處,在今后的研究中將進一步優化設計,以達到商用的目的。