2018年12月13日 星期四

Latching Power Switch Circuit (Auto Power Off Circuit) for ESP32, ESP8266, Arduino

用於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. NDP6020P晶體管 P通道MOSFET
    2. 2N3904晶體管BJT NPN
    3. 電阻:220K歐姆,2x 100K歐姆,10K歐姆和220歐姆
    4. 2x二極體(例如:1N5819)
    5. 開關/按鈕
    6. 5V電源
    自動斷電電路圖
    以下電路圖顯示了鎖存電源開關電路(自動斷電電路)圖。
    功率鎖存電路原理圖esp32 esp8266 arduino
    然後,編號為1,2和3的右側端子應連接到微控制器板。
    • 腳1  連接到5V。
    • 腳2可以連接到微控制器的任何數字腳。在我們的示例中該腳連接到GPIO 5 / Digital 5。
    • 腳3  連接到GND。

    自動斷電電路的工作原理

    1)當您按下開關或閉合電路時,電源會到達2N3904晶體管的基極。因此,2N3904被拉低,將MOSFET的柵極(G)連接到GND。
    功率鎖存電路原理圖esp32 esp8266 arduino
    2)當P通道MOSFET的柵極相對於源極為負時,P道MOSFET導通。當您按下按鈕時,MOSFET的柵極被拉至GND,允許電流流入VIN引腳,從而為微控制器供電。只要MOSFET的柵極被拉至GND,就會發生這種情況。
    功率鎖存電路原理圖esp32 esp8266 arduino
    3)釋放按鈕後,為了保持MOSFET的柵極拉至GND,我們通過微控制器的GPIO發送高電平信號。當我們發送HIGH信號時,有功率到達晶體管的基極。
    功率鎖存電路原理圖esp32 esp8266 arduino
    4)  因此,我們確保MOSFET的柵極被拉至GND,電流流入VIN端子以為我們的微控制器供電。
    功率鎖存電路原理圖esp32 esp8266 arduino
    5)當我們想要關閉電路時,我們只需要將GPIO設置為LOW。當發生這種情況時,沒有功率到達晶體管的基極,因此MOSFET不會讓電流流到VIN腳,並且沒有功耗。

    自動斷電電路 - ESP32

    如果你正在使用ESP32,這裡是如何連接電路圖。
    功率鎖存電路原理圖esp32

    自動斷電電路 - ESP8266

    這是ESP8266的電路圖
    功率鎖存電路原理圖esp8266

    自動斷電電路 - Arduino

    最後,這裡是如何將栓鎖電路連接到Arduino。
    電源鎖存電路原理圖arduino

    上傳程式碼

    在繼續本教程之前,您應該準備好Arduino IDE。如果您還沒有,請按照以下教程之一在Arduino IDE上安裝ESP32或ESP8266。如果您使用的是Arduino,則無需安裝其他任何東西。
    /*********
      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的,或任何其他微控電路板。該電路對於節省功耗特別有用:微控制器在執行任務後自動關閉。
    在我們的範例中,我們使用按鈕關閉電路為微控制器供電,但您可以使用任何其他組件來關閉電路 - 例如簧片開關我們希望您發現本教程非常有用,您可以在電子項目中使用它來節省電量。

    沒有留言:

    張貼留言

    Messaging API作為替代方案

      LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...