Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

HC-SR04 Attenzione a quel sensore!!!

PLC, servomotori, inverter...robot

Moderatori: Foto Utentecarlomariamanenti, Foto Utentedimaios

0
voti

[1] HC-SR04 Attenzione a quel sensore!!!

Messaggioda Foto Utentepusillus » 19 ott 2017, 15:02

SR04-1-800x800.jpg
SR04


Da un po di tempo mi sto dedicando alla costruzione di un robot giocattolo.
sto utilizzando il sensore ad ultrasuoni in questione che si trova negli store cinesi a meno di 1€.
Mi sono accorto che con un solo sensore sul frontale il robot era facile a collisioni laterali cosi ho deciso di piazzare altri due sensori sui fianchi dello stesso.

Ho configurato i 3 sensori come nello schema per sfruttare lo stesso pin PB12 del STM32 in ingresso.


Ho perso moltisimo tempo per scrivere il firmware pensando di commettere qualche errore poiché i sensori restituivano dei valori sballatissimi... anche se mi ero gia accorto anche con un solo sensore che a volte ricevevo dei valori strani.

Il sensore lavora in questo modo:
In seguito ad un impulso sul piedino di TRIGGER il sensore dovrebbe restituire sul pin ECHO un segnale alto della durata che il suono impiega per riflettersi sull'ostacolo e tornare al ricevitore. il range di azione è di circa 3m. se dopo 38ms il sensore non rileva nessun ostacolo DOVREBBE considerare nulla la misura e mandare basso il livello sul pin ECHO.
Tutto molto facile basta un contatore e poi calcolarsi la distanza.

Dopo essermi sbattuto parecchio ho fatto una ricerca ed ho scoperto che questi sensori cinesi sono quasi tutti difettosi (ne esistono alcune versioni con differenti layout )!!!
praticamente non vanno in timeout dopo i 38ms e il piedino echo rimane a livello alto. Ho visto diverse soluzioni per tamponare il problema ma nessuna di queste funziona bene e con la configurazione che ho adottato se uno dei pin echo rimane a livello alto mi va a sballare anche il lavoro degli altri sensori.

Ho ritenuto inutile cercare di recuperare questi sensori che sono totalmente inaffidabili. Ho ordinato degli SRF05 che pare non siano affetti dal problema.

Ho scritto questo per evitare che qualcuno perda tutto questo tempo come ho fatto io.
Nessuno di voi ha avuto a che fare con questi sensori? Ho visto che ogni stupido progetto con Arduino ne monta uno. possibile che solo io ho beccato quelli difettosi??
Immagine
Un lungo viaggio di mille miglia comincia con un solo passo
Lao Tzu
Avatar utente
Foto Utentepusillus
1.291 4 11
Stabilizzato
Stabilizzato
 
Messaggi: 491
Iscritto il: 5 mar 2016, 15:19
Località: Latina

0
voti

[2] Re: HC-SR04 Attenzione a quel sensore!!!

Messaggioda Foto Utenteegbit » 20 ott 2017, 20:20

trigger di 10us e devono passare almeno 60ms tra una richiesta e l'altra e occhio alle connessioni
pagati sempre 3 euro :oops: forse e' per quello che funzionano meglio :mrgreen:
puoi adattare NPing
Eleonora Immagine
Avatar utente
Foto Utenteegbit
1.112 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 431
Iscritto il: 16 dic 2016, 19:47

0
voti

[3] Re: HC-SR04 Attenzione a quel sensore!!!

Messaggioda Foto Utentexyz » 20 ott 2017, 21:19

Prova con US-100 o meglio ma più costoso (e waterproof) JSN-SR04T.
Avatar utente
Foto Utentexyz
5.085 2 4 5
Master EY
Master EY
 
Messaggi: 1315
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[4] Re: HC-SR04 Attenzione a quel sensore!!!

Messaggioda Foto Utentepusillus » 21 ott 2017, 8:25

Foto Utenteegbit
Ho fatto prove seguendo tutti i parametri di cui parli ma con il logic analyzer ho riscontrato il difetto di cui ho letto su vari siti l, cioè a volte il Pin echo rimane a livello alto.
Non posso adattare la libreria di Arducoso. Il mio firmware è in RTOS e utilizzo un timer e gli interrupt esterni di stm32. Un approccio molto diverso, credo, da quella libreria che onestamente non ho neanche guardato.
Foto Utentexyz
Grazie per le segnalazioni, in verità quello che funzionerebbe di certo è quello originale e lo fa la Parallax, si chiama'ping'.
...comunque non ho mollato del tutto e forse sono riuscito a recuperare i sensori difettosi... meglio non cantare vittoria troppo presto ma spero di darvi buone notizie ;-)
Immagine
Un lungo viaggio di mille miglia comincia con un solo passo
Lao Tzu
Avatar utente
Foto Utentepusillus
1.291 4 11
Stabilizzato
Stabilizzato
 
Messaggi: 491
Iscritto il: 5 mar 2016, 15:19
Località: Latina

0
voti

[5] Re: HC-SR04 Attenzione a quel sensore!!!

Messaggioda Foto Utentepusillus » 23 ott 2017, 14:58

Credo di aver risolto il problema collegando il sensore al micro con questo circuito e modificando il firmware.

Un solo pin del Micro viene utilizzato per inviare l'impulso di trigger e per poi ricevere il segnale di echo.
In questo modo ogni sensore lavora separatamente e non può influenzare i rilievi degli altri moduli.
Ho impostato un timeout di 38ms sul pin di echo dopo il quale viene scartata la misura.
Ho risparmiato un pin sul micro.
Qualche altro test e poi monto i 3 moduli sul robottino :mrgreen:
Immagine
Un lungo viaggio di mille miglia comincia con un solo passo
Lao Tzu
Avatar utente
Foto Utentepusillus
1.291 4 11
Stabilizzato
Stabilizzato
 
Messaggi: 491
Iscritto il: 5 mar 2016, 15:19
Località: Latina


Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti