題:
微控制器引腳上的12V輸入
Christian
2017-07-24 18:50:44 UTC
view on stackexchange narkive permalink

我正在嘗試計算脈衝/秒。在〜5至100Hz範圍內的微控制器引腳上。µC可以在5V輸入下工作,所以我必須安全降低電壓電平。

想到了一個簡單的電阻,但是任何電湧都直接通向µC引腳- meh

我遇到過這個答案,但是問題仍然在於該電路是否能夠“快速”改變100Hz。

是否有一種可靠的,可靠的方式(可能是通過IC?)將5V或3.3V引腳連接到“臟” 12V輸入? 我有12V和5V可用來驅動任何“現成的” IC。

電阻分壓器+齊納二極管/箝位二極管?
這真的是一個簡單的Google搜索無法回答的問題嗎?
可以回答,但是在通過自己的愚蠢破壞我的設備之前,我非常希望獲得_quality_回答。讓我們安心“安心”嗎?
@AliChen stackexchange旨在成為一個規範的問題和答案庫。如果簡單的問題可以收集有用的答案,則可能會很好。
100Hz不是很快。
十 答案:
Michael Karas
2017-07-24 19:10:37 UTC
view on stackexchange narkive permalink

我將嘗試如下所示的電阻分壓器解決方案。

enter image description here

選擇電阻比,以便在輸入處於其標稱電壓時,分壓電壓處於適合MCU的水平。當輸入超過最大輸入時,選擇齊納二極管電壓來箝位MCU輸入。如果輸入恰好變為負,則齊納二極管還將保護MCU。

對於您指定的相對較低的頻率範圍,此解決方案將非常有用。

為什麼選擇齊納作為4v7?5v2(5v1?)是更好的解決方案嗎?
@R.Joshi:如果5V微控制器由10%耐壓電源(4.5-5.5V VDD)供電,則在該引腳上施加5.2V可能會超過典型的VDD + 0.3V絕對最大值。TTL為2V時為邏輯高電平,而CMOS為2/3 * VDD時為邏輯高電平,因此那裡的4V7齊納二極管沒有問題。
我真的希望我可以將兩個答案標記為“選擇”。您的方式是每天要走的路,但是Jeroen的答案只是更深入一點。不過,感謝您抽出寶貴的時間回答。
Jeroen3
2017-07-24 19:25:58 UTC
view on stackexchange narkive permalink

使用這樣的電路:

schematic

模擬該電路 –使用 CircuitLab sup>

創建的示意圖 R1和R2確定電壓範圍,並執行初始除法。這些電阻必須具有一定的功率。典型值為 MELF 0.4W。其他所有電阻可以是片狀電阻器/電容器。

R3可以防止任何電湧對施密特觸發器造成傷害。 R4和R5是可選的,以防止出現任何浮動信號。
但是,如有必要,也可以使用R3 / R4組合來調整閾值。

C1和C2確定最大速度。 R3 / C2組合可以過濾較慢。 C1過濾瞬變。

使用單獨的施密特觸發器,因為您可以使它們非常小且便宜。而且,它可以防止在較長的走線上路由微弱的信號。同時也是重大增長的犧牲部分。

我已根據我在PLC內部看到的內容設計了該電路。 以上電路為24V。根據IEC61131-2,將電阻調整為12V。

iec 61131-2
該標準的概念是確保輸入必須吸收最少的電流,然後才能將其視為“ 1”。這三種類型指定了數量,並根據環境噪聲進行應用。這樣可以防止毛刺觸碰它或附近的繼電器。缺點是R1 / 2必須具有適當的額定功率和低電阻。

哇。對最初看起來很簡單的問題的一個非常徹底的答案。謝謝。
我真的對R4和R5很好奇-他們什麼時候會做任何有用的事情?無論如何,R2 + R3> R4。是否有任何“重型”組件損壞的情況?
@pipe R3和R4可以幫助配置閾值,同時提供通往邏輯的高阻抗路徑。R5在大多數情況下是多餘的,但是在設計中使用了mcu下拉電阻。如果由於某種原因緩衝區將失敗,則mcu輸入將不會讀取50hz嗡嗡聲。(注:要求可靠)
Rendeverance
2017-07-24 18:55:01 UTC
view on stackexchange narkive permalink

我將使用電阻分壓器,然後使用5.1v齊納二極管保護uC

如果將齊納二極管與10k下拉電阻並聯在引腳和地之間,然後將分壓信號饋入……齊納二極管不僅足夠快而且便宜/容易。

我經常這樣做,並用電位器在齊納鑽頭之前分壓信號。

其他選項是鏈接在一起的,如果您真的擔心可以使用光電二極管,如果它不是安全問題,我可以選擇上面的方法,或者將引腳從5V Vcc正常拉高,然後用FET將其拉低(off top)。我的頭2N7000應該可以工作)-但它比齊納選項要簡單。

JimmyB
2017-07-25 13:37:37 UTC
view on stackexchange narkive permalink

如果信號電平為GND和12V(或> 5V),則最簡單和100%安全的方法是:

schematic

模擬該電路 –使用 CircuitLab sup>

創建的示意圖

它是否真正有用,取決於12V信號的實際阻抗(應低於R1)以及“髒污”的含義。

此外,正如@MichaelKaras正確指出的那樣,µC輸入上的低電平可能會上移到12V信號的低電平加上二極管的Vf(約0.7V)。您應該檢查這是否是您的問題。如果是這樣,您仍然可以嘗試使用Vf約為0.35V的肖特基二極管。

在大多數µC上,甚至可以降低電阻並激活該引腳的內部上拉。
此處提出的二極管解決方案並不總是最佳或最佳解決方案。通過一個二極管正向壓降加上產生0至12V信號的低電平輸出電壓,提供給MCU的低電平輸入電壓將高於GND。當信號可能攜帶噪聲並且MCU輸入的V IL 設置為TTL類型的電壓電平時,這尤其可能成為問題。通常,該規格可能僅為0.8V。因此,如果使用此解決方案,請至少要特別注意一個低正向壓降二極管,例如BAT54。
-1
如果您的MCU具有V IL 的CMOS類型規格,則可能工作正常。我仍然想以一種可行的方式進行設計,即使該規格比該規格低得多,也只是為了獲得盡可能多的運營利潤。如果您選擇使用這種類型的電路,那麼即使指定一個低壓降二極管的差異也可以邁出這一步。對於12V輸入可能存在負偏移的情況,您的電路不是特別好。
我同意。為保證金而設計是一件好事。而且12V信號上的負電壓確實可能在電路上造成混亂。
John U
2017-07-24 19:23:00 UTC
view on stackexchange narkive permalink

我會使用一個光電隔離器,100Hz容易在任何合適的範圍內。我想到4n25作為通用零件號,我知道它的性能比100Hz好得多。

使用光電隔離器解決此問題的問題在於,它假定您可以從12V信號中汲取電流。您可以緩衝12V信號,但這將需要額外的電源。
我敢肯定,從12v開始,您可以獲得的光電二極管幾乎可以在與微輸入相同的電流下起作用,這不會給小LED點亮帶來太大的負擔。
數字輸入洩漏通常在10nA至1uA之間(取決於溫度和過程)。我從來沒有遇到過即使工作在1uA的光電耦合器。典型的光耦合器,以低功率銷售,例如Broadcom ACPL-x6xL需要1.6mA。這是電流的1600到160000倍之間。但是然後,正如我在回答中所說的那樣,這取決於要用的要求,因此我不會放棄光電解決方案。
https://www.xkcd.com/386/
Jason Morgan
2017-07-25 14:55:29 UTC
view on stackexchange narkive permalink

選擇的方法部分取決於輸入信號的作用,其行為以及如何影響輸入電路和讀取它的代碼?

