用於ESP32,ESP8266,Arduino的閂鎖電源開關電路(自動斷電電路)
https://randomnerdtutorials.com/latching-power-switch-circuit-auto-power-off-circuit-esp32-esp8266-arduino/
在本文中,我們將向您展示如何構建一個閂鎖電源開關電路,也稱為自動斷電電路。您可以使用此電路自動關閉ESP32,ESP8266,Arduino或任何其他微控制器。
該電路允許您在微控制器未執行任何任務時完全切斷電源。換句話說,一旦微控制器完成執行任務,它就會通過軟件自動關閉。這是在電子項目中延長電池壽命的好方法。
概觀
在繼續本教程之前,這裡是我們要做的事情的高階概述:
- 當您按下電路的按鈕或使用任何其他組件關閉電路時,電源會驅動微控制器。所以,你的ESP32,ESP8266或Arduino開啟了。
- 將LATCH接腳(在程式碼中設置)設置為HIGH以保持電路通電,微控制器執行其任務。在我們的例子中,它什麼都不做 - 它只是等待10秒。您可以修改代碼以執行有用的任務。
- 將LATCH接腳設置為低電平,以便微控制器自動關閉電源。
- 當LATCH接腳設置為LOW時,電源被切斷。
自動關機與深度睡眠
自動斷電電路完全切斷電源。因此當微控制器沒有執行任何任務時,沒有功耗。
在深度睡眠Deep Sleep模式下,功耗比Active活動模式低得多。但是由於您的微控制器始終處於通電狀態,因此始終存在功耗(有關ESP8266的深度睡眠介紹,您可以閱讀以下文章:使用Arduino IDE的ESP8266深度睡眠)。
零件要求
要學習本教程,您需要以下部分:
- 微控制器或開發板,例如:
自動斷電電路圖
以下電路圖顯示了鎖存電源開關電路(自動斷電電路)圖。
然後,編號為1,2和3的右側端子應連接到微控制器板。
- 接腳1 連接到5V。
- 接腳2可以連接到微控制器的任何數字接腳。在我們的示例中該接腳連接到GPIO 5 / Digital 5。
- 接腳3 連接到GND。
自動斷電電路的工作原理
1)當您按下開關或閉合電路時,電源會到達2N3904晶體管的基極。因此,2N3904被拉低,將MOSFET的柵極(G)連接到GND。
2)當P通道MOSFET的柵極相對於源極為負時,P通道MOSFET導通。當您按下按鈕時,MOSFET的柵極被拉至GND,允許電流流入VIN引腳,從而為微控制器供電。只要MOSFET的柵極被拉至GND,就會發生這種情況。
3)釋放按鈕後,為了保持MOSFET的柵極拉至GND,我們通過微控制器的GPIO發送高電平信號。當我們發送HIGH信號時,有功率到達晶體管的基極。
4) 因此,我們確保MOSFET的柵極被拉至GND,電流流入VIN端子以為我們的微控制器供電。
5)當我們想要關閉電路時,我們只需要將GPIO設置為LOW。當發生這種情況時,沒有功率到達晶體管的基極,因此MOSFET不會讓電流流到VIN接腳,並且沒有功耗。
自動斷電電路 - ESP32
如果你正在使用ESP32,這裡是如何連接電路圖。
自動斷電電路 - ESP8266
這是ESP8266的電路圖。
自動斷電電路 - Arduino
最後,這裡是如何將栓鎖電路連接到Arduino。
上傳程式碼
在繼續本教程之前,您應該準備好Arduino IDE。如果您還沒有,請按照以下教程之一在Arduino IDE上安裝ESP32或ESP8266。如果您使用的是Arduino,則無需安裝其他任何東西。
- 在Arduino IDE中安裝ESP32板:
- 在Arduino IDE中安裝ESP8266板
/********* Rui Santos Complete project details at https://randomnerdtutorials.com *********/ // Define power latch pin for ESP32 (GPIO 5) / ESP8266 (GPIO 5) / Arduino (Digital 5) const int powerLatch = 5; void setup() { // Define pin as an OUTPUT pinMode(powerLatch, OUTPUT); // Keeps the circuit on digitalWrite(powerLatch, HIGH); // Waits for 10 seconds delay(10000); // Turns the power latch circuit off digitalWrite(powerLatch, LOW); } void loop() { }
程式碼如何運作
讓我們仔細看看程式碼的工作原理以及如何在項目中使用它。
我們首先定義功率栓鎖接腳。我們使用的是GPIO 5,但您可以使用任何其他引腳。該GPIO連接到鎖存電源電路引腳2端子。
const int powerLatch = 5;
在setup()中,我們將功率鎖存引腳定義為輸出。
pinMode(powerLatch,OUTPUT);
接下來,我們將電源鎖存引腳設置為HIGH。當我們將其設置為高電平時,我們確保有電力供給微控制器。
digitalWrite(powerLatch,HIGH);
接下來,我們等待10秒。
延遲(10000);
之後,我們將電源栓鎖接腳設置為LOW。當它設置為低電平時,電源被切斷,微控制器關閉。
digitalWrite(powerLatch,LOW);
將電源閂鎖接腳設置為HIGH並將其設置為LOW之前,應添加要執行的任務。
包起來
該閂鎖電源開關電路,也知道作為一個自動關閉電源電路允許通過軟體,關掉你的微控制器是否你使用的是ESP32,ESP8266,Arduino的,或任何其他微控電路板。該電路對於節省功耗特別有用:微控制器在執行任務後自動關閉。
沒有留言:
張貼留言