
摘要:相比傳統的按鍵控制,通過手勢控制汽車電動天窗、電動遮陽簾開閉,可以增強汽車駕駛的交互性能,提高汽車行駛安全性。因此,文章提出了采用反射型紅外光耦感知,微型控制器進行信號識別的方案,設計并制作了相應的電動天窗和遮陽簾手勢識別模塊,該模塊利用BF7112A微型控制器,實時采集四路光電二極管的通斷信號,根據這些信號的變化過程,識別手勢的動作方向,從而控制天窗和遮陽簾相應動作。通過實驗顯示,該模塊對手勢動作的單次識別準確度達到90%以上,達到了實際應用要求。
經歷了2020年缺芯潮后,國內的一些汽車零部件供應商更加關注產品供應鏈自主可控,在產品開發時,對電子控制單元上的微型控制器(Microcontroller Unit, MCU)更傾向于選用本土制造的產品。在外部環境上,得益于我國市場對車規級MCU的巨量需求,國產MCU蓬勃發展,眾多廠商在車規級MCU的不同應用領域積極布局,很多產品已批量上市,這給產品設計時MCU的選型提供了多個選項[1]。因此,在一些汽車零部件的迭代升級過程中,采用國產MCU作為主控器,與芯片供應商形成穩定的合作關系,對企業的長遠發展意義重大。
根據企業的產品規劃,需要在現有的按鍵式頂燈總成控制電路基礎上,開發一款低成本的電動天窗和遮陽簾手勢識別模塊,實現對天窗、遮陽簾的手勢控制。
電動天窗手勢識別模塊要求系統能夠識別駕乘人員不同的揮手動作,以實現對電動車窗、電動遮陽簾的控制。目前,隨著汽車智能座艙技術的發展,手勢交互多通過攝像頭,利用機器視覺技術來實現[2-3],但這些技術都需要依靠計算機操作系統支持,很多是依靠汽車整體智能座艙系統來實現,產品成本較高,通常應用于一些高端乘用車,與一般車輛電動天窗上應用的按鍵獨立控制裝置較難融合。而采用車規級近程傳感器[4],除了成本高外,還與識別模塊后續規劃的按鍵觸摸功能相沖突,會引起誤觸發,增加信號識別的難度。還有一些專用的手勢傳感器[5]在普通電子消費品上應用較廣,但滿足車規級要求的產品很少,價格也比較貴。
因此,根據公司的產品成本定位和功能規劃要求,選擇了由紅外光電傳感器采集信號和單片機組成系統的方案,將比亞迪公司的BF7112A微處理器作為識別模塊的控制單元。由于未找到價格合適且滿足車規要求的手勢傳感器,故選擇車規級的紅外發光管和紅外光電二極管[6],用分立元件搭建四對反射型光耦及其信號處理電路,呈十字形分布,布置在識別模塊電路板的四邊,整個模塊嵌入到頂燈總成中間的窗口中,并留有一路通用異步收發傳輸器(Universal Asynchronous Receiver and Transmitter, UART)接口,與頂燈總成已有的控制單元進行通信。模塊的功能結構如圖1所示。

圖1 模塊的功能結構
識別模塊的控制器選用比亞迪的BF7112A,該控制器是一款基于標準8051指令流水線結構的8位通用型車規級MCU,工作頻率為24 MHz,包含32K字節的隨機存儲器(Random Access Memory, RAM)、256字節(內部)+768字節(外部)的靜態隨機儲存器(Static Random Access Memory, SRAM)存儲單元,支持2K字節的電氣可拭除可編程只讀存儲器(Electrically Erasable Program- mable Read Only Memory, EEPROM),最大封裝支持25個雙向輸入/輸出口。該款MCU提供了豐富的功能模塊,主要如下:
1)兩路可單獨配置的16位脈沖寬度調制(Pulse Width Modulation, PWM);
2)4個16位定時器,具有溢出中斷,并且其中的定時器3既可使用MCU的內部時鐘,也可使用外部晶振時鐘,以應用在一些時間控制要求很精確的場合;
3)3個外部中斷,其中外部中斷0和1有低電平、高電平、上升沿、下降沿四種中斷方式可選。外部中斷2支持上升沿、下降沿兩種中斷方式;
4)提供低電壓檢測中斷,當電源電壓下降到3.8 V時,即觸發中斷;
5)2路8051標準UART通信;
6)1路IIC硬件從機,支持標準IIC通信和快速IIC通信等。
該單片機的一個重要特點為I/O端口可以配置成電容按鍵輸入,最多可以配置23路,各路按鍵的靈敏度可獨立控制。
根據設計的功能要求,當需要對電動車窗、遮陽簾進行操作時,駕乘人員在傳感器前揮手即可觸發四只紅外光敏電路產生脈沖信號,將這四路信號引入到MCU的數字量輸入端口和邏輯芯片74LV32A的輸入端口,經過或運算后接到MCU外部0號中斷的輸入引腳。四只光耦的紅外發光二極管(Light Emitting Diode, LED)采用一片ULQ2003驅動芯片,由MCU獨立控制每只紅外LED的通斷。模塊的主要硬件電路如圖2所示。

圖2 模塊的硬件電路
駕駛員坐在駕駛座椅上抬手至頂燈總成前,做電動天窗、遮陽簾控制手勢時,手與頂燈總成自然且舒適的距離通常為5~15 cm,一般不超過20 cm,因此,將紅外光耦的最大感應距離設計在距頂燈總成面板約20cm的位置,當超過這個距離時手勢感應電路一般不做響應。
MCU芯片供貨商給用戶提供了基于keil C51軟件進行BF7112A控制程序開發的完整工程文件,在這個C語言的工程文件中,MCU外設的配置在BF7112A_API.h中進行,可以根據文件中的注釋,對MCU內部各模塊的功能進行預編譯配置,具體應用的控制代碼建議在Project.c文件中添加,這樣方便整個項目文件的組織和管理。
在本項目中,每只紅外LED的工作電流配置在80 mA左右,四只二極管工作時,就到達300 mA以上,是一個較大的功率消耗。為減小整個識別模塊的能耗,采用占空比為10%的PWM波形式控制紅外LED的導通,一旦感應到頂燈總成前后物體,則轉換為常通模式。由MCU讀出四路紅外光敏電路的輸入信號,經過邏輯判斷后,確定手勢的移動方向,從而識別出駕乘人員對天窗和遮陽簾的操作意圖,并發出200 ms的低電平脈沖信號到天窗電機驅動模塊相應引腳上。控制程序的主流程圖如圖3所示。

圖3 控制程序流程
控制代碼通過BYD 8位MCU專用USB調試燒錄器下載到BF7112A后,對模塊的手勢識別正確率進行了測試。為了便于觀察,在模塊的四路輸出端口,接上LED燈指示電路,如圖4所示。

圖4 模塊功能測試
實驗時,手在控制板上方10 cm位置揮動,從上往下為打開天窗,從下往上是關閉天窗,從左往右是打開遮陽簾,從右往左是關閉遮陽簾,手掌暫停在控制板上方為暫停當前的動作。打開和關閉的動作每個設計是50次,經過三百多次的揮手測試,模塊對駕駛員不同運動特點的手勢動作,單次識別準確度達到90%以上(見表1)。測試中,第一次未正確識別,第二次準確識別,識別距離合適,對超過20 cm的手勢動作,未觸發模塊動作。
表1 手勢識別準確率統計

經過本項目的開發,比亞迪的BF7112A芯片完全能滿足車身上一般電器的控制要求,應用起來很方便。MCU內部豐富的功能模塊簡化了控制電路的設計,降低了模塊的成本,特別是電容觸摸按鍵輸入功能,每路按鍵靈敏度都可以獨立配置,且可以通過專用USB調試燒錄器在其上位機調試燒錄圖形界面中直觀顯示,這也是當初選型這款MCU的原因之一,可用于后續將頂燈控制換成電容觸摸按鍵的控制板開發。
參考文獻
[1] 編輯部.車規級MCU,智能新能源“芯”突破[J].汽車與配件,2022(19):50-55.
[2] 黃俊,鄧敏,呂能超.智能座艙多模態人機交互研究現狀分析[C]//中國科學技術協會,交通運輸部,中國工程院,湖北省人民政府.2023世界交通運輸大會(WTC2023)論文集(下冊).武漢:武漢理工大學智能交通系統研究中心,武漢中交交通工程有限責任公司,2023:892-895.
[3] 徐彬.手勢控制技術在汽車上的應用[J].汽車維護與修理,2016(4):77-82.
[4] 高明亮,陳明月.手勢識別系統的研究與實現[J].山西電子技術,2023(3):87-89.
[5] 劉成濤,郭帥.基于手勢識別的智能小車無線控制系統設計[J].現代電子技術,2023,46(16):182-186.
[6] 涂少碧.汽車智能座艙內部的“傳感之道”[J].電子產品世界,2021,28(6):25-27.