Sisukord:

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

Video: ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC: 8 sammu

Video: ESP32 ADXL345 DATALOGGER WITH GPS_EXT RAM_EXT_RTC: 8 sammu
Video: ESP32 - Vibration Data Logger (Fourier Transform) 2024, November
Anonim
ESP32 ADXL345 DATALOGGER MITTE GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER MITTE GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER MITTE GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER MITTE GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER MITTE GPS_EXT RAM_EXT_RTC
ESP32 ADXL345 DATALOGGER MITTE GPS_EXT RAM_EXT_RTC

Neile teist, kes mängivad Wemos 32 LOLINi plaadiga, arvasin, et hakkan dokumenteerima mõningaid oma seniseid avastusi.

Praegune projekt on liides ADXL345 kiirendusmõõturiga ja nagu ülaltoodud fotol on näidatud, ühendasin selle edukalt loliiniga ja seadistasin ADXL -i põrutusanduriks.

ADXL -i registrid on seadistatud lisatud pdf -failina ja katkestus on koodis konfigureeritud nii, et pärast šoki avastamist jadaporti kood välja sülitaks.

Seadistasin ka tegevusetuse registri katkestuseks ja pärast selle kontrollimist, milline katkestus on käivitatud, sülitan samad andmed välja.

Ma kasutan LOLINi I2c -porti ja näete, et mul on rutiin ADXL -i registrite välja sülitamiseks, et saaksin silumise ajal konfiguratsiooni kontrollida. See funktsioon töötab taimerifunktsioonis, kasutades märgisteeki. See on kasulik funktsioon registrite silumiseks ja kontrollimiseks, kui kirjutate sinna midagi, mis põhjustab müstiliselt andmete kummalisi asju.

Olen normaliseerinud LOLINis 2 komplimendi andmed ja vormindanud need, et neid saaks Excelisse importida.

Vaadake lisatud PDF -faili koos mõnede andmetega, mille olen importinud, ja olen graafiliselt joonistanud Excelis, näidates mõningaid ADXL -i puudutusi, mis käivitatakse päästikuregistri katkestamisel FIFO -režiimis.

FIFO -režiim on kasulik funktsioon, mis ei seo mikro -sidet ja salvestab päästikule 32 proovi. Vaadake uuesti minu andmekogusid ja näete, kust me alustame nullist ja viimane proov on 9,8 ms või umbes. Graafiku rida X näitab ajastust mikrosekundites, mis suureneb vasakult paremale.

MÄRKUS. Olen pärast viimast graafikut muutnud, et näidata ajaskaala miinusest 9800 mikrosekundit. FIFO esimene pop on varaseimad andmed, ülejäänud on vanemad. Vaade peaks olema paremalt vasakule.

Pange tähele kolme juhtmest ADXL -plaadile. SDA/SCL ja INT INT 1. Jällegi, kui vaatate registrisätteid ja ristite andmelehte, on see mõttekas.

Andmeproov on täielikult kallutatud 3200 proovi juures, mis annab proovide vahel 3125 kasutusaega. Ja 4 proovi eelsalvestus. Vaadake Excelis seadme andmete pdf -faili ja kõiki minu joonistatud graafikuid, mis näitavad, kuidas liigutan akent.

Panen konfiguratsiooni koodi üles ja katkestan, kui kedagi huvitab.

I2C jaoks kasutan traaditeeki ja olen selle ümber kirjutanud mõned funktsioonid.

Pange tähele väikest andmete nuusutajat, mille olen SDA/SDL -iga ühendanud ja Sigroki abil saan I2C -siini reaalajas dekodeerida.

Järgmine samm on salvestada SAN -kettale, kuigi olen juba tõestanud, et see töötab. Kui see on tehtud, loon ühenduse traadita võrguga ja laadin veebisaidile üles.

Lisan seda projekti laienedes.

JALAJÄRKUS:

