Page 1 of 1

Lettura di 5 SRF-05 con bascom

PostPosted: 25 Aug 2012, 15:06
by Fagos
salve,
a bordo di un piccolo robot ho montato 5 sensori di distanza SRF05 e non saprei come interfacciarli tutti per leggerli tutti insieme.
in ognuno di essi oltre alla alimentazione ci sono altri 2 segnali echo e trigger.
il fatto è che uno sono riuscito a pilotarlo ma 5 no so come fare.
come faccio a collegarli tutti usando un numero limitato di segnali?

come posso fare per leggere la distanza attraverso un atmega16 utilizzando il bascomavr?
grazie

Re: Lettura di 5 SRF-05 con bascom

PostPosted: 25 Aug 2012, 21:19
by deluca
intanto prova a dare uno sguardo a questo link che spiega come collegare il modulino SRF05 ad un micro nelle 2 modalità ad un filo e a due fili.
http://www.robot-electronics.co.uk/htm/srf05tech.htm

se lo interfacci nella modalità ad un filo per 5 srf05 sfrutterai solo 5 pin del tuo micro.

Questa modalità utilizza un pin unico per entrambi i segnali di trigger e Echo, ed è pensata per risparmiare appunto pin in un micro.
Per usare questa modalità, devi collegare il pin MODE a massa. Il segnale di echo viene presentato sullo stesso pin del segnale di trigger.
Per gestire questa modalità puoi utilizzare facilmente i comandi PULSEOUT e PULSEIN del bascom.

Per evitare riflessioni multiple che possono falsare la misura di distanza ti consiglio di attivare un sensore alla volta.... solo uno alla volta deve trasmettere e ricevere. Alla fine sposta il controllo sul successivo... e così via.

Se vuoi saperne di più puo scaricare una presentazione del mio corso riguardo l'interfacciamento dei sensori con i micro avr di atmel
http://www.delucagiovanni.com/files/08_ ... ensori.pdf

qui un altro documento con sorgenti in bascom
http://www.robotikhardware.de/download/srf05doku.pdf

ciao

Re: Lettura di 5 SRF-05 con bascom

PostPosted: 26 Aug 2012, 14:51
by Fagos
deluca, grazie per le indicazioni.

ma sto cercando di capire quanto da te spiegato.
io sto usando una schedina con atmega16 tu dici che dovrei usare 5 pin di una porta per pilotare i 5 srf05 ? giusto?

e quindi in un loop dovrei generare impulsi con pulseout su un pin e poi leggere la durata con pulsein ?
e questo per ognuno dei 5 pin , ok
ma la risoluzione mi sembra bassa solo 10uSec in un range 0-65535, esiste un modo per migliorarla?

Re: Lettura di 5 SRF-05 con bascom

PostPosted: 26 Aug 2012, 22:40
by trilogy
la cosa interessa pure a me,
perchè anche io voglio mettere dei sensori di distanza sul mio robot...
ma come mai ne stai mettendo 5, uno messo davanti non sarebbe sufficiente magari montato su un servo?
mi potete spiegare il perchè e quali i vantaggi?

Re: Lettura di 5 SRF-05 con bascom

PostPosted: 27 Aug 2012, 14:32
by deluca
considerando che il lobo di emissione di questi sonar è circa 30 gradi per coprire un range di 180° dovresti effettuare almeno 7 posizionamenti del servo nel caso in cui tu utilizzassi un solo sonar. cioè dovresti fare una lettura a 270, 300, 330, 0, 30, 60, 90°.
Chiaramente il dover fare uno spostamento, poi una attesa e una lettura per ogni posizione aumenta di gran lunga il tempo per effettuare uno scanner completo sull'angolo di 180° anteriore al robot.

Con 7 sonar posti sul semicerchio anteriore del tuo robot il tempo di acquisizione si ridurebbe sensibilmente poichè non dovresti spostare il solo sonar a tua disposizione. in genere nei robot professionali vengono montati molti sonar attorno al perimetro della struttura del robot in modo da avere una veloce lettura delle distanza e una interpolazione dei dati senza muovere nulla.

con 5 sonar puoi ottenere anche ottimi risultati interpolando i dati ricevuti.

se la tasca non lo permette ti accontenterai di un solo sonar montato su un servo magari con un movimento veloce.

Re: Lettura di 5 SRF-05 con bascom

PostPosted: 31 Aug 2012, 19:53
by trilogy
io per adesso posso permettermi un solo sensore SRF-05.

quale sarebbe il metodo più semplice per leggere con il bascom la distanza?
posso usare pulsein o esistono altre istruzioni alternative?

ancora una cosa, è meglio usare il modo a un filo o è meglio quello a 2 fili.

ciao e grazie

Re: Lettura di 5 SRF-05 con bascom

PostPosted: 04 Sep 2012, 08:50
by deluca
il metodo più semplice è proprio quello di misurare la durata e quindi la distanza dall'echo usando gli stataments
PULSEOUT e PULSEIN e visto che forse vuoi risparmiare pin usa il metodo ad un filo.

per aumentare la risoluzione di pulsein e quindi la risoluzione della distanza, potesti modificare la libreria assembly, ma per adesso non toccarla..
magari te lo spiego in un secondo tempo....
ciao