[RISOLTO] Dubbio infrarossi

Ciao a tutti,
per un progetto che sto realizzando (banderuola segna-vento) ho la necessità di sapere la posizione di un albero rotante. Dato che meno attrito ha, meglio è, mi è venuto in mente di utilizzare gli infrarossi.
Prima di spendere soldi inutilmente vorrei chiedervi:
se io collego un fotodiodo ricevente (di quelli neri a due pin) ad un pin analogico di Arduino, leggerei un valore da 0 a 1023 proporzionale alla quantità di infrarossi (emessi da un diodo ir) che lo colpisce? Oppure ho detto una cavolata?
E la luce "normale" influenzerebbe questa lettura?

P.S. qualsiasi altra idea per ovviare agli infrarossi è ben accetta!
Grazie
Leo

Credo che quello che potresti realizzare sia un encoder ottico, una cosa come questa, con un disco solidale all'asse ed un encoder ottico a "U" (se ne trovano spesso nelle stampanti):

Le "tacche nere" saranno più o meno dense in base alla risoluzione che ti occorre (ossia hai calcolato quanti gradi per step?).

Non ha parti che strusciano, come chiedevi, ma ci sono due note da fare:

  1. Dato che l'asse non gira in un solo senso, il sensore ottico deve però essere doppio ossia rilevare anche la direzione di rotazione (per incrementare o diminuire il valore dei gradi equivalenti).

  2. Dato che vuoi la posizione assoluta, a te necessita un encoder assoluto (ossia che fornisca una posizione assoluta) questo invece è "relativo" ossia ti "conta" solo in avanti/indietro un valore, ti serve un qualcosa per calibrare la misura, ossia un riferimento. Oltre alle "tacche" nere ti serve una singola "tacca" per giro, anche questa da leggere con un altro sensore e che usi come riferimento per calibrare lo "zero"), una cosa di questo tipo:

Altrimenti mi spiace ma per ora non mi vengono in mente altre soluzioni che non richiedano contatto fisico (tranne dischi più complessi con codifica binaria della posizione).

Hai dato un occhiata a questo topic? Persone che ritengo ben ferrate sull'argomento hanno fornito un po' di idee

Innanzitutto grazie docdoc per avermi risposto,
in realtà avevo già valutato l'idea da te proposta però poi l'avevo scartata perchè erano sorte addirittura altre problematiche oltre a quelle che mi hai elencato. Credo quindi che opterò per altro.
Leo

LeoTer01:
in realtà avevo già valutato l'idea da te proposta però poi l'avevo scartata perchè erano sorte addirittura altre problematiche oltre a quelle che mi hai elencato. Credo quindi che opterò per altro.

Non so cosa intenda tu per "altro", se hai una soluzione possibile prova a descriverla qui e vediamo, sono anche io curioso...

fabpolli:
Hai dato un occhiata a questo topic?

Ho guardato anche io, ma se non ho capito male vengono indicati encoder come questo che però vanno resi solidali all'asse da misurare (per cui non è senza frizione, anche se relativamente poca, dicono) inoltre non è assoluto ma incrementale.

Poi c'è questo chip AS5600 che richiede il montaggio di un apposito magnete all'asse, ottima soluzione ma non so se sia per te possibile. Comunque QUI trovi un kit di esempio.

Resolver
Due bobine tra loro a 90 gradi
In mezzo una bobina rotante alimentata in alternata
Dai rapporti di tensione e fase delle due uscite hai l'angolo

dico la mia bijata delle 16:49:
e un magnetometro in bocca al gallo della banderuola? che ti dice l'angolo rispetto al nord?

Standardoil:
Resolver
Due bobine tra loro a 90 gradi
In mezzo una bobina rotante alimentata in alternata
Dai rapporti di tensione e fase delle due uscite nel l'angolo

La soluzione è ovviamente valida, ma il requisito (mi pare di aver capito) era di non usare nulla da mettere sull'asse per non appesantirla perché essendo una banderuola segnavento non deve avere inerzia rilevante. E tu mi ci vuoi mettere una bobina rotante alimentata in alternata? :wink:

maubarzi:
dico la mia bijata delle 16:49:
e un magnetometro in bocca al gallo della banderuola? che ti dice l'angolo rispetto al nord?

Il problema sono i fili che poi dovranno andare ad Arduino.

Standardoil:
Resolver
Due bobine tra loro a 90 gradi
In mezzo una bobina rotante alimentata in alternata
Dai rapporti di tensione e fase delle due uscite hai l'angolo

Come già detto credo che pesi parecchio, inoltre il tutto mi dovrà stare dentro una scatola di derivazione tonda da 80 di diametro.

docdoc:
Non so cosa intenda tu per “altro”, se hai una soluzione possibile prova a descriverla qui e vediamo, sono anche io curioso…

Ho guardato anche io, ma se non ho capito male vengono indicati encoder come questo che però vanno resi solidali all’asse da misurare (per cui non è senza frizione, anche se relativamente poca, dicono) inoltre non è assoluto ma incrementale.

Poi c’è questo chip AS5600 che richiede il montaggio di un apposito magnete all’asse, ottima soluzione ma non so se sia per te possibile. Comunque QUI trovi un kit di esempio.

A me era venuto in mente:
posizionare ai 4 poli (N,S,E,O) un diodo ir ricevente, montare invece solidale all’albero un diodo ir emettitore con un angolazione di emissione ben precisa (100°). In questo modo se il vento tirasse da nord avrei un valore alto sul diodo RX NORD, mentre tutti gli altri sarebero stati a 0. nel caso in cui invece il vento tirasse da nord-est, avrei un valore alto nei diodi RX NORD e RX EST, e così via per tutte le altre posizioni.
Il mio dubbio però era, visto che non li avevo mai usati, se quei diodi RX funzionassero così.
Premetto che non ho la minima idea se funzioni, attendo la vostra opinione!
In allegato trovate un disegno abbastanza brutto su come dovrebbe essere.
Leo

Ciao,

non ho letto tutti gli interventi…ma fare un disco con codifica gray in modo da sapere sempre dove sei anche al riavio di arduino?

bah, quando ero in $famosa ditta svedese che si è fusa con BBC$ i resolver erano piccolini, grosso modo il doppio di un potenziometro, forse ricordo male
e si possono fare anche senza connessioni tra rotore e statore, usando un rotore a riluttanza variabile, certo più sicuro e meno problematico che mettere diodi IR e pretendere di linearizzarne l'uscita
due bobine interne (fisse) a 90 gradi, affacciate a due bobine esterne (fisse), tra le due un rotore in materiale magnetico che ha una finestra di circa 90 gradi, ruotando il rotore cambia la (mutua) induzione tra le coppie di bobine
anche senza alimentarle esplicitamente, basta collegare un induttaznzimetro e misurare la variazione di induttanza tra le bobine affacciate e quelle non affacciate alla finestra
insomma, un minimo di fantasia
oppure una cosa molto "nuova": una coppia Tx Rx Ir a cavallo dell'albero, l'albero ha un taglio a "flauto" (inclinato) e gira in un manicotto a sua volta a flauto, quando i flauti sono allineati abbiamo la massima trasmissione di luce da una parte all'altra dell'albero, quando sono sovrapposti l'opposto
due serie di tagli così a 90 gradi tra di loro e due coppie TX RX, e abbiamo fatto, senza nessuna parte strisciante

LeoTer01:
posizionare ai 4 poli (N,S,E,O) un diodo ir ricevente, montare invece solidale all'albero un diodo ir emettitore con un angolazione di emissione ben precisa (100°). In questo modo se il vento tirasse da nord avrei un valore alto sul diodo RX NORD, mentre tutti gli altri sarebero stati a 0. nel caso in cui invece il vento tirasse da nord-est, avrei un valore alto nei diodi RX NORD e RX EST, e così via per tutte le altre posizioni.

Però ora stai parlando di un aspetto che ancora non avevi chiarito, ossia quale precisione (ossia risoluzione in step per giro) vuoi avere? Da questa tua descrizione sembra che ti siano sufficienti 8 posizioni (punti cardinali e relativi intermedi) quindi una approssimazione di 45 gradi, e questo cambia molto le cose.

Il mio dubbio però era, visto che non li avevo mai usati, se quei diodi RX funzionassero così.

