我正在嘗試計算脈衝/秒。在〜5至100Hz範圍內的微控制器引腳上。µC可以在5V輸入下工作,所以我必須安全降低電壓電平。
想到了一個簡單的電阻,但是任何電湧都直接通向µC引腳- meh 。
我遇到過這個答案,但是問題仍然在於該電路是否能夠“快速”改變100Hz。
是否有一種可靠的,可靠的方式(可能是通過IC?)將5V或3.3V引腳連接到“臟” 12V輸入? 我有12V和5V可用來驅動任何“現成的” IC。
我正在嘗試計算脈衝/秒。在〜5至100Hz範圍內的微控制器引腳上。µC可以在5V輸入下工作,所以我必須安全降低電壓電平。
想到了一個簡單的電阻,但是任何電湧都直接通向µC引腳- meh 。
我遇到過這個答案,但是問題仍然在於該電路是否能夠“快速”改變100Hz。
是否有一種可靠的,可靠的方式(可能是通過IC?)將5V或3.3V引腳連接到“臟” 12V輸入? 我有12V和5V可用來驅動任何“現成的” IC。
我將嘗試如下所示的電阻分壓器解決方案。
選擇電阻比,以便在輸入處於其標稱電壓時,分壓電壓處於適合MCU的水平。當輸入超過最大輸入時,選擇齊納二極管電壓來箝位MCU輸入。如果輸入恰好變為負,則齊納二極管還將保護MCU。
對於您指定的相對較低的頻率範圍,此解決方案將非常有用。
使用這樣的電路:
模擬該電路 –使用 CircuitLab sup>
創建的示意圖 R1和R2確定電壓範圍,並執行初始除法。這些電阻必須具有一定的功率。典型值為 MELF 0.4W。其他所有電阻可以是片狀電阻器/電容器。 R3可以防止任何電湧對施密特觸發器造成傷害。 R4和R5是可選的,以防止出現任何浮動信號。
但是,如有必要,也可以使用R3 / R4組合來調整閾值。
C1和C2確定最大速度。 R3 / C2組合可以過濾較慢。 C1過濾瞬變。
使用單獨的施密特觸發器,因為您可以使它們非常小且便宜。而且,它可以防止在較長的走線上路由微弱的信號。同時也是重大增長的犧牲部分。
我已根據我在PLC內部看到的內容設計了該電路。 以上電路為24V。根據IEC61131-2,將電阻調整為12V。
該標準的概念是確保輸入必須吸收最少的電流,然後才能將其視為“ 1”。這三種類型指定了數量,並根據環境噪聲進行應用。這樣可以防止毛刺觸碰它或附近的繼電器。缺點是R1 / 2必須具有適當的額定功率和低電阻。
我將使用電阻分壓器,然後使用5.1v齊納二極管保護uC
如果將齊納二極管與10k下拉電阻並聯在引腳和地之間,然後將分壓信號饋入……齊納二極管不僅足夠快而且便宜/容易。
我經常這樣做,並用電位器在齊納鑽頭之前分壓信號。
其他選項是鏈接在一起的,如果您真的擔心可以使用光電二極管,如果它不是安全問題,我可以選擇上面的方法,或者將引腳從5V Vcc正常拉高,然後用FET將其拉低(off top)。我的頭2N7000應該可以工作)-但它比齊納選項要簡單。
如果信號電平為GND和12V(或> 5V),則最簡單和100%安全的方法是:
模擬該電路 –使用 CircuitLab sup>
創建的示意圖它是否真正有用,取決於12V信號的實際阻抗(應低於R1)以及“髒污”的含義。
此外,正如@MichaelKaras正確指出的那樣,µC輸入上的低電平可能會上移到12V信號的低電平加上二極管的Vf(約0.7V)。您應該檢查這是否是您的問題。如果是這樣,您仍然可以嘗試使用Vf約為0.35V的肖特基二極管。
我會使用一個光電隔離器,100Hz容易在任何合適的範圍內。我想到4n25作為通用零件號,我知道它的性能比100Hz好得多。
選擇的方法部分取決於輸入信號的作用,其行為以及如何影響輸入電路和讀取它的代碼?
例如總是12V嗎?有尖峰或噪音嗎?它可以驅動多少電流?可以驅動電流嗎?吸收電流會影響其他嗎?安全關鍵嗎?...
因此,對於這個問題永遠不可能有一個普遍的答案,因為“正確”的解決方案取決於系統其餘部分的工作。 所選的滿足要求的解決方案將具有不同的成本和復雜性。
這就是說,因為沒有其他人提出建議,我將選擇FET輸入。
可以使用JFET或MOSFET,它們可以是公共源極模式或公共漏極模式。例如,普通排水口:
模擬該電路 –使用 CircuitLab sup>
創建的示意圖共漏極模式的優點是它允許將輸入連接到模擬(例如ADC)或數字引腳。如果信號是真正的數字信號,則可以在CPU輸入上啟用施密特觸發器(如果有),或者在CPU的輸入引腳上添加一個外部施密特緩衝器。
優勢
模擬該電路 –使用 CircuitLab sup>
創建的示意圖圖1.光電隔離接口。在GPIO上使用內部上拉。
光隔離器解決了幾個問題。
模擬該電路 –使用 CircuitLab sup>
創建的示意圖 R1,R2和C1構成帶有1kHz低通濾波器的分壓器。任何在12V上傳播的有害高頻信號都可以被濾除。濾波器頻率的計算公式為1 /(2 pi R2 C1)。注意:底座需要至少0.7V的電壓才能正常工作,調整電阻器時要小心。正在使用BJT,因為與mosfet相比,BJT非常普遍。如果12V仍然有效,但uC的5V處於下降狀態,則BJT不會將電流傳遞到引腳上並造成損壞。
對於uC編程,請使用從高到低的觸發器來計數您的脈衝。因為該電路將使脈衝反向。
通常,只要您的電阻具有優化值的電阻(對於箝位足夠高而對於採樣來說足夠低)並且在VDD和VSS之間具有良好的旁路電容,MCU輸入已經受到箝位二極管的保護。不必擔心。因此,只需一個電阻就足夠了。
edit:感謝PeterJ的評論,我想進一步解釋一下。MCU消耗的最小功率(假設它不休眠),旁路容量,電阻值;當所有這些都處於折衷點時-這很普遍,僅在使用大約10kOhm的電阻的情況下-唯一的電阻對於OP的簡單應用就可以了。
您可以分別選擇用於5V和3.3V的LM7805 / LM7803穩壓器。我假設uC與電流需求的負載隔離(如果有)。