HC-SR04 op esp32 - over 35m - inconsistente signalen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 16-09 22:14
Ik heb al een tijdje (van 2013) een HC-SR04 in m'n regenwaterput hangen om de waterhoogte te bepalen.
Dinds enige tijd heb ik de arduino vervangen door een esp32 (de HC-SR04 op 5V met een spanningsdeler), maar ik ervaar dat de metingen inconsistent zijn.

V als ik 5 keer (met 5sec ertussen) de afstand vraag dan is dat bv 166 165 166 71 100 , maar andere keren springt het veel meer rond.

Het gaat dus vaak juist (rond de 166) maar ook soms fout.
De kabel tussen de esp32 en de HC-SR04) is een cat5 utp kabel van ca 35m (oranje: 5V / oranje-wit: gnd / groenwit: trigger / groen: echo)

Omdat het nogal moeilijk is om te werken in de "keel" van de ondergrondse put (de kabel is nogal kort :X ), wil ik graag hier eens mogelijke oplossingen vragen.
- Zou het toevoegen van een condensator over de 5V/GND het verbeteren (zoja hoeveel? 10nF of beter 100nF?)
- ik zie dat sommige HC-SR04 ook een uart / i2c of 1wire interface hebben. Zou dat beter werken voor die afstand? (zoja, wat zou het beste zijn?)

een 2e mogelijk probleem die ik kan zien is de "hoek" van de sensor, misschien meet hij een deel van de "keel" of buis die in de omtrek zit? kan je die "kijkhoek" smaller maken?

[ Voor 11% gewijzigd door Promy op 25-05-2025 23:39 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • heintjeput
  • Registratie: Juni 2003
  • Laatst online: 10:10
De waardes van rond de 165 wat is dat? Counts, mV, cm? Dat bepaalt een beetje of het te verwachten is.
Met 35m heb je wel een flinke antenne gemaakt, dus kan goed zijn dat je ruis oppikt. Dan zou een condensator aan de ESP kant al wel kunnen helpen.

Daarnaast zou ik zeker niet voor i2c gaan, dat is standaard voor centimeter werk, met een differentieel chip er tussen kun je mss wel deze afstand doen. 1wire lijkt me het beste, maar ook niet ideaal.
Je zou er lokaal een arduino/esp aan kunnen knopen en dan over ethernet verder gaan. Maar dat is een ingrijpende wijziging.

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 16-09 22:14
heintjeput schreef op maandag 26 mei 2025 @ 07:49:
De waardes van rond de 165 wat is dat? Counts, mV, cm? Dat bepaalt een beetje of het te verwachten is.
Met 35m heb je wel een flinke antenne gemaakt, dus kan goed zijn dat je ruis oppikt. Dan zou een condensator aan de ESP kant al wel kunnen helpen.

Daarnaast zou ik zeker niet voor i2c gaan, dat is standaard voor centimeter werk, met een differentieel chip er tussen kun je mss wel deze afstand doen. 1wire lijkt me het beste, maar ook niet ideaal.
Je zou er lokaal een arduino/esp aan kunnen knopen en dan over ethernet verder gaan. Maar dat is een ingrijpende wijziging.
sorry: die 165 is de cm die de "newping" library teruggeeft.
Ik heb ondertussen nog een 2e setup gemaakt met een lange kabel (nog 5m extra) en die heeft geen last, dus ik denk dat het misschien eerder aan de "hoek" ligt waarin de sensor z'n reading doet. zou je die kunnen versmallen, of moet er een ander type sensor gebruikt worden.
Maar ga misschien eerst eens testen of een condensator verbetering zou geven, je zou die aan de esp kant zetten? tussen welke pinnen dan? (5v / gnd / trig of echo) :?

Acties:
  • 0 Henk 'm!

  • heintjeput
  • Registratie: Juni 2003
  • Laatst online: 10:10
Ik dacht dat de sensor continue een analoog signaal uit zou sturen, dan zou een condensator tussen echo en gnd helpen. Alleen je moet de sensor pollen met trigger en dan helpt het waarschijnlijk niet of werkt het averechts.
Het kan zijn dat de spanning inzakt bij de sensor dan zou een condensator bij de sensor kunnen helpen tussen 5V en gnd.
Ook zag ik dat de newping library een median filter heeft van 5 waardes wat mij een hint geeft dat die misschien wel gewoon gedragen van de sensor zelf is en je het misschien moet accepteren.
Met een oscilloscoop meten maakt waarschijnlijk een hoop duidelijk maar ik gok dat je die niet in huis hebt.