Program pre ULP koprocesor - ESP32

Sem pište, hledáte-li někoho, kdo pro vás něco naprogramuje, či sestaví.
martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Program pre ULP koprocesor - ESP32

Příspěvek od martinius96 » 14 úno 2022, 19:28

Našiel by sa tu niekto na fóre so skúsenosťami s Asemblerom pre napísanie programu za odmenu?

Malo by to byť pre ULP koprocesor na ESP32-WROOM-32 / ESP32-S a podobných moduloch, ktoré sú využívané najmä v Devkitoch.

Funkcia programu:
  • Čakaj 300 sekúnd
  • Vykonaj meranie ultrazvukovým senzorom vzdialenosti 10x
  • Vykonaj priemer hodnôt
  • Priemernú hodnotu zapíš do RTC_SLOW pamäte, aby k nej bolo možné pristúpiť z hlavnej aplikácie
  • Prebuď procesor Xtensa (hlavnú aplikáciu mám hotovú v ESP-IDF 4.3.X)
Na použitých RTC_IO pinoch nezáleží. Malo by však byť možné definovať rovnaký pin pre Trigger a Echo signál (niektoré senzory nemajú samostatné piny pre Trigger a Echo signál).

Fragment zdrojového kódu pre meranie ultrazvukovým senzorom vo Wiringu na prepísanie do Asembleru:
Obrázek

Alternatívny kontakt: martinius96@gmail.com
Preferovaná platba cez PayPal.

Uživatelský avatar
Caster
Příspěvky: 380
Registrován: 11 zář 2019, 09:02
Reputation: 0

Re: Program pre ULP koprocesor - ESP32

Příspěvek od Caster » 14 úno 2022, 21:37

Proč to musí být v assembleru ? Překladač C/C++ to do něj v pohodě přeloží, nejde o nic časově kritického.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Program pre ULP koprocesor - ESP32

Příspěvek od jankop » 14 úno 2022, 22:12

Taky mě to není docela jasné. Deset měření zabere tak 500ms. Proti tomu přihlášení ESP32 do sítě bude trvat o řád déle. Na rozlišení meření to nebude mít v podstatě vliv. Pak to nějak podle mě postrádá smysl.

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: Program pre ULP koprocesor - ESP32

Příspěvek od martinius96 » 14 úno 2022, 22:25

Chcem urobiť program, kde bude hlavný procesor Xtensa v režime spánku deep sleep.
Meranie výšky hladiny bude vykonávať len ULP koprocesor a dáta zapíše do RTC_SLOW pamäte, kde môže pristúpiť aj aplikácia.
ESP32 bude dáta posielať do backendu cez WiFi, prípadne cez pripojený modul Sigfox WiSOL.
Ide mi o čo najúspornejšiu aplikáciu, aká sa dá na batériu urobiť. Myslím, že to takto bude z pohľadu spotreby viac efektívne ako meranie v hlavnej aplikácii.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Program pre ULP koprocesor - ESP32

Příspěvek od jankop » 14 úno 2022, 22:32

To jsem jednoznačně pochopil. Ale nevěřím, že 1 sekunda je standardní čas připojení ESP32 k WiFi. Já byl rád, když jsem se pořipojoval za 3s. Záleží to velice na podmínkách prostředí a někdy ti ani ty 3 sekundy stačit nebudou. Pokud uděláš probuzení od RTC po 5 minutách, vypneš ihned modem WiFi, budeš měřit a po odměření za 500ms teprve to WiFi zapneš, tak na tom budeš naprosto stejně, jako s nějakým ULP kooprocesorem.
A ještě doplním, deset měření je až zbytečně moc. Tři měření stačí a to je 100ms času.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Program pre ULP koprocesor - ESP32

Příspěvek od jankop » 15 úno 2022, 10:08

Vím, žes tomuhle měření věnoval dost času. Ale praktické zkušenosti ukazují, že ultrazvukové měření hladiny ve studni je prakticky nepoužitelné.

Uživatelský avatar
Caster
Příspěvky: 380
Registrován: 11 zář 2019, 09:02
Reputation: 0

Re: Program pre ULP koprocesor - ESP32

Příspěvek od Caster » 15 úno 2022, 11:22

@jankop

Hladinu v septiku lze celkem přesně změřit poklepem a FFT viz Non-Intrusive Tank-Filling Sensor Based on Sound Resonance

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: Program pre ULP koprocesor - ESP32

Příspěvek od martinius96 » 15 úno 2022, 13:21

Nemusí to byť iba pre studňu. Nájde to využitie aj v iných oblastiach.
Ultrazvuková metóda je jedna z najpoužívanejších najmä kvôli nízkej cene.
Taktiež existujúce web rozhranie je navrhnuté univerzálne a ide použiť aj s akýmkoľvek iným senzorom pre ktorý sa napíše firmvér.

Inak ten môj projekt sa využíva aj v Česku pre monitorovanie výšky hladiny Kamencového jazera v kombinácii so zrážkomerom RG-11.
Inštalácia ako taká mi nie je známa, viem len, že využívajú PVC trubku Ø 40 cm v ktorej je JSN-SR04T.
Rozdiel medzi meraniami býva ± 1cm (softvérovo sa to dá vyhladiť, aby to nerobilo tie zuby a rozlíšenie rozdielnych meraní bolo aspoň 2 cm).
Obrázek

Príklad vyhladenia meraní (aplikované cca od polovice grafu priebehu):
Obrázek

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Program pre ULP koprocesor - ESP32

Příspěvek od jankop » 15 úno 2022, 14:30

Hladina jezera je brnkačka. Ale ve studni se ti uplatní rozbíhavost zvukového paprsku, na vrtanou studnu pak nelze použít vůbec. Ultrazvuk se používá obvykle v nádržích a musí být garantována taková geometrie, aby rozbíhající se paprsek nenarazil do stěny a i trubka čerpadlo může být problém. Přesnost vcelku ujde, když kompenzuješ teplotu, tlak a vlhkost vzduchu. Nejkritičtější je pochopitelně teplota, ta se uplatní nejvíc.
Speciálně JSN-SR04T má rozbíhavost paprsku 50 stupňů, s tím v reálné studni moc nenaměříš.

Dene Elanik
Příspěvky: 67
Registrován: 29 led 2020, 20:15
Reputation: 0

Re: Program pre ULP koprocesor - ESP32

Příspěvek od Dene Elanik » 16 úno 2022, 21:46

Když už jsme u měření hladiny ve studni, existuje nějaká rozumná metoda na měření hladiny do hloubky cca 17m ve studni o průměru 120cm? Přesnost +-0,5m.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 17 hostů