Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

14
voti

LO HAI MAI REALIZZATO CON UN PIC? P.S.R.F. - Project of a Simple Robot line Follower: sensors bar (parte 2)

Il robot presentato nella prima puntata è un line follower, pertanto affinché si comporti come tale deve essere dotato di un sensore adatto allo scopo. Indentificare (e seguire) una linea significa creare un percorso, sul quale far scorrere il sensore, dove tra il fondo del terreno e la linea si crei un forte contrasto. Per questo motivo la scelta ricade spesso (sempre?) su linee bianche su pavimenti neri o linee nere su pavimenti bianchi. L'importante è riuscire a creare un percorso con un netto contrasto, così da riuscire ad essere sicuri che la linea non sfugga...


Indice

Il sensore

La scelta del sensore è stata dettata da alcune caratteristiche tra le quali quelle meccaniche. Dopo essermi confrontato con la letteratura ho optato per il CNY70, costituito da un foto emettitore ed un foto rilevatore a infrarosso, incapsulati in un contenitore parallelipepdo. Un grosso vantaggio, insomma: è tutto a disposizione in uno spazio, tutto sommato, veramente ridotto. Inoltre la disposizione dei pin agevola anche l'utilizzo di una millefori.

Questo tipo di sensori ha una sensibilità buona quando la distanza rispetto al piano di lavoro è compresa nell'intervallo [0, 5] mm. Ciò implica che i sensori "leggono bene" se strisciano sul piano. Per ovvie ragioni, non è possibile mettere i sensori a contatto con il piano del terreno, pertanto è indispensabile mantenerli sollevati ma ad una distanza la più bassa possibile.

Per finire, il costo. Il CNY70 non ha un prezzo proibitivo, soprattutto se si considera il fatto che è un sensore inscatolato e con una piedinatura comoda per la saldatura anche su piastra millefori.

Figura 1. Il sensore a infrarosso CNY70 (Vishay)

Figura 1. Il sensore a infrarosso CNY70 (Vishay)

Il circuito

Lo schema è quello che si vede in figura, ed è molto semplice. È costituito da 8 moduli identici: una resistenza limitatrice della corrente per il fotodiodo ed una resistenza di pull-up per il segnale dell'emettitore. Oltre agli 8 segnali, alla scheda giunge anche l'alimentazione, a 5V, direttamente fornita dalla scheda madre.


Figura 2 - Schema di collegamento di CNY70 alla porta PORTD di Pierin PIC18

Per il prototipo ho pensato di impiegare delle resistenze SMD al fine di ridurre le dimensioni della scheda, dimensioni in parte "imposte" dalla batteria di sensori, affiancati uno all'altro. Tramite una pin strip i segnali sono poi portati alla scheda madre.

Cura ed attenzione vanno adottate per il montaggio dei sensori. Un disallineamento sul piano verticale compromette senza ombra di dubbio il funzionamento della barra. Ad ognuno il metodo che si preferisce, io ho adottato il seguente: dopo aver montato la sezione SMD, ho inserito tutti i sensori prestando attenzione all'orientamento. Prima di procedere con la saldatura ho inserito sotto alla fila di sensori un piccolo cavo a sezione 0.35mm2. Con qualche manovra, aiutandomi con una morsa, ho poi bloccato il pacchetto dei sensori in posizione ed ho saldato il tutto. Al termine, ho sfilato il cavetto che fungeva da distanziale.

Figura 3. Il prototipo montato.

Figura 3. Il prototipo montato.

Come funziona

Il funzionamento della barra a sensori è semplice: quando il sensore si trova ad illuminare una superficie bianca il segnale logico presente sull'emettitore è un segnale logico alto. Il segnale diventa basso quando il sensore illumina una linea nera.

Figura 4. I segnali provenienti dai sensori sono tutti "bassi": il pavimento è bianco.

Figura 4. I segnali provenienti dai sensori sono tutti "bassi": il pavimento è bianco.

Figura 5. I segnali provenienti dai sensori sono tutti "alti": il pavimento è nero.

Figura 5. I segnali provenienti dai sensori sono tutti "alti": il pavimento è nero.

Figura 6. Alcuni segnali provenienti dai sensori sono "alti", alti sono "bassi"

Figura 6. Alcuni segnali provenienti dai sensori sono "alti", alti sono "bassi"

La scheda ed il PIERIN

Come detto, i segnali degli otto sensori sono portati dalla scheda dei sensori alla scheda madre del robot, fino a giungere alla PORTD di Pierin PIC18.

Per come è realizzato il Pierin e per le esigenze di PSRF è necessario modificare parzialmente la scheda Pierin PIC18. In particolare, osservando lo schema di Pierin PIC18 si nota che su PORTD sono connessi i pulsanti P0 e P1 ed anche i LED1 e LED2. È pertanto necessario escludere le connessioni di pulsanti e LED, per permettere il corretto funzionamento della barra a sensori.

Figura 7. Le resistenze R2, R3, R5, R7 sullo schema di Pierin PIC18

Figura 7. Le resistenze R2, R3, R5, R7 sullo schema di Pierin PIC18

Figura 8. Le resistenze R2, R3, R5, R7 sulla scheda di Pierin PIC18 prima di essere rimosse

Figura 8. Le resistenze R2, R3, R5, R7 sulla scheda di Pierin PIC18 prima di essere rimosse

Figura 9. Le resistenze R2, R3, R5, R7 sulla scheda di Pierin PIC18 dopo essere state rimosse

Figura 9. Le resistenze R2, R3, R5, R7 sulla scheda di Pierin PIC18 dopo essere state rimosse

Il montaggio meccanico

Ho realizzato una semplice piastra in legno compensato da 5 mm di spessore; in alternativa è possibile impiegare anche del PVC o dell'ABS. L'importante è che la struttura non vada a gravare con massa "inutile". La piastra da un lato sostiene la scheda, dall'altro è dotata di foratura con passo corrispondente a quello della piastra di base del robot, così da poterla fissare direttamente sul muso del robot. L'uso di distanziali e spessori adatti permette di regolare a piacimento l'altezza dei sensori rispetto al piano del pavimento.

Figura 10. Assemblaggio meccanico della scheda sulla piastra con i distanziali

Figura 10. Assemblaggio meccanico della scheda sulla piastra con i distanziali

In conclusione

Ci si potrebbe chiedere quale motivo mi abbia suggerito di adottare 8 sensori, quando probabilmente con 4 o 6 si poteva ugualmente realizzare una barra sensori più piccola e meno costosa. Leggendo qua e là, ho notato che spesso chi si cimenta in questo tipo di robot impiega una barra sufficientemente ricca di sensori, questo per varie ragioni tra le quali quella di poter ridurre l'incertezza della identificazione della linea a terra. Inoltre 8 sono proprio i pin di PORTD del Pierin PIC18 e questo agevola e non poco il firmware.

Infine: la modifica alla scheda fa perdere di funzionalità al bootloader che va attivato in altro modo. Per questo problema sto valutando come procedere.

File di progetto

La barra, come detto, è facilmente realizzabile anche con una piastra millefori. Chi volesse invece adottare la soluzione a circuito stampato, può scaricare qui i file PDF di schema e PCB.

Licenza

Questo articolo e gli schemi/PCB pubblicati rientrano nell'ambito della licenza CREATIVE COMMONS BY-NC-ND 3.0, secondo quanto indicato nelle note legali qui riportate.

Licenza Creative Commons

Licenza Creative Commons

Sintesi delle note legali (italiano)

Note legali (italiano)

Legal code (international)

Commons deed (international)

Riferimenti

10

Commenti e note

Inserisci un commento

di ,

Grazie, Marco!

Rispondi

di ,

Come al solito molto interessante Paolo!!

Rispondi

di ,

Grazie a tutti. @badilant: La larghezza della linea dipenderà in buona parte dal nastro adesivo che avrò a disposizione :-) A parte gli scherzi, l'obiettivo è di avere una linea adatta agli scopi. Anch'io sono curioso di vedere come sarà il controllo :-)

Rispondi

di ,

ottimo Paolo...

Rispondi

di ,

Ottimo, ben fatto ed interessante articolo, come sempre del resto. Bravo Paolino. ;)

Rispondi

di ,

Bravo Paolo; come dice Carlo attendiamo il proseguimento.

Rispondi

di ,

scusate vole o dire che la linea, sarà di larcgehzza non minore. del' interase tra DUE fotoricevitori.

Rispondi

di ,

Ottimo articolo, la collana che ne scaturira' promete bene. Solo una piccola precisazione, la larghezza dall linea deve essere non magiore dell' interasse tra due fotoricevitori, secondo esperienze che feci in passato con linee magnetiche. Sono curioso di vedere il codice della correzione di traiettoria. buon lavoro.

Rispondi

di ,

Ottimo articolo, bravo! :)

Rispondi

di ,

Ben fatto Paolo, come sempre preciso e puntuale. Ora però aspettiamo il seguito :-)

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.