Tartalomjegyzék:

ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel: 8 lépés
ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel: 8 lépés

Videó: ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel: 8 lépés

Videó: ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel: 8 lépés
Videó: ESP32 - Vibration Data Logger (Fourier Transform) 2024, November
Anonim
ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel
ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel
ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel
ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel
ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel
ESP32 ADXL345 DATALOGGER GPS_EXT RAM_EXT_RTC -vel

Azoknak, akik a Wemos 32 LOLIN táblával játszanak, úgy gondoltam, elkezdem dokumentálni néhány eddigi megállapításomat.

A jelenlegi projekt az ADXL345 gyorsulásmérőhöz való csatlakozás, és amint a fenti képen látható, sikeresen csatlakoztattam a lolinhoz, és az ADXL -t ütésérzékelőként konfiguráltam.

Az ADXL regisztereit csatolt pdf -ként állítottuk be, és a megszakítást úgy állítottam be a kódban, hogy a sokk észlelése után köpje ki a kódot a soros porton.

Az inaktivitás -nyilvántartást is megszakításként állítottam be, és miután megnéztem, melyik megszakítás váltott ki, majd kiköpöm ugyanazokat az adatokat.

A LOLIN I2c portját használom, és látni fogja, hogy van egy rutinom az ADXL regisztereinek kiköpésére, hogy hibakeresés közben ellenőrizhessem a konfigurációt. Ez a funkció egy időzítő funkcióban fut a ticker könyvtár használatával. Ez egy hasznos funkció a regiszterek hibakereséséhez és ellenőrzéséhez, ha olyasmit ír be, ami rejtélyes módon furcsa dolgokat okoz az adatoknak.

Normalizáltam a 2 bókadatait a LOLIN -ban, és úgy formáztam, hogy az Excelbe importálható legyen.

Vessen egy pillantást a csatolt PDF -be néhány importált adatommal, és az Excelben grafikont ábrázoltam, amely az ADXL egyes érintéseit mutatja, amelyeket a trigger regiszter megszakítása vált ki FIFO módban.

A FIFO mód hasznos funkció, amely nem köti össze a mikrot, és 32 mintát tárol egy ravaszon. Ismét nézze meg az adathalmazaimat, és láthatja, hogy hol kezdjük a nulla talajt, és az utolsó minta 9,8 ms vagy körülbelül. A grafikon X vonala mutatja az időzítést mikroszekundumokban, balról jobbra haladva.

MEGJEGYZÉS MIVEL MÓDOSÍTOTTAM AZ UTOLSÓ GRAFIKÁT, HOGY MUTATJUK AZ IDŐSOROT MINUS 9800 mikroszekundból. A FIFO első pop -ja a legkorábbi adat, a többi idősebb. A nézetnek jobbról balra kell lennie.

Jegyezze fel az ADXL kártya három vezetékét. SDA/SCL és az INT az INT -ből 1. Ismét, ha megnézi a regiszterbeállításokat, és keresztezi az adatlapot, akkor értelme lesz.

Az adatminta teljes dőlésszögű 3200 mintánál, ami 3125 használati másodpercet ad a minták között. És 4 minta előzetes rögzítése. Nézze meg az eszközből származó adatok pdf -jét Excel -ben, és az általam rajzolt grafikonok mindegyike azt mutatja, hogy mozgatom a rögzítési ablakot.

Felteszek egy kódot a konfigurációból és megszakítom, ha valakit érdekel.

Az I2C esetében a vezetékes könyvtárat használom, és néhány funkciót írtam köré.

Figyeld meg azt a kis adatszippantót, amelyet SDA/SDL -hez kapcsoltam, és a Sigrok segítségével valós időben dekódolhatom az I2C buszt.

A következő lépés a SAN lemezre mentés, bár már bebizonyítottam, hogy működik. Ha ez megtörtént, csatlakozom a vezeték nélküli hálózathoz, és feltöltöm egy webhelyre.

Ezt kiegészítem a projekt bővülésével.

LÁBJEGYZET:

