在幾乎所有情況下,您都應該考慮在傳感器和計算平臺之間采取某種形式的輸入保護。
可能需要將傳感器連接到的三種主要系統類型:
直接連接到MCU(微控制器):直接連接到引腳(外部)和寄存器(內部)
Arduino和類似Arduino的系統:具有一組標準化庫函數的MCU,使使用變得更加容易
我們還介紹了將傳感器連接到這些系統的三種方法,如下所示:
- 直接數字
- 直接模擬
- 基于協議
系統的另一部分通常很少被談論,但同樣重要:傳感器和計算系統之間的關系。
在最基本的嘗試玩硬件的過程中,我們經常將傳感器直接連接到微控制器I / O引腳。在理想的無噪聲和無靜電的世界中,這將是一種合理的方法。
在此圖中,我們具有傳感器的所有三種基本類型:基于協議的加速度計,直接數字按鈕開關和模擬電位計。全部都直接連接到Arduino。(來源:杜安·本森(Duane Benson)
但是我們既不生活在理想世界中,也不生活在無噪音(任何形式)的世界中。傳感器和系統以不同的電壓運行,我們周圍的空氣充滿離子和電噪聲,而長電線充當天線。
傳感器帶來了重要的環境數據,但它們也可能帶來很多不必要的行李。系統中的一個小尖峰和一個不受保護的微控制器(有時是非常昂貴的微控制器)可能會被損壞或破壞。或者,電噪聲可能會使傳感器失明或導致其提供看似合理但完全錯誤的數據。
基本上,我要說的是,除了最常見的情況以外,您實際上應該考慮在傳感器和計算平臺之間采取某種形式的輸入保護。
如下表所示,常見的保護方法包括衰減,削波,光隔離和濾波:
常見保護方法的利弊(來源:Duane Benson)
當有源傳感器在與微控制器不同的電壓下工作時,也可能需要保護電路。
該原理圖剪輯中所示,來自Digilent的Chipkit uc32使用3.3 V 32位Microchip MCU,但Arduino兼容板生活在5 V世界中。它在其模擬輸入上組合實現兩種不同類型的保護:削波二極管(用于防止過壓)和串聯電阻(用于限制電流)。(來源:杜安·本森(Duane Benson)
具有與主機MCU不同的工作電壓的基于協議的傳感器出現了另一個電壓轉換需求,例如連接到3V或1.8V微控制器的基于5V I2C協議的傳感器 。來自1.8V MCU的“高”信號可能不夠高,無法被傳感器視為邏輯“ 1”。3V“高”電平可能會通過,但您可能無法依靠它,因為并非所有邏輯“ 1”信號都與系統電壓匹配,因此您最終可能會看到一個2.2V信號,即“不確定”由傳感器的5V I2C決定。
此外,傳感器的邏輯“ 1”可能處于5 V或接近5 V的水平,這可能燒壞3-V MCU(一定是1.8-V MCU)上的I / O端口。相反,這對于5V MCU和較低電壓傳感器來說是一個風險。我已經燒毀了比5V微控制器更多的3V加速度計。
模擬傳感器輸出的電壓高于MCU的電壓,也會引起相同的問題。最重要的是,傳感器和MCU電壓不匹配會導致損壞,就像嘈雜的環境一樣。
使用基于協議的傳感器,您將需要一個所謂的線路電平轉換器來在兩個電壓之間改變信號電平。可以使用一些分立的晶體管來限制這些設備,但也可以將它們用作特殊的集成電路。它們將具有一個公共接地點,并且將以一側的一個系統電壓和另一側的更高或更低電壓對系統進行分割。
該示意圖顯示了用于I2C總線的3.3V至5V雙向線路電平轉換器。未顯示連接兩側的公共接地。(來源:杜安·本森(Duane Benson)
線路級轉換器有雙向和單向版本。有些人將串聯電阻(更多是限流系統)用于單向信號。如果您對系統電流了解足夠多,以確保附帶的壓降足夠大,則可以使用此功能。
對于工作電壓高于MCU的模擬傳感器,您可以使用電阻分壓器來確保不改變斜坡特性并使電壓保持在危險水平以下。電阻的選擇將取決于模擬輸入的電流消耗規格。
編輯:hfy
-
微控制器
+關注
關注
48文章
7646瀏覽量
151953 -
傳感器
+關注
關注
2552文章
51383瀏覽量
756077 -
mcu
+關注
關注
146文章
17316瀏覽量
352391 -
轉換器
+關注
關注
27文章
8742瀏覽量
147841
發布評論請先 登錄
相關推薦
評論