Il disegno è abbastanza chiaro, il problema è che in genere i led hanno davanti una lente che non ha una grande apertura (tra l'altro potrebbe anche non servire quello che sembra uno "schermo" a 90 gradi) e non so se anche i ricevitori abbiano sufficiente ampiezza di campo. Inoltre sospetto anche che la curva del segnale rilevato da un sensore in base all'angolazione del led sull'asse sia lineare, ma se a te bastano le 8 posizioni, potrebbe forse essere sufficiente.

Secondo me (è quello che farei io in prima battuta) ti basta prendere una manciata di questi led IR e un paio di fotodiodi IR visto che costano su eBay pochi Euro, e sperimentare tu stesso con un prototipo (anche in scala se vuoi). E se vuoi aumentare la risoluzione potresti pensare ad 8 sensori..

Però resta il dubbio su come alimentare il LED da posizionare sull'asse...

Però ora stai parlando di un aspetto che ancora non avevi chiarito, ossia quale precisione (ossia risoluzione in step per giro) vuoi avere? Da questa tua descrizione sembra che ti siano sufficienti 8 posizioni (punti cardinali e relativi intermedi) quindi una approssimazione di 45 gradi, e questo cambia molto le cose.

Forse dovevo specificarlo, effettivamente a me basterebbe una sensibilità di 8 posizioni.

Però resta il dubbio su come alimentare il LED da posizionare sull'asse...

Per quello non c'è problema perchè l'albero è fissato con due cuscinetti a sfera quindi utilizzerei quelli come conduttori.

Leo

LeoTer01:
a me basterebbe una sensibilità di 8 posizioni.

Allora fai quelle prove sperimentali, teoricamente potresti anche mettere 8 sensori che ti eviterebbero anche di dover considerare l'ampiezza del fascio IR e della visuale del fotodiodo.

Per quello non c'è problema perchè l'albero è fissato con due cuscinetti a sfera quindi utilizzerei quelli come conduttori.

Ok quello è un contatto (e neanche è detto che sia affidabile, sicuro che il cuscinetto conduca sempre allo stesso modo, anche dopo una pioggia o altro ad esempio?). Ma ne servono due...

Standardoil:
bah, quando ero in famosa ditta svedese che si è fusa con BBC i resolver erano piccolini, grosso modo il doppio di un potenziometro, forse ricordo male
e si possono fare anche senza connessioni tra rotore e statore, usando un rotore a riluttanza variabile, certo più sicuro e meno problematico che mettere diodi IR e pretendere di linearizzarne l’uscita
due bobine interne (fisse) a 90 gradi, affacciate a due bobine esterne (fisse), tra le due un rotore in materiale magnetico che ha una finestra di circa 90 gradi, ruotando il rotore cambia la (mutua) induzione tra le coppie di bobine
anche senza alimentarle esplicitamente, basta collegare un induttaznzimetro e misurare la variazione di induttanza tra le bobine affacciate e quelle non affacciate alla finestra
insomma, un minimo di fantasia
oppure una cosa molto “nuova”: una coppia Tx Rx Ir a cavallo dell’albero, l’albero ha un taglio a “flauto” (inclinato) e gira in un manicotto a sua volta a flauto, quando i flauti sono allineati abbiamo la massima trasmissione di luce da una parte all’altra dell’albero, quando sono sovrapposti l’opposto
due serie di tagli così a 90 gradi tra di loro e due coppie TX RX, e abbiamo fatto, senza nessuna parte strisciante

Scarterei l’opzione delle bobine per vari motivi oltre che non avrei le conoscenze adeguate.
Invece mi incuriosice l’idea del taglio sull’albero ma non ho capito bene come dovrei fare il tutto, potresti farmi un disegno in modo che capisca meglio?
Grazie mille
Leo

Non so disegnare, è un semplice taglio storto...
A becco di flauto, sghembo, non saprei dire meglio
Ecco: storto come affettare il salame

Ok quello è un contatto (e neanche è detto che sia affidabile, sicuro che il cuscinetto conduca sempre allo stesso modo, anche dopo una pioggia o altro ad esempio?).

I due cuscinetti si trovano all’interno di una scatola stagna, è vero che la scatola è forata nella parte inferiore, però pioggia non ne entrerà di sicuro, quella che mi spaventa di più è l’umidità, forse a lungo andare mi potrebbe dare problemi.
Infatti ho chiesto chiarimenti relativi all’idea di Standardoil che da quello che ho capito mi eviterebbe anche di dover portare corrente all’albero.

Ma ne servono due…

Infatti i cuscinetti sono due e l’albero non conduce.

Leo

Per carità lascia stare di fare contatti coi cuscinetti

Per sole 8 posizioni metti un magnete leggermente eccentrico alla base dell'albero e intorno 8 ampolle reed