Az odafigyelők számára észrevesz egy nagy horpadást a dobozban, amely az esp chipet védi, és egy áthidalót a NYÁK -on. Ennek oka a rezidens kokerspaniel, aki megvizsgálta a postát, és úgy döntött, hogy megrágja a táblát, mielőtt hozzáférést engedne hozzá. Szerintem nem espresszív rajongó!

Természetesen, mint mindig, mindig kész vagyok a kérdésekre, úgyhogy kérdezzen nyugodtan.

1. lépés: SIGROK ÉS PULSEVIEW

SIGROK ÉS PULSEVIEW
SIGROK ÉS PULSEVIEW
SIGROK ÉS PULSEVIEW
SIGROK ÉS PULSEVIEW

Csak a pulseview és a sigrok gyors említése.

Ez ingyenes szoftver a netről, és a kis logikai bemenettel rendelkező kis interfészlap olcsó az ebay -től és társaitól. Észre fog venni néhány képet, amelyeket az ADXL futása közben ragadtam le a buszról, és ismét olyan hasznos a hibakereséshez beépített dekódolóval rendelkezik az I2C számára.

A hatókör kiválóan alkalmas a jelszintek ellenőrzésére, de az I2c kézi dekódolása a legjobb esetben is fárasztó, bár korábban beállítottam egy hurkot, és kézzel hibakeresettem. Meg kell értenie a bumm -ot a port szintjén, amit sok képprojektnél megtettem, de időigényes és hibákra hajlamos … különösen éjszaka!

Köszönöm a srácoknak, akik írták ezt az alkalmazást. Isten küldje az i2c projektekhez, Vegye figyelembe a D4 vonalat, amely az ADXL megszakító vonalát figyeli.

2. lépés: Hozzáadás az ütésérzékelőhöz

Hozzáadás az ütésérzékelőhöz
Hozzáadás az ütésérzékelőhöz
Hozzáadás az ütésérzékelőhöz
Hozzáadás az ütésérzékelőhöz
Hozzáadás az ütésérzékelőhöz
Hozzáadás az ütésérzékelőhöz
Hozzáadás az ütésérzékelőhöz
Hozzáadás az ütésérzékelőhöz

Rendben, itt hozzáadtam néhány perifériát a sokkérzékelőhöz a koncepció bizonyítására.

Elnézést, hogy a patkányok fészket raknak, ha egyszer működik, megtervezem a PCB -t, amely összeköti az összes összetevőt, és egy csinos dobozba teszem. Az SD -kártya kivételével minden csatlakoztatott elem az i2c -n működik, amely a spi buszon található.

Balra kell csatolni a GPS modult, amely WIP, de remélem, hogy a hét végére lesz megoldás.

Tehát a jelenlegi projekt a következőkből áll:

ESP32 LOLIN kártya vezeték nélküli kapcsolattal.

PCF valós idejű óra. Nyomon követi az aktuális dátumot és időt. Durván forrasztottam egy régi projekt táblát, amelyet korábban maratottam.

Külső vaku. Többek között a gyorsulásmérő beállítási adatait tárolja. Kapacitás 132 k, és néhány webes adatot dobhat rá a menük stb

SPI SD kártya fájlok gyorsulásmérő adatainak és naplóinak tárolására. 8 GB, de bővíthető.

OLED kijelző a menük és néhány egyéb dolog megjelenítéséhez.

Íme, mit fog tenni [végül]

Figyelje a sokkokat és a tevékenységeket, amelyek meghaladják a hátteret.

Regisztrálja az ütéseket az SD -kártyára az idővel és a dátummal a fedélzeti órából.

Ha rendelkezésre áll, pecsételje le a helyét a GPS -ről az SD -kártyára

Hozzáférési pont használatával töltse fel az adatokat egy webszerverre az adatok elemzéséhez … ez lehet mobiltelefon.

| A hozzáférési pontok keresése a LOLIN32 képessége, mivel a webkiszolgálón tárolja a parancsokat, majd ügyfélként csatlakozik a felhő webszerveréhez. Mindig csak húzza ki az SD kártyát, és töltse fel!

Még sok a tennivaló, de megy tovább.

