本文展示了如何創建一個由時間開關電池供電的太陽能充電電路,用于為 Arduino Uno 和一些外圍設備(傳感器、通信模塊等)供電。
如果要設計遠程數據記錄儀,電源總是一個問題。大多數時候沒有可用的電源插座,這迫使您使用一些電池為電路供電。但最終你的設備會沒電了……你不想去那里充電,對吧?因此,提出了一種太陽能充電電路,以利用來自太陽的免費能量為電池充電并為您心愛的 Arduino 供電。
您將面臨的另一個問題是 Arduino 的效率。即使您將其置于睡眠狀態,它也會消耗大量電池電量。
例如,Arduino串行和 USB 板使用 7805 類型的電源調節器,當 Atmega IC 處于空閑模式時需要 10 mA。將這些板置于睡眠狀態將減少幾 mA 的總功耗,但它仍然會很高”。
如果您使用自己的電源電路繞過低效穩壓器,或者使用具有相當高效電源的電路板,例如 Arduino Pro,那么睡眠對于降低功率和延長電池壽命非常有益。使用某些鋰離子電池時,甚至可以完全移除調節器。
但大多數時候,您不想直接在 Arduino Uno 上使用您糟糕的焊接技能,或者不想購買更節能的設備。如果這是您的情況,本教程適合您。
另一個問題是,即使您的 Arduino 處于睡眠狀態,您的傳感器可能仍處于活動狀態,從而耗盡您的電池電量。因此,在太陽能充電電池中添加了一個定時器電路,它只為 Arduino 供電幾秒鐘,然后再次將其關閉以節省電量。它適用于您的微控制器僅用于讀取某些傳感器、傳輸或保存數據以及返回休眠幾分鐘的應用。
此處描述的電路仍在測試中,未對所用組件進行徹底分析(模型二極管、晶體管和電阻值)。我打算稍后將此電路變成用于 Arduino Uno 的電池供電的太陽能充電板,但現在我仍在嘗試和出錯。因此,請隨時發表評論并關注此項目,并自擔風險使用它!
第 1 步:材料
您將需要以下組件來構建此太陽能供電電路:
Arduino Uno
小面包板
5V 升壓器
鋰電池充電器(TP4056)
6V太陽能電池
18560鋰電池
電池座
1N4004 二極管 (x2)
555集成電路
2N3904 三極管(x2)
1 兆歐電阻 (x2)
100 kohm 電阻器 (x3)
10 kohm 電阻 (x1)
100 uF 電解電容器 (x2)
10 nF 陶瓷電容器 (x1)
5V 單刀雙擲繼電器
跳線
USB電纜
第 2 步:組裝太陽能電池充電器
首先,您必須組裝太陽能電池充電器電路。這使用來自一些太陽能電池的能量為電池充電,并將其電壓提高到 Arduino Uno 使用的 5V。
太陽能電池連接到鋰電池充電器(TP4056)的輸入端,其輸出連接到18560鋰電池。5V 升壓器也連接到電池,用于將 3.7V dc 轉換為 5V dc。您可以檢查圖片中組件之間的連接。
一些引腳焊接到兩個模塊(TP4056 和升壓器)的底部,以便更容易地連接到面包板。如果你不使用面包板,你可以用電線連接組件并焊接它們。
此時,您可能已經為 Arduino Uno 供電,將其連接到 booster 的 USB 連接器,您的 Arduino 將一直工作到電池耗盡。當陽光充足時,電池會自動開始充電。
請注意,TP4056 輸入被限制在 4.5 和 5.5V 之間。在這個電路中,太陽能電池板和電池充電器之間沒有電壓限制器。可能會使用齊納二極管來限制電壓并保護您的電路。
根據您的功耗,您的電池會快速放電。如果是這種情況,請執行下一步。
第 3 步:定時器電路
有很多項目涉及 Arduinos 和一堆傳感器。在大多數情況下,Arduino 會定期讀取傳感器并在內部存儲讀數或使用 Wi-Fi、藍牙、以太網等傳輸它們的值。。。。。。之后,它通常進入空閑狀態,直到到達下一個采樣時間。
在這段空閑時間里,您可能會讓 Arduino 進入睡眠狀態,但這不會節省很多電量。盡管微處理器降低了其功耗,但穩壓器和其他外圍設備(例如您的傳感器和通信模塊)仍在工作,消耗了大部分電力。
此處提出的替代方案是使用外部定時器電路,該電路周期性地打開/關閉電源。當它打開時,Arduino 將執行其設置、讀取傳感器并保存或傳輸數據。所有這一切都在幾秒鐘內完成。之后,電路將切斷電源幾分鐘,然后重新啟動該過程。
在關閉狀態期間,定時器電路僅消耗幾毫安。
非穩態模式下的 555 定時器電路旨在控制 Arduino 及其外圍設備何時開啟/關閉。在非穩態電路中,輸出電壓在 Vcc (+5V)(高態)和 GND (0V)(低態)之間連續交替。該輸出用于驅動繼電器,該繼電器將定期切斷 Arduino 的電源。
通過選擇 R1、R2 和 C1 的值,可以確定周期(ON/OFF 周期重復所需的時間長度)和占空比(輸出打開的時間百分比)。增加 C1 將增加周期。增加 R1 會增加高電平時間 (T1),但不會影響低電平時間 (T0)。增加 R2 將增加高電平時間 (T1),增加低電平時間 (T0) 并降低占空比。
這種電路的最小占空比為 50%。這意味著,在最好的情況下,非穩態只會在一半的時間內切斷電路電源,這還不夠。因此決定在定時器的輸出端添加一個簡單的邏輯反相器(TQ1 和 R4)。這樣,將選擇 R1、R2 和 C1 的值,使占空比約為 90%(在邏輯反相器之前)。逆變器后,只有 10% 的時間輸出為 ON。該反向輸出用于驅動另一個晶體管 (TQ2),該晶體管用于驅動 5V 繼電器 (K1),最終切斷 Arduino 及其外圍設備的電源。
在第一次模擬中使用了任意值的電阻器和電容器,以驗證電路的功耗。在關斷狀態期間,電路指示僅消耗 0.8 mA。當電路開啟(短時間)時,它消耗大約 40 mA,這會添加到 Arduino(和其他外圍設備)消耗的電流中。
很難測量實際值,但 Arduino Uno 通常消耗大約 52 mA。
考慮到這些值(關閉 5 分鐘和開啟 27 秒),具有睡眠模式的 Arduino 將消耗大約 36 mAh。如果使用定時開關電路,耗電量只有8毫安左右。功耗降低 77% 對我來說似乎很好。您還必須考慮其余電子設備(傳感器和通信模塊)以及升壓器和電池充電器消耗的電流,以獲得精確的電流值……
第 4 步:組裝定時器電路
根據原理圖組裝定時器電路。
以下值可用于電阻器和電容器以實現 5 分鐘關閉/27 秒開啟時間:
R1 = 2 兆歐
R2 = 200 千歐
R4 = 10 歐姆
R5 = 10千歐姆
C1 = 200 uF
C2 = 10 nF
值得注意的是,我使用了 SPDT 繼電器的常開 (NO) 輸出。我意識到有些繼電器只有常閉輸出,雖然它們具有相同的封裝,并且所有指示都相同。
另請注意,在圖片中我使用了不同的值,因為我不想等待 5 分鐘才能看到我的電路工作。
圖為安裝在面包板上的電路。我有一個輸入(+5V/GND 來自升壓器)和一個輸出(+5V/GND 到 Arduino)。
為時間電路供電,將 Arduino 連接到它,看看它是否工作。您會不時聽到繼電器被啟動的聲音。
第 5 步:完成電路和測試
定時器電路工作后,將其輸出連接到Arduino 5V和GND引腳。它看起來像圖片中的那個。
Arduino 將每 5 分鐘通電一次并保持 27 秒。您可以更改這些值,為之前描述的電阻器和電容器選擇不同的值。
設計一個漂亮的外殼來保護你的電路,把它放在陽光下,看看它是否有效!
第 6 步:功耗和運行時間
我想對功耗和運行時間做一些考慮。
考慮5分鐘OFF和27秒ON,電路+Arduino的功耗如下:
不帶開關電路(使用睡眠模式):
平均電流 (Iavg) = (Ton*Ion + Toff*Ioff ) / (Ton +Toff)
噸(Arduino 處于活動狀態)= 27 秒
離子 = 51.7 mA
Toff(arduino 關閉)= 5 分鐘 = 300 秒
Ioff = 34.9 毫安
Iavg = 36.3 毫安
工作電壓 (Vo) = 5V
平均功率 (Pavg) = Vo * Iavg = 5 * 36.3 = 181 mW
鋰離子電池容量 = 3000 mAh
電池電壓 = 3.7V
功率 =3.7 * 3000 = 11100 毫瓦時
電池壽命 = 11100/181 = 61 小時 = 2.5 天
帶定時開關電路:
平均電流 (Iavg) = (Ton*Ion + Toff*Ioff ) / (Ton +Toff)
噸(arduino 處于活動狀態)= 27 s
離子 = 92 mA
Toff(arduino 關閉)= 5 分鐘 = 300 秒
Ioff = 0.8 毫安
Iavg = 8.2 毫安
工作電壓 (Vo) = 5V
平均功率 (Pavg) = Vo * Iavg = 5 * 8.2 = 41 mW
鋰離子電池容量 = 3000 mAh
電池電壓 = 3.7V
功率 =3.7 * 3000 = 11100 毫瓦時
電池壽命 = 11100/41 = 270 小時 = 11 天
此處未考慮 TP4056 和升壓器的功率損耗,這兩種情況肯定會縮短電池壽命。
這里要注意的重要一點是,該定時器電路還將節省一些降低傳感器功率的能量,而睡眠模式將繼續降低微處理器的消耗。
-
充電電路
+關注
關注
32文章
243瀏覽量
53744 -
電池供電
+關注
關注
0文章
255瀏覽量
22254 -
Arduino
+關注
關注
188文章
6477瀏覽量
187808
發布評論請先 登錄
相關推薦
評論