Tähelepanelike inimeste jaoks näete esp -kiipi kaitsvas purgis suurt mõlki ja trükkplaadil olevat hüppajat. Selle põhjuseks oli resident kokkerspanjel, kes kontrollis posti ja otsustas tahvli närida, enne kui lubas mul sellele juurde pääseda. Ma arvan, et ta on mitteespressifänn!

Muidugi, nagu alati, on mul alati küsimusi, nii et palun küsige.

1. samm: SIGROK JA PULSEVIEW

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

Lihtsalt pulseview ja sigroki kiire mainimine.

See on tasuta tarkvara netist ja väike liideseplaat 8 loogikasisendiga on ebay jt odavad. Märkate paari pilti, mille ma ADXL -i töötamise ajal bussist maha võtsin, ja see on silumiseks taas nii kasulik on sisseehitatud dekooder I2C jaoks.

Ulatusala on suurepärane signaalitasemete kontrollimiseks, kuid I2c käsitsi dekodeerimine on parimal juhul väsitav, kuigi olen varem seadistanud silmuse ja silunud käsitsi. Sa pead hindama natuke paugutamist sadama tasandil, mida olen teinud paljude pildiprojektide puhul, kuid see on aeganõudev ja kaldub vigadele … eriti öösel !!

Aitäh poistele, kes selle rakenduse kirjutasid. Jumal saadab i2c projektide jaoks, Pange tähele D4 -liini, mis jälgib ADXL -i katkestusliini.

2. samm: löögisensorisse lisamine

Lisamine löögisensorile
Lisamine löögisensorile
Lisamine löögisensorile
Lisamine löögisensorile
Lisamine löögisensorile
Lisamine löögisensorile
Lisamine löögisensorile
Lisamine löögisensorile

Ok, siin olen kontseptsiooni tõestamiseks lisanud löökandurile mõned välisseadmed.

Vabandage, et rotid pesitsevad praegu, kui see töötab, kavandan PCB, mis ühendab kõik komponendid ja panen selle ilusasse kasti. Kõik lisatud esemed, välja arvatud SD -kaart, töötavad spi -siinil asuva i2c -ga.

Kinnitamiseks on jäänud GPS -moodul, mis on WIP, kuid loodan selle nädala lõpuks lahenduse saada.

Nii et praegune projekt koosneb:

ESP32 LOLIN juhtmevaba tahvel.

PCF reaalajas kell. Jälgib praegust kuupäeva ja kellaaega. Mul on jäme jootmine vana projektiplaadile, mille olen varem söövitatud.

Väline välk. Muu hulgas hoiab kiirendusmõõturi seadistusandmeid. Mahutavus 132 k ja võib menüüde hõlbustamiseks sellele mõne veebiandme tühjendada

SPI SD -kaart kiirendusmõõturi andmete ja logide salvestamiseks. 8 GB, kuid saab laiendada.

OLED -ekraan menüüde ja mõne muu asja kuvamiseks.

Siin on see, mida ta [lõpuks] teeb

Jälgige põrutusi ja tegevusi, mis ületavad tausta.

Registreerige põrutused SD -kaardile kella ja kuupäevaga pardakellast.

Templite asukoht GPS -ist SD -kaardile, kui see on saadaval

Pöörduspunkti abil laadige andmed andmete analüüsimiseks üles veebiserverisse … see võib olla mobiiltelefon.

| Pöörduspunktide skannimine on LOLIN32 võimalus, kuna see majutab veebiserverit käskude jaoks ja ühendab seejärel kliendina pilve veebiserveriga. Saate alati SD -kaardi vooluvõrgust lahti ühendada ja selle üles laadida!

Teha on veel palju, kuid see liigub edasi.

3. samm: ADXL -i AADRESSEERIMINE

ADXL AADRESSEERIMINE
ADXL AADRESSEERIMINE