3. lépés: ADXL CÍMZÉS

ADXL CÍMZÉS
ADXL CÍMZÉS

Most itt van egy vicces dolog. Megvettem az ADXL 345 chipet, mint egy kis táblát, mert olcsóbb volt, mint önmagában beszerezni egy chipet….. hogy működik ez? Mindenesetre ezt követően hozzáfogtam az i2c buszhoz, és azt tapasztaltam, hogy összeütközésbe kerültem az eeprommal, amelynek címei 0x53 -nál kezdődnek, ami az A6 -os írást és az A7 -es olvasást jelenti.

Tehát a bumf olvasása során kiderül, hogy ha az SDO/ALT ADDRESS HIGH értéket veszi fel, akkor kényszerítheti 1D -re

Kiderült, hogy az én kis táblám az ADXL 12 -es tüskéjéhez van kötve, annak ellenére, hogy az SDO -tüske úgy tűnik, hogy magasra húzhatja. Ne próbálja ezt otthon, korlátozott áramellátás nélkül…. Szerencsére nekem az volt, hogy elővettem a multimétert, és ellenőriztem a tüskét a földhöz. [Holt rövid], ami azt jelenti, hogy a vágányt és az áthidaló csapot 12–3,3 V -ra kell vágni. Ez működik, és kikerül a báli összecsapásból. Szerencsére nem tették meg a zsetont a zseton alatt, különben sznokkertem volna, és el kellett volna távolítanom a zsetont a tábláról. Az EEprom, amely egy tartalék, volt két oldal 64k, 0x52 és 53. cím. Miután ezt megtettem, a problémám megoldódott.

A weboldal újbóli elolvasása azt mondja, hogy 0x53 -ra van állítva, de apró betűs, ezért vigyázz!

4. lépés: Vázlatos NYÁK -nyomtatás

Itt van egy gyors áttekintés az áramkörről és az alkatrészekről. Ez nagyon az én tervezésem, és még mindig WIP [Folyamatban] patkányaim fészkelődnek, és most összeállok egy táblára, amely elfér egy kis dobozban [Következő részlet]

Hivatkozva a shocker.pdf fájlra.

A tábla 8 fő összetevőből áll

  1. SD -KÁRTYA TÁROLÁSA
  2. ADXL gyorsulásmérő
  3. KIJELZŐ OLED
  4. 3,3 V REG
  5. GPS1 MODUL
  6. EEPROM
  7. IDŐZÍTŐ RTC
  8. ESP32 LOLIN CHIP RF vezeték nélküli interfésszel

Minden a gyorsulásmérőn múlik.

Az ADXL úgy van beállítva, hogy megszakítsa a processzort az INT1 -en, amely a processzor 14. tűjére van irányítva. A mikrokód kódja úgy van beállítva, hogy elfogja ezt a megszakítást, és beállít egy zászlót, amely a fő rutin szerint működik. Hozzáadom a kódot felvázolja a megszakítási rutin és a visszahívási funkció későbbi regisztrálását.

Az ADXL támogatja a megszakításokat különböző állapotokban, például sokk vagy tétlenség, valamint néhány más. Elfedheti azokat, amelyek csiklandozzák a képzeletét az alapján, amit megpróbál. Az ADXL FIFO módban működik, így 32 mintát tárol hogy a sokk eseményt XYZ -ként rögzítse [96 érték]

Az ADXL RTC és az EEPROM kijelzőt mind az I2C vezérli. Az SD -KÁRTYA az SPI I/O -hoz, a GPS -modul pedig az X12 X11 jelű LOLIN soros portjaihoz van csatlakoztatva.

Folyamatosan ragadja meg a 232 adatot a GPS -egységből és a szűrőből. Amíg érvényes GPS -idővel rendelkezik, frissítse az RTC -t meghatározott időközönként. Az SD -kártyára tárolt változók megszakításakor, mint például az idő/Lat_Lng/Speed/Altitude/Store ADXL regiszterek a 2. nyers formátum bókja és a 2. kiegészítése. Minden adat vesszővel határolt.

Megjegyzendő továbbá, hogy van egy visszaállító pin, amely a 13. tűhöz van csatlakoztatva. Ez a pin elindítja a beépített webszervert, amely lehetővé teszi, hogy csatlakozzon a konfigurátorhoz az EEPROM -ban tárolt hozzáférési pont beállításához. Újraindításkor a processzor csatlakozni fog a hozzáférési ponthoz, és hozzáfér az internethez, hogy fájlokat töltsön fel az SD -kártyáról. Ha nincs adat és nincs csatlakozási pont, akkor a készülék csak elvégzi adatnaplózási folyamatát az SD -kártyára, amelyet lekérdezhet a program [ShockerView.exe] [WIP] A szerveren az adatokat egy SQL adatbázis tárolja, és megjeleníti [WIP]

A NYÁK nyomatok felül és alul vannak csatolva.

5. lépés: A grafika maratási prototípusa

Artwork maratás prototípus
Artwork maratás prototípus
Artwork maratás prototípus
Artwork maratás prototípus
Artwork maratás prototípus
Artwork maratás prototípus

Így készítem el a prototípus tábláimat

Nyomtassa ki a művet nehéz nyomkövető papírra. 63 GSM -et használok kovácsoktól, olcsón és vidáman. A nyomtató itt kulcsfontosságú. A lehető legátlátszatlanabbra és a lehető legtisztábbra vágyik. A lézernyomtatóm most indul, de akár 10 ezer nyomtatásra is alkalmas, ennél kevesebbre van szüksége speciális felszereléshez, mivel a nyomkövető papír szemcséje kezd akadályozni. Vásárolhat speciális papírt, de hé, ez túl jó a hozzám hasonló embereknek. Mindenesetre folyamatosan finomítom a terveimet, hogy túl drága lenne nekem. Ha megfelelő táblára van szüksége, akkor kérje meg a szakértőket.

Általában szakaszokban prototipizálom a tábláimat, majd döntőt készítek a gerberekkel egy internetes cég számára. A prototípus rendezi ezeket a hibákat és mulasztásokat, mielőtt valódi pénzt követ el.

Miután kinyomtatta a képeket két különálló A4 -es lapra, vágja le őket úgy, hogy mindkettő átfedje és eladja őket a helyükre. hagyjon elegendő helyet a kétoldalas táblájának, hogy benyomódjon a rétegek közé, és győződjön meg arról, hogy a nyomtatott oldala a NYÁK -hoz van -e. Készítsen néhány rést, hogy a táblákat becsúsztassa és ideiglenesen eladhassa. Ha óvatos, átfedheti az eladási szalagot, és lehetővé teszi, hogy letörölje anélkül, hogy megsemmisítené a nyomkövető képet.

Helyezze a táblát egyik oldalával lefelé az UV -dobozába. Megjegyzés: Az enyémet négy új 13 W -os UV -lámpa és néhány régi vezérlőegység felhasználásával készítettem el, és készítettem egy dobozt, tiszta üveglappal. Az elosztás kísérleti jellegű volt. A fedél lecsukódik, és a habot a deszka hátoldalára szorítja, és a maszkot az üveghez szorítja. Ha ezt elmulasztja, a fény aláássa a maratási ellenállást. Kapcsolja be és tegye ki a táblát oldalanként 1 perc 40 másodpercre. Használja az óráját. Valójában ezt módosítanom kell egy időzítővel … oh nem egy másik projektet … talán veszek egyet … tudod, hogy nem szoktad! A Mega Electronics -től vásárolt táblák az olcsó prototípus táblák, amelyek etch resist -el rendelkeznek. Az etch ellenállás néha kissé foltos, de vannak olyan tábláim, amelyek négy éve vannak, és még mindig jó táblákat gyártanak a prototípusok készítéséhez !!

Óvatosan fordítsa meg a táblát, ne hagyja elcsúszni, különben ócska lesz.

