Obsah:

DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC: 8 kroků
DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC: 8 kroků

Video: DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC: 8 kroků

Video: DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC: 8 kroků
Video: ESP32 - Vibration Data Logger (Fourier Transform) 2024, Červenec
Anonim
DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC
DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC
DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC
DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC
DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC
DATALOGGER ESP32 ADXL345 S GPS_EXT RAM_EXT_RTC

Pro ty z vás, kteří hrají s deskou Wemos 32 LOLIN, jsem si myslel, že zatím začnu dokumentovat některé mé nálezy.

Aktuálním projektem je propojení s akcelerometrem ADXL345 a jak ukazuje fotografie výše, úspěšně jsem jej připojil k lolin a nakonfiguroval ADXL jako snímač otřesů.

Registry na ADXL byly nastaveny jako přiložený pdf a přerušení, které jsem v kódu nakonfiguroval, aby vyplivlo kód na sériovém portu, jakmile je detekován šok.

Také jsem nastavil registr nečinnosti jako přerušení a po kontrole, které přerušení bylo spuštěno, vyplivl stejná data.

Používám port I2c na LOLINu a uvidíte, že mám rutinu na vyplivnutí registrů na ADXL, abych mohl při ladění zkontrolovat konfiguraci. Tato funkce běží ve funkci časovače pomocí knihovny tickerů. Je to užitečná funkce pro nastavení ladění a kontroly registrů v případě, že tam napíšete něco, co záhadně způsobí, že data dělají nějaké podivné věci.

Normalizoval jsem 2 komplimentová data v LOLINu a naformátoval je, aby je bylo možné importovat do Excelu.

Podívejte se do přiloženého PDF s některými daty, která jsem importoval a graficky jsem zobrazil v Excelu a zobrazuje některá klepnutí na ADXL, která jsou spuštěna přerušením ve spouštěcím registru pomocí režimu FIFO.

Režim FIFO je užitečná funkce, která neváže mikro a ukládá 32 vzorků na spoušť. Znovu se podívejte na moje datové skládky a můžete vidět, kde začínáme na nule od země a poslední vzorek je asi 9,8 ms nebo asi tam. Čára X v grafu ukazuje časování v mikrosekundách, které se zvyšuje zleva doprava.

POZNÁMKA OD VÝMĚNY POSLEDNÍHO GRAFU K ZOBRAZENÍ ČASOVÉHO ŘÁDU OD MÍNUSU 9800 mikrosekund. První pop FIFO jsou nejdříve data, zbytek je starší. Pohled by měl být zprava doleva.

Všimněte si tří vodičů k desce ADXL. SDA/SCL a INT od INT 1. Znovu, když se podíváte na nastavení registru a překřížíte referenční list, bude to dávat smysl.

Vzorek dat je plně nakloněn na 3200 vzorcích, což dává 3125 sekund použití mezi vzorky. A předběžné zachycení 4 vzorků. Podívejte se na pdf dat ze zařízení v aplikaci Excel a každý z grafů, které jsem vykreslil, ukazuje pohyb okna zachycení.

Vložím nějaký kód konfigurace a přeruší, pokud to někoho zajímá.

Pro I2C používám drátovou knihovnu a napsal jsem kolem toho několik funkcí.

Všimněte si malého vyhledávače dat, který jsem připojil k SDA/SDL a pomocí Sigrok i dokáže dekódovat sběrnici I2C v reálném čase.

Dalším krokem je uložení na disk SAN, i když jsem již prokázal, že to funguje. Jakmile to bude hotové, připojím se k bezdrátové síti a nahraji na webovou stránku.

K tomu se přidám, jak se projekt rozšiřuje.

FOOTNOTE:

Pro pozorné z nich si všimnete velkého promáčknutí v plechovce chránící čip esp a propojky na desce plošných spojů. Důvodem byl rezidentní kokršpaněl, který zkontroloval poštu a rozhodl se žvýkat tabuli, než mi k ní umožní přístup. Myslím, že není fanouškem espressa!

Samozřejmě jako vždy jsem vždy k dispozici pro otázky, takže se ptejte.

Krok 1: PŘIHLASTE SE A PULSEVIEW

PŘIHLASTE SE A PULSEVIEW
PŘIHLASTE SE A PULSEVIEW
PŘIHLASTE SE A PULSEVIEW
PŘIHLASTE SE A PULSEVIEW

Jen krátká zmínka o pulseview a sigrok.

Toto je bezplatný software ze sítě a malá deska rozhraní s 8 logickými vstupy je levná od ebay a kol. Všimnete si několika obrázků, které jsem pořídil z autobusu, když běžel ADXL, a je opět tak užitečný pro ladění, protože má vestavěný dekodér pro I2C.

Rozsah je skvělý pro kontrolu úrovní signálu, ale ruční dekódování I2c je přinejlepším únavné, i když jsem předtím nastavil smyčku a ručně ladil. Musíte ocenit bitové bouchání na úrovni portu, které jsem udělal na mnoha obrázkových projektech, ale je to časově náročné a náchylné k chybám … zejména v noci !!

Díky klukům, kteří napsali tuto aplikaci. Je to bůh poslat pro projekty v i2c, Všimněte si linky D4, která monitoruje linku přerušení z ADXL.

Krok 2: Přidání do snímače otřesů

Přidání do snímače otřesů
Přidání do snímače otřesů
Přidání do snímače otřesů
Přidání do snímače otřesů
Přidání do snímače otřesů
Přidání do snímače otřesů
Přidání do snímače otřesů
Přidání do snímače otřesů

Dobře, zde jsem přidal nějaké periferie do snímače otřesů pro důkaz konceptu.

Omluvte krysí hnízdo, jakmile to funguje, navrhnu desku plošných spojů, která spojuje všechny komponenty, a vložím ji do hezké krabice. Všechny připojené položky kromě karty SD fungují na i2c, který je na sběrnici spi.

Zbývá připojit modul GPS, který je WIP, ale doufám, že do konce tohoto týdne budu mít řešení.

Aktuální projekt tedy obsahuje:

Deska ESP32 LOLIN s bezdrátovým připojením.

Hodiny reálného času PCF. Sleduje aktuální datum a čas. Hrubě jsem připájel na starou projektovou desku, kterou jsem předtím naleptal.

Externí blesk. Obsahuje mimo jiné údaje o nastavení akcelerometru. Kapacita 132 tis. A může na něj ukládat některá webová data, aby se usnadnily nabídky atd.

SPI SD karta pro ukládání dat a protokolů akcelerometru. 8 GB, ale lze rozšířit.

OLED displej pro zobrazení nabídek a několika dalších věcí.

Zde je to, co [nakonec] udělá

Monitorujte otřesy a aktivitu přesahující pozadí.

Zaregistrujte otřesy na SD kartu s časem a datem z integrovaných hodin.

Pokud je k dispozici, označte polohu z GPS na SD kartu

Pomocí přístupového bodu nahrajte data na webový server k analýze dat … může to být mobilní telefon.

Zpět nahoru | SD kartu můžete vždy jednoduše odpojit a nahrát!

Stále je co dělat, ale jde to dál.

Krok 3: ADXL ADRESA

ADXL ADRESA
ADXL ADRESA

Nyní je tu legrační věc. Koupil jsem čip ADXL 345 jako malou desku, protože to bylo levnější než získávat čip sám….. jak to funguje? Každopádně poté jsem se pustil do připojení k sběrnici i2c a zjistil jsem, že došlo ke střetu s eeprom s adresami, které účinně začínají na 0x53, což znamená zápis na A6 a čtení na A7.

Takže při čtení bumfu se ukazuje, že pokud vezmete SDO/ALT ADDRESS HIGH, můžete jej přinutit k 1D

Ukázalo se, že moje malá deska je pevně uzemněna na kolíku 12 ADXL navzdory kolíku SDO, který vypadá, že jej můžete vytáhnout vysoko. Nezkoušejte to doma bez současného omezeného napájení… naštěstí jsem měl, kvůli čemuž jsem vytáhl multimetr a zkontroloval kolík k zemi. [Mrtvý zkrat], což znamená, že musíte přerušit stopu a propojovací kolík 12 na 3,3 V. To funguje a dostane vás z plesového střetu. Naštěstí nedělali zkrat pod čipem, jinak bych byl snookered a musel jsem odstranit čip z desky. EEprom, který je náhradní, jsem měl uspořádán jako dvě stránky o 64 kB jako adresa 0x52 a 53. Jakmile jsem to udělal, můj problém byl vyřešen.

Když si znovu přečtete webovou stránku, říká se, že je nastavena na 0x53, ale je to malým písmem, takže pozor!

Krok 4: Schematický tisk desek plošných spojů

Zde je rychlý průchod obvodu a komponent. Toto je do značné míry můj návrh a stále WIP [Work In Progress] Schéma bylo navrženo a poté přeloženo do kresby pro stopy. Ověřil jsem, že všechny komponenty fungují podle očekávání pomocí moje krysy hnízdo přistupují a nyní se montuji na desku, která se vejde do malé krabice [Detail to follow]

S odkazem na shocker.pdf.

Deska se skládá z 8 hlavních komponent

  1. SKLADOVÁNÍ KARTY SD
  2. ADXL ACCELEROMETER
  3. DISPLEJ OLED
  4. 3,3 V REG
  5. MODUL GPS1
  6. EEPROM
  7. ČASOVAČ RTC
  8. LIPOVÝ ČIP ESP32 S RF BEZDRÁTOVÝM ROZHRANÍM

Vše závisí na akcelerometru.

ADXL je nastaven tak, aby přerušoval procesor na INT1, který je směrován na pin 14 na procesoru. Kód v mikro je nastaven tak, aby zachytil toto přerušení a nastavil příznak, na který se působí v hlavní rutině. Přidám kód popis registrace rutiny přerušení a funkce zpětného volání později.

ADXL podporuje přerušení v různých stavech, jako je šok nebo nečinnost, a několik dalších. Můžete maskovat ty, které lechtají vaši fantazii podle toho, o co se pokoušíte. ADXL je provozován v režimu FIFO, takže ukládá 32 vzorků zachytit šokovou událost jako XYZ [96 hodnot]

Displej ADXL RTC a EEPROM jsou poháněny z I2C. Karta SD CARD je připojena k I/O SPI a modul GPS je připojen k sériovým portům na LOLIN označeném X12 X11.

Sekvence je následující Neustále sbírejte 232 dat z jednotky GPS a filtrujte. Zatímco máte platný čas GPS, aktualizujte RTC v nastavených intervalech. Při přerušení ukládejte proměnné na kartu SD, jako je čas/zeměpisná šířka/rychlost/nadmořská výška/ukládání registrů ADXL do doplněk surového formátu 2 a doplněk ne 2. Všechna data jsou oddělena čárkou.

Všimněte si také, že existuje pin reset, který je připojen ke kolíku 13. Tento pin spustí vestavěný webový server, který vám umožní připojit se ke konfigurátoru a nastavit přístupový bod, který je uložen v EEPROM. Při restartu se procesor připojí k přístupovému bodu a přistupuje k internetu, aby mohl nahrávat soubory z karty SD. Pokud nejsou k dispozici žádná data a žádný bod připojení, jednotka pouze provede proces záznamu dat na kartu SD, kterou můžete dotazovat pomocí program [ShockerView.exe] [WIP] Na serveru jsou data uložena v databázi SQL a zobrazena [WIP]

Výtisky desek plošných spojů jsou připevněny nahoře a dole.

Krok 5: Prototyp leptání uměleckých děl

Prototyp leptání uměleckých děl
Prototyp leptání uměleckých děl
Prototyp leptání uměleckých děl
Prototyp leptání uměleckých děl
Prototyp leptání uměleckých děl
Prototyp leptání uměleckých děl

Zde je návod, jak vyrábím své prototypové desky

Vytiskněte kresbu na těžký pauzovací papír. Používám 63 GSM od kovářů, levné a veselé. Klíčem je zde tiskárna. Chcete co nejprůhlednější a co nejčistší. Moje laserová tiskárna se nyní rozjíždí, ale je dobrá pro tisk až na 10 tis., Méně než to, potřebujete speciální vybavení, protože zrno pauzovacího papíru začíná překážet. Můžete si koupit specializovaný papír, ale to je pro lidi jako já příliš dobré. Každopádně neustále vylepšuji své návrhy, takže by to pro mě bylo příliš drahé. Pokud potřebujete správnou desku, požádejte o to odborníky.

Normálně prototypuji své desky v sekcích a poté vyrábím finále s gerbery pro výrobu internetové společnosti. Prototyp třídí všechny ty chyby a opomenutí, než spáchá skutečné peníze.

Poté, co vytisknete obrázky na dva samostatné listy trasování formátu A4, pak je ořízněte tak, aby je překrývaly a samolepily. ponechte dostatek prostoru, aby se vaše oboustranná deska mohla vtlačit mezi vrstvy, a ujistěte se, že je potištěná strana proti desce plošných spojů. Vytvořte několik zářezů, které vám umožní zasunout desky a dočasně je selepit. Pokud jste opatrní, můžete pásku překrývat, abyste ji mohli zrušit, aniž byste zničili sledovací obrázek.

Položte desku jednou stranou dolů do svého UV boxu. Pozn.: Vyrobil jsem svoji pomocí čtyř nových 13W UV lamp a starého ovládacího zařízení a vyrobil krabici s čirým skleněným panelem. Mezery byly experimentální. Víko sklouzne dolů a přitlačí pěnu na zadní stranu desky a přitlačí masku ke sklu. Pokud to neuděláte, světlo podřízne leptaný odpor. Zapněte a vystavte desku na 1 minutu 40 sekund na každou stranu. Používejte hodinky. Vlastně to musím upravit pomocí časovače … ach žádný další projekt … možná si jeden koupím … víte, že to nebudete chtít! Desky, které jsem koupil od Mega Electronics, jsou levné prototypové desky s odolností proti leptání. Odolnost proti leptání je někdy trochu neuspořádaná, ale mám několik desek, které mám čtyři roky a stále produkují dobré desky pro prototypování !!

Buďte opatrní, když otočíte desku, nenechte ji sklouznout, jinak budete mít nějaké haraburdí.

Nyní připravte svého vývojáře. Používám 2 kapičky v poměru 18: 1, což jsou dvě čepice vývojky a 36 čepic čisté nefalšované vody z vodovodu. Vývojář přichází ve formě lahve nebo prášku a láhev mi obvykle vydrží asi 6 let !!. Promíchejte v nádobě na zmrzlinu A NOSTE RUKAVICE. Nestrkejte do něj prsty, jinak to mastnotu ovlivní. Teplota může být v zimě problém. Vodu udržujte na 20 stupních nebo kolem, není to kritické, ale pokud je studená, výsledky mohou být nepředvídatelné. Udělal jsem to v lednu v mé garáži s rychlovarnou konvicí, abyste to mohli kompenzovat.

Jakmile do ní vložíte desku, jemně přesuňte nádobu ze strany na stranu. Pokud jste to udělali správně, uvidíte, jak se z mědi odstraní purpurový proud leptaného odporu, který odhaluje nádhernou lesklou měď mezi kolejemi. Otočte to pomocí rukavic a zkontrolujte druhou stranu. Tento proces obvykle trvá asi minutu, takže po dokončení vyjměte desku a důkladně opláchněte teplou vodou. Pokud je nudné, pak je pravděpodobné, že selže.

Měl jsem to několikrát, ale je to obvykle proto, že jsem nenosil rukavice nebo teplota byla příliš nízká nebo jsem zneklidnil expoziční čas kvůli nějakému rozptýlení … proč to dělají uprostřed něčeho kritického …

Ukažte mi svá lepty

Dobře, takže teď máte desku s krásnými zelenými stopami chráněnou odolností proti leptání a nyní potřebujete doplnit chlorid železitý. Nyní používám stejnou nádobu na zmrzlinu, abych minimalizoval odpad a promíchal se s poznámkami na balíčku. Kupuji chlorid železitý v balíčcích kuliček, které odvážíte a rozpustíte v roztoku. Doplňte tolik, abyste naplnili vanu se zmrzlinou asi do 1/3 cesty nahoru. Pokud se pro práci nalíčíte dost, můžete nalít do plastové nádoby a vydrží dlouho.

RUKAVICE MUSÍTE Nosit … ne kvůli mastnotě atd., Ale protože pokud to neuděláte, vaše ruce budou po čtrnáct dní jasně oranžové. Jednou jsem to udělal před důležitou schůzkou v Londýně a vypadalo to, že jsem byl tango. Uvědomte si však, že tato věc je ošklivá kolem čehokoli mědi … a čehokoli opravdu. Noste staré oblečení, protože pokud se na něj dostane, bude zničeno. Připevňuje se k nerezovým dřezům a obecně všechno barví. Udělejte to venku nebo ve stavení daleko od všeho. Nevylévejte zbytky do stok, je to skvělé při ničení bakterií, což není to, co by vodní úřad chtěl propagovat ve svých septicích. Pro některé úřady je to také nezákonné, takže to nedělejte.

Když poprvé ponoříte desku do roztoku, bude mít při napadení mědi krásnou červenou bronzovou barvu. Pokud tomu tak není, můžete mít stále vrstvu leptaného odporu, která brání působení leptadla nebo je vaše řešení špatné. Pokud tomu tak je, pak se obávám, že se vrátíte na rýsovací prkno, ale není pravděpodobné, že by se váš lepták mýlil, pokud byste následovali destrukce.

Každopádně pokud je vše v pořádku, máte perfektní stopy chráněné odolností proti leptání.

Normálně by v tomto okamžiku profesionál použil sadu masek k vývoji kolem otvorů a podložek a výrobu průchodné mědi a navíc použil sítotisk pro malování čísel součástí atd. Bohužel nemám čas ani sklon a nemám problém použití nějakého měděného drátu od vrstvy k vrstvě … očividně je vícevrstvá touto metodou ne. Pokud mám náladu, pečlivě přidám čísla komponent do tiskové vrstvy, abyste vyleptali i čísla komponent. Může to ušetřit nějaký čas při montáži, ale záleží na tom, jak je deska zaneprázdněna.

Nyní vystavím stopy na další asi 2 minuty na každou stranu a ponořím se do vývojky, abych odstranil veškerý odpor proti leptání.

Nyní vyvrtám průchodky a všechny průchozí otvory a všechny stopy zkontroluji a zkontroluji kontinuitu pomocí multimetru. Tato část je bolest míče a za normálních okolností byste to neudělali pro profesionální desku s opravdovými průchodkami, ale stojí za to se tomu vyhnout. pájení pouze na jedné straně … se stalo tolikrát!

Krok 6: Sestavení desky

Sestavení rady
Sestavení rady
Sestavení rady
Sestavení rady
Sestavení rady
Sestavení rady

Dobře, takže teď mám připravenou desku a vyvrtal jsem všechny průchodky a průchozí otvory.

Provlékněte všechny průchodky drátem a pájte obě strany. Rád plechuji všechny stopy, protože ochrana to nemusí dělat, ale zastaví oxidaci mědi.

Připojil jsem SD kartu, která je na povrchu, a přidal dvě země, aby se na ni připletla pájka, a navíc má pár kolíků na spodní straně, aby ji ukotvil.

Dále byla přidána ADXL EEPROM atd.

Energeticky je v plánu vzít 5V z USB nebo externího netopýra a napájet ho přes 3,3V reg na desce. Mám malý reg i koupený od Ebay, který je sestaven jako modul a dimenzován na 800mA … to je 300 gretaer než může USB poskytnout. Ještě jsem neprovedl žádná měření výkonu, což by mohlo v softwaru vyladit….. k řešení lze použít přerušení NEAKTIVITY od ADXL. [WIP]

… je třeba přidávat obrázky, jak postupuje stavba.

Krok 7: KÓDOVÁNÍ

Dobře, neprojdu se všemi nastavenými arduino, protože někdo jiný to udělal mnohem lépe jinde.

Budu jen vybírat příslušné bity, jak jdeme, které mohou být použity ve vašem vlastním projektu.

Na odesílání na web se stále pracuje, ale projdeme si část kódu.

Myšlenka je taková, že normální funkcí je inicializace zařízení, která se skládají z GPS /displeje /karty SD /hodin reálného času /ext_flashmemory a akcelerometru.

Poté vstoupíme do smyčky a čekáme, zda stiskneme klávesu přerušení sw. Pokud je pak, přejděte do nabídky konfigurátoru a nakonfigurujte síť Wi -Fi tak, aby se automaticky přihlásila na zařízení určené jako vstup do konfigurátoru webové stránky. Nejprve prohledá všechna zařízení pro ssid a poté vám umožní vybrat jedno a uložit jej na flash s příznakem označujícím, že při příštím spuštění načtěte nastavení z flash. Toto můžete kdykoli přepsat zadáním adresy ipad a zadáním /killbill, čímž zahájíte vyčištění z flash a načtení výchozího nastavení.

zde je funkce přerušení definovaná v kódu pro adxl akcelerometr a skok do konfigurátoru na dvou samostatných pinech. K přerušení události SHOCK používáme přerušení ADXL. U obou přerušení nastavíme příznak, který se resetuje v hlavní „smyčce“. takto to vypadá:

podívejte se na přiložený kód

Krok 8: Nalezení pinů SDA SCL

použijte tento kód:

Serial.println (SDA);

Serial.println (SCL);

vytiskne piny aktuálně nakonfigurované v ESP pro SDL a SCL

Existuje soubor, který se používá k mapování pinů na funkce, jako jsou sériové porty v ESP32

Doporučuje: