Sisällysluettelo:

ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC: 8 vaihetta
ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC: 8 vaihetta

Video: ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC: 8 vaihetta

Video: ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC: 8 vaihetta
Video: ESP32 - Vibration Data Logger (Fourier Transform) 2024, Heinäkuu
Anonim
ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC

Niille teistä, jotka leikkivät Wemos 32 LOLIN -levyllä, ajattelin alkaa dokumentoimaan joitain havaintojani tähän mennessä.

Nykyinen projekti on liitäntä ADXL345 -kiihtyvyysanturiin, ja kuten yllä oleva kuva osoittaa, olen yhdistänyt sen onnistuneesti loliniin ja määrittänyt ADXL: n iskuanturiksi.

ADXL: n rekisterit on määritetty liitteenä olevaksi pdf: ksi ja keskeytys olen määrittänyt koodissa sylkemään koodin sarjaporttiin, kun isku havaitaan.

Perustin myös käyttämättömyysrekisterin keskeytykseksi ja tarkistamisen jälkeen, mikä keskeytys on lauennut, sylki samat tiedot.

Käytän LOLINin I2c -porttia ja näet, että minulla on rutiini sylkeä ADXL: n rekisterit, jotta voin tarkistaa kokoonpanon virheenkorjauksen aikana. Tämä toiminto toimii ajastintoiminnolla, joka käyttää tikkerikirjastoa. Tämä on hyödyllinen toiminto rekisterien virheenkorjaukseen ja tarkistamiseen, jos kirjoitat jotain sinne, mikä saa tiedot salaperäisesti tekemään outoja asioita.

Olen normalisoinut 2: n kohteliaisuustiedot LOLINissa ja muotoillut ne niin, että ne voidaan tuoda Exceliin.

Katso liitteenä olevaa PDF -tiedostoa, johon on tuotu joitakin tietoja, ja olen piirtänyt Excelissä graafisesti joitakin ADXL -napautuksia, jotka laukaistaan laukaisurekisterin keskeytyksestä FIFO -tilassa.

FIFO -tila on hyödyllinen ominaisuus, joka ei sido mikrotiedostoja ja tallentaa 32 näytettä liipaisimeen. X -viiva kaaviossa näyttää ajoituksen mikrosekunteina kasvamalla vasemmalta oikealle.

HUOMAUTUS MINÄ OLEN MUUTTANUT VIIMEISTÄ KAAVIOTA, JOTKA AIKATAULU OLEE MINUSTA 9800 mikrosekuntia.

Huomaa kolme johtoa ADXL -kortille. SDA/SCL ja INT INT: stä 1. Jälleen kerran, jos tarkastelet rekisteriasetuksia ja ristiinviittaavat tiedot, se on järkevää.

Datanäyte on täysi kallistus 3200 näytteellä, mikä antaa 3125 käyttö sekuntia näytteiden välillä. Ja 4 näytteen esisieppaus. Katso Excelin laitteen tietojen pdf -tiedostoa ja jokainen piirtämäni kaavio osoittaa, että olen siirtämässä kaappausikkunaa.

Laitan konfiguraatioon jonkin koodin ja keskeytän, jos jotakuta kiinnostaa.

I2C: ssä käytän lankakirjastoa ja olen kirjoittanut joitakin toimintoja sen ympärille.

Huomaa pieni datanhakaaja, jonka olen liittänyt SDA/SDL: ään ja jonka avulla voin purkaa I2C -väylän reaaliajassa.

Seuraava askel on tallentaa SAN -levylle, vaikka olen jo osoittanut, että se toimii. Kun tämä on tehty, liityn langattomaan verkkoon ja lataan verkkosivustolle.

Lisään tähän projektin laajentuessa.

ALAVIITE:

Huomaaville siellä huomaat suuren kolon esp -sirua suojaavassa tölkissä ja piirilevyn hyppyjohtimen. Tämä johtuu asuvaan kokkerspanieliin, joka tarkasti postin ja päätti pureskella levyn ennen kuin antoi minulle pääsyn siihen. Luulen, että hän on ei -espressifani!

Tietenkin, kuten aina, olen aina valmis kysymyksiin, joten kysy.

Vaihe 1: SIGROK JA PULSEVIEW

SIGROK JA PULSEVIEW
SIGROK JA PULSEVIEW
SIGROK JA PULSEVIEW
SIGROK JA PULSEVIEW

Vain nopea maininta pulseviewista ja sigrokeista.

Tämä on ilmainen ohjelmisto verkosta ja pieni liitäntäkortti, jossa on 8 logiikkatuloa, on halpaa ebaystä et al. on sisäänrakennettu dekooderi I2C: lle.

Soveltamisala on loistava signaalitasojen tarkistamiseen, mutta I2c: n käsin dekoodaus on parhaimmillaan väsyttävää, vaikka olen asettanut silmukan ennen tätä ja suorittanut käsin virheenkorjauksen. Sinulla on oltava arvostusta siitä, että satamatasolla on vähän paukuttelua, jonka olen tehnyt monissa kuvaprojekteissa, mutta se on aikaa vievää ja altis virheille … etenkin yöllä!

Kiitos kavereille, jotka kirjoittivat tämän sovelluksen. Sen jumala lähettää projekteihin i2c: ssä, Huomaa D4 -linja, joka valvoo keskeytyslinjaa ADXL: stä.

Vaihe 2: Lisäys iskuanturiin

Lisäys iskunanturiin
Lisäys iskunanturiin
Lisäys iskunanturiin
Lisäys iskunanturiin
Lisäys iskunanturiin
Lisäys iskunanturiin
Lisäys iskunanturiin
Lisäys iskunanturiin

Ok, olen lisännyt joitain oheislaitteita iskuanturiin konseptin todistamiseksi.

Anteeksi, että rotat pesivät nyt, kun se toimii, suunnittelen piirilevyn, joka yhdistää kaikki komponentit ja laitan kaiken kauniiseen laatikkoon. Kaikki kiinnitetyt kohteet paitsi SD -kortti toimivat spi -väylän i2c -laitteessa.

Vasen kiinnitettäväksi on GPS -moduuli, joka on WIP, mutta toivon ratkaisua tämän viikon loppuun mennessä.

Joten nykyinen projekti koostuu:

ESP32 LOLIN -kortti, jossa langaton yhteys.

PCF reaaliaikainen kello. Pitää nykyisen päivämäärän ja kellonajan. Olen juottanut karkeasti vanhaan projektitauluun, jonka olen syövyttänyt aiemmin.

Ulkoinen salama. Sisältää muun muassa kiihtyvyysmittarin asetustietoja.

SPI SD -kortti tiedostojen kiihtyvyysmittarin tietojen ja lokien tallentamiseen. 8 Gt, mutta voi laajentua.

OLED -näyttö näyttää valikot ja muutamia muita asioita.

Tässä se [lopulta] tekee

Seuraa iskuja ja toimintaa, joka ylittää taustan.

Rekisteröi iskut SD -kortille kellonajan ja päivämäärän avulla.

Leimaa sijainti GPS: stä SD -kortille, jos se on saatavilla

Lataa tiedot tukiaseman avulla verkkopalvelimelle tietojen analysoimiseksi … tämä voi olla matkapuhelin.

| LOLIN32 pystyy skannaamaan tukiasemia, koska se isännöi verkkopalvelinta komentoja varten ja muodostaa sitten yhteyden asiakkaana pilviverkkopalvelimeen. Voit aina irrottaa SD -kortin ja ladata sen!

Vielä on paljon tehtävää, mutta se etenee.

Vaihe 3: ADXL -KÄSITTELY

ADXL -KÄSITTELY
ADXL -KÄSITTELY

Nyt tässä on hauska asia. Ostin ADXL 345 -sirun pienenä levynä, koska se oli halvempaa kuin sirun hankkiminen yksin…..miten se toimii? Joka tapauksessa sen jälkeen ryhdyin kytkemään se i2c -väylään ja huomasin, että minulla oli ristiriita eepromin kanssa osoitteiden kanssa, jotka alkavat tehokkaasti 0x53: sta, mikä tarkoittaa kirjoitusta A6: ssa ja lukua A7: ssä.

Joten lukemalla bumfia käy ilmi, että jos otat SDO/ALT ADDRESS HIGH, voit pakottaa sen 1D: hen

Osoittautuu, että pikkulevyni on kiinteästi maadoitettu ADXL: n nastalle 12 huolimatta SDO -nastasta, joka näyttää siltä, että voit vetää sen korkealle. Älä kokeile tätä kotona ilman nykyistä rajoitettua virtalähdettä…. Onneksi minulla oli se, joka sai minut poistamaan yleismittarin ja tarkistamaan nastan maahan.. Tämä toimii ja saa sinut pois prom -yhteenotosta. kaksi sivua 64k osoitteina 0x52 ja 53. Kun tein tämän, ongelma ratkesi.

Kun luet verkkosivun uudelleen, sen sanotaan olevan 0x53, mutta se on pienellä painettu, joten varo!

Vaihe 4: Kaavamaiset PCB -tulosteet

Tässä on nopea piirin ja komponenttien läpikäynti. rotani pesivät lähestymistapani ja kootaan nyt taululle, joka mahtuu pieneen laatikkoon [Yksityiskohta seuraa]

Viitaten shocker.pdf.

Levy koostuu 8 pääkomponentista

  1. SD -KORTIN SÄILYTYS
  2. ADXL -KIIHDYTYSMITTARI
  3. NÄYTTÖ OLED
  4. 3.3 V REG
  5. GPS1 -MODUULI
  6. EEPROM
  7. AJASTIN RTC
  8. ESP32 LOLIN -siru RF -langattomalla liitännällä

Kaikki riippuu kiihtyvyysmittarista.

ADXL on asetettu keskeyttämään prosessori INT1: ssä, joka reititetään suorittimen nastaan 14. Mikrokoodi on asetettu sieppaamaan tämä keskeytys ja asettamaan lippu, jota käytetään päärutiinissa. hahmotella keskeytysrutiinin ja soittotoiminnon rekisteröinti myöhemmin.

ADXL tukee keskeytyksiä eri tiloissa, kuten sokki tai passiivisuus ja muutamia muita. tallentaa shokkitapahtuman XYZ [96 arvoa]

Näyttö ADXL RTC ja EEPROM ovat kaikki I2C: stä. SD -kortti on kytketty SPI I/O -laitteeseen ja GPS -moduuli on kytketty sarjaportteihin LOLIN -merkinnällä X12 X11.

Nappaa jatkuvasti 232 dataa GPS -yksiköstä ja suodattimesta. Kun sinulla on kelvollinen GPS -aika, päivitä RTC määrätyin väliajoin. Keskeytä tallennusmuuttujat SD -kortille, kuten aika/Lat_Lng/Speed/Altitude/Store ADXL -rekisterit raakaformaatin 2 kohteliaisuus ja ei -2: n täydennys. Kaikki tiedot on erotettu pilkuilla.

Huomaa myös, että nastassa 13 on nollaustappi, joka käynnistää sisäänrakennetun verkkopalvelimen, jonka avulla voit muodostaa yhteyden konfiguraattoriin ja määrittää tukiaseman, joka on tallennettu EEPROM -muistiin. Uudelleenkäynnistyksen yhteydessä prosessori muodostaa yhteyden tukiasemaan ja käyttää Internetiä ladatakseen tiedostoja SD -kortilta. Jos tietoja ei ole ja yhteyspistettä ei ole, laite suorittaa vain tiedonkeruuprosessinsa SD -kortille, jota voit käyttää ohjelma [ShockerView.exe] [WIP] Palvelimelle tiedot tallennetaan SQL -tietokantaan ja näytetään [WIP]

PCB -tulosteet on liitetty ylä- ja alareunaan.

Vaihe 5: Taideteoksen etsausprototyyppi

Taideteoksen etsausprototyyppi
Taideteoksen etsausprototyyppi
Taideteoksen etsausprototyyppi
Taideteoksen etsausprototyyppi
Taideteoksen etsausprototyyppi
Taideteoksen etsausprototyyppi

Näin valmistan prototyyppikorttini

Tulosta taideteos jollekin raskaalle jäljityspaperille. Käytän 63 sepien GSM -verkkoa, halpaa ja iloista. Tulostin on tässä avain. Haluat mahdollisimman läpinäkymättömän ja mahdollisimman siistin. Lasertulostimeni on käynnissä, mutta se sopii jopa 10 tuhannen painatukseen, vähemmän kuin tarvitset erikoisvälineitä, kun jäljityspaperin jyvä alkaa häiritä. Voit ostaa erikoispaperia, mutta hei, se on liian hyvä minulle. Jos tarvitset asianmukaista levyä, pyydä asiantuntijoita tekemään se.

Yleensä prototyypin levyt osissa ja sitten valmistan finaalin gerberien kanssa Internet -yrityksen tuottamaan. Prototyyppi selvittää kaikki nämä virheet ja puutteet ennen oikean rahan tekemistä.

Kun olet tulostanut kuvat kahdelle erilliselle A4 -arkille, leikkaa ne siten, että ne peittävät ja myyvät ne paikoilleen. jätä tarpeeksi tilaa kaksipuoliselle levyllesi puristua kerrosten väliin ja varmista, että tulostettu puoli on piirilevyä vasten. Jos olet varovainen, voit peittää myyntinauhan päällekkäin, jotta voit poistaa sen valinnan tuhoamatta jäljityskuvaa.