例如總是12V嗎?有尖峰或噪音嗎?它可以驅動多少電流?可以驅動電流嗎?吸收電流會影響其他嗎?安全關鍵嗎?...

因此,對於這個問題永遠不可能有一個普遍的答案,因為“正確”的解決方案取決於系統其餘部分的工作。 所選的滿足要求的解決方案將具有不同的成本和復雜性。

這就是說,因為沒有其他人提出建議,我將選擇FET輸入。

可以使用JFET或MOSFET,它們可以是公共源極模式或公共漏極模式。例如,普通排水口:

schematic

模擬該電路 –使用 CircuitLab sup>

創建的示意圖

共漏極模式的優點是它允許將輸入連接到模擬(例如ADC)或數字引腳。如果信號是真正的數字信號,則可以在CPU輸入上啟用施密特觸發器(如果有),或者在CPU的輸入引腳上添加一個外部施密特緩衝器。

優勢

  • 非常高的輸入阻抗
  • 部分隔離的輸入(可承受+/- 30V,取決於FET選擇)
  • 可以進行模擬
  • 對外部信號的影響最小
Transistor
2017-07-25 13:46:02 UTC
view on stackexchange narkive permalink

schematic

模擬該電路 –使用 CircuitLab sup>

創建的示意圖

圖1.光電隔離接口。在GPIO上使用內部上拉。

光隔離器解決了幾個問題。

  • 完成12 V電路和5 V邏輯之間的電氣隔離。
  • 處理危險的12 V信號沒有風險。
  • 簡單。
Jason Han
2017-07-28 06:42:06 UTC
view on stackexchange narkive permalink

schematic

模擬該電路 –使用 CircuitLab sup>

創建的示意圖 R1,R2和C1構成帶有1kHz低通濾波器的分壓器。任何在12V上傳播的有害高頻信號都可以被濾除。濾波器頻率的計算公式為1 /(2 pi R2 C1)。注意:底座需要至少0.7V的電壓才能正常工作,調整電阻器時要小心。

正在使用BJT,因為與mosfet相比,BJT非常普遍。如果12V仍然有效,但uC的5V處於下降狀態,則BJT不會將電流傳遞到引腳上並造成損壞。

對於uC編程,請使用從高到低的觸發器來計數您的脈衝。因為該電路將使脈衝反向。

Ayhan
2017-07-24 19:28:44 UTC
view on stackexchange narkive permalink

通常,只要您的電阻具有優化值的電阻(對於箝位足夠高而對於採樣來說足夠低)並且在VDD和VSS之間具有良好的旁路電容,MCU輸入已經受到箝位二極管的保護。不必擔心。因此,只需一個電阻就足夠了。

edit:感謝PeterJ的評論,我想進一步解釋一下。MCU消耗的最小功率(假設它不休眠),旁路容量,電阻值;當所有這些都處於折衷點時-這很普遍,僅在使用大約10kOhm的電阻的情況下-唯一的電阻對於OP的簡單應用就可以了。

我很多年前發現的一個問題是,雖然它可能不會損壞任何東西,但Vcc可能會在內部漂移一點(直到二極管導通),並且取決於微控制器會拋出ADC讀數之類的東西。
@PeterJ如果可以保證至少從電源中取出了這麼多電流,則它可以正常工作。在最壞的情況下,添加一個虛擬電阻器...
雖然“討厭”,但我已經看到許多廉價的消費品都這樣做。我曾經修理過一個鬧鐘,將市電通過10M電阻作為定時基準饋入數字輸入。毫不奇怪,芯片已經死了。
Yash
2017-07-24 19:14:37 UTC
view on stackexchange narkive permalink

您可以分別選擇用於5V和3.3V的LM7805 / LM7803穩壓器。我假設uC與電流需求的負載隔離(如果有)。

它是有創造力的。但是您將無法在高速下運行。如果這只是您躺在身邊的一切,也許吧。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...