Sensori di distanza/prossimità ed arduino

Salve,
Per un mio progetto avrei bisogno di un sensore che abbia le seguenti caratteristiche:
1.Linea retta tipo quella di un laser per intenderci
2.Possibilità di poterne mettere 6 a circa 1 cm di distanza(quindi niente ultrasuoni)
3.Possibilità di leggere a che distanza viene interotto il fascio
Scusate se sono cosi pignolo ma vorrei essere preciso,per farvi capire bene di cosa avrei bisogno
Sensore
<SE>
|
|
|
|
Flusso > |
|
|
|
<FI>

a me serve sapere dove viene interrotto il flusso a 5cm/10cm/20cm dal sensore etc.
spero di essere stato chiaro :open_mouth:

credo che l'unica siano gli infrarossi "intubati", con distanza e precisione ci siamo, resta il problema dell'angolo visivo del TSSOP, se racchiudi tx e rx in due tubicini che si fronteggiano è fatta.

ok ne ho un bel po di led ir e di ricevitori, quindi mi basterebbe intubarli e metterli in linea retta,ma con gli ir riesco anche a capire dove si è interrotto il fascio?
ps una curiosità se applico un analogread ad un diodo laser cosa leggo quando interrompo il fascio?

Madwriter:

[quote author=Michele Menniti link=topic=114596.msg862304#msg862304 date=1342514318]
credo che l'unica siano gli infrarossi "intubati", con distanza e precisione ci siamo, resta il problema dell'angolo visivo del TSSOP, se racchiudi tx e rx in due tubicini che si fronteggiano è fatta.

ok ne ho un bel po di led ir e di ricevitori, quindi mi basterebbe intubarli e metterli in linea retta,ma con gli ir riesco anche a capire dove si è interrotto il fascio?
[/quote]
no, lavorano on/off

ps una curiosità se applico un analogread ad un diodo laser cosa leggo quando interrompo il fascio?

un diodo laser dovrebbe essere trasmittente, ma non ne so nulla, se ti riferisci ad un ricevitore, comunque sia l'interruzione è sempre ti tipo on/off.
Se vuoi misurare dovresti farli lavorare tipo ultrasuoni, NON interrompendo il fascio bensì accorciandone la durata, ma non saprei dirti come misurarla. In pratica penso ai sensori infrarossi fatti a coppie parallele, proprio come gli ultrasuoni.

capisco,capisco.
Purtroppo non e on/off che mi interessa sto trovando qualcosina dal progetto arpa laser!

Anyone who has played with a touchless D-Beam control on a Roland synthesizer will recognize these sensors immediately. The GP2D12/GP2D120 range sensors fire a pulse of IR light and measure distance by triangulating on the reflection.

For musical applications, I’ve found that the output from these sensors can be noisy, due to the constantly flashing IR drawing a lot of current every 40ms. You can smooth the output by connecting a capacitor between voltage (pin 3) and ground (pin 2); I used some 300?F tantalum caps.

You can also filter the signal with a dedicated filter circuit (see schematic online), or in the software, by averaging consecutive readings and using the average value.

quindi teoricamente è possibile!
http://www.trossenrobotics.com/sharp-ir-distance-sensor-gp2d12.aspx?feed=Froogle
13 dollari a sensore,ma non sono solo led ir mi sembra esagerato :open_mouth:
mi sembrano molto simili ai TCRT5000 no?

@ Madwriter

Ciao vedo che il disegno lo hai ben conservato.... :grin:
Purtroppo per fare quel discorso la soluzione ottimale era l'ultrasuono ma vista la vicinanza delle capsule non è fattibile, con il discorso dell'arpa bisognerebbe approfondire bene......

Il sensore del link è la soluzione ottimale ma costa un po.........puoi arrivare allo stesso risultato usando un diodo emettitore ed un fototransistor ma devi farti un circuitino di amplificazione del segnale ricevuto ed un filtro per eliminare la ''luce ambiente'' che anche se rilevata in piccola quantità dopo l'amplificazione da fastidio........serve un op amp qualche R e condensatore....spendi meno ma devi fare tutto a te la scelta :roll_eyes:
Il GP2D120 da futura costa 18 euro e va da 4 a 30cm
Ciao

tonid:
@ Madwriter

Ciao vedo che il disegno lo hai ben conservato.... :grin:
Purtroppo per fare quel discorso la soluzione ottimale era l'ultrasuono ma vista la vicinanza delle capsule non è fattibile, con il discorso dell'arpa bisognerebbe approfondire bene......

ovvio che l'ho tenuto conservato :smiley: mi sa che 12$ sono meno di 18 euro :smiley: però non vorrei spendere 60 euro sai com'è :smiley: mmm hai qualche link progetto o cose simili alla costruzione di quel tipo di sensore?

ovvio che l'ho tenuto conservato mi sa che 12$ sono meno di 18 euro però non vorrei spendere 60 euro sai com'è mmm hai qualche link progetto o cose simili alla costruzione di quel tipo di sensore?

Link non ne ho da darti,provo a fare qualche ricerca se trovo qualcosa di pronto all'uso altrimenti si può mettere giù qualcosa.......sono in linea con te per i 60 euro ,sono tantini.......al di là della felicità che il proprio portafogli possa sfoggiare restano tanti. 8)

poi diciamoci la verità non tutti i progetti li portiamo avanti fino alla fine e investire 60euro cosi non mi smbra il caso :grin:
ps dannata sharp che diventa ricca con i suoi sensori,li usano tutti :fearful:
tranne questo tizio(che apprezzo tanto)
http://tetalab.org/blog/23
se qualcuno mi aiuta a capire se è una soluzione valida e come realizzarla gle ne sarei grato :smiley:

Ho trovato qualcosa http://www.webalice.it/crapellavittorio/esami/matu04.htm
potrebbe fare al caso tuo dopo alcune modifiche.
In questo schema viene usato un diodo ricevitore,un amplificatore con guadagno 1001 e un raddrizzatore con un condensatore ed infine un transistor che a te non serve ......La parte più difficile è quella che deve rendere leggibile ad arduino (ADC) il valore di tensione di uscita (sul condensatore) a livelli compresi tra 0/5 volt. Quì io inizierei con delle prove su breadboard ed in base ai risultati si cambiano valori di guadagno ecc..
Per lo stadio trasmettitore puoi usare un ne555 oppure un oscillatore con cd40106 (che secondo me è meglio) http://www.getlofi.com/?p=2931 ....è meglio perchè, vista la vicinanza dei sensori potrebbero darsi fastidio uno con l'altro e potrebbe essere necessario che ogni sensore lavori ad una frequenza diversa dall'altro,usando un cd 40106 hai all'interno 6 inverter che con 6 R e 6 C ti danno 6 oscillatori, quest'ultimi prima di andare ai 6 led emettitori ir devono passare per altri 6 inverter .
Per fare 6 sensori completi ti servono 2 cd40106,6 lm358 oltre alle R e ai C.........
Questa potrebbe essere una strada percorribile,sicuramente non semplice ma il concetto utilizzato in quei sensori è pressappoco questo.
Avevo fatto uno schema ad hoc per una pulsantiera simil touch sotto vetro usando proprio il riflesso degli ir ma il pc mi era andato a p.... ed ho perso tutti gli schemi che avevo fatto........però avevo usato questo concetto e funzionava bene....

tonid:
Ho trovato qualcosa http://www.webalice.it/crapellavittorio/esami/matu04.htm
potrebbe fare al caso tuo dopo alcune modifiche.
In questo schema viene usato un diodo ricevitore,un amplificatore con guadagno 1001 e un raddrizzatore con un condensatore ed infine un transistor che a te non serve ......La parte più difficile è quella che deve rendere leggibile ad arduino (ADC) il valore di tensione di uscita (sul condensatore) a livelli compresi tra 0/5 volt. Quì io inizierei con delle prove su breadboard ed in base ai risultati si cambiano valori di guadagno ecc..
Per lo stadio trasmettitore puoi usare un ne555 oppure un oscillatore con cd40106 (che secondo me è meglio) http://www.getlofi.com/?p=2931 ....è meglio perchè, vista la vicinanza dei sensori potrebbero darsi fastidio uno con l'altro e potrebbe essere necessario che ogni sensore lavori ad una frequenza diversa dall'altro,usando un cd 40106 hai all'interno 6 inverter che con 6 R e 6 C ti danno 6 oscillatori, quest'ultimi prima di andare ai 6 led emettitori ir devono passare per altri 6 inverter .
Per fare 6 sensori completi ti servono 2 cd40106,6 lm358 oltre alle R e ai C.........
Questa potrebbe essere una strada percorribile,sicuramente non semplice ma il concetto utilizzato in quei sensori è pressappoco questo.
Avevo fatto uno schema ad hoc per una pulsantiera simil touch sotto vetro usando proprio il riflesso degli ir ma il pc mi era andato a p.... ed ho perso tutti gli schemi che avevo fatto........però avevo usato questo concetto e funzionava bene....

non credi che questo tizio semplifichi un pò le cose?
http://tetalab.org/blog/23

L'ho letto ma sinceramente non ho capito se misura la distanza dal led dentro il cartone rispetto alla breadboard o che altro ??
E' il mio inglese che non mi aiuta....tu hai capito ?

Ciao,
dai un'occhiata qui:

gioblu aveva elaborato un algoritmo chiamato erer che permette di utilizzare 2 led ir per determinare la distanza di un ostacolo.
E' abbastanza direzionale.

Riesumo un attimo il mio topic perchè non riesco a venirne proprio a capo anche se mi sembra davvero strano che non si trovi niente,esisto i snesori sharp è vero ma sono enormi,esistono gli ultrasuoni ma 5 nella stessa direzione non vanno affatto bene.
mi servirebbe un sensore grande circa 2cm max 2,5cm
avevo pensato se intubo un led ir(cosi mi diventa molto direzionale) e dall'altra parte ci metto un ricevitore(sempre intubato) sono ovviamente entrambi in linea retta,se interrompo il raggio me ne accorgo ma non riesco a capire se c'è un modo per capire in che punto si è interrotto,niente non mi viene in mento proprio niente,la triangolazione mi sembra eccessiva e irrealizabile in 2cm.
Ecco la domanda(oltre alla richiesta di aiuto iniziale ovviamente :smiley: ) esiste un modo per capire a che punto si interrompe un raggio IR?le livelle laser che misurano anche la distanza come fanno sensore(domanda stupida sicuramente un sensore sharp a infrarossi,visto che comunque sono grosse),cioè credo ci sia modo non cambia niente in una lettura analogica di un diodo laser o di un led ir quando il raggio viene interrotto?(purtroppo non posso fare prove empiriche in questi giorni)
altrimenti esistono celle ultrasoniche piu piccole?ovvero accoppiata ricevente/trasmittente 2cm?o anche meno possibilmente?

Ciao ,io sono sempre dell'idea che se ti serve avere una misura questa ovviamente deve essere attendibile e quindi o ricorri ad un modulo o l'alternativa è farselo........ed il bello è che lo fai secondo le tue necessità.
Ho trovato un link che ti fa vedere quello che ti dicevo qualche post fa ma in maniera più semplice magari ti stuzzica l'ingegno
http://www.ilb2b.it/node/24952
Io come ti dicevo li avevo fatti e funzionavano bene ma mi è andato all'acido il computer ed ho perso tutto quello che avevo fatto ]:slight_smile:
altrimenti ti davo gli schemi .

Lo sforzo lo fai una volta e poi ti monti tutti i sensori che vuoi...

hai ragione ma per me lo schema è un pò ostico capiscimi :roll_eyes: vedrò quanto ci capisco e mi faccio la lista della spesa :smiley:

Guarda,in ferie non vado,di componenti ne ho un sacco, se vuoi ti do una mano volentieri a buttar giù uno schemino e provarlo su breadboard così puoi evitare di spendere soldi per componenti che magari poi non usi se la cosa non ti soddisfa,diversamente se la cosa ti soddisfa,compri e monti........A te che distanza massima e minima ti serviva misurare ? Immagino invece che interfacciandolo con arduino lo vorresti alimentare a 5v ,quindi si userà un opamp rail to rail . L'uscita del segnale verrebbe analogica e non digitale , questo non dovrebbe portarti problemi perchè la leggeresti con l'ADC interno dell 'ATmega ma visto che i sensori sono più di uno come pensavi di risolvere ?
Dando una risposta a queste domande si è già alla metà dell'opera......vedi tu se vuoi io ci sono....... :grin:
Ciao.

PS Magari ci aiuta anche qualcun'altro e riusciamo a fare qualcosa di utile per tutti pubblicando schemi e pcb...

Allora io ne devo mettere 6 vicini,vanno bene i 5v di arduino,distanza minima indifferente posso inscatolarlo quindi diciamo da 1 a max 10 cm distanza massima(questa è importante) intorno al metro anche un pò meno va benissimo :smiley:
vediamo anche io ho un pò di componenti ti elenco quelli che potrebberso servire:
TCRT5000 Infrared reflective proximity sensor
Mini Photocell
Universal IR receiver (HS0038) and IR LED transmitter
PC838 Integration Infrared Detector and Transceiver
mmm di amplificatori operazionali ne dovrei avere un paio.
buttiamo giù uno schemino? :smiley:

Ciao Mad,scusami per l'assenza ma sto finendo di dare il colore in casa...ne ho ancora per un paio di giorni ma nel frattempo ho riflettuto.

Userei il TCRT500 che è composto di led emettitore e fototransistor.

Pensavo però che per evitare ,come ti dicevo nei post precedenti, che i diversi sensori si possano disturbare tra loro sarebbe utile secondo me farli lavorare a frequenze diverse.
In realtà il led emitter si può alimentare in continua ma se hai i sensori vicini tra loro credo che anche se complichiamo un po le cose sia meglio appunto pilotarli con una frequenza ( ad esempio 1° sensore 2KHz , 2° sensore 4KHz e cosi via ) ad onda quadra che si può ottenere con un CD40106 ( porte not ) utilizzando questo schema http://richdecibels.com/blog/?p=11 calcolando R e C si imposta la frequenza (volendo si può mettere in serie alla R un trimmer per poter regolare la f ma lo valutiamo dopo ).
Fatta la parte del circuito che emette l'infrarosso ora vediamo come impostare la parte ricevente......
Il problema di led e fototransistor ricevitori è che non avendo filtri interni captano anche le frequenze della luce quindi se accendi la luce di casa ti darà un segnale pari al 50Hz ,anche se molto debole per noi è un problema perchè avendo bisogno di amplificare il segnale per riuscire a leggere distanze di diversi cm amplificheremo di conseguenza anche quelle f...
Detto questo significa che abbiamo bisogno di un filtro.....
Per la parte ricevente andrei in questo modo :
collegherei al fototransistor una R al suo emettitore in modo che quando inizia a condurre ( riceve una f) troviamo una tensione ai capi di questa ,
poi ci andiamo a collegare ad un filtro passa banda centrato sulla f del led emettitore in modo da eliminare tutte le f di disturbo e poi ad un amplificatore di "x" volte e dovremmo calcolarlo sulla base della distanza massima che vuoi misurare (essendo questa di un metro circa probabilmente useremo due amplificatori in cascata ) per avere un segnale piccolo ma leggibile ed anche sulla distanza minima in modo che non superi una "x" tensione (limitando l'uscita con uno zener ad esempio) dopo questo stadio dovremmo avere un'onda che varia in ampiezza in base alla distanza di riflessione.
Un'altro operazionale configurato come raddrizzatore ci renderà una tensione continua proporzionale alla riflessione.
Questa è la strada indicativa ...ora ritorno al colore ]:smiley: Appena ho tempo ti giro degli schemi su cui iniziare a lavorare....CIAO