Nüüd on siin naljakas asi. Ma ostsin ADXL 345 kiibi väikese plaadina, sest see oli odavam kui kiibi hankimine ise…..kuidas see toimib? Igatahes pärast seda hakkasin seda i2c siiniga ühendama ja leidsin, et mul oli kokkupõrge eepromiga aadressidega, mis algavad tegelikult 0x53 -st, mis tähendab kirjutamist A6 -s ja lugemist A7 -s.

Nii et lugedes selgub, et kui võtate SDO/ALT ADDRESS HIGH, võite selle sundida 1D -le

Selgub, et minu väike plaat on ADXL -i tihvti 12 külge kinnitatud, hoolimata SDO -tihvtist, mis näeb välja nagu saaksite selle kõrgele tõmmata. Ärge proovige seda kodus ilma praeguse piiratud toiteallikata…. Õnneks oli mul see põhjus, miks ma võtsin multimeetri välja ja kontrollisin tihvti maapinnale. [Surnud lühike], mis tähendab, et peate lõikama rööpa ja hüppaja tihvti 12–3,3 V. See töötab ja viib teid prom -kokkupõrkest välja. Õnneks ei teinud nad kiibi all lühikest aega, muidu oleksin snookered ja pidin kiibi plaadilt eemaldama. EEprom, mis oli varu, oli mul nii kaks lehekülge 64k aadressina 0x52 ja 53. Kui ma seda tegin, sai mu probleem lahendatud.

Veebilehte uuesti lugedes öeldakse, et selle suurus on 0x53, kuid see on väikeses kirjas, nii et olge ettevaatlik!

Samm: skemaatilised trükkplaadid

Siin on vooluahela ja komponentide kiire läbimine. See on väga minu disain ja endiselt WIP [pooleli olev töö] minu rotid pesitsevad ja kogun nüüd tahvlile, mis mahub väikesesse karpi [Üksikasjalik jälgimine]

Viidates saidile shocker.pdf.

Plaat koosneb 8 põhikomponendist

  1. SD -KAARDI SÄILITAMINE
  2. ADXL KIIRUSMÕÕTJA
  3. Ekraan OLED
  4. 3,3 V REG
  5. GPS1 MOODUL
  6. EEPROM
  7. TAIMER RTC
  8. ESP32 LOLIN kiip RF -traadita liidesega

Kõik sõltub kiirendusmõõturist.

ADXL on seadistatud protsessori katkestamiseks INT1 -l, mis suunatakse protsessori tihvti 14 juurde. Mikrokood on seadistatud selle katkestuse pealtkuulamiseks ja lipu määramiseks, mida põhirežiimis kasutatakse. Lisan koodi visandage katkestusrutiini ja tagasihelistamisfunktsiooni registreerimine hiljem.

ADXL toetab katkestusi erinevates riikides, näiteks šokk või tegevusetus ja mõned teised. Saate maskeerida need, mis teie väljamõeldist kõditavad, sõltuvalt sellest, mida proovite teha. ADXL töötab FIFO -režiimis, nii et see salvestab 32 näidist šokisündmuse jäädvustamiseks XYZ -na [96 väärtust]

Kõik kuvarid ADXL RTC ja EEPROM on juhitud I2C -st. SD -kaart on ühendatud SPI I/O -ga ja GPS -moodul on ühendatud LOLIN -i jadapordidega, millel on märge X12 X11.

Haarake pidevalt GPS -seadmest ja filtrist 232 andmeid. Kui teil on kehtiv GPS -aeg, värskendage RTC -d teatud ajavahemike järel. SD -kaardi muutujate katkestamisel, nagu aeg/Lat_Lng/Speed/Altitude/Store ADXL -registrid toorvormingu 2 kompliment ja mitte -2 täiend. Kõik andmed on komaga eraldatud.

Pange tähele ka seda, et tihvtiga 13 on ühendatud lähtestusnõel. See tihvt käivitab sisseehitatud veebiserveri, mis võimaldab teil konfiguraatoriga ühenduse luua, et luua juurdepääsupunkt, mis on salvestatud EEPROM -i. Taaskäivitamisel loob protsessor ühenduse pääsupunktiga ja pääseb Internetti, et SD -kaardilt faile üles laadida. Kui andmeid pole ja ühenduspunkti pole, siis teostab seade andmete salvestamise lihtsalt SD -kaardile, mille abil saate küsitleda programm [ShockerView.exe] [WIP] Serveris salvestatakse andmed SQL -andmebaasi ja kuvatakse [WIP]

PCB -prindid on lisatud ülemise ja alumise osa jaoks.

Samm: kunstiteoste söövitamise prototüüp

Kunstiteoste söövitamise prototüüp
Kunstiteoste söövitamise prototüüp
Kunstiteoste söövitamise prototüüp
Kunstiteoste söövitamise prototüüp
Kunstiteoste söövitamise prototüüp
Kunstiteoste söövitamise prototüüp

Siin on, kuidas ma oma prototüüpplaate toodan

Printige kunstiteos mõnele raskele paberile. Ma kasutan 63 GSM -i sepilt, odav ja rõõmsameelne. Printer on siin võtmetähtsusega. Soovite võimalikult läbipaistmatut ja võimalikult puhast. Minu laserprinter hakkab praegu tööle, kuid sobib kuni 10 tuhande trükkimiseks, vähem kui vajate spetsiaalset varustust, kuna jäljepaberi tera hakkab segama. Võite osta spetsialiseeritud paberit, aga hei, see on minu jaoks liiga hea. Igal juhul täiustan pidevalt oma disainilahendusi, nii et see oleks mulle liiga kallis. Kui vajate korralikku tahvlit, paluge seda teha ekspertidel.

Tavaliselt prototüüpin oma lauad osade kaupa ja seejärel koostan internetifirma jaoks fännidega finaali. Prototüüp sorteerib kõik need vead ja tegematajätmised enne pärisraha võtmist.

Kui olete pildid printinud kahele eraldi A4 -lehele, lõigake need nii, et need kataksid ja müüksid oma kohale. jätke kahepoolsele tahvlile piisavalt ruumi kihtide vahele surumiseks ja veenduge, et trükitud külg oleks trükkplaadi vastu. Tehke paar pilu, et saaksite plaate sisse libistada ja ajutiselt müüa. Kui olete ettevaatlik, võite müügilindiga kattuda, et saaksite selle eemaldamise eemaldada, ilma et see hävitaks jälgimispilti.

Asetage plaat ühe küljega allapoole oma UV -kasti. NB I valmistas minu oma nelja uue 13 W UV -lambi ja mõne vana juhtimisseadme abil ning valmistasin läbipaistvast klaasist paneeli. Vahekaugus oli eksperimentaalne. Kaas klammerdub alla ja pigistab vahu laua tagaküljele, sundides maski vastu klaasi. Kui te seda ei tee, lööb tuli söövitustõkke alla. Lülitage plaat sisse ja paljastage 1 minut 40 sekundit kummalgi küljel. Kasutage oma kella. Tegelikult pean seda taimeriga muutma … oh ei muud projekti … võib -olla ostan ühe … teate, et te ei harju! Mega Electronicsilt ostetud plaadid on odavad prototüüpplaadid, millel on söövituskindlus. Söövitamise takistus on mõnikord natuke lünklik, kuid mul on mõned tahvlid, mis mul on olnud neli aastat, ja need toodavad endiselt prototüüpimiseks häid plaate!

Olge plaati ümber pöörates ettevaatlik, ärge laske sellel libiseda, vastasel juhul on teil rämpsu.

Nüüd valmistage oma arendaja ette. Ma kasutan 2 korgitäit 18: 1 juures, seega kaks korki arendajat ja 36 korki puhast lõhnata kraanivett. Arendaja on pudeli või pulbri kujul ja pudel kestab tavaliselt mul umbes 6 aastat !!. Segage see jäätiseanumas ja kandke kindaid. Ärge pange sõrmi sinna sisse, vastasel juhul mõjutab rasv. Temperatuur võib olla talvel probleem. Hoidke vett 20 kraadi või selle lähedal, see pole kriitiline, kuid külma korral võivad tulemused olla ettearvamatud. Olen seda teinud jaanuaris oma garaažis veekeetjaga, et saaksite kompenseerida.

Kui olete oma plaadi sellesse pannud, liigutage anumat õrnalt küljelt küljele. Kui olete seda õigesti teinud, näete, et vasest eemaldatakse söövitav Magenta voog, mis paljastab radade vahel ilusa läikiva vase. Pöörake see teise poole kontrollimiseks kinnastega üle. See protsess võtab tavaliselt umbes minuti, nii et kui see on valmis, võtke plaat välja ja loputage sooja veega. Kui see on igav, on tõenäoline, et see ebaõnnestub.

Mul on seda olnud paar korda, kuid tavaliselt sellepärast, et ma ei kandnud kindaid või temperatuur oli liiga madal või segasin kokkupuuteaja mõne tähelepanu kõrvalejuhtimise tõttu … miks nad teevad seda keset midagi kriitilist …

Näita mulle oma söövitamist

Ok, nüüd on teil tahvel ilusate roheliste radadega, mis on kaitstud söövitusvastusega, ja nüüd peate moodustama raudkloriidi. Nüüd kasutan sama jäätiseanumat jäätmete minimeerimiseks ja segamini pakendil olevate märkmetega. Ostan raudkloriidi pallipakkides, mida kaalute ja lahustate. Täitke piisavalt, et täita jäätisevann umbes 1/3 ulatuses ülespoole. Kui täidate selle töö jaoks piisavalt, võite valada plastmahutisse ja see säilib pikka aega.

PEATE kandma kindaid… mitte rasva jne tõttu, vaid sellepärast, et kui te seda ei tee, on teie käed kahe nädala jooksul heleoranžid. Ma tegin seda kunagi enne tähtsat kohtumist Londonis ja tundus, nagu oleksin tangoed. Kuid pidage meeles, et see värk on vastik mis tahes vase ümber… ja midagi muud. Kandke vanu riideid, sest kui need neile satuvad, lähevad need prügikasti. See kinnitub roostevabast terasest valamute külge ja määrib üldiselt kõik. Tehke seda väljaspool või kõrvalhoones kõigest eemal. Ärge valage ülejääke kanalisatsiooni, see tapab suurepäraselt baktereid, mida veeamet ei sooviks oma septikutes edendada. Mõne asutuse jaoks on see ka ebaseaduslik, nii et ärge seda tehke.

Kui kastate esmakordselt plaadi lahusesse, muutub see vaske rünnates ilusaks punaseks pronksvärviks. Kui ei, siis võib teil ikkagi olla söövituskiht, mis takistab söövitaja tööd või teie lahendus on vale. Kui see nii on, siis kardan tagasi joonestuslaua juurde, kuid pole tõenäoline, et teie söövitaja eksib, kui järgisite hävitusi.

Igatahes, kui kõik on hästi, on teil mõned täiuslikud lood, mida kaitseb söövitusvastus.

Tavaliselt kasutab professionaal aukude ja padjandite ümber maskide komplekti ning vase tootmist, lisaks kasutab komponentide numbrite jms värvimiseks siiditrükki. Kahjuks ei ole mul aega ega kalduvust teha viasid kasutades mõnda vasktraati kihist kihti… ilmselgelt on mitmekihiline selle meetodi puhul ei. Kui mul on tuju, lisan trükikihile hoolikalt komponentide numbrid, nii et söövitate ka komponentide numbrid. See võib kokku panna veidi aega kokkupanekul, kuid sõltub sellest, kui plaat on hõivatud.

Nüüd paljastan jälgi veel umbes 2 minutit kummalgi küljel ja kastan arendaja sisse, et eemaldada kogu söövitustakistus.

Nüüd puurin viasid ja kõiki läbivaid auke ning plekitan kõik rajad ja kontrollin multimeetriga järjepidevust. See osa on pallivalu ja te ei teeks seda tavaliselt professionaalse toodetud plaadi jaoks, millel on tõelised viasid, kuid seda tasub teha, et vältida traati on joodetud ainult ühelt poolt … juhtus nii palju kordi!

6. samm: plaadi kokkupanek

Juhatuse kokkupanek
Juhatuse kokkupanek
Juhatuse kokkupanek
Juhatuse kokkupanek
Juhatuse kokkupanek
Juhatuse kokkupanek

OK, nii et nüüd on mul plaat kasutamiseks valmis ja ma olen kõik vias ja augud läbi puurinud.

Keerake kõik vias traadiga ja jootke mõlemad pooled. mulle meeldib kaitseks kõiki radasid tinata, ma ei pea seda tegema, vaid peatab vase oksüdeerumise.

Ma kinnitasin pinnale paigaldatava sd -kaardi ja lisasin kaks maad, et saada jootetükk, millele on lisatud paar nööpnõela, et see alla kinnitada.

Järgmisena lisati ADXL EEPROM jne.

Võimsalt on plaan võtta 5V USB -st või välisest batist ja toita see tahvli 3.3V reg kaudu. Mul on väike reg, mille ostsin Ebayst, mis on moodulina kokku pandud ja hinnatud 800mA… see on 300 gretaerit kui USB suudab pakkuda. Ma ei ole veel ühtegi võimsuse mõõtmist teinud, kuna see võib tarkvaraliselt näpistada …..võiks tegeleda ADACL -i mitteaktiivsuse katkestusega. [WIP]

… Ehitamise käigus on vaja pilte lisada.

7. samm: KOODIMINE

OK, ma ei hakka kõiki arduino seadistusi läbi tegema, kuna keegi teine on seda mujal palju paremini teinud.

Ma lihtsalt valin välja asjakohased bitid, mida me läheme ja mida saab kasutada teie enda projektis.

Veebisaidile üleslaadimise osas on see veel pooleli, kuid lubab osa koodist läbi vaadata.

Idee on selles, et tavapäraseks funktsionaalsuseks on seadmed, mis koosnevad GPS -ist /ekraanist /SD -kaardist /reaalajas kellast /välklambist ja kiirendusmõõturist.

Pärast seda siseneme silmusesse, mis ootab, kas katkestusklahvi sw vajutatakse. Kui see on siis hüpata konfiguraatori menüüsse, et konfigureerida wifi -võrk automaatselt logima seadmesse, mis on määratud veebilehe konfiguraatori sisendiks. Esmalt skaneerib see kõik seadmed SSID -i jaoks ja võimaldab seejärel valida ühe ning salvestada selle vilkuma lipuga, mis näitab, et järgmisel käivitamisel laaditakse sätted välklambist. Saate selle alati tühistada, sisestades ipaddressi ja tippides /killbill, et alustada välgu ja laadimise vaikimisi puhastamist.

siin on adxl kiirendusmõõturi koodis määratletud katkestusfunktsioon ja konfiguraatorisse hüppamine kahel eraldi tihvtil. Me kasutame ADXL -katkestust, et katkestada SHOCK -i sündmus. Mõlema katkestuse puhul määrame lipu, mis lähtestatakse põhisilmusesse. see näeb välja selline:

vaata lisatud koodi

8. samm: SDA SCL -tihvtide leidmine

kasutage seda koodi:

Serial.println (SDA);

Serial.println (SCL);

prindib ESP -s praegu SDL -i ja SCL -i jaoks konfigureeritud tihvtid

Seal on fail, mida kasutatakse nööpnõelte vastendamiseks selliste funktsioonidega nagu ESP32 jadapordid

Soovitan: