王光偉,郭一民,門 巖,呂長春
(天津職業(yè)技術(shù)師范大學電子工程學院,天津 300222)
當今開發(fā)利用包括太陽能在內(nèi)的可再生清潔能源是一個緊迫課題[1]。因直觀體驗到樂趣,適齡兒童喜歡玩遙控玩具車,這也有助于培養(yǎng)其探索精神[2]。隨著人們對科技類玩具需求的增加,技術(shù)含量高的遙控類玩具行情日益看漲[3]。為此,本文研發(fā)了一種單片機控制的、以自動跟蹤太陽的光伏板為電源的智能玩具車,該玩具車體積小巧,操作方便,運轉(zhuǎn)靈活,晴天可續(xù)航8 h以上。和普通遙控玩具車相比,天氣晴好時,無需更換電池,環(huán)保且不間斷充電,具有潛在的市場前景。
太陽能智能玩具車頂?shù)墓夥鍖⑻柲苻D(zhuǎn)換成電能,經(jīng)控制電路為系統(tǒng)供電。通過檢測光伏板周邊4個點位的太陽光強,觸發(fā)2個電機轉(zhuǎn)動,把光伏板調(diào)到合適的高度角和方位角,實現(xiàn)雙軸追光[4],最大限度收集利用太陽能。采用STC12C5A60S2單片機作為控制核心,通過L298N電機模塊驅(qū)動2個車輪,紅外傳感器感知前方的障礙物,藍牙通信模塊近距離接收手機的指令,減速電機控制模塊搭配ULN2003步進電機驅(qū)動模塊、按鍵、LED指示燈、自動升降壓模塊組成太陽能智能玩具車的追光控制系統(tǒng)。太陽能智能玩具車總體設計如圖1所示。
圖1 太陽能智能玩具車總體設計
通過按鍵切換選擇自動追光或手動追光。自動模式下,單片機比較頂角4個點位的太陽光強差值,控制2個步進電機在豎直和水平方向旋轉(zhuǎn),調(diào)節(jié)光伏板的高度角和方位角,直到光伏板的上端與下端、左邊與右邊光強一致,此時光伏板接收太陽光直射,以最大效率收集轉(zhuǎn)化太陽能為電能。手動模式下,用戶操作4個按鍵,控制光伏板旋轉(zhuǎn)至陽光直射的方位。
手機上的藍牙控制軟件(如APP等)與遙控車的控制模塊通信發(fā)送相關(guān)指令,觸發(fā)L298N模塊調(diào)整2路車輪的轉(zhuǎn)向,遙控玩具車的運動。
在玩具車的3個位置分別安裝紅外傳感器模塊,調(diào)節(jié)電位器設置報警距離。玩具車運動中,如紅外傳感器偵測到障礙物,紅外光反射回來,經(jīng)單片機處理,數(shù)據(jù)端口發(fā)出低電平信號,提醒單片機及時發(fā)出停車指令,避免撞車。
選用帶有2個串口的STC12C5A60S2單片機作為玩具車的控制核心,STC12C5A60S2單片機最小系統(tǒng)圖如圖2所示[5]。這款單片機具有速度快、可靠性高、功耗低、超強抗干擾的特點[6]。利用程序設置P0口為開漏模式,接ULN2003模塊不必外接上拉電阻,實現(xiàn)藍牙通訊和太陽光強采集。系統(tǒng)包含晶振頻率為11.059 2 MHz的時鐘電路以及復位電路,STC12C5A60S2單片機的功能如下。
(1)用定時器1設置串口1的波特率,通過它發(fā)送指令,控制PCF8591模塊獲取太陽光強。
(2)通過串口2控制藍牙模塊接收手機的指令。
3.4 開始整體方案前檢查影像學 頭顱MRI平掃加增強+MRS,外周血樣本作為基線。靜脈輸注PD-1抑制劑后第2天留取外周血樣本,每3周1個循環(huán),開始下一輪治療前復查MRI評估腫瘤體積。若有頭痛等顱壓改變癥狀,急診行頭顱CT檢查。
(3)通過I/O口觸發(fā)L298模塊的輸入端,控制2路直流電機的轉(zhuǎn)動。
(4)紅外傳感器檢測障礙物,提示玩具車及時剎車。
(5)掃描按鍵電路,切換至自動追光模式,分析光強分布,驅(qū)動步進電機,實現(xiàn)追光功能。
圖2 STC12C5A60S2單片機最小系統(tǒng)圖
豎直和水平方向的2個步進電機旋轉(zhuǎn),帶動光伏板調(diào)整姿態(tài),電機借助脈沖寬度調(diào)制(PWM)決定轉(zhuǎn)速和轉(zhuǎn)角[7]。改變脈沖的順序可改變轉(zhuǎn)向。2個步進電機搭配ULN2003驅(qū)動模塊組成雙軸追光裝置。電機的L298N模塊內(nèi)置雙H橋直流驅(qū)動芯片[8],工作電壓在5~30 V,內(nèi)置一個5 V直流電壓輸出口,輸出5 V電壓給單片機供電。模塊有4個控制信號輸入口和2個使能信號輸入口,用來驅(qū)動2路5V的直流電機。ULN2003為7路反相器電路,每路最大驅(qū)動電流為500 mA。ULN2003模塊原理圖和實物圖如圖3所示。
圖3 ULN2003模塊原理圖和實物圖
光伏板輸出模擬電信號,轉(zhuǎn)換為數(shù)字信號輸入單片機。這里采用PCF8591AD/DA轉(zhuǎn)換模塊,它是一款低功耗的8位CMOS數(shù)據(jù)獲取模塊,有4個模擬輸入端口、1個模擬輸出端口和1個串行I2C總線接口。MCU通過SDA時鐘線和數(shù)據(jù)SCL與模塊實現(xiàn)全雙工通訊[9]。通過3個硬件地址引腳尋址,支持外部4路輸入,輸入電壓0~5 V,4個模擬量可編程為單端型或差分輸入,經(jīng)I2C總線對I/O地址進行控制,傳輸數(shù)據(jù)。
采用HC-05藍牙模塊,基于BlueCore4-Ext芯片,遵循V2.0協(xié)議,板載3.3 V穩(wěn)壓芯片,輸入電壓3.6~6 V。模塊內(nèi)置射頻天線,支持UART接口和SPP串口協(xié)議,其體積小、功耗低、靈敏度高,少量外圍元件可實現(xiàn)較強的功能,適合在玩具車上使用[10]。
HC-05藍牙串口模塊有命令響應和自動連接模式,后者包含主、從和回環(huán)(loopback)3種方式[11]。自動連接時,按預設的連接方式傳輸數(shù)據(jù);在命令響應模式下,執(zhí)行AT命令,為模塊設定參數(shù)或發(fā)送指令??刂颇K外部引腳的輸入電平,實現(xiàn)工作狀態(tài)的切換。HC-05藍牙模塊的原理圖和引腳對應圖如4所示。
圖4 HC-05藍牙模塊的原理圖和引腳對應圖
3.5.1 光伏板
選擇光伏板首先估計開路電壓、輸出功率等電參數(shù),可通過小配件+手機APP測定[12]。其次考慮重量和尺寸要與玩具車匹配。綜合分析比較,選擇標稱電壓5.5 V,標稱功率1.65 W的多晶硅太陽能電池板作為光伏發(fā)電組件[13],尺寸為162mm×93mm×5mm,質(zhì)量為45g,能跟隨步進電機旋轉(zhuǎn),1.65 W多晶硅太陽能電池板實物如圖5所示。經(jīng)實測,該光伏板在夏日正午陽光下輸出電壓為6.18 V,短路電流為309 mA,在升降壓模塊的輸入范圍之內(nèi),調(diào)節(jié)模塊可以輸出穩(wěn)定的8.6 V電壓為7.4 V鋰電池組充電。
圖5 1.65 W多晶硅太陽能電池板實物圖
3.5.2 可升降壓模塊
太陽光強是決定光伏板輸出功率的重要因素,為減小電壓波動對鋰電池的影響,防止充電中因光伏板輸出電壓小于充電電壓而造成反充,選用升降壓模塊調(diào)節(jié)光伏板輸出電壓,為鋰電池提供8.6 V充電電壓,在充電中提供保護。在模塊旁邊安置一塊金屬片和風扇散熱,確保在穩(wěn)定的環(huán)境溫度下升降壓。
光敏電阻基于半導體光電導效應制成,其電導率隨入射光強的增強而變大[14],在玩具車中用作太陽光強傳感器。光敏電阻的型號為5539,最大工作電壓150 V,最大功耗100 mW,光譜峰值波長為540 nm,亮電阻為20~50 kΩ,暗電阻為5 MΩ。采集電路通過光敏電阻收集各方向的太陽光強,將光敏電阻與10 kΩ電阻串接在5 V電源的正負極兩端,阻值的變化引起光敏電阻兩端電壓的變化。
車體采用質(zhì)量輕盈、強度適中的亞力克板搭建,在底板打4個直徑為3 mm的貫通孔,用Φ3 mm螺絲和螺母將各模塊固定。因部件較多,用2塊亞克力板搭配長度30 mm的銅柱組成雙層結(jié)構(gòu)。把電機、驅(qū)動模塊、鋰電池放在底層,將控制電路板和雙軸追光光伏板固定在上層。各部分之間用導線完成電氣連接。
在Keil編程環(huán)境中,用C語言寫源代碼,編譯后燒錄到單片機中。上電后初始化,開啟串口1和串口2,通過串口2控制藍牙模塊接收、識別手機發(fā)送的命令,執(zhí)行指令使L298N電機驅(qū)動模塊控制2個直流電機的動作。如系統(tǒng)掃描、檢測到切換按鍵,被按下偶數(shù)次,進入自動追光模式;被按下奇數(shù)次,進入手動追光模式。此模式下,系統(tǒng)監(jiān)視4個旋轉(zhuǎn)方向的按鍵,當檢測到某一按鍵被按下后,控制步進電機帶動光伏板朝該方向轉(zhuǎn)過一定角度。系統(tǒng)主程序設計流程如圖6所示。
圖6 系統(tǒng)主程序設計流程
(1)控制電路調(diào)試
初次上電前,用萬用表檢測各模塊,排除各類故障。確認無誤后,把控制電路與L298N模塊、步進電機等連接,為控制電路提供5V電壓,調(diào)試各部分的功能。
(2)充電電路調(diào)試
正午陽光下,測得光伏板的開路電壓為6.14 V±0.03 V。光伏板的正負極用導線與升降壓模塊輸入口的IN+、IN-端連接,模塊輸出端空載,綠色LED燈亮,此時輸入端電壓在正常范圍。接上負載,用萬用表測得輸出電壓為5.0 V±0.02 V,調(diào)節(jié)電位器使輸出端電壓至8.61 V,接鋰電池,藍色燈亮,表示鋰電池正在充電,綠色燈亮表明已充滿。
(3)整體組裝調(diào)試
確認控制電路和光伏充電均正常后,對智能太陽能玩具車整體進行組裝,將各模塊固定在車體上,把鋰電池的輸出端與L298N電機驅(qū)動模塊的電壓輸入端連接,通過L298N模塊的5 V輸出端為控制電路供電,進行整體調(diào)試。正午陽光下升降壓模塊調(diào)試和智能玩具車體如圖7所示。
圖7 正午陽光下升降壓模塊調(diào)試和智能玩具車整體
5.2.1 Keil編譯軟件
采用C語言編程,在Keil環(huán)境中建立工程文件,按流程圖編寫主程序代碼,調(diào)用PCF8591數(shù)據(jù)采集子程序,檢查代碼中的錯誤。改錯后,生成HEX文件,將之燒錄到單片機中,對各模塊進行功能驗證[15]。如果某一模塊的功能沒有實現(xiàn),檢測電氣連接及元器件等問題。鑒于系統(tǒng)結(jié)構(gòu)相對復雜,用Proteus軟件仿真進行功能驗證,找出存在的問題。
5.2.2 軟件仿真
Proteus軟件可以實現(xiàn)原理圖布局、代碼調(diào)試以及單片機及其外圍電路協(xié)同仿真。按原理圖選擇元器件的參數(shù),將太陽光強采集電路、單片機最小系統(tǒng)和步進電機連接,載入HEX文件,對系統(tǒng)進行仿真。在自動模式下改變4個光敏電阻的阻值,模擬不用角度的太陽光強的差異,啟動2個步進電機的旋轉(zhuǎn)。經(jīng)Proteus仿真后,功能均已實現(xiàn),但仿真不能完全排除硬件存在的某些問題,因此還需要和實物調(diào)試結(jié)果對照。系統(tǒng)Proteus仿真圖如圖8所示。按照流程圖的要求和Keil C的編程規(guī)則進行C代碼的編寫。
圖8 系統(tǒng)Proteus仿真圖
在陰天使用智能太陽能玩具車,需用電池組供電,因為此時光伏板輸出電壓不足以給鋰電池充電。再者,手機APP編程是一個弱項,可實現(xiàn)的功能較少,一方面,研究者對基于蘋果手機IOS系統(tǒng)的開發(fā)工具(如Xcode)及編程語言(如Objective-C或Swift語言)還不夠熟練;另一方面,智能太陽能玩具車沒有接入云端,只能在十幾米范圍內(nèi)控制,無法遠程遙控,需要服務器編程及部署,這是課題組下一步要努力的方向。
本文采用STC12C5A60S2單片機作為智能玩具車的控制核心,經(jīng)實測,實現(xiàn)了自動循跡、避障和手機藍牙近距離遙控,利用安裝在車頂?shù)碾p軸逐日多晶硅光伏板+控制電路作為電源模塊,可為玩具車供電。天晴時,連續(xù)運轉(zhuǎn)8 h無故障,與路況無關(guān)。玩具車整體性能可靠,工作穩(wěn)定。在未來的研究中,將著力開發(fā)功能更強大的手機APP,增加語音報警和車速檢測模塊,接入服務器以實現(xiàn)遠程控制,進一步增加玩具車的技術(shù)含量和使用樂趣。