MINIROBOT EDDY

   

Allo stato attuale, EDDY funziona perfettamente con i suoi sensibilissimi sensori a IR per la navigazione, due sensori di superficie, un bumper centrale (molto utile per evitare le gambe dei tavoli e delle sedie), più due sensori di luce che immobilizzano il robot quando si trova in  un'area ben illuminata. Il pannello solare per la ricarica della batteria NiCd è in allestimento. 

Una volta messo in una stanza, anche se deve fare alcuni tentativi per evitare gli ostacoli o uscire dagli angoli, EDDY trova sempre l'uscita. Se lo lascio girare liberamente per casa, quando non lo sento più muoversi è perché si è trovato "un posto al sole", ben illuminato!

    

DESCRIZIONE
  • il robot si muove liberamente
  • evita gli ostacoli 
  • evita precipizi e gradini
  • il robot si mette in stand-by quando la luminosità supera un valore prefissato
  • il robot si spegne quando la luce ambientale scende sotto un valore prefissato
Ecco le parti che compongono EDDY :
   

 

    

         

    
ALIMENTAZIONE
  • pannello solare : in condizioni di luce normale carica la batteria 
  • caricabatteria : un generatore di corrente costante fornisce la corrente per la ricarica
  • batterie ricaricabili NiCd : sono state utilizzate delle batterie ricaricabili al Nichel Cadmio di uso comune
  • controllo luminosità : il circuito disconnette il robot quando la luce ambientale scende sotto un valore prefissato; serve a preservare la carica della batteria quando il pannello solare non è in grado di caricarla
  • controllo batteria scarica : questo circuito di protezione disconnette la batteria quando la tensione scende sotto i 5V
  • regolatore di tensione : fornisce +5V per i circuiti
LM317 (regolatore di corrente del caricabatteria) fototransistor del controllo luminosità MAX603 (regolatore di tensione +5V)
      
Sull'integrato MAX8212 vedi qui

NOTA IMPORTANTE SUL CONTROLLO DI BATTERY LOW: ho notato che quando la batteria sta per scaricarsi, il robot tende a funzionare "a scatti", accendendosi e spegnendosi continuamente. Questo è dovuto al fatto che quando l'8212 disconnette il carico, la tensione ai capi della batteria sale e di conseguenza l'integrato riconnette la batteria al carico. Questo però provoca una caduta di tensione ai capi della batteria e quindi l'8212 la disconnette di nuovo dal carico... e così via.

Per risolvere il problema, si può provare a sostituire il circuito con quello che trovate qui: http://www.maxim-ic.com/appnotes.cfm/appnote_number/926

Quando la tensione sul carico (Load) raggiunge il valore stabilito Vtrip, la batteria viene scollegata. Si noti che questo circuito deve essere resettato manualmente, cioè la batteria rimane disconnessa dal carico sinché non viene premuto il pulsante reset. L'uscita al pin 2 può essere utilizzata per una eventuale segnalazione di Battery Low.

    
SENSORE DI SUPERFICIE ("FLOOR SENSOR")
  • un sensore a riflessione svolge la funzione di proteggere il robot da eventuali dislivelli, gradini, ecc.
  • sono stati impiegati due sensori Fairchild QRB1134, sostituibili con altri tipi (ad es. Fairchild QRD1114)
SENSORE DI PROSSIMITÀ 
  • sensori a IR proteggono il robot da ostacoli laterali
  • come elementi riceventi sono stati usati i moduli PNA4602
  • l'oscillatore a 38KHz è stato realizzato con un 555 in configurazione astabile
  • il segnale è quindi inviato a due transistor che pilotano i relativi IR-LED
  

PNA4602 (modulo ricevente IR) e oscillatore 38KHz (NE555)

   
Sensore di prossimità IR (cilindro grigio) e sensore di luce (cilindro nero)

      
SENSORE FRONTALE (BUMPER)
  • un semplice "bumper", realizzato con un interruttore fine-corsa su cui è stato montato un tubo di gomma, protegge il robot da ostacoli centrali
SENSORE DI VOCE (VOX)
  • è costituito da due microfoni amplificati. Il segnale sonoro attiva i motori e tutto il sistema protettivo (sensori). Il robot è attivo solo quando percepisce qualche suono, voce o rumore

    
Il primo prototipo di sensore audio (LM324)

INTERFACCIA SENSORI
  • tutti i sensori sono collegati a una porta logica. Il robot senza il circuito VOX si comporta come un rover.
  • una serie di diodi LED (opzionale) visualizza lo stato dei sensori (LED acceso = sensore attivato). In alternativa a singoli diodi LED è possibile usare una striscia di LED (tipo VU meter).
  • il circuito successivo introduce un ritardo nel segnale del sensore, ottenendo l'effetto di allontanare il robot dall'ostacolo intercettato. Cambiare il valore della resistenza o del condensatore elettrolitico in base al ritardo che si vuole ottenere.
  • NOTA: prove pratiche di navigazione effettuate con Eddy consigliano di utilizzare il ritardo SOLO per i sensori di superficie e per il bumper. Il circuito va inserito tra l'uscita del sensore e l'ingresso dell'interfaccia sensori (vedi connettore J1).

 

Interfaccia. Su J1 vanno collegati i sensori (superficie, prossimità, bumper). Circuito di ritardo

 

   

FUNZIONAMENTO DELL'INTERFACCIA SENSORI

Il robot monta 3 diversi tipi di sensori per la navigazione: superficie (2 sensori), prossimità (2 sensori) e bumper (1 sensore). 

I sensori di superficie e di prossimità influenzano il motore opposto (cioè il sensore Dx influenza il motore Sx e viceversa). Il bumper centrale influenza contemporaneamnete entrambi i motori e quindi, di fatto, provoca la retromarcia del robot. 

I 5 fili che fanno capo ai sensori devono essere interfacciati al ponte H che ha due sole entrate (destra e sinistra), mantenendo i livelli logici e garantendo che tutti i sensori influiscano in modo adeguato sullo stato dei motori.

Tutti i sensori sono ACTIVE LOW, cioè quando sono attivati danno in uscita un livello logico 0, mentre danno un livello logico 1 quando sono "a riposo".

Durante la navigazione il sensore di superficie fornisce in uscita un livello logico 0 (in quanto segnala la presenza della superficie di navigazione) e passa a livello logico 1 quando si attiva (cioè quando segnala la mancanza della superficie di navigazione). Di questo va tenuto conto quando si considerano i livelli logici da inviare all'interfaccia. 

Quindi, in condizioni di marcia normale avremo:

Condizione di marcia normale
nessun ostacolo laterale o frontale
superficie di navigazione presente
stato
logico
floor sensor Dx 0
sensore di prossimità Dx 1
bumper centrale 1
sensore di prossimità Sx 1
floor sensor Sx 0

L'interfaccia è realizzata con quattro XOR (CD4070) e un inverter (CD40106). La configurazione adottata fa sì che ad ogni cambiamento di stato logico dei sensori corrisponda un cambiamento di condizione del motore (avanti - indietro).

  
H-BRIDGE
  • comanda i due motori che vengono alimentati direttamente dalla batteria; 
  • il terminale ENABLE è collegato con il sensore audio e quindi il robot rimane immobile quando non ci sono suoni 

Ponte H (L293D)
     

1 = enable A

  9 = enable B

2 – 7 = input A

10 – 15 = input B

3 – 6 = motore A

11 – 14 = motore B

8 = alimentazione motori

16 = alimentazione +5V

4 - 5 = GND 12 - 13 = GND

           

Chi non vuole montare i sensori microfonici, può aggiungere due altri "occhi" per far muovere il robot verso la luce (fototropismo positivo). Una volta raggiunto un posto ben luminoso, Eddy si ferma e ricarica la sua batteria attraverso il pannello solare. Quando la luce diminuisce, Eddy si sposta per cercare un luogo più luminoso.

Il circuito è molto semplice. Sapendo che se forniamo al piedino inhibit del ponte H (L293D) una tensione minore di 1,5V il motore si ferma, è sufficiente creare un partitore di tensione con una LDR e un trimmer:

Per la taratura, mettete Eddy in un posto ben luminoso. Poi provate a "fare ombra" al robot e tarate i trimmer sino a far azionare i motori.

Una variazione consiste nell'azionare i motori quando il pannello solare fornisce una tensione insufficiente a caricare la batteria (nel mio caso <7,2V + Vdiodo).

Se questo circuitino vi sembra troppo semplice, potete sempre costruire qualcosa di più complesso, per esempio con degli operazionali.

L'importante è che il sensore fornisca un livello logico 1 quando la luce è insufficiente.


          

RetourMain Page