Most készítse elő a fejlesztőt. 2 kupakot használok 18: 1 arányban, tehát két kupak fejlesztő és 36 kupak tiszta hamisítatlan csapvíz. A fejlesztő palackban vagy por alakban érkezik, és egy üveg általában 6 évig tart. Keverje össze egy fagylalttartályban, és viseljen kesztyűt. Ne tegye bele az ujjait, különben a zsír hatással lesz rá. Télen a hőmérséklet okozhat gondot. Tartsa a vizet 20 fokon vagy annak környékén, ez nem kritikus, de ha hideg, az eredmények kiszámíthatatlanok lehetnek. Ezt januárban csináltam a garázsomban vízforralóval, így kompenzálhatod.

Óvatosan mozgassa a tartályt egyik oldalról a másikra, miután behelyezte a táblát. Ha helyesen tette, látni fogja, hogy a rézrétegből eltávolítják a réz rézsútos ellenálló bíbor folyamát, és gyönyörű, fényes réz tárul fel a vágányok között. Fordítsa meg a kesztyű segítségével, hogy ellenőrizze a másik oldalt. Ez a folyamat általában körülbelül egy percet vesz igénybe, így ha elkészült, vegye ki a táblát, és alaposan öblítse le meleg vízben. Ha unalmas, akkor nagy valószínűséggel kudarcot vall.

Volt már ilyen párszor, de általában azért, mert nem vettem fel kesztyűt, vagy túl alacsony volt a hőmérséklet, vagy elrontottam az expozíciós időt valamilyen figyelemelterelés miatt … miért teszik ezt valami kritikus dolog közepette….

Mutasd meg rézkarcaidat

Rendben, most van egy tábla, gyönyörű zöld pályákkal, amelyeket etch resist véd, és most össze kell állítani a vas -kloridot. Most ugyanazt a fagylalttartót használom a hulladék minimalizálása érdekében, és összekeverem a csomagoláson található megjegyzésekkel. A vas -kloridot golyócsomagokban veszem, amelyeket kimér, és oldatba old. Töltsön fel annyi mennyiséget, hogy felfelé töltse a fagylaltos kádat. Ha éppen elegendő mennyiséget tölt be a feladathoz, öntse egy műanyag edénybe, és sokáig eláll.

KESZTYŰT KELL VISELNI… nem a zsír stb. Miatt, hanem azért, mert ha nem, akkor két hétig világos narancssárga lesz a keze. Egyszer ezt megtettem egy fontos londoni találkozó előtt, és úgy tűnt, mintha tangóztam volna. Azonban tisztában kell lenni azzal, hogy ez a dolog csúnya minden réz körül … és bármi más. Viseljen régi ruhákat, mert ha rájuk kerül, kukába kerülnek. Rozsdamentes acél mosogatóhoz rögzíti magát, és általában mindent megfest. Tegye ezt kint vagy egy melléképületben, távol mindentől. Ne öntse a maradékot a csatornába, remekül elpusztítja a baktériumokat, amit a vízügyi hatóság nem szeretne előmozdítani szeptikus tartályaikban. Néhány hatóság számára ez is törvényellenes, ezért ne tegye.

Amikor először belemártja a táblát az oldatba, szép vörös bronz színe lesz, amint a réz megtámadja. Ha nem, akkor előfordulhat, hogy továbbra is van egy réteg etch -ellenállás, amely megakadályozza a marató működését, vagy a megoldás rossz. Attól tartok, akkor térjünk vissza a rajzlapra, de nem valószínű, hogy a varázslója téved, ha követte a rombolásokat.

Mindenesetre, ha minden rendben van, van néhány tökéletes szám, amelyet etch resist véd.

Általában ezen a ponton a szakember maszkokat használna a lyukak és a párnák köré történő kifejlődésre, és a réz előállítására, valamint selyemszitát használ az alkatrészszámok festésére stb. Sajnos nincs időm és hajlamom, és elkészítem a viasokat néhány rézhuzal használata rétegről rétegre… nyilvánvalóan a többrétegű nem nem ez a módszer. Ha kedvem van, gondosan hozzáadom az alkatrészszámokat a nyomtatási réteghez, így a komponensszámokat is marathatja. Időt takaríthat meg az összeszerelésnél, de attól függ, hogy mennyire elfoglalt a tábla.

Most kiteszem a sávokat oldalanként további körülbelül 2 percre, és belemártom a fejlesztőbe, hogy eltávolítsam az összes maratási ellenállást.

Most fúrom a vias -t és minden átmenő lyukat, és minden pályát ónozok, és multiméterrel ellenőrzem a folyamatosságot. Ez a rész egy labdafájdalom, és általában nem tenné meg egy professzionálisan gyártott tábla számára, amely valódi vias, de érdemes megtenni, hogy elkerülje az átvezető drótot hogy csak az egyik oldalát forrasztják … annyiszor történt!

6. lépés: A tábla összeszerelése

A tábla összeszerelése
A tábla összeszerelése
A tábla összeszerelése
A tábla összeszerelése
A tábla összeszerelése
A tábla összeszerelése

OK, így most készen áll a tábla, és minden fúrót és lyukat átfúrtam.

Fűzze be az összes üveget dróttal és forrasztja mindkét oldalát. Szeretem az összes pályát ónozni védelemként, nem kell megtenni, de megállítja a réz oxidációját.

Csatoltam az SD kártyát, ami felszíni szerelés, és két földet adtam hozzá, hogy tapadjon a forrasztás, plusz van pár csap alul, hogy rögzítse.

Ezután hozzáadta az ADXL EEPROM -ot stb.

Erőteljesen az a terv, hogy az 5V -ot kivesszük az USB -ről vagy a külső Bat -ról, és a tábla 3.3V -os regiszterén keresztül tápláljuk. Van egy kis reggeli, amelyet az Ebay -től vásároltam, és modulként van összeszerelve, és 800 mA -re van méretezve … ez 300 gretaer mint amit az USB nyújthat. Teljesítménymérést még nem végeztem, mivel a szoftverben lehet csípni….. lehet, hogy az INACTIVITY megszakítást használja az ADXL -ből a kezeléshez. [WIP]

… Képeket kell hozzáadni az építés során.

7. lépés: KÓDOLÁS

Rendben, nem szoktam végigmenni az összes arduino -n, mivel valaki más sokkal jobban dolgozott máshol.

Menet közben csak kiválasztom a megfelelő biteket, amelyek felhasználhatók egy saját projektben.

Ez még folyamatban van a weboldalra való feltöltés szempontjából, de áttekinthetjük a kód egy részét.

Az ötlet az, hogy a normál funkciók azok az eszközök, amelyek GPS /kijelző /sd kártya /valós idejű óra /ext_flashmemory és gyorsulásmérőből állnak.

Ezt követően belépünk egy ciklusba, amely arra vár, hogy megnyomjuk -e az sw megszakító gombot. Ha ezután ugorjon a konfigurátor menübe, és konfigurálja a wifi hálózatot, hogy automatikusan bejelentkezzen a weboldal -konfigurátor bemeneteként megadott eszközre. Először minden eszközt átkutat az SSID -n, majd lehetővé teszi, hogy kiválasszon egyet, és elmenti flashre zászlóval, amely azt jelzi, hogy a következő indításkor a vaku beállításai. Ezt bármikor felülbírálhatja, ha beírja az ipaddress címet, és beírja a /killbill parancsot, hogy elindítsa a vaku és a betöltés alapértelmezett tisztítását.

itt található az adxl gyorsulásmérő kódjában definiált megszakítási funkció és a konfigurátorhoz való ugrás két külön csapnál. Az ADXL megszakítást használjuk a SHOCK esemény megszakításához. Mindkét megszakításhoz beállítunk egy zászlót, amely a fő "hurokban" áll vissza. itt néz ki:

nézd meg a mellékelt kódot

8. lépés: Az SDA SCL csapok megkeresése

használja ezt a kódot:

Serial.println (SDA);

Serial.println (SCL);

kinyomtatja az ESP -ben az SDL és SCL számára jelenleg konfigurált csapokat

Van egy fájl, amelyet a csapok olyan funkciókhoz való hozzárendeléséhez használnak, mint az ESP32 soros portjai

Ajánlott: