Projekt elektronička meta – Bežični link


Projekt ELEKTRONIČKA META

 

 


 

 


 

Komunikacijski protokoli

 

Za bežičnu komunikaciju između mete i strijelca (do 300 metara) logički izbor je Long Range (LoRa) modul koji omogućuje prijenos podataka na velike udaljenosti uz iznimno malu potrošnju energije. Takvi moduli omogućuju prijenos digitalnih podataka na udaljenosti 2-15 km (ovisno o konfiguraciji terena) na nelicenciranim ISM radio frekvencijama od 433 MHz, 868 MHz ili 915 MHz. Veliki domet i mala potrošnja idu na štetu brzine prijenosa podataka koja je niska, obično od 0,3 kbps do 50 kbps. Ovo je posve dovoljno za naše senzorske podatke, ali svakako ne bi bilo dovoljno za video ili glasovnu komunikaciju.

 

LoRa SX1278 na 433 MHz – prvi testovi

Strana mete (predajnik)

U našem slučaju, za povezivanje EPM570 sa ESP32, kao i za povezivanje ESP32 sa bežičnim LoRa modulom koristi se brza SPI sabirnica.

Međutim, iako je SPI brzina između MCU-a ESP32 i LoRa modula velika (1 MHz do 10 MHz) i MCU može “napuniti” međuspremnik (buffer) LoRa modula u djeliću milisekunde, sam bežični prijenos tih podataka iz buffera traje puno duže. Kako je odziv senzora zbog RC konstante usko grlo detektorskog sustava (unatoč vrlo brzoj logici), tako je i bežični protokol slanja podataka usko grlo u komunikacijskom dijelu (unatoč vrlo brzim SPI sabirnicama).

LoRa je naime bežični sustav dizajniran za veliki domet uz malu potrošnju struje (što nama svakako i treba), ali nije dizajniran i za veliku brzinu. Također u mnogim regijama (uključujući Europu), zakonski smijete emitirati samo 1% vremena na određenoj frekvenciji (433 MHz). To znači da nakon slanja jednog paketa, modul mora “šutjeti” određeno vrijeme, što dodatno smanjuje propusnost.

Prema našem razvijenom CPLD protokolu, jedan paket podataka za jedan hitac čini ukupno 10 bajtova (80 bita), od čega 1 bajt zauzima Header, 8 bajtova sadrže podatak za 64 senzora i 1 bajt je Checksum ili ID. Za veću metu (128 senzora) treba 18 bajtova, no to ipak ne povećava značajno vrijeme potrebno za prijenos. To je zato što svaki LoRa paket ima fiksno zaglavlje (Preamble i Header) koje zapravo oduzima većinu vremena kod slanja ovako malih paketa.

Također, vrijeme slanja znatno ovisi i o postavljenim parametrima LoRa modula: Spreading Factor (SF), Bandwidth (BW) i Coding Rate (CR). Pri optimalnim postavkama koje smo odabrali za naš LoRa Ra-02 modul (SF8, BW 125 kHz, CR 4/5), slanje 10 bajtova traje tek oko 31 ms, a slanje 18 bajtova (za 128 senzora) bi trajalo oko 41 ms. To znači da je sustav u oba slučaja gotovo trenutačno spreman za sljedeći hitac.

Čak i da želimo najveći mogući domet (teoretski do 10 km) dakle uz SF12 i propusnost 125 kHz, vrijeme slanja podataka bi bilo ispod jedne sekunde (oko 991 ms prema Semtech LoRa Calculatoru). I ovo je sasvim dovoljno za pojedinačno gađanje bilo kojim oružjem. Domet od 300 metara je i dvostruko veći nego je nama realno potreban, tako da su SF7 ili SF8 idealni za ovu distancu i dobivamo vrlo brz odziv svakako ispod 50 ms.

Sve ove kalkulacije vrijede za LoRa Ra-02 SX1278 modul koji košta oko 6 eura, međutim dostupna je  novija inačica LoRa SX1262 modula. Novi modul ima bolju prijemnu osjetljivost, veću brzinu slanja podataka i bolju energetsku efikasnost. Brzina slanja podataka preko ovog modula bi mogla biti i 4x brža (7-10 ms). Cijena ovog modula je oko 8 eura.

 

 

Strana strijelca (prijemnik)

Napravio sam prve testove sa modulima EPM570 + ESP32 + LoRa Ra-02 na predajnoj strani (meta) i ESP32 + LoRa Ra-02 modulima na prijemnoj strani (strijelac). Testovi su prošli dosta dobro, međutim, došao sam do granice gdje se testiranja više ne mogu vršiti na eksperimentalnim pločicama i spajanjem „u zraku“. Sada imamo FPGA sa oscilatorom takta na 50 MHz, ESP32 sa oscilatorom takta na 40 MHz i CPU taktom 240 MHz, obrađujemo veliki broj signala reda nano-sekunde, te imamo bežične module. Potrebno je osigurati dobra i stabilna napajanja i dobre zaštite od EM smetnji kako bi mogli nastaviti sa testiranjima stabilnosti i daljnjim razvojem softvera.

 

Brzu digitalnu logiku možete do neke razine spajati “u zraku”, no onda sve više dolaze do izražaja vanjske EM smetnje, parazitski kapaciteti i induktiviteti i druga “preslušavanja” između vodova koja uzrokuju nestabilnost sklopa. 

 


 

LoRa SX1262 na 915 MHz – novo rješenje

 

U kasnijoj fazi razvoja projekta, puno stvari se promijenilo od početnih testova. Kao prvo LoRa Ra-02 (SX1278) moduli na 430-470 MHz (može se razvući na 410-525 MHz) više nisu bili opcija jer sam uz CrowPanel monitor dobio LoRa SX1262 module na 915 MHz (850-930 MHz). Stoga sam i za stranu mete prešao na modernije LoRa module DX-LR30 (SX1262) koji rade na 915 MHz.

 

 

LoRa Semtech SX1262

Semtech SX1262 je visokoučinkoviti sub-GHz radijski primopredajnik (transceiver) nove generacije koji nudi znatno bolju energetsku učinkovitost i veći domet u usporedbi sa starijom generacijom (poput SX1276/SX1278). Sam čip pokriva široki frekvencijski raspon od 150 MHz do 960 MHz što obuhvaća sve globalne ISM frekvencijske opsege (433 MHz, 470 MHz, 868 MHz i 915 MHz). Razlika u modulima je samo u propusnosti ugrađenog izlaznog frekvencijskog filtra.

Maksimalna odašiljačka snaga je do +22 dBm (0,158 W na 50 Ω) s integriranim visokoučinkovitim pojačalima snage. Osjetljivost prijemnika je vrlo visoka, sve do -148 dBm (ovisno o postavkama LoRa modulacije). Čip podržava različite vrste modulacije: LoRa, (G)FSK, MSK, GMSK i najnoviju LR-FHSS (Long Range – Frequency Hopping Spread Spectrum). Brzina prijenosa podataka (Bit Rate) u LoRa načinu rada je 0,018 do 62,5 kbps, a u (G)FSK načinu rada od 0,6 do 300 kbps.

Potrošnja struje na prijemu je oko 4,5 mA, a kod odašiljanja do 118 mA pri maksimalnih +22 dBm. Struja mirovanja (Sleep mode) je 1,6 µA (s očuvanom memorijom registara).

Putem registara i naredbi na SPI sučelju, u aplikacijskom kodu se mogu u potpunosti konfigurirati sljedeći parametri:

LoRa mrežni parametri:

  • Radna frekvencija (Frequency): Točno definiranje centralne frekvencije kanala (npr. postavljanje na točno 915 MHz, razlučivost 0,1 MHz).
  • Faktor širenja spektra (Spreading Factor – SF): Od SF5 do SF12. Manji SF znači brži prijenos i kraći domet, dok veći SF nudi veći domet uz sporiji prijenos.
  • Širina pojasa (Bandwidth – BW): Podesiva u rasponu od 7,8 kHz do 500 kHz. Uža širina povećava osjetljivost, ali produljuje vrijeme slanja paketa.
  • Stopa kodiranja / Ispravljanje pogrešaka (Coding Rate – CR): Podesiva kao CR 4/5, 4/6, 4/7 ili 4/8. Pruža zaštitu od gubitka paketa u okruženjima sa puno EM smetnji i šuma.

Konfiguracija paketa (Packet RF settings):

  • Sinkronizacijska riječ (Sync Word): Softverski se definira izolacija mreže. Primjerice, 0x1424 se koristi za javne LoRaWAN mreže, dok se 0x3444 postavlja za privatne (Peer-to-Peer) mreže.
  • Duljina preambule (Preamble Length): Broj simbola koji prethode paketu radi sinkronizacije prijemnika.
  • CRC provjera: Uključivanje ili isključivanje hardverske provjere integriteta podataka (Cyclic Redundancy Check) na razini paketa.
  • Zaglavlje paketa (Header Mode): Odabir između eksplicitnog (duljina paketa je u zaglavlju) i implicitnog načina rada (fiksna duljina paketa).

Snaga i upravljanje energijom:

  • Izlazna snaga odašiljača (TX Power): Može se precizno programirati u koracima od -9 dBm do +22 dBm kako bi se zadovoljili lokalni zakonski propisi o snazi zračenja.
  • Pojačanje prijemnika (RX Gain Boosted): Moguće je softverski uključiti “Boosted RX” način rada koji troši neznatno više struje (cca 0,6 mA više) ali podiže osjetljivost za dodatnih +3 dB.
  • Regulacija napajanja: Softverski odabir između ugrađenog visokoučinkovitog DC-DC pretvarača (za minimalnu potrošnju) ili LDO regulatora (za čišći signal ako hardver to zahtijeva).
  • Upravljanje TCXO oscilatorom: Preko DIO3 pina softver može upravljati napajanjem i vremenom pokretanja temperaturno kompenziranog kristalnog oscilatora (TCXO) radi stabilnosti frekvencije.

Napredne funkcije:

  • CAD (Channel Activity Detection): Softversko pokretanje detekcije aktivnosti na kanalu kako bi uređaj provjerio ima li LoRa signala prije odašiljanja (Listen Before Talk – LBT), štedeći tako energiju.
  • Prekidne linije (Interrupts – DIO1, DIO2, DIO3): Softversko mapiranje događaja (npr. TxDone, RxDone, Timeout, CadDone) na fizičke pinove kako bi mikrokontroler znao kada je akcija završena.

 


 

Prijenos paketa od 33 bajta podataka na daljinu do 300 metara

 

Paket podataka koji LoRa sa mete mora prenijeti na CrowPanel se tijekom razvoja proširio na 33 bajta. Vrijeme slanja (Time-on-Air) paketa od 33 bajta na modulu SX1262 kreće se u rasponu od 6 milisekundi (za najveću brzinu) pa sve do 40 sekundi (za apsolutno najveći domet). Brzina i vremensko trajanje slanja LoRa paketa najviše ovise o kombinaciji tri parametra: širine pojasa (BW), faktora širenja (SF) i stope kodiranja (CR).

U slučaju elektroničke mete, možemo računati sa maksimalnom daljinom od 300 metara gdje je svakako osigurana optička vidljivost bez prepreka jer ne možemo gađati ako ne vidimo metu. U tim uvjetima vrijeme slanje našeg paketa od 33 bajta bez problema može biti ispod 6 ms. Optimalne postavke pri tome mogu biti:

  • Širina pojasa (Bandwidth – BW): 500 kHz (to je najširi dostupni kanal koji omogućuje najbrži prijenos podataka).
  • Faktor širenja (Spreading Factor – SF): SF5 ili SF7 ako biblioteka ne podržava SF5. SF5 je najbrži način rada SX1262. Na 300 metara optičke vidljivosti, prigušenje signala je zanemarivo, pa visoka osjetljivost koju nude veći SF-ovi (poput SF10-SF12) uopće nije potrebna. Uz SF7 slanje paketa bi se produžilo na 14,4 ms što je i dalje vrlo kratko za našu primjenu.
  • Stopa kodiranja (Coding Rate – CR): 4/5. Ovo je najniži stupanj zaštite (dodaje najmanje redundancije). Budući da nema prepreka ni refleksija na otvorenom polju, rizik od interferencije je minimalan, što eliminira potrebu za jačim kodiranjem (poput 4/8).
  • Duljina preambule (Preamble): 8 simbola. To je standardna i minimalna preporučena duljina za stabilnu sinkronizaciju prijemnika pri visokim brzinama.
  • Izlazna snaga (TX Power): 0 do +5 dBm. Nema potrebe za maksimalnih +22 dBm (158 mW). Spuštanjem snage na 1–3 mW štedi se baterija i sprječava zagušenje (zasićenje) prijemnika na tako maloj udaljenosti.

Kada se 33 bajta pošalju uz ove ili nešto manje agresivne postavke, slanje paketa kroz zrak u najgorem slučaju (ako se dovoljno odmaknemo od teoretskih proračuna)  traje svega oko 15 do 20 milisekundi. To znači da u jednoj sekundi (1000 ms) radijski čip odašilje samo 20 ms, a preostalih 980 ms šuti. Kanal je gotovo potpuno slobodan, što ostavlja i više nego dovoljno prostora da se u bilo kojoj milisekundi ubaci kritični paket o pogotku u metu bez ikakvog kašnjenja.

 

Paket podataka Meta – Strijelac.

 

Paket podataka Strijelac – Meta.

 

Zakonska regulativa

U Europi je službeni opseg za besplatno korištenje (ISM band) 868 MHz, a zakonsko ograničenje za slanje je uglavnom 1% Duty Cycle. To znači da uređaj u jednom satu smije odašiljati ukupno samo 36 sekundi. Ako LoRa šalje podatke svake sekunde na 868 MHz, zapravo se krše obje zakonske regulative.

U SAD-u i nekim drugim regijama, ISM opseg je 915 MHz i tamo ne postoji strogo pravilo od 1% Duty Cycle za pojedinačne fiksne frekvencije, već se koristi tehnologija skakanja po frekvencijama (Frequency Hopping) ili su pravila fleksibilnija za slanje manje snage.

S obzirom na to da je u Europi standard 868 MHz standard, a moj trenutni hardver radi na 915 MHz, na terenu neću ometati lokalne 868 MHz uređaje (što je softverski plus za stabilnost veze), ali dugoročno za komercijalni ili potpuno legalan uređaj u Europi, frekvenciju bi trebalo prilagoditi na 868 MHz uz strogu optimizaciju slanja.

Iako hardver s brzim postavkama (SF7, BW 500kHz) može izdržati slanje svake sekunde, slanje meteoroloških podataka i napona baterije svake sekunde zapravo nije potrebno. Temperatura zraka i napon baterije na meti ne mijenjaju se u sekundi. Jedino što treba dolaziti u realnom vremenu to je podatak o brzini vjetra.

Kako bi se ispunila zakonska regulativa, frekvencija LoRa sustava je promijenjena na 868 MHz, a slanje paketa je drastično reducirano. Podaci o pogotku se šalju samo onda kada se isti dogodi. Podaci o temperaturama i stanju baterije se osvježavaju svakih 5 minuta. Podaci o vjetru se šalju samo na zahtjev, odnosno samo u vremenu kada strijelac vrši ciljanje i okidanje. Čak i da jedno slanje paketa traje 20 ms, ovim načinom se teško može premašiti dozvoljeno vrijeme odašiljanja od 36 sekundi u satu, jer se u tom vremenu može poslati 1800 paketa podataka.

 


 

Anemometar preko ESP-NOW protokola

Osim LoRa komunikacije, elektronička meta koristi još jedan bežični protokol za prihvat podataka o brzini i smjeru vjetra sa ultrazvučnog anemometra. To je ESP-NOW protokol preko XIAO ESP32-C6 modula.

ESP-NOW je bežični komunikacijski protokol koji je razvio Espressif, a omogućuje izravnu komunikaciju između više ESP32 čipova bez potrebe za WiFi usmjerivačem (ruterom). Za moj sustav elektroničke mete i anemometra, ovaj protokol pruža ključne prednosti u odnosu na klasični WiFi.

 

Ključne razlike ESP-NOW naspram klasičnog WiFi-ja

  • Povezivanje bez rutera: Klasični WiFi zahtijeva ruter i proces spajanja (rukovanje/handshake) koji traje nekoliko sekundi. ESP-NOW radi direktno od čipa do čipa (Peer-to-Peer). Komunikacija počinje u milisekundi nakon paljenja uređaja.
  • Brzina i kašnjenje (Latency): WiFi paketi su “teški” i imaju velik softverski overhead. ESP-NOW šalje kratke, sirove pakete podataka (do 250 bajtova po paketu), što rezultira iznimno malim kašnjenjem, idealnim za slanje podataka o vjetru u realnom vremenu.
  • Potrošnja energije: Zbog nepostojanja stalne veze s ruterom, periferne komponente (poput anemometra) mogu poslati podatak, trenutno otići u duboki san (deep sleep) i trošiti mikroampere. Klasični WiFi stalno troši bateriju jer stalno održava vezu.
  • Rad u pozadini: ESP-NOW koristi istu 2,4 GHz radio-frekvenciju i isti hardver kao WiFi, ali radi na nižem (MAC) sloju. To mu omogućuje da radi čak i ako čip istovremeno obavlja druge WiFi zadatke.

 

Domet s XIAO ESP32-C6 modulom

Sami čipovi obitelji ESP32 u idealnim uvjetima optičke vidljivosti (Line of Sight) s običnim PCB antenama na tiskanoj pločici postižu domet od 100 do 200 metara. Međutim, Seeed Studio XIAO ESP32-C6 donosi dvije ogromne prednosti koje drastično mijenjaju pravila igre na terenu:

  • Vanjska antena: XIAO C6 ima ugrađen u.FL konektor za vanjsku antenu. Ako na njega spojite kvalitetnu usmjerenu (npr. Yagi) ili jaču svesmjernu (omni) antenu, domet se višestruko povećava.
  • Wi-Fi 6 (802.11ax) tehnologija: ESP32-C6 je specifičan jer podržava Wi-Fi 6 standard. On koristi LR (Long Range) mod koji omogućuje slanje podataka s užom širinom pojasa. To drastično povećava osjetljivost prijemnika na velikim udaljenostima.

 

Realni dometi na terenu

Sa standardnom “štap” antenom može se očekivati stabilna vezu na udaljenostima od 300 do 500 metara (optička vidljivost, bez prepreka). S usmjerenom antenom na jednoj strani (npr. na meti ili kod strijelca) domet se u LR modu može protegnuti na 800 do 1200 metara. Ovo su ogromni dometi, a nama je dovoljan domet do 50 metara. Čini se da bi ESP-NOW bio dovoljan i za glavnu podatkovnu komunikaciju meta-strijelac, što je realna daljina do 300 metara.

Međutim, iako ESP-NOW teoretski može dosegnuti te velike udaljenosti u idealnim uvjetima, odluka da se koristi LoRa za veći domet (300 metara), a ESP-NOW za kraći domet (50 metara), ipak je bolja i robusnija za terenske uvjete. U bežičnim komunikacijama postoji ogromna razlika između “maksimalnog dometa u laboratoriju” i “pouzdanog dometa na terenu”.

 

Zašto je LoRa puno bolja od ESP-NOW za 300 metara?

Osnovni razlog je radna frekvencija, 915 MHz naspram 2,4 GHz. ESP-NOW radi na frekvenciji od 2,4 GHz. Ti kratki valovi iznimno teško podnose fizičke prepreke. Na strelištu, svaka vlat visoke trave, grmlje, drveće, pa čak i vlažan zrak ili tijelo strijelca koji stane ispred antene mogu potpuno blokirati slab 2,4 GHz signal. LoRa na 915 MHz ima puno dužu valnu duljinu. Ona doslovno “zaobilazi” travu i tlo, te ima drastično bolju probojnost kroz prirodne prepreke.

Drugi razlog je vrsta modulacije. LoRa koristi tehnologiju proširenog spektra (Chirp Spread Spectrum). To znači da može uspješno dekodirati signal čak i ako je on ispod razine šuma (Signal-to-Noise Ratio je negativan). Ako na strelištu puše jak vjetar, pada kiša ili ima drugih smetnji, ESP-NOW će početi gubiti pakete na 300 metara, dok će LoRa naših 33 bajta prenijeti bez ijednog izgubljenog bita.

Budući da se meta nalazi relativno blizu tla (gdje je refleksija signala od zemlje, tzv. Fresnelova zona, najizraženija), 2,4 GHz signal (ESP-NOW) pati od refleksija i prigušenja. LoRa je na tim visinama (blizu tla) dokazano stabilnija.

Zašto je ESP-NOW idealan za anemometar do 50 metara?

Na 50 metara 2,4 GHz signal je dovoljno jak da nadvlada većinu smetnji. Budući da anemometar šalje podatke svake sekunde, korištenje LoRa protokola za to bi nepotrebno zagušilo radijski prostor (LoRa ima stroga pravila o vremenu zauzeća kanala, tzv. Duty Cycle). ESP-NOW s lakoćom i bez kašnjenja prenosi te brze podatke svake sekunde na kratku udaljenost, ostavljajući LoRa kanal slobodnim samo za kritične podatke o pogodcima između mete i strijelca.

 


 

Zaobilazak internog ESP32-C6 (WiFi) i uvođenje vanjskog “Gateway” čipa

U opisu CrowPanela naveo sam kako nisam uspio aktivirati tvornički ugrađen XIAO ESP32-C6 na CrowPanel ploči. Taj čip je spojen s ESP32-P4 putem SDIO sučelja i vrti svoj firmware koji je zatvoren i kompliciran za modificiranje. Programski pinovi za interni C6 nisu izvučeni, pa je fleširanje modificiranog koda koji podržava ESP-NOW vrlo teško izvedivo. Inače koliko pratim na GitHubu, zajednica je tek nedavno počela razvijati neslužbene alate za SDIO OTA fleširanje ESP32-C6 na ovim pločama kako bi uopće omogućili ESP-NOW (esp32-p4-c6-espnow-enabler).

Ipak, dodavanje zasebnog vanjskog XIAO ESP32-C6 umjesto aktivacije internog donosi i neke prednosti. Mrežni protokoli (pogotovo na terenu gdje signal anemometra može oslabiti ili puknuti) troše puno procesorskog vremena na rekonekciju. Da sve vrtim na jednoj ploči, gubitak paketa s anemometra mogao bi uzrokovati mikro-trzaje u LVGL animacijama ili, što je još gore, kašnjenje u obradi pogodaka sa elektroničke mete. Ovako, vanjski XIAO ESP32-C6 obavlja “prljavi” posao održavanja bežične veze, dok glavni ESP32-P4 preko robusnog hardverskog UART-a asinkrono i bez napora prima gotove pročišćene podatke.

 

Hardver anemometra

Anemometar mora raditi na bateriju (Li-ion 3,7-4,2 V) pa je važna stabilizacija napona i potrošnja struje čitavog sustava. Mjerenje je pokazalo da XIAO ESP32-C6 u normalnom radu troši 75 mA struje, a kad se uključi anemometar potrošnja skače na 110 mA. Na mahove potrošnja može skočiti do 135 mA. Time uz bateriju kapaciteta 3000 mAh, možemo očekivati realnu autonomiju rada od oko 24 sata. To je svakako dosta za cjelodnevno gađanje na terenu, no s druge strane nema potrebe da anemometar radi baš cijelo vrijeme (u dužim pauzama gađanja).

Isključenjem anemometra u pauzama gađanja (jednako kao i isključenjem lasera) štedi se baterija i elektronika.

 

 

Kao što se vidi na shemi, za kontrolu paljenja i gašenja anemometra predvidio sam idealnu diodu LM66200 kojom se može upravljati preko ON pina. Načelno, ovdje sam mogao ugraditi neku tranzistorsku sklopku ili izolirani elektronički relej sa MOSFET-ima, no s obzirom da preklapam vrlo male napone i struje preko MCU logike 3,3 V onda se mali modul LM66200 nametnuo kao najbolje gotovo rješenje. Modul sa TP4056 je popularni punjač za Li-Ion baterije, a isti modul na sebi sadrži i uobičajenu kombinaciju čipa DW01 te MOSFET-a 8205A za zaštitu baterije od prekomjernog punjenja, prekomjernog pražnjenja i prevelike struje.

Izlazni napon iz punjača ide preko idealne diode (sklopke) na DC/DC step up modul sa čipom SDB628 koji baterijski napon podiže na 9 V potrebnih za rad anemometra. Integrirani krug SP3485 je pretvarač komunikacijskih signalnih, sa RS485 anemometra na UART standard za XIAO ESP32-C6.

 

Ultrazvučni anemometar YGC-CSM jedan je od najjeftinijih na tržištu, no svakako puno bolji od bilo kakvog anemometra sa pokretnim lopaticama. Mjeri brzinu vjetra u rasponu 0-45 m/s (razlučivost 0,01 m/s) i smjer vjetra u rasponu 0-360° (razlučivost 1°). 3D printerom isprintan je nastavak u koji je smještena elektronika za bežični prijenos podataka. Također možete kupiti gotov bežični anemometar, no onda se trebate prilagođavati sistemu i protokolu na kojem radi.

 

Modularna elektronika za pretvaranje RS485 anemometra u autonomni bežični sustav. 

 

Danas praktično sve Li-Ion i Li-Po baterije dolaze sa ugrađenom internom zaštitom od prekomjernog punjenja, prekomjernog pražnjenja i prevelike struje. To je najčešće kombinacija namjenskog čipa DW01 te ovisno o kapacitetu baterije jednog ili više MOSFET-a 8205A. S obzirom da u našem slučaju već koristimo jednu takvu zaštitu na samom modulu punjača, onda interna zaštita tvornički ugrađena u bateriju nije potrebna. U normalnom radu dvostruka zaštita električki ne smeta jedna drugoj i uvijek će isključiti ona koja je podešena na manje pragove okidanja. Međutim, interna zaštita na bateriji može zbuniti modul punjača glede LED indikacije stanja.

Na čip TP4056 mogu se izravno spojiti dvije indikacijske LED: jedna svijetli cijelo vrijeme kada traje punjenje, a kad se baterija napuni do kraja, ta LED se gasi i pali se druga indikacijska LED koja označava da je baterija puna. Međutim, ako interna zaštita baterije isključi bateriju iz kruga punjenja prije nego taj prag dosegne sam punjač (na primjer interna zaštita isključuje na 4,2 V, a elektronika punjača je podešena da isključuje na 4,22 V), onda će indikacija napunjenosti izostati jer punjač tik pred kraj punjenja odjednom „izgubi“ bateriju.

Na baterijskim sustavima poput ovog anemometra korisnik bi svakako trebao imati indikaciju kad je baterija napunjena. Stoga je najbolje ukloniti internu zaštitu baterije ili naći baterijske ćelije bez ugrađene zaštite.

 


 

Softver anemometra

Program je napisan tako da strijelac može preko svojeg kontrolnog panela (CrowPanel) u bilo kojem trenutku uključiti ili isključiti ultrazvučni anemometar. Ovdje nisam povezivati nikakvu automatiku paljenja i gašenja jer strijelac može pratiti vjetar (i druge meto prilike) nevezano uz samo gađanje.

Iako teoretski gledano funkcija gašenja anemometra gotovo da i nije potrebna, pokušao sam ići i korak dalje, te zajedno sa gašenjem anemometra postaviti XIAO ESP32-C6 u Sleep mode, gdje umjesto 75 mA troši oko 20 mA struje. Međutim, prvi kodovi su pokazali da se XIAO ESP32-C6 neki put teško podiže iz Sleep moda, te se događa da ga naredba sa CrowPanela jednostavno ne može probuditi. Kasnije sam kopajući po literaturi pronašao neke podatake kako XIAO funkcionira u svoja dva Sleep moda:

  • Deep Sleep gasi radio: Ako ESP32-C6 ode u Deep Sleep, struja pada na svega nekoliko mikroampera (μA), ali se Wi-Fi/Bluetooth radio potpuno gasi. U tom stanju uređaj ne može primiti ESP-NOW naredbu za buđenje izvana. Buđenje je tada moguće samo preko hardverskog pina (npr. gumb ili vanjski signal) ili internog tajmera.
  • Light Sleep kao rješenje: Za ostanak u mreži i prijem naredbi pokušao sam koristiti Light Sleep s uključenim Wi-Fi/ESP-NOW upravljanjem potrošnjom (Modem Sleep / DFS). U Light Sleep modu struja pada na oko 1,2 mA do 3 mA.

Međutim, detaljnijim proučavanjem konstrukcije čipa shvatio sam da je nemoguće ugasiti TX, a ostaviti upaljen samo RX kao svojevrsni Stand-by mod sa smanjenom potrošnjom. Unutar ESP32-C6 čipa, krugovi za odašiljanje (TX) i prijem (RX) dijele isti oscilator i većinu ostalih VF sklopova. Kada je radio uključen, on troši struju prvenstveno na održavanje tog kompletnog RF lanca.

Stoga je potrošnja RX-a visoka gotovo kao i TX-a. Prema službenoj tehničkoj dokumentaciji (datasheetu) za ESP32-C6, dok čip odašilje (TX), on troši između 130 mA i 190 mA. Međutim, u čistom načinu rada za slušanje (RX mod), kada čip ne šalje apsolutno ništa nego samo pasivno osluškuje eter, on troši fiksnih od 50 mA do 63 mA (ovisno o frekvenciji i mrežnom standardu).

Pokušaji periodičkog prebacivanja ESP32-C6 iz stanja Deep ili Light Sleep moda i aktivnog moda traže softverske tajmere i watchdog osigurače što usložnjava kod, te smanjuje softversku i hardversku pouzdanost sustava. Rješavanje ovog problema sam na kraju ocijenio kao potpuno neisplativim za ovaj projekt, jer pouzdanost rada je ipak puno važnija od uštede 50-tak mA struje, pogotovo ako za time nema nužne potrebe.

 

Leave a comment

Vaša adresa e-pošte neće biti objavljena. Obavezna polja su označena sa * (obavezno)