Solární MPPT nabíječka pro Meshtastic

Pokud mě sledujete na Twitteru, tak jste si možná všimli, že se posledního půl roku hraju s LoRa mesh sítí Meshtastic. K tématu jsem napsal už několik textů zde na blogu – Meshtastic prakticky a Výroba Meshtastic routeru – a na Printables jsem zveřejnil model pro držák elektroniky a solárního panelu.

Asi to byla jen otázka času, než otevřu KiCAD a začnu s návrhem vlastní PCB… Následující text popisuje můj nejnovější projekt zaměřený na Meshtastic – solární MPTT nabíječka LiIon, LiFePo4 nebo LTO baterií pro Meshtastic router založený na modulu RAK4630.

V čem je tato MPPT nabíječka zajímavá? Především v tom, že je všechno na jedné desce plošných spojů o rozměrech 70 × 43 mm. Dále je možné použít libovolný solární panel s pracovním napětím od 7 do 30 V a libovolnou baterii s nominálním napětím menším jak 5,6 V. To znamená, že se k Meshtastic routeru dá připojit:

  • 1S Li-Ion a Li-Pol (standardní a běžně dostupné baterie, asi nejpoužívanější mezi Meshtastic nadšenci),
  • 1S LiFePo4 (oblíbené akumulátory v solárních instalacích s velkou životností a kapacitou i více jak 100 Ah), nebo
  • 1S a 2S Lithium Titanate Oxid a.k.a LTO (baterie, které je možné vybíjet a nabíjet i v zimě při teplotách méně jak −10 °C).

Kromě toho jsou na PCB připraveny konektory pro snadné připojení I2C senzorů (například měření teploty, vlhkosti a tlaku nebo jakékoliv jiné, podporované firmwarem Meshtastic), konektor USB-C (ten slouží pouze pro komunikaci, není určen k napájení desky) a tlačítko RESET pro snadnou aktualizaci FW, dvě signalizační LED, snadný přístup k signálům UART RX a TX a rozhraní SWD (Serial Wire Debug) pro vývoj/debug FW a nakonec tři montážní díry na šrouby M3 pro pohodlné uchycení PCB do krabičky.

Na základové desce a na tomto textu stále pracuji. Existují dvě revize PCB. Revizi A z 6.6.2024 jsem prodával ve dvou vlnách (8.7.2024 s FW 2.3.13 a potom 11.8.2024 s FW 2.4.1) a nyní již není dostupná. Novější revize B z 12.8.2024 je momentálně v prodeji a nahrávám do ní Meshtastic FW 2.4.2. V textu níže jsou popsány duležité rozdíly mezi revizí A a B.

Provizorní zapojení RAK4630 a první oživení vývojové desky revize A. Nebojte, finální zapojení nepotřebuje tolik drátů :)

Schéma

Základová deska obsahuje tři hlavní části:

  • nabíjecí MPPT obvod založený na čipu CN3795,
  • buck/boost DC/DC konvertor s TPS63000 a
  • rádiový modul LoRa 868 MHz RAK4630.

Mezi Meshtastic staviteli je oblíbená základová deska RAK19007 s LoRa modulem RAK4631, k tomu MPPT nabíječka Li-Ion baterií založená na CN3791 a jeden nebo více paralelních článků Li-Ion. Toto je zapojení, ze kterého jsem vycházel.

Základem rádiového modulu RAK4631 je modul RAK4630 (matoucí, že?), který je umístěn na malém PCB s několika rezistory a miniaturním SMD konektorem ze spodní strany. Modul RAK4631 tak nebylo potřeba používat a vybral jsem o pár dolarů levnější RAK4630 s IPEX konektory, který se dá snadno připájet pomocí tzv. castellated holes na vlastní PCB.

Nabíjecí obvod CN3791 od Čínské firmy Consonance je 4 A MPPT nabíječ jednočlánkových Li-Ion nebo Li-Poly baterií. Při procházení nabídky stejné firmy jsem narazil na mnohem univerzálnější a zajímavější obvod CN3795, který se liší v tom, že podporuje nabíjení různých typů baterií a není tak nutné používat jen Li-Ion/Li-Pol.

To mě zaujalo, protože Li-Ion baterie mají jeden zásadní problém pro stacionární Meshtastic node – chemie těchto baterií neumožňuje nabíjení při teplotách pod bodem mrazu. Pokud má přijít zombie apokalypsa a Meshtastic node má fungovat celý rok, pak je nutné Li-Ion baterie umístit v místě, kde nemrzne (například pod střechu) anebo zvolit jiný typ. Rozhodl jsem se, že moje základová deska umožní oboje.

Pokud zůstaneme u akumulátorů založených na lithiu, pak je horkým kandidátem technologie Lithium Titanate Oxide neboli LTO. Tyto články mají menší hustotu energie, jsou dražší a mají jiné pracovní napětí, než klasické Li-Ion. Samá nevýhoda, až na jeden (pro nás důležitý) parametr: pracovní teplotní rozsah LTO baterií je -40 až +55 °C (každý výrobce uvádí trochu jiné čísla). Skvělé.

Finální zapojení CN3795 jsem převzal z datasheetu výrobce až na dva drobné detaily: na vstup panelu jsem přidal Schottkyho diodu D1, která ochrání vstup proti přepólování (za cenu malého úbytku napětí do 0,5 V) a výstupní napětí do baterie a pro zbytek obvodu jsou odděleny. Napětí VCC, které se používá pro vytvoření stabilních 3,3 V je zapojeno hned za cívkou L1 a před měřicím rezistorem. Pokud by napětí VCC bylo zapojeno až za měřicí rezistor, pak by proud do LoRa modulu a dalších částí ovlivnil rozhodovací logiku čipu CN3795 a ten by nemusel správně vyhodnotit ukončení nabíjecího procesu.

Již zmiňované stabilní napětí 3,3 V pro LoRa modul generuje DC/DC měnič s TPS6300. Tento obvod je typu buck/boost a dokáže pracovat se vstupním napětím 1,8 až 5,5 V. Takže ideální pro uvažované baterie, které mohou mít napětí pod i nad hodnotou 3,3 V.

Zapojení jsem doplnil o USB-C, konektory pro I2C a další nezbytnosti. Výsledek, který jsem tvořil po večerech necelý týden, je na obrázku níže. Návrh PCB, výběr všech součástek a příprava výrobních dat zabrali další týden. Kvůli miniaturním rozměrům některých součástek (dívám se na vás, U2 a U3!) jsem poprvé v životě nechal PCB také strojově osadit.

Poté, co jsem prodal všechny kusy z první výrobní série jsem udělal v designu pár změn a vznikla revize B. Ta je funkčně shodná s revizí A a obsahuje pouze drobné změny, které mi usnadnily ruční pájení:

  • Napájecí konektory J1 a J2 jsou blíže k sobě a tím pádem oba šroubovací konektory mohu spojit a pájet jako jeden.
  • USB-C konektor jsem vyměnil za levnější SMD variantu a nechávám ho osadit strojově. Pájení THT varianty v revizi A bylo časově náročné a výsledek nebyl dobrý.
  • Výměna RESET tlačítka za jiný typ, nově se osazuje strojově.
  • Změna rezistoru R13 ze 150 kΩ na 120 kΩ. To znamená, že při spojení plošky JP8 je možné desku revize B napájet z 12 V zdroje namísto původních 13,8 V v revizi A.
  • Úprava GND ploch ze „solid pad connections“ na „thermal reliefs“. Ruční pájení rádiového modulu je nyní snadnější, GND plošky s thermal reliefs neodvádí teplo tak rychle.

Nastavení desky

PCB je navržena univerzálně, aby vyhovovala (snad) každému. Díky tomu jde použít libovolný solární panel s napětím od 7 do 30 V a baterie s různou chemií a kapacitou. Daní za univerzálnost je nutnost nastavit správné parametry před prvním použitím. K tomu slouží několik pájecích propojek, takže zapněte páječky a jdeme na to. Rozdíly PCB v revizi A a B jsou vyzvětleny vždy tam, kde je to relevantní. Většina fotografií ukazuje revizi A, ale popsané platí i pro revizi B.

Nabíjení baterie

K výběru maximálního nabíjecího napětí baterie slouží propojky JP4 až JP7 a maximálního nabíjecího proudu pak propojky JP1 až JP3.

Nabíjecí napětí je nominální napětí baterie v plném stavu (pro Li-Ion je to např. 4,2 V). Pro výběr vámi zvolené baterie stačí propojit/spájet obě plošky jedné propojky. Vyberte vždy jen jednu propojku! V případě baterií LiFePo4 nebo jiné méně obvyklé chemie zvolte propojku JP7 a pozici R6 osaďte THT rezistorem s vhodnout hodnotou.

BaterieNapětíPropojka
1S LTO2,77 VJP6
1S Li-Ion nebo Li-Pol4,18 VJP5
2S LTO5,56 VJP4
1S LiFePo43,55 VJP7 + rezistor 140 kΩ
jiný typ< 5,6 VJP7 + rezistor \(R_{6} = \frac{326}{U_{BATT} – 1.22} [k\Omega]\)
Nastavení maximálního napětí baterie.

Maximální nabíjecí proud se volí pomocí propojek JP1 až JP3. Pokud jsou všechny propojky rozpojeny (výchozí stav), pak je proud nabíjení 120 mA. Obvod nikdy nepřekročí nastavený proud a to ani v případě, kdy je solární panel (zdroj napětí) dostatečně výkoný. Naopak proud může být nižší, pokud není solární panel schopen dodat dostatečný výkon.

Pokud má vaše baterie větší kapacitu a používáte velký solární panel, pak je možné nastavit i vyšší nabíjecí proud spájením obou plošek propojek JP1 (240 mA), JP1+JP2 (360 mA) nebo JP1+JP2+JP3 (480 mA). Toto je jediné nastavení, kde je možné spájet jednu nebo i více propojek současně.

Doporučuji nastavit nabíjecí proud na maximálně 0,5 C vaší baterie. To znamená maximální proud menší jak polovina kapacity. Například baterie s kapacitou 500 mAh může být nabíjena maximálně 250 mA, takže propojka JP1 (proud 240 mA) je v pořádku. Pro baterii 1000 mAh nebo větší můžete nastavit maximální hodnotu 480 mA (všechny propojky spojeny). Obecně platí, že menší nabíjecí proud zvyšuje životnost baterie a nabíjení je bezpečnější i při vyšších teplotách okolí.

A na závěr ještě bezpečnostní poznámka: základní deska neobsahuje under-voltage ani over-current ochranu baterie. To znamená, že baterie se může vybít pod minimální dovolené napětí a tím pádem trvale zničit. Baterie není cháněna ani v případě zkratu nebo jiné závady, která způsobí velký vybíjecí proud baterie. Proto vždy používejte baterie se zabudovanou ochranou.

Solární panel

Pro nastavení pracovního napětí solárního panelu UMPPT slouží pájecí propojky JP8 až JP11. Pájí se vždy jen jedna propojka, ostatní musí zůstat nespojeny. Pokud je váš panel například 12V/10W z Hadex.cz, pak je jeho maximální napětí naprázdno UOC=21,58 V a napětí při maximálním výkonu UMPPT=17,42 V. Pro tento příklad spojte propojku JP9, která nastaví napětí na cca 17,77 V, tedy velmi blízko požadovanému UMPPT.

Další předpřipravené hodnoty napětí UMPPT jsou 13,76 V; 17,77 V a 19,38 V pro revizi A a 11,35 V; 17,77 V a 19,38 V pro revizi B. To je dáno rezistory R13, R14 a R15. Propojka JP11 a místo pro THT rezistor R16 je připravena, pokud vám ani jedno předpřipravené napětí nevyhovuje. Pokud máte solární panel s jinou hodnotou, pak stačí na pozici R16 připájet rezistor o hodnotě:

\(R_{16} = R_{12} \cdot \frac{U_{MPPT} – 1.705}{1.205} \)

kde \(R_{16}\) je hledaná hodnota rezistoru v kΩ, \(R_{12}\) je hodnota rezistoru 15 kΩ a \(U_{MPPT}\) je pracovní napětí při maximálním výkonu solárního panelu.

\(U_{MPPT}\)\(R_{16}\)Propojka
13,76 V (rev A)
11,35 V (rev B)
150 kΩ (rev A)
120 kΩ (rev B)
JP8
17,77 V200 kΩJP9
19,38 V220 kΩJP10
9,74 V 100 kΩJP11 + R16
11,35 V120 kΩJP11 + R16
Tabulka hodnot rezistorů a odpovídající napětí solárního panelu.

Napájení ze zdroje (UPS režim)

Základnovou desku je možné napájet z napěťového zdroje místo solárního panelu. To se hodí například v okamžiku, kdy máte poblíž místa s Meshtastic nodem dostupnou elektřinu. Základová deska tak bude trvale napájena ze zdroje a baterie bude sloužit pouze jako záloha při občasných výpadcích elektřiny.

Pro tento režim není potřeba žádné speciální zapojení. Jednoduše zapojte váš zdroj na svorky konektoru SOLAR (pozor na polaritu) a nastavte správné napětí na propojkách JP8 až JP11 (viz sekce „solární panel“ výše).

Nastavené napětí UMPPT musí být nižší, jak napětí použitého zdroje. Pro PCB revize A a zdroj s nominálním napětí 12 V DC doporučuji spojit propojku JP11 a pozici rezistoru R16 osadit hodnotou 120 kΩ. U PCB revize B je to snadnější, tam stačí spojit propojku JP8 a použít 12 V zdroj.

PCB revize A: Pro zdroje s nominálním napětím 13 až 17 V doporučuji spojit propojku JP8, pro napětí 17 až 20 V propojku JP9 a pro napětí 20 až 30 V propojku JP10. Na přesné hodnotě až tak nezáleží, o stabilizaci a nabíjení baterie se postará elektronika.

PCB revize B: Pro zdroje s nominálním napětím 12 až 17 V doporučuji spojit propojku JP8, pro napětí 17 až 20 V propojku JP9 a pro napětí 20 až 30 V propojku JP10. Na přesné hodnotě až tak nezáleží, o stabilizaci a nabíjení baterie se postará elektronika.

Antény

Použitý modul RAK4630 má dva konektory IPEX pro LoRa a Bluetooth rádio. Štítek na modulu označuje který konektor patří kterému rádiu.

Do desky můžete zapojit buď malou anténu s IPEX konektorem, nebo krátký kabel IPEX-SMA a použít anténu s konektorem SMA. Volba antény a kabelů je na vás, nejsou součástí balení.

Pozor! Desku nikdy nezapínejte bez zapojených antén. Vysílací výkon může poškodit elektroniku rádia a buď jej úplně zničit nebo snížit jeho citlivost.

Konektory

Na PCB jsou připraveny dva konektory JST-SH SM04B, jinak známé jako Qwiic (od Sparkfun) nebo μŠup (od Laskakit). Jeden konektor (J5) je připojen na I2C1 modulu RAK4630 a druhý konektor (J7) je připojen na I2C2. Pájecí propojkou JP12 se pak dá zvolit, jestli mají být senzory na I2C napájeny trvale (propojka spojena vpravo) nebo jen dočasně, napájením ovládaným z RAKu (propojka spojena vlevo; toto ovládání pinem P1.02 na RAK4630 zatím nemám vyzkoušeno).

Pokud ve standardním firmware Meshtastic zapnete modul „telemetry“, pak se automaticky inicializují senzory připojené na I2C1 a jejich měření se začne automaticky odesílat do sítě. To se hodí například pro senzor BME280 (měření teploty, vlhkosti a tlaku). Eshop Laskakit nabízí BME280 s konektorem μŠup, takže zapojení do základové desky Meshtastic je snadné, viz fotografie níže. Pak stačí v nastavení „telemetry“ zapnout „Environment Telemetry Enabled“ a nastavit interval měření „Environment Metrics Update Interval“.

Antény

K základové desce je nutné připojit dvě antény. Jednu pro LoRa a na frekvenci 868 MHz, druhou pro Bluetooth na frekvenci 2,4 GHz. Zatímco na Bluetooth anténě až tak nezáleží, budete ji používat pouze pro připojení telefonu a občasné nastavení, tak na LoRa anténě záleží hodně. Zde se vyplatí vybrat kvalitní a ověřenou anténu.

Oblíbené jsou mezi Meshtastickáři ohebné antény od výrobce Gizont. Tento čínský výrobce nabízí LoRa anténu pro frekvenci 868 MHz se ziskem 10 dBi a o délce 167 mm. Konektor na anténě je různý, nejčastěji se ale pro Meshtastic používá SMA-RP.

Na základové desce jsou pro Bluetooth i LoRa připraveny konektory IPEX, takže pokud máte anténu s jiným konektorem (nejčastěji SMA-RP), pak to bude chtít propojovací kabel SMA-RP na IPEX.

Abych vám instalaci Meshtastic nodu zjednoušil co možná nejvíce, tak v e-shopu nabízím sadu Bluetooth a LoRa antén.

Fyzické rozměry

Celkové rozměry PCB jsou 70×43 mm. Pozice děr pro M3 šrouby jsou okótované na obrázku níže.

Firmware

Modul RAK4630 jsem přes rozhraní SWD již naprogramoval správným bootloaderem, takže nahrávání Meshtastic firmware je snadné a jde přes USB rozhraní.

  1. Připojte desku k napájecímu napětí (například zapojením nabité baterie).
  2. Připojte USB-C kabel do desky a do vašeho PC (s Linux, Mac OS nebo Windows).
  3. Zmáčkněte tlačítko RESET dvakrát rychle za sebou. Tím se modul přepne do USB Mass Storage režimu a na vašem PC se objeví nový disk.
  4. Na tento disk zkopírujte Meshtastic FW ve formátu uf2, verze pro RAK4631.
  5. Po dokončení kopírování se disk automaticky odpojí a modul RAK se restartuje.
  6. Hotovo. Nový FW již běží a můžete ho ovládat buď přes sériovou linku (USB rozhraní) nebo Bluetooth jako standardní Meshtastic node.

Otázky a další informace

Tato solární nabíječka je můj první složitější obvod, který nabízím k prodeji. Stále se učím a zlepšuji co se dá, ale je možné že jsem zapomněl uvést některé základní informace nebo že některá část elektroniky nefunguje tak, jak je popsáno. V případě problémů mě neváhejte kontaktovat buď mailem nebo přes Twitter.

Díky za zájem o můj design 🙏 a přeji hodně zábavy s Meshtasticem.