題:
直接從Arduino數字引腳直接連接繼電器的原因
DorkOrc
2015-10-20 12:46:44 UTC
view on stackexchange narkive permalink

研究了通過Arduino控制繼電器的各種原理圖後,我注意到,大多數時候,晶體管用於將獨立電源切換到繼電器線圈中,而不是直接為繼電器提供5伏輸出從Arduino的I / O引腳。例如,我有一個5伏的DPDT繼電器和一個小型的直流電動機。我想使用Atmel328處理器直接從Arduino UNO(SMD克隆)驅動兩者嗎?

是否可以進行?

是否可以(最有可能):

  1. 有人可以給出詳細的解釋,還可以對當前的限值和重要的注意事項進行警告。東西?

  2. 如何在不冒著Arduino風險的情況下控制這些組件?

  3. 還有哪些其他設備通常可以類似的方式傷害Arduino板(或任何微控制器單元)?

  4. ol>

    我只是一個初學者,他要非常謹慎。謝謝。

儘管最近在第一次接觸Arduino時,我還是直接使用I / O引腳為玩具直流電動機供電,並通過以相同方式打開和關閉DPDT繼電器來改變其方向。到目前為止,似乎沒有什麼不對。
五 答案:
Russell McMahon
2015-10-20 13:55:18 UTC
view on stackexchange narkive permalink

處理器引腳具有嚴格限制的電流驅動能力。

  • 額定值可能會有所不同,具體取決於您需要的是高驅動器還是低驅動器。
  • 某些處理器只能提供幾個mA,通常您通常會獲得的最大電流在20到30 mA範圍內。

  • 處理器通常有一個總電流限制,只有幾個引腳可以同時提供峰值電流。

  • 處理器引腳具有明顯的有效電阻,並且隨著電流的增加,高壓將“下降”,而隨著負載的增加,低壓將上升。引腳可能特定於最大短路電流,但此時高引腳將被拉低,低引腳將被拉高,因此短路電流的適用性受到限制。

即使每個引腳額定處理器的電流為25 mA,可用功率也很小。 25 mA·4V(說5V Vcc下降1V)= 100 mW。大多數電動機將花費更多,而僅通過引腳供電的電動機只有很小的電動機才能運行良好。

電動機和感應器在電流中斷時會產生相當高的電壓-數十伏的電壓很容易結果可能會發生100伏以上的電壓。將電感器的電動機直接連接到處理器引腳是破壞的誘因。


將驅動典型的業餘電動機的晶體管(雙極或MOSFET)的成本為10美分(或沒有報廢的設備),並允許對端口引腳電流驅動器進行緩沖和緩衝。 “放大”。如果您有一個或幾個處理器並且不希望它們半隨機死,那麼使用晶體管或其他緩衝器是一個非常好的主意。

MOSFET電機驅動器- 從此處-第8節。

以電壓和部件號為例-選擇適合的產品。
NPN biploar可與

enter image description here

雙向驅動器-如果您希望驅動器能夠驅動高負載和低負載,則此電路將起作用。 從此處
在這種情況下,輸入門是內部處理器驅動程序。兩個MOSFET柵極直接連接到處理器引腳。 Vdd通常不應高於處理器Vmax_drive_out。可以使用適當的設計使它稍高一些。使用此電路(或類似電路)加上一個額外的晶體管可以驅動更高的電壓負載。

enter image description here


諸如ULN2803(和其他家族成員)之類的緩衝器將驅動8個通道x 500 mA /通道和幾個


ULN2803本質上是8個“達靈頓”晶體管,其發射極連接到公共地,8個“開放集電極”(未連接)集電極,以及8個反激二極管用於處理過電壓尖峰(使用可選)。 (有一個ULN280x系列,其輸入特性略有不同)。

此設備提供了價格合理的方式,可提供8 x 500 mA下拉驅動器。當輸入引腳被驅動為高電平時,從輸出端連接至V +的負載接通。使用幾次後,您會發現它們非常容易使用並且非常有用。 (還有一個ULN200x系列,每個套件有7個頻道)。

YouTube“如何”播放視頻


驅動步進器電機

enter image description here

也在這裡


驅動小型直流電動機-還有很多。

enter image description here 無數個示例

Digikey-如果需要的話,以1的數字提供 $ 0.72 / 1,以1000的價格提供$ 0.29。

ULN2803數據表


在Sparkfun出售-可以便宜一些,但是可以買到

Nick Gammon
2015-10-20 13:45:43 UTC
view on stackexchange narkive permalink

I / O引腳的推薦輸出(源或宿)為20 mA。絕對最大值為40 mA。您的繼電器線圈可能會消耗更多的能量,尤其是在最初通電時。這會損壞您的輸出引腳。然後它將最終失敗。

到目前為止,似乎什麼都沒有。

否,還沒有。 :)

如何在不冒著Arduino風險的情況下控制此類組件?有什麼常見的方法可以做到這一點?

使用晶體管或MOSFET。

還有哪些其他設備通常會損壞Arduino板(或任何微控制器單元)?以類似的方式?

是否超過數據表中記錄的最大電壓或電流限制。特別是線圈(例如,繼電器和電動機中的線圈)在關閉時很可能具有較高的反向電壓,這就是為什麼您需要一個緩衝二極管的原因。

建議繼續嗎?

最好注意我上面寫的內容,並閱讀網絡上有關如何驅動電動機和繼電器的許多文章。從Arduino您不是第一個嘗試此操作的人。

Andy
2015-10-20 15:39:09 UTC
view on stackexchange narkive permalink

在Arduino Playground的 PDF上查看簡單電路。它顯示了一個晶體管來驅動一個小型繼電器。

如羅素在他的回答中所說,ULN2803或類似的芯片可以讓您驅動多個小型繼電器,這比使用多個晶體管更整潔,

(還請注意,我鏈接的電路中的二極管“ D1”-您需要這樣做,它是為了保護晶體管最終免受繼電器關閉時產生的電感尖峰的損害。一些ULN風格的芯片內置了這個二極管,這就是為什麼您不總是在原理圖中看到它的原因。)

user14178
2015-10-20 18:22:30 UTC
view on stackexchange narkive permalink

要真正保護您的arduino,值得在引腳上放置一個光電耦合器並以這種方式驅動電路。這樣就不會有雜散的感應電荷或短路會影響arduino。

它們也稱為光電隔離器或光電耦合器。

http://forum.arduino.cc/index.php ?topic = 143954.0

您說得對,光隔離器是一個很好的選擇。做到這一點的另一種方法是減少隔離,但仍然很方便,它是使用運算放大器(Op Amp)作為緩衝區。這些也稱為“ folloer”運算放大器。請注意,您可以使用任何現成的OpAmp做到這一點,只需以特定方式佈置電路即可。 https://zh.wikipedia.org/wiki/Buffer_amplifier#Op-amp_implementation
Gil
2015-10-23 07:20:45 UTC
view on stackexchange narkive permalink

讓我們看一些基本的問題,這些似乎是許多問題的基礎。

打開電源後,電容器會吸收大量電流,隨著充電,電流會逐漸減小。該曲線也稱為RC時間常數(雖然接近,但不完全精確,“ http://www.electronics-tutorials.ws/rc/rc_1.html”將提供更好的解釋)。

關斷電容器時,電容器的放電速度將根據其值,充電電壓和負載而以指數速率(RC時間常數)放電。

電感器在初次接通時沒有消耗任何東西,但是電流呈指數增加,直到其電壓達到供電電壓為止。

關閉時,電感器中的感應場會塌陷,從而導致極性反轉。電壓將無限上升,直到通常有外部限制。關閉越快,上升時間和電壓就越快。當感應電荷消散時,能量將停止流動。猜猜當繼電器等電感性負載連接到端口引腳時電流會流向何處?

因此,您需要在電感性負載兩端放置一個二極管(通常稱為飛輪二極管)。 Google for:“電感器/電容器的充電曲線”,您會發現很多漂亮的圖形來解釋這一點。如果看電路,它的陰極+連接到電源的最正極。在這種配置中,除非將電壓反向(當感性負載關閉時),否則它將不會導通。

另一個常見的誤解是您可以將微處理器I / O加載到最大。這是糟糕的設計。它們為您提供了每個引腳,每個端口和每個芯片的最大值。在室溫下,您可能會暫時離開它。

讓我們假設我們有一個負載為40mA的端口。電源軌的輸出為0.005。根據歐姆定律,我們在一個引腳上消耗的功率為20毫瓦。以這種負載速率,由於內部功耗而導致設備過熱的時間不長。

當輸出引腳改變狀態時,由於需要對內部和外部電容進行充電或放電,因此會消耗更多電流,即“更多熱量”,更快速度“更多熱量”。

如果您看到某些規格會為您提供最高溫度,則它是管芯上的結點,而不是外殼溫度。塑料是不良導體,因此散熱不大。現在將其與環境溫度一起考慮。額定值通常是在25°C的設備上給出的,請猜測溫度升高時會發生什麼。

玩得開心,

Gil



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