車上可自動關閉的電動車窗或車門設備潛藏著卡死,擠壓以及可能傷人的危險。它們必須能夠反向移動以防止馬達所施加的力超出正常限制。這種特性意味著必須持續監視速度、電流和玻璃的位置。
由于成本和簡化的原因,本文所描述的系統使用普通的帶有霍爾效應傳感器的刷式馬達。基于速度和扭矩導數的檢測算法已通過健壯性和容錯性的驗證。該算法可用于所有帶有A/D 轉換器和通過變化引發中斷的I/O 口的AtmelAVR Flash 微控制器。本文描述的是基本原理,Atmel網站上的應用筆記有關于實現的詳細描述。
現代汽車中的電動設備
目前,在高端客用汽車中電子組件和系統在成本中已占20%以上。增加電子設備的數目可以更好的控制傳感器和致動器,從而增強汽車的舒適性和安全性。可以預測,大部分的中等或高級汽車將會系統性的裝備電動車窗或車門系統。這些設備中的絕大多數是全自動的,這意味著它們必須附帶安全系統以防止傷人或機械故障已有法規設立了電動系統必須遵守的規則。這一點在車窗的升起和車門的滑動上尤其正確的。這篇應用筆記介紹了如何實現一個防夾算法,該算法最初是用于電動車窗系統,但可以輕易地移植到其它可移動設備中。
標準
汽車電動車窗受國際標準的約束,如美國的MVSS118 或歐洲的74/60/EEC。在如何降低對兒童的危險度方面,這些文檔所提出的要求如下:檢測區域:4mm 至200mm;最大夾物力為100N;夾住時可以反向;確定偏轉角測試:5N/mm 至 20N/mm。
關于硬件
對于確定關鍵夾物區是否有障礙物進入的不同檢測策略有:
(1)無機械接觸。在夾物力施加至物體上之前就有反應。因為沒有外力施加在物體上,這是最優的保護方式。它還不依賴于振動、空氣動力學變化或變形。但該方法要求有集成的傳感器(紅外、超聲波,等等)以及相關的電路模塊和線路,從而導致附加成本。
(2)有機械接觸。所測到的壓力傳遞給系統用于指示有物體被夾住。在這方面,設計者還有兩種基本的技術可用:方向測量(力學傳感器或接觸器集成進車門密封中,這些解決方案成本一直都很高并限制了車窗/車門的樣式設計),或者通過物理監測的無方向測量(這是一種整體成本上最優的解決方案)。
防夾算法詳述
夾物檢測算法一開始就要符合標準(FMVSS118 & 74/60/EEC)的要求:檢測區域為4 至200 毫米;最在施加力100 牛;夾住物體時反轉方向;標準的確認性測試。
必須要自適合的原因包括:– 提升系統中的機械部分將會隨著時間而變化(老化、局部變形、磨損,等等);– 電子特性會有很大的變化;– 環境對磨擦力的影響(溫度、濕度、結冰等);系統不應對擾動和不正確的夾物檢測有反應。對于空氣的磨擦、道路的振動、斷電等都必須是健壯的。
使用馬達的解決方案的物理參數
必須可以通過馬達的電流算出施加在玻璃上的力在速度方面可以持續提供移動部件的位置信息這些參數都可以用于確定是否遇到物體以及:該物體是否在檢測區;所施加的力是否超限
本文描述了一種防夾算法,該算法通過測量電機電流和霍爾效應速度指示器來工作。只須很少的改動,就可以將該算法用于象滑動車門或蓬頂這樣的系統中。
夾物檢測算法
一般情況下,夾物檢測算法的運行是通過間接測量車窗提升系統的,包括電流(扭矩)和位置(速度)。與算法相關的應用筆記采用了兩種技術,它們是基于:
– 存貯在無沖突內存中的校準扭矩:執行初步學習順序,將扭矩值存貯在內存中這種技術很耗費內存,并要求規定校準順序。
– 速度推導計算:很有意義的一種技術,因為它對內存要求較少,但需要更多的計算,具有兩種方法的優點。
在AVR上的實現
前幾段詳細描述的算法已經實現,并在一塊AVR ATmega88 開發板上進行了測試。圖2 描述的是用以實現算法的硬件。它采用了一塊標準的ATmega88 以及模擬鏈來測量電機電流。硬件帶有兩個霍爾效應傳感器。馬達的方向是通過一個兩極延遲來控制的,并通過一個場效應管來激活馬達的開關。
系統內編程Flash
系統內編程允許任何位于端系統內的AVR 微控制器進行編程和再編程。通過一個簡單的三線SPI 接口,系統內編程器與AVR 微控制器進行串行通訊,從而重編程芯片上的所有非易失性內存。系統內編程無須將芯片從系統中物理上拿出。這樣無論是在實驗室的開發階段,還是現場的軟件或參數的升級,均可以節約時間和資金。在最終產品階段將代碼上傳進Flash 存儲器中時,在多個應用和自定義版本中使用同一個標準的AVR Flash 微控制器可以簡化總量管理。
軟件描述
所有代碼使用IAR EWAVR 4.1 以C 語言方式實現。基本功能(位置管理、初始化、電流管理、車窗操作、防夾監測)的實現需要2KB Flash。增加擴展功能象校準、阻塞點的檢測和存儲,可將代碼大小擴展至4KB。軟件代碼可在Atmel的網站中獲得,其結構如下:
初始化腳通過一個霍爾效應傳感器(對信號沿的升起和下降敏感)改變所要用的中斷。它還初始化用于測量速度和馬達電流的時鐘和ACD。
這個函數從EEPROM 或以初始值方式加載車窗提升參數,以初始化車窗提升器。這些參數包括車窗的大小、傳感器值、夾物閾值、夾物區域、已知的最后的位置,等等如果在位置參數上是一個缺省值,它能夠請求一個下降的命令在底端限制值上初始化車窗提升器。
這個函數是將車窗提升參數存進EEPROM。
這個函數包含了車窗提升狀態機。它通過已有的事件參數控制車窗的操作。監視車窗的位置、上升和下降端的限制以及防夾系統的狀態返回車窗提升器的狀態(與get_window_state 函數的值相同)。
這個中斷子例和在霍爾傳感器沿執行。它計算滾動方向、位置、推導速度和馬達電流參考值通過計算連續的方向變化,它還能夠檢測出霍爾效應傳感器的缺省值(傳感器沒有連接至一個中斷腳上)。
這個函數強制車窗在一個定義好的步驟后停下來該函數返回車窗提升狀態機的狀態(這個返回值用于window_ctrl 函數中)。
建立車窗提升狀態:用于強制性操作中(如停止請求…)
計算最后8 個采樣點的均值用于過濾馬達電流。
這個函數監視啟動按鈕,產生操作命令事件并傳遞給window_ctrl 函數。
責任編輯:gt
-
微控制器
+關注
關注
48文章
7576瀏覽量
151725 -
傳感器
+關注
關注
2552文章
51288瀏覽量
755141 -
汽車電子
+關注
關注
3027文章
7990瀏覽量
167424
發布評論請先 登錄
相關推薦
評論