Obsah:
- Krok 1: ZAREGISTRUJTE SA A PULSEVIEW
- Krok 2: Pridanie k snímaču otrasov
- Krok 3: ADRESA ADXL
- Krok 4: Schematické výtlačky DPS
- Krok 5: Prototyp leptu na kresbu
- Krok 6: Zostavenie dosky
- Krok 7: KÓDOVANIE
- Krok 8: Nájdenie pinov SDA SCL
Video: DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Pre tých z vás, ktorí hrajú s doskou Wemos 32 LOLIN, som si myslel, že zatiaľ začnem dokumentovať niektoré moje zistenia.
Aktuálnym projektom je prepojenie s akcelerometrom ADXL345 a ako ukazuje fotografia vyššie, úspešne som ho pripojil k lolinu a nakonfiguroval som ADXL ako snímač otrasov.
Registre na ADXL boli nastavené ako priložené pdf a prerušenie, ktoré som v kóde nakonfiguroval, aby vyplivlo kód na sériovom porte, keď sa zistí šok.
Register nečinnosti som tiež nastavil ako prerušenie a po kontrole, ktoré prerušenie sa spustilo, vypľul tie isté údaje.
Používam port I2c na LOLIN a uvidíte, že mám rutinu na vypľutie registrov na ADXL, aby som mohol skontrolovať konfiguráciu počas ladenia. Táto funkcia beží vo funkcii časovača pomocou knižnice tickerov. Je to užitočná funkcia na nastavenie na ladenie a kontrolu registrov v prípade, že tam napíšete niečo, čo záhadne spôsobuje, že údaje robia podivné veci.
Normalizoval som údaje o doplnkoch 2 v LOLIN a naformátoval som ich, aby ich bolo možné importovať do programu Excel.
Pozrite sa na priložený PDF s niektorými údajmi, ktoré som importoval a ktoré som graficky zobrazil v programe Excel a zobrazujú niektoré klepnutia na ADXL, ktoré sú vyvolané prerušením v spúšťacom registri v režime FIFO.
Režim FIFO je užitočná funkcia, ktorá neviaže mikroskop a ukladá 32 vzoriek na spúšť. Znova sa pozrite na moje dátové skládky a môžete vidieť, kde začíname na nule od zeme a posledná vzorka je asi 9,8 ms alebo asi tam. Čiara X na grafe zobrazuje časovanie v mikrosekundách, ktoré sa zvyšuje zľava doprava.
POZNÁMKA. OD TEJTO ZMENY A DOPLNENIA POSLEDNÉHO GRAFU NA ZOBRAZENIE ČASOVÉHO RIADKU Z MÍNUSU 9800 mikrosekúnd. Prvé zobrazenie FIFO je najskorším údajom, ostatné sú staršie. Pohľad by mal byť sprava doľava.
Všimnite si troch káblov k doske ADXL. SDA/SCL a INT od INT 1. Opäť, keď sa pozriete na nastavenia registra a preštudujete si údajový list, bude to mať zmysel.
Vzorka údajov je plne naklonená pri 3200 vzorkách, čo dáva 3125 sekúnd použitia medzi vzorkami. A predbežné zachytenie 4 vzoriek. Pozrite sa na pdf údaje zo zariadenia v programe Excel a na všetky grafy, ktoré som nakreslil, ukazujúce pohyb okna zachytenia.
V prípade záujmu vložím nejaký kód konfigurácie a preruším.
Pre I2C používam knižnicu drôtov a napísal som okolo toho niekoľko funkcií.
Všimnite si malého snímača dát, ktorý som pripojil k SDA/SDL a pomocou Sigrok i dokáže dekódovať zbernicu I2C v reálnom čase.
Ďalším krokom je uloženie na disk SAN, aj keď som už dokázal, že funguje. Akonáhle to bude hotové, pripojím sa k bezdrôtovému rozhraniu a nahrám ho na webovú stránku.
Budem to dopĺňať, keď sa projekt rozšíri.
FOOTNOTE:
Pre tých pozornejších si všimnete veľkú priehlbinu v plechovke chrániacej čip esp a prepojku na doske plošných spojov. Dôvodom bol miestny kokeršpaniel, ktorý skontroloval poštu a rozhodol sa tabuľu prežúvať, než mi k nej umožnil prístup. Myslím si, že nie je fanúšikom espressa !.
Samozrejme, ako vždy, vždy mám otázky, preto sa pýtajte.
Krok 1: ZAREGISTRUJTE SA A PULSEVIEW
Len krátka zmienka o pulseview a sigrok.
Toto je bezplatný softvér zo siete a malá doska rozhrania s 8 logickými vstupmi je lacná na ebay a kol. Všimnete si niekoľkých obrázkov, ktoré som zachytil z autobusu, keď bol spustený ADXL, a je opäť tak užitočný pre ladenie, pretože má vstavaný dekodér pre I2C.
Rozsah je skvelý na kontrolu úrovní signálu, ale ručné dekódovanie I2c je prinajlepšom únavné, aj keď som predtým nastavil slučku a ručne ladil. Musíte mať ocenenie bitového búchania na úrovni portu, ktoré som urobil na mnohých obrázkových projektoch, ale je to časovo náročné a náchylné k chybám … najmä v noci!
Ďakujem chlapcom, ktorí napísali túto aplikáciu. Je to božské poslanie pre projekty v i2c, Všimnite si linky D4, ktorá monitoruje linku prerušenia z ADXL.
Krok 2: Pridanie k snímaču otrasov
Ok, tu som pridal nejaké periférne zariadenia k snímaču otrasov na dôkaz koncepcie.
Ospravedlňte potkanie hniezdo, akonáhle to bude fungovať, navrhnem dosku plošných spojov, ktorá prepojí všetky súčasti, a vložím to všetko do peknej škatule. Všetky pripojené položky okrem karty SD fungujú na zariadení i2c, ktoré je na zbernici spi.
Zostáva pripojiť modul GPS, ktorý je WIP, ale dúfam, že do konca tohto týždňa budem mať riešenie.
Súčasný projekt teda pozostáva z:
Bezdrôtová doska ESP32 LOLIN.
Hodiny reálneho času PCF. Zachováva aktuálny dátum a čas. Hrubo som spájkoval na starú projektovú dosku, ktorú som predtým vyleptal.
Externý blesk. Obsahuje okrem iného údaje o nastavení akcelerometra. Kapacita 132 tis. A môže na neho ukladať niektoré webové údaje na uľahčenie ponúk atď.
SPI SD karta na ukladanie údajov a protokolov akcelerometra. 8 GB, ale dá sa rozšíriť.
OLED displej na zobrazenie ponúk a niekoľkých ďalších vecí.
Tu je to, čo [nakoniec] urobí
Monitorujte otrasy a aktivitu, ktoré presahujú pozadie.
Zaregistrujte výboje na kartu SD s časom a dátumom z integrovaných hodín.
V prípade záujmu označte polohu z GPS na SD kartu
Pomocou prístupového bodu nahrajte údaje na webový server a analyzujte ich … môže to byť mobilný telefón.
| Hľadanie prístupových bodov je schopnosť LOLIN32 as hostovať webový server pre príkazy a potom sa pripojiť ako klient k cloudovému webovému serveru. SD kartu môžete vždy jednoducho odpojiť a nahrať!
Stále je čo robiť, ale ide to ďalej.
Krok 3: ADRESA ADXL
Teraz je tu zábavná vec. Kúpil som si čip ADXL 345 ako malú dosku, pretože to bolo lacnejšie ako získavanie čipu samostatne … ako to funguje? Potom som sa však pustil do pripojenia k zbernici i2c a zistil som, že došlo k stretu s eeprom s adresami, ktoré v skutočnosti začínajú na 0x53, čo znamená zápis na A6 a čítanie na A7.
Pri čítaní bumfu sa teda ukazuje, že ak vezmete VYSOKÚ ADRESU SDO/ALT, môžete ju prinútiť 1D
Ukazuje sa, že moja malá doska je pevne zapojená na uzemnenie na kolíku 12 ADXL napriek kolíku SDO, ktorý vyzerá, že ho môžete vytiahnuť vysoko. Nepokúšajte sa o to doma bez súčasného obmedzeného zdroja napájania … Našťastie som mal dôvod, kvôli ktorému som vytiahol multimetr a skontroloval kolík proti zemi. [Mŕtvy skrat], čo znamená, že musíte prerušiť koľaj a prepojovací kolík 12 na 3,3 V. Funguje to a dostanete sa z plesového stretu. Našťastie neurobili skrat pod čipom, inak by som bol snookered a musel som čip odstrániť z dosky. EEprom, ktorý je náhradný, som mal usporiadaný ako dve stránky so 64 kB ako adresa 0x52 a 53. Keď som to urobil, môj problém bol vyriešený.
Po opätovnom prečítaní webovej stránky sa uvádza, že je nastavená na 0x53, ale je napísaná malým písmom, takže dávajte pozor!
Krok 4: Schematické výtlačky DPS
Tu je rýchly prehľad obvodu a komponentov. Toto je do značnej miery môj návrh a stále WIP [Work In Progress] Schéma bolo navrhnuté a potom preložené do kresby stôp. Overil som, že všetky komponenty fungujú podľa očakávania pomocou moje potkany sa približujú k hniezdu a teraz sa montujem na dosku, ktorá sa zmestí do malej škatule [Podrobnosti budú nasledovať]
S odvolaním sa na shocker.pdf.
Doska sa skladá z 8 hlavných komponentov
- SKLADOVANIE KARTY SD
- ACXELOMETER ADXL
- DISPLEJ OLED
- 3,3 V REG
- MODUL GPS1
- EEPROM
- ČASOVAČ RTC
- LIPOVÝ ČIP ESP32 S BEZDRÔTOVÝM ROZHRANÍM RF
Všetko závisí od akcelerometra.
ADXL je nastavený tak, aby prerušoval procesor na INT1, ktorý je smerovaný na pin 14 na procesore. Kód v mikro je nastavený tak, aby zachytil toto prerušenie a nastavil príznak, podľa ktorého sa pracuje v hlavnej rutine. Pridám kód načrtnutie registrácie rutiny prerušenia a funkcie spätného volania neskôr.
ADXL podporuje prerušenia v rôznych stavoch, ako je šok alebo nečinnosť, a niekoľko ďalších. Môžete maskovať tie, ktoré pošteklia vašu fantáziu podľa toho, čo sa pokúšate urobiť. ADXL je prevádzkovaný v režime FIFO, takže dokáže uložiť 32 vzoriek. zachytiť šokovú udalosť ako XYZ [96 hodnôt]
Displej ADXL RTC a EEPROM sú poháňané z I2C. Karta SD CARD je pripojená k SPI I/O a modul GPS je pripojený k sériovým portom na zariadení LOLIN s označením X12 X11.
Sekvencia je nasledovná Neustále získavajte 232 údajov z jednotky GPS a filtrujte. Kým máte platný čas GPS, aktualizujte RTC v nastavených intervaloch. Pri prerušení uložte premenné na kartu SD, ako sú čas/zemepisná šírka/rýchlosť/nadmorská výška/uloženie registrov ADXL v kompliment surového formátu 2 a doplnok 2. Všetky údaje sú oddelené čiarkou.
Všimnite si tiež, že existuje pin reset, ktorý je pripojený k pinu 13. Tento pin spustí vstavaný webový server, ktorý vám umožní pripojiť sa ku konfigurátoru a nastaviť prístupový bod, ktorý je uložený v EEPROM. Pri reštarte sa procesor pripojí k prístupovému bodu a bude mať prístup na internet a bude môcť nahrávať súbory z karty SD. Ak nie sú k dispozícii žiadne údaje a žiadny bod pripojenia, jednotka jednoducho vykoná proces zaznamenávania údajov na kartu SD, ktorú môžete interogovať pomocou program [ShockerView.exe] [WIP] Na serveri sú údaje uložené v databáze SQL a zobrazené [WIP]
Výtlačky plošných spojov sú pripevnené zhora a zdola.
Krok 5: Prototyp leptu na kresbu
Tu je návod, ako vyrábam svoje prototypové dosky
Vytlačte kresbu na ťažký pauzovací papier. Používam 63 GSM od kováčov, lacných a veselých. Kľúčom je tu tlačiareň. Chcete čo najtransparentnejšie a najčistejšie. Moja laserová tlačiareň sa už zapína, ale je vhodná na tlač až do 10 tisíc, menej ako potrebujete špeciálne vybavenie, pretože zrno pauzovacieho papiera začína prekážať. Môžete si kúpiť špecializovaný papier, ale hej, to je príliš dobré pre mňa. V každom prípade neustále zdokonaľujem svoje návrhy, takže by to bolo pre mňa príliš drahé. Ak potrebujete správnu dosku, požiadajte o to odborníkov.
Normálne prototypujem svoje dosky v sekciách a potom vyrobím finále s gerbermi, ktoré bude vyrábať internetová spoločnosť. Prototyp triedi všetky tieto chyby a opomenutia, než spácha skutočné peniaze.
Potom, čo ste vytlačili obrázky na dva oddelené listy trasovania formátu A4, potom ich odstrihnite tak, aby ich prekrývali a oddeľovali od seba. nechajte dostatočný priestor na to, aby sa vaša obojstranná doska vtlačila medzi vrstvy a uistite sa, že je potlačená strana oproti plošnému spoju. Vytvorte pár zárezov, ktoré vám umožnia zasunúť dosky a dočasne ich nalepiť. Ak si dávate pozor, môžete pásku na seba prekrývať, aby ste ju mohli vybrať bez toho, aby ste zničili sledovací obrázok.
Položte dosku jednou stranou nadol do svojho UV boxu. Poznámka: Svoju som vyrobil pomocou štyroch nových 13W UV žiaroviek a starého ovládacieho zariadenia a vyrobil som krabicu s priehľadným skleneným panelom. Medzera bola experimentálna. Veko sa stiahne a pritlačí penu na zadnú stranu dosky, čím pritlačí masku k sklu. Ak to neurobíte, svetlo podreže odolnosť proti leptaniu. Zapnite a vystavte dosku na 1 minútu 40 sekúnd na každú stranu. Používajte hodinky. Vlastne to musím upraviť s časovačom … ach nie ďalší projekt … možno si nejaký kúpim … vieš, že to nezvykneš! Dosky, ktoré som kúpil od Mega Electronics, sú lacné prototypové dosky s odolnosťou proti leptaniu. Odolnosť voči leptaniu je niekedy trochu nerovnomerná, ale mám niekoľko dosiek, ktoré mám štyri roky a stále vyrábajú dobré dosky na prototypovanie !!
Buďte opatrní pri obracaní dosky, nenechajte ju skĺznuť, inak sa stanete nepotrebnými.
Teraz pripravte svojho vývojára. Používam 2 kapsuly v pomere 18: 1, to sú dve čiapky vývojky a 36 uzáverov čistej nefalšovanej vody z vodovodu. Vývojka sa dodáva vo forme fľaše alebo prášku a fľaša mi obvykle vydrží asi 6 rokov !!. Zmiešajte ho v nádobe na zmrzlinu A NOSTE RUKAVICE. Nestrkajte do nej prsty, inak to mastnotu ovplyvní. Teplota môže byť v zime problémom. Vodu udržiavajte pri 20 stupňoch alebo okolo nich, nie je to kritické, ale ak je studená, výsledky môžu byť nepredvídateľné. Urobil som to v januári v mojej garáži s rýchlovarnou kanvicou, aby ste to mohli kompenzovať.
Keď do nej vložíte dosku, jemne presuňte nádobu zo strany na stranu. Ak ste to urobili správne, uvidíte, ako sa z medi odstráni purpurový prúd leptaného odporu, ktorý medzi koľajami odhalí nádhernú lesklú meď. Otočte ho pomocou rukavíc a skontrolujte druhú stranu. Tento proces bežne trvá asi minútu, takže po dokončení dosku vyberte a dôkladne opláchnite v teplej vode. Ak je nudný, potom je pravdepodobnosť, že zlyhal.
Mal som to niekoľkokrát, ale je to zvyčajne preto, že som nenosil rukavice alebo bola teplota príliš nízka alebo som kvôli určitému rozptýleniu skomplikoval expozičný čas … prečo to robia uprostred niečoho kritického …
Ukážte mi svoje lepty
Dobre, takže teraz máte dosku s krásnymi zelenými stopami chránenú odolnosťou proti leptaniu a teraz musíte doplniť chlorid železitý. Teraz používam rovnakú nádobu na zmrzlinu na minimalizáciu odpadu a zamiešam sa do poznámok na obale. Chlorid železitý kupujem v balíčkoch guličiek, ktoré odvážite a rozpustíte v roztoku. Doplňte dosť na to, aby ste naplnili vaňu so zmrzlinou asi do 1/3 výšky. Ak sa na prácu nalíčite len toľko, môžete ju naliať do plastovej nádoby a vydrží vám dlho.
RUKAVICE NESMETE NOSIŤ … nie kvôli mastnote atď., Ale pretože ak to neurobíte, vaše ruky budú žiarivo oranžové po dobu štrnástich dní. Raz som to urobil pred dôležitým stretnutím v Londýne a vyzeralo to, že som bol tango. Avšak uvedomte si, že tieto veci sú škaredé okolo čohokoľvek medi … a čohokoľvek naozaj. Noste staré oblečenie, pretože ak sa naň dostane, je v koši. Prichytí sa k umývadlám z nehrdzavejúcej ocele a spravidla všetko zafarbí. Urobte to vonku alebo v prístavbe mimo všetkého. Nelejte zvyšky do kanalizácie, je to skvelé na ničenie baktérií, čo by vodohospodársky orgán nechcel propagovať vo svojich septikoch. Pre niektoré orgány je to tiež nezákonné, preto to nerobte.
Keď prvýkrát ponoríte dosku do roztoku, pri napadnutí medi bude mať krásnu červenú bronzovú farbu. Ak sa tak nestane, môžete mať ešte vrstvu leptavého odporu, ktorá bráni leptaniu fungovať alebo je vaše riešenie nesprávne. Ak je to tak, vráťte sa na rysovaciu dosku, obávam sa, ale nie je pravdepodobné, že by sa váš lepták mýlil, ak by ste sledovali deštrukcie.
Ak je však všetko v poriadku, máte niekoľko perfektných skladieb chránených odolnosťou proti leptaniu.
Normálne by v tomto mieste profesionál použil sadu masiek na vývoj okolo otvorov a podložiek a výrobu priechodnej medi a na hodenie čísel komponentov atď. Použije hodvábnu obrazovku. Bohužiaľ, nemám čas ani chuť a urobím si priechodky použiť nejaký medený drôt z vrstvy na vrstvu … viacvrstvová je pri tejto metóde očividne nie. Ak mám náladu, starostlivo pridám čísla komponentov do vrstvy tlače, aby ste vyleptali aj čísla komponentov. Montáž môže ušetriť čas, ale závisí to od zaneprázdnenia dosky.
Teraz vystavím stopy na ďalšie asi 2 minúty na jednu stranu a ponorím sa do vývojky, aby som odstránil všetku odolnosť proti leptaniu.
Teraz vyvŕtam priechodky a všetky priechodné otvory a všetky stopy pocínujem a skontrolujem kontinuitu pomocou multimetra. Táto časť je bolestivá a zvyčajne by ste to neurobili pre profesionálne vyrábanú dosku so skutočnými priechodmi, ale oplatí sa vyhnúť sa priechodnému drôtu. spájkovanie iba na jednej strane … sa toľkokrát stalo!
Krok 6: Zostavenie dosky
Dobre, takže teraz mám pripravenú dosku a vyvŕtal som všetky priechodky a priechodné otvory.
Prevlečte všetky priechodky drôtom a spájkujte obidve strany. Rád cínujem všetky stopy, pretože ochrana to nemusí robiť, ale zastaví oxidáciu medi.
Pripojil som kartu SD, ktorá je na povrchovú montáž, a pridal dve krajiny, aby sa na ňu prichytila spájka, a navyše má na spodnej strane pár kolíkov, ktoré ju ukotvia.
Ďalej bola pridaná ADXL EEPROM atď.
Energeticky je v pláne vziať 5 V z USB alebo externého bat a napájať ho cez 3,3 V reg na doske. Kúpil som malý reg od spoločnosti Ebay, ktorý je zostavený ako modul a dimenzovaný na 800 mA … to je 300 gretaerov než môže poskytnúť USB. Zatiaľ som nevykonal žiadne meranie výkonu, čo by mohlo v softvéri vylepšiť ….. môže na vyriešenie použiť prerušenie neaktivity od ADXL. [WIP]
… je potrebné pridať obrázky v priebehu vytvárania.
Krok 7: KÓDOVANIE
Dobre, nebudem prechádzať všetkým arduino nastaveným, pretože niekto iný to urobil oveľa lepšie inde.
Len idem vyberať súvisiace bity, ktoré je možné použiť vo vašom vlastnom projekte.
Stále sa pracuje, pokiaľ ide o odoslanie na webovú stránku, ale umožňuje prejsť časť kódu.
Ide o to, že normálnou funkciou je inicializácia zariadení, ktoré pozostávajú z GPS /displeja /karty SD /hodín reálneho času /ext_flashmemory a akcelerometra.
Potom vstúpime do slučky a čakáme, či je stlačené tlačidlo prerušenia sw. Ak je to, potom skočte do ponuky konfigurátora a nakonfigurujte sieť Wi -Fi na automatické prihlásenie do zariadenia určeného ako vstup do konfigurátora webovej stránky. Najprv prehľadá všetky zariadenia na adresu ssid a potom vám umožní vybrať jedno z nich a uložiť ho na flash s príznakom, ktorý indikuje, že pri ďalšom štarte načítajte nastavenia z flash. Kedykoľvek to môžete prepísať zadaním adresy ipad a zadaním príkazu /killbill, čím vymažete flash a načítate predvolené nastavenia.
tu je funkcia prerušenia definovaná v kóde pre akcelerometer adxl a skok na konfigurátor na dvoch oddelených kolíkoch. Na prerušenie udalosti SHOCK používame prerušenie ADXL. Pre obe prerušenia nastavíme príznak, ktorý sa vynuluje v hlavnej „slučke“. takto to vyzerá:
pozri priložený kód
Krok 8: Nájdenie pinov SDA SCL
použite tento kód:
Serial.println (SDA);
Serial.println (SCL);
vytlačí piny aktuálne nakonfigurované v ESP pre SDL a SCL
Existuje súbor, ktorý sa používa na mapovanie pinov na funkcie, ako sú sériové porty v ESP32
Odporúča:
GPS Para Norma (Datalogger EEPROM): 5 krokov
GPS Para Norma (Datalogger EEPROM): Jednoduchý záznamník GPS pre domáce zvieratá na základe arduino a záznamu na EEPROM ==================================== ================================================================================================================= Sencillo datalogger GPS
Aljaška Datalogger: 5 krokov (s obrázkami)
Aljaška Datalogger: Aljaška je na pokraji postupujúcich klimatických zmien. Jeho jedinečná poloha v pomerne nedotknutej krajine osídlenej rôznymi kanálikmi uhoľných baní ponúka veľa možností výskumu. Náš priateľ Monty je archeológ, ktorý pomáha s
Datalogger Arduino: 8 krokov (s obrázkami)
Arduino Datalogger: V tomto tutoriáli vytvoríme jednoduchý záznamník údajov pomocou Arduina. Ide o to, naučiť sa úplné základy používania Arduina na zachytávanie informácií a tlač na terminál. Toto základné nastavenie môžeme použiť na dokončenie celého radu úloh. Ak chcete začať
Kardio datalogger: 7 krokov (s obrázkami)
Cardio Data Logger: Aj keď je v dnešnej dobe k dispozícii mnoho prenosných zariadení (smartband, smartwatch, smartphone, …), ktoré dokážu detekovať srdcovú frekvenciu (HR) a vykonávať stopovú analýzu, systémy založené na hrudných pásoch (ako napríklad v hornej časti) z obrázku) sú naj
Datalogger Raspberry Pi Zero W: 8 krokov (s obrázkami)
Datalogger Raspberry Pi Zero W: Pomocou Raspberry Pi Zero W môžete vytvoriť lacný a ľahko použiteľný datalogger, ktorý je možné pripojiť buď k lokálnej sieti Wi -Fi, alebo slúžiť ako prístupový bod v teréne, ktorý vám umožní sťahovať údaje. bezdrôtovo pomocou vášho smartfónu. Predstavujem