Aseta lauta yksi puoli alaspäin UV -laatikkoosi. NB I teki omani neljällä uudella 13 W: n UV -lampulla ja vanhalla ohjauslaitteella ja tein laatikon, jossa oli kirkas lasipaneeli. Välit olivat kokeellisia. Kansi napsahtaa alas ja puristaa vaahdon levyn takaosaan pakottaen naamion lasia vasten. Jos et tee tätä, valo alittaa syövytysvastuksen. Käynnistä ja paljasta levy 1 minuutti 40 sekuntia per puoli. Käytä kelloasi. Itse asiassa minun on muutettava tätä ajastimella … oh ei muuta projektia … ehkä ostan sellaisen … tiedät, että et tapana! Mega Electronicsilta ostamani levyt ovat halpoja prototyyppilevyjä, joissa on syövytysvastus. Etch -vastus on joskus hieman hajanaista, mutta minulla on joitain levyjä, joita minulla on ollut neljä vuotta, ja ne tuottavat edelleen hyviä levyjä prototyyppien laatimiseen!

Ole varovainen kääntäessäsi lautaa ympäri, älä anna sen liukua tai sinulla on roskaa.

Valmista nyt kehittäjäsi. Käytän 2 korkkia 18: 1 -suhteessa, joten kaksi korkkia kehitystä ja 36 korkkia puhdasta puhdasta vesijohtovettä. Kehittäjä tulee pullon tai jauheen muodossa ja pullo kestää yleensä s noin 6 vuotta !!. Sekoita se jäätelöastiassa ja käytä hansikkaita. Älä työnnä sormiasi siihen, muuten rasva vaikuttaa siihen. Lämpötila voi olla ongelma talvella. Pidä vesi 20 asteessa tai sen ulkopuolella, se ei ole kriittistä, mutta jos se on kylmä, tulokset voivat olla arvaamattomia. Olen tehnyt tämän tammikuussa autotallissani vedenkeittimellä, jotta voit korvata sen.

Siirrä säiliötä varovasti puolelta toiselle, kun olet asettanut laudan siihen. Jos olet tehnyt sen oikein, näet, että magenta syövytysvastus poistetaan kuparista ja paljastaa kauniin kiiltävän kuparin raitojen väliin. Käännä se käsineillä tarkistaaksesi toisen puolen. Tämä prosessi kestää yleensä noin minuutin, joten kun olet valmis, ota levy pois ja huuhtele huolellisesti lämpimällä vedellä. Jos se on tylsää, mahdollisuudet ovat epäonnistuneet.

Minulla on ollut tämä pari kertaa, mutta se johtuu yleensä siitä, etten ole käyttänyt käsineitä tai lämpötila on liian alhainen tai sekoitin valotusajan jonkin häiriötekijän takia … miksi he tekevät tämän keskellä jotain kriittistä….

Näytä etsauksesi

Ok, nyt sinulla on taulu, jossa on kauniita vihreitä raitoja, jotka on suojattu syövytysvastuksella, ja sinun on nyt muodostettava ferrikloridi. Nyt käytän samaa jäätelöastiaa jätteiden minimoimiseksi ja sekoitan pakkauksen muistiinpanot. Ostan ferrikloridia pallopakkauksissa, jotka punnitset ja liuotat liuokseen. Täytä niin paljon, että täytät jäätelöastian noin 1/3 osasta ylöspäin.

Sinun on käytettävä käsineitä… ei rasvan jne. Takia, vaan siksi, että jos et käytä, kätesi ovat kirkkaan oranssit kahden viikon ajan. Tein tämän kerran ennen tärkeää kokousta Lontoossa ja näytti siltä, että olin tangoed. Käytä vanhoja vaatteita, koska jos ne pääsevät päälle, ne menevät roskiin. Se kiinnittyy ruostumattomasta teräksestä valmistettuihin pesualtaisiin ja yleensä tahraa kaiken. Älä kaada tähteitä viemäriin, sillä se tappaa erinomaisesti bakteereja, joita vesiviranomainen ei halua edistää septisissa säiliöissään. Joillekin viranomaisille tämä on myös laitonta, joten älä tee sitä.

Kun upotat levyn ensimmäisen kerran liuokseen, se muuttuu ihanan punaiseksi pronssiseksi, kun kupari hyökkää. Jos näin ei ole, sinulla voi silti olla syövytyskerros, joka estää syövytintä toimimasta tai ratkaisusi on väärä. Jos näin on, palasin piirustuspöydälle, mutta pelkään, että etsijäsi ei ole väärässä, jos noudatit tuhoja.

Joka tapauksessa, jos kaikki on hyvin, sinulla on täydellisiä kappaleita, jotka on suojattu etch -resistillä.

Normaalisti tässä vaiheessa ammattilainen käyttäisi maskeja kehittääkseen reikien ja tyynyjen ympärille ja tuottaakseen kuparin läpi sekä käyttämällä silkkipainoa komponenttien numeroiden maalaamiseen jne. käyttämällä kuparilankaa kerroksesta toiseen … ilmeisesti monikerros on ei ei tällä menetelmällä. Jos olen tuulella, lisään huolellisesti komponenttinumeroita tulostuskerrokseen, jotta voit syövyttää myös komponenttinumeroita. Se voi säästää aikaa kokoonpanossa, mutta riippuu siitä, kuinka kiireinen levy on.

Nyt paljastan kappaleet vielä noin 2 minuuttia per puoli ja upotan kehittäjään kaikkien syövytysvastusten poistamiseksi.

Poran nyt läpiviennit ja mahdolliset läpivientireiät ja tinaan kaikki raidat ja tarkistan jatkuvuuden yleismittarilla. Tämä osa on pallokipua, etkä normaalisti tekisi ammattimaisesti tuotetulle levylle, jolla on todelliset läpiviennit, mutta se kannattaa tehdä välttääksesi langan vain juotettuna toiselle puolelle… tapahtui niin monta kertaa!

Vaihe 6: Levyn kokoaminen

Hallituksen kokoaminen
Hallituksen kokoaminen
Hallituksen kokoaminen
Hallituksen kokoaminen
Hallituksen kokoaminen
Hallituksen kokoaminen

OK, joten nyt minulla on levy valmiina menemään ja olen porannut kaikki läpiviennit ja reiät.

Pujota kaikki alukset langalla ja juota molemmin puolin. Haluan tinata kaikki kappaleet suojana, ei tarvitse tehdä sitä, mutta pysäyttää kuparin hapettumisen.

Kiinnitin SD -kortin, joka on pinta -asennettava, ja lisäsin kaksi maata, jotta saat juotteen kiinni, ja sen alla on pari nastaa ankkuroimiseksi.

Seuraavaksi lisättiin ADXL EEPROM jne.

Tehokkaasti suunnitelma on ottaa 5 V USB: stä tai ulkoisesta Batista ja syöttää se levyn 3.3 V: n reg. Kautta. kuin USB voi tarjota. En ole vielä mitannut tehomittauksia, koska ne voivat muokata ohjelmistoja…..voin käyttää INACTIVITY keskeytystä ADXL: stä. [WIP]

… Täytyy lisätä kuvia rakentamisen edetessä.

Vaihe 7: KOODAUS

OK, en käy läpi kaikkia arduino -asetuksia, koska joku muu on tehnyt paljon paremman työn muualla.

Valitsen vain tarvittavat bitit, joita voimme käyttää omassa projektissasi.

Tämä on edelleen käynnissä, kun katsotaan lataamista verkkosivustolle, mutta se käy läpi osan koodista.

Ajatuksena on, että normaalit toiminnot ovat init -laitteita, jotka koostuvat GPS /näyttö /SD -kortti /reaaliaikainen kello /ext_flashmemory ja kiihtyvyysmittarista.

Tämän jälkeen siirrymme silmukkaan odottamaan, onko keskeytysnäppäintä sw painettu. Jos se siirtyy sitten konfiguraattorivalikkoon määrittääksesi wifi -verkon kirjautumaan automaattisesti laitteeseen, joka on määritetty verkkosivun konfiguraattorin tuloksi. Ensin se skannaa kaikki laitteet SSID: n perusteella ja voit sitten valita yhden ja tallentaa sen vilkuttamaan lippu, joka ilmaisee, että seuraavan käynnistyksen yhteydessä ladataan asetukset salamasta. Voit aina ohittaa tämän kirjoittamalla ipaddressin ja kirjoittamalla /killbill aloittaaksesi salaman ja latauksen oletusarvon.

tässä on keskeytystoiminto, joka on määritelty adxl -kiihtyvyysanturin koodissa, ja hyppy konfiguraattoriin kahdessa erillisessä nastassa. Käytämme ADXL -keskeytystä SHOCK -tapahtuman keskeyttämiseen. Molemmille keskeytyksille asetamme lipun, joka nollataan pääsilmukassa. tältä se näyttää:

katso liitteenä oleva koodi

Vaihe 8: SDA SCL -tappien etsiminen

käytä tätä koodia:

Serial.println (SDA);

Serial.println (SCL);

tulostaa ESP: ssä tällä hetkellä SDL: lle ja SCL: lle määritetyt nastat

On tiedosto, jota käytetään nastojen kartoittamiseen toimintoihin, kuten ESP32: n sarjaportteihin

Suositeltava: