汽車停車輔助感測器的製造製程

car sensors

在本教材中,將對低成本簡易停車輔助感測器的安裝和使用進行說明。當駕駛停車時,本裝置使用兩隻HC-SR04超聲波感測器和四隻壓電蜂鳴器多次提醒駕駛本車後面及周圍汽車的接近情況,同時並發出嗶嗶聲警報。我們還將解決其他問題,像是車內的防水和電線鋪設等。

Get IoT Essential Guide &  Enter to Win a Free Sensor Kit!

硬體

  • Arduino UNO (1x)
  • HC-SR04 超聲波感測器 (2x)
  • Vcc 線 (長約 2m)
  • 地線 (長約 2m)
  • 觸發線 (長約 1m)
  • 回聲線 (長約 1m)
  • 壓電式蜂鳴器 (2x)
  • USB 車電合適器
  • Aduino 塑膠外殼/外盒

軟體

工具

  • 鉗子

第1步:設定系統

首先請準備好下方的電子裝置,以便在車內實際安裝汽車感測器前能對系統進行測試。

car sensors

圖1:需準備好的硬體 — Arduino、塑膠外殼、超聲波感測器、壓電式蜂鳴器、電線和電源合適器

在本項目中,我們僅在車輛後部使用兩隻感測器:一隻位於保險杠的左側,另一隻位於保險杠的右側。大多數新車的輔助警報系統最多可配備六隻感測器,從而可實現更精確的定位。

HC-SR04 感測器帶有以下四根引腳:

  • VCC (電源 5V)
  • 觸發器
  • 訊號電路
  • 接地

上述模組功能的更詳細說明,可參見上一教材:帶零件和感測器的Arduino — 超聲波感測器的用法

在下圖2中列出了將汽車感測器和蜂鳴器連接到Arduino的圖表。

ultrasonic car sensors

圖2:Arduino、超聲波感測器和壓電蜂鳴器的接線圖

第2步:對Arduino程式設計

以下為編寫一個程式的基本指南。一般而言,任何微控制器固件都包括以下四個基本元素:

  • 整體思路理念和資料庫的定義
  • 設定功能
  • 電路功能
  • 其他功能

與軟體發展不同,對微控制器進行程式設計時,通常對代碼的大小進行適當限制。My Arduino Uno軟體配有一個記憶體為32 KB的Atmega328。該配置足以滿足本次應用的需要。

 

 

通過函數pinMode()和digitalWrite()可對微控制器引腳進行簡易週邊配置。本次應用中使用pinMode()函數來設定指定引腳的電流流向。可用作電流或訊號的輸入或輸出。設定流向後,引腳僅可按該流向工作。可使用digitalWrite()函數將指定的數位引腳設定為HIGH(高)或LOW(低)。本例中將引腳2設定為另一個新增接地,用來連接其中一個器件的GND引腳。

 

為簡單起見,特定義了一個函數(calculateDistance(訊號電路、觸發器、蜂鳴器),該函數在其中一隻感測器中優先使用,同時也可在另一隻感測器中使用。

 

應用時首先啟動一根引腳(觸發器),經過一段時間後從另一個引腳(訊號回饋)傳回的回饋資訊才能到達該引腳。針對這一時段,可以進行一些假設並計算訊號反饋電路的相應距離(例如聲速為340米/秒或29微秒/釐米)。可將該距離用作一個參數,用來確定蜂鳴器所發出的2000赫茲的嘟嘟聲的頻率(我通過反復試驗才構想出這一方法,您可隨意將其改為您喜歡的音調)。

同時使用了幾個內建函數,如tono(引腳、頻率、持續時間),digitalWrite(引腳),delayMicroseconds(持續時間)和pulseIn(引腳、脈衝峰值)。

第3步:制定適當的裝配方案

找到汽車後部的防水區域。將感測器安裝於該區域。在試驗車裡有幾個可選位置:

  • 尾燈罩內
  • 靠近汽車牌照燈
  • 後保險杠上

若將汽車感測器放置於尾燈罩或後保險杠內,則必須鑽孔以便超聲波射極和接收。但鑽孔也可能帶來不利影響,如進水(淋雨、濺水等),因此鑽孔必須十分考究。由於超聲波無法透過密封劑,因此用密封劑作為防水材料不可取。而且很難根據感測器來確定孔的位置,從而難以避免衍射效應。

car sensors

圖3:配置超聲波感測器時帶來的衍射問題 /©bta304

欲瞭解衍射波的更多資訊,請按一下此處

基於上述原因,特將汽車感測器置於車牌附近,該區域中後備箱門/把手下方的間隙足夠大,從而避免了鑽孔的麻煩。在該位置僅需稍微調整感測器的方向,使之對準汽車的一角即可。

location for car sensors

圖4:找到感測器的合適位置

第4步:在車內配置硬體

找到Arduino和Piezo蜂鳴器所在位置。在該步驟中,需拆下車門並找到一個安全的空位,用來連接電子裝置。

以下步驟十分有趣!通過車內面板就能看出您汽車的全新尺寸。車內空間很大,還可以加裝很多裝置(也可用於將來裝修!)。還有許多內部電線為車輛安全元件供電。切勿觸摸任何重要的電線。

您必須非常小心車內零件。

通過車牌固定孔將汽車外部的超聲波感測器連接到Arduino上。這些固定孔必須做得夠大,以確保所有八根電線都能順利穿過,並預留支撐螺釘的空間。

Piezo蜂鳴器採用簡單的雙面膠帶固定。

Assembly of car sensors

圖5:在牌照右側裝配HC-SR04

Assembly of buzzers for car sensors

圖6:使用雙面膠帶固定其中一個Piezo蜂鳴器

Locations of car sensors

圖7:模組在行李箱門上所在的位置(車內視圖)

Locations of car sensors

圖8:模組的位置(後視圖)

總之,為不阻礙系統順利運行,感測器和蜂鳴器需配備約6米長的電線。對電線進行顏色編碼以防將來混淆,這點很重要。

第5步:在車內拉線

硬體設定到位後,應連接所有電線。感測器需配備八根電線(兩根訊號回線、兩根觸發器線,兩根地線和兩根VCC電源線),所有電線都應通過牌照後面的孔鋪設。應測試以下連接位置的導通性:

  • 右感測器觸發引腳 / Arduino引腳13
  • 右感測器訊號電路引腳 / Arduino引腳12
  • 右感測器GND / Arduino GND
  • 右感測器VCC / Arduino VCC
  • 右蜂鳴器 + / Arduino引腳6
  • 左感測器觸發引腳 / Arduino引腳11
  • 左感測器電路引腳 / Arduino引腳10
  • 左感測器GND / Arduino GND
  • 左感測器VCC / Arduino Vin
  • 左蜂鳴器 + / Arduino引腳7

只要VCC和GND都連接上了,其順序就無關緊要了。在Arduino Uno上設定了三個接地位置,使用Vin引腳作為其中一隻感測器的電源,另一隻感測器則連接到5V引腳。

其他Arduino版本有的直接連接到引腳上而未接地(即Arduino Micro只設定了兩個接地位置),因此本研發項目中將引腳2設定為LOW(低)來增加額外接地。

Connecting car sensors

圖9:連接超聲波模組和電源

Connecting car sensors

圖10:連接模組、電源和蜂鳴器

第6步:開啟系統電源

汽車的電源是個難題。雖然汽車蓄電池輸出12伏直流電壓(若使用12V以上的穩壓器則可能導致過熱並損壞Arduino電路板),但也需要連接到交流馬達。啟動引擎時,交流馬達可以產生極高的峰值電流,並燒毀與其連接的任何電子裝置。該現象稱為負載突降。點擊這裡可瀏覽更多相關資料。

因此,在Arduino和汽車電源之間建議採用中間級保護電路。一種可選做法是自行組裝穩壓器,但其設計超出了本文討論的範圍,因此本例中選用了舊的行動電話適配器。

本例中採用了USB凹孔端轉接線。本例中更換了USB合適器的末端,並將其連接到凹孔端合適器。另一個備選方法是拔掉Arduino的凹孔端針腳並連接所有電線。

但會導致以下問題:四根導線中每一根的走向如何確定?參見以下圖片。

supplying power to car sensors

圖11:B型USB連接:通過USB供電時,僅需兩根電線。

本例Arduino Uno中採用B型USB連接。其他型號也可採用其他USB連接類型,因此您必須檢查自己的連接方式並根據您的需要進行調整。

最後,還必須為適配器配置合適的電源。以下幾種方案可供選用:

  • 點煙器插座(位置稍遠)
  • 倒車指示燈(非常方便,但本例中車門操作較複雜)
  • 後擋風玻璃刮水器(不如倒車指示器雅觀,但便於禁用)

最後終於在塑膠面板後的所有電線之間找到了一個連接器。對電壓進行了測量……符合要求!

Finding the power for car sensors

圖12:測量車內各種連接器的功率和極性

在本教材中,我們研發了一種基於Arduino的相當簡單、經濟高效的停車輔助系統,該系統中配有汽車感測器,當本車太靠近後面的車輛(後側)時會向駕駛發出警報。通過兩隻超聲波接近感測器和兩隻壓電蜂鳴器發出警報聲來提醒駕駛,警報聲鳴響的頻率表示本車與障礙物之間的距離。

我們使用Arduino創建了一套類比應用程式,並測試了概念驗證虛擬樣機、用戶體驗虛擬樣機和實用虛擬樣機之間的臨界差異。在今後的教材中,為在改進版的停車輔助系統中實現更好的特長和功能,還可以對目前所討論的概念進行擴展。您有何見解?

Get IoT Essential Guide &  Enter to Win a Free Sensor Kit!