Robot Elettronica

tutte le informazioni per costruire i tuoi robot

Questo sito utilizza cookie per funzionare al meglio. Per maggiori informazioni qui

Moduli RF economici

Moduli RF 433Mhz Ricevente e Trasmittente

Nella creazione di robot ci si imbatte molto spesso nel problema del comando a distanza. In questa pagina cercheremo di trovare una soluzione economica per implementare funzioni base di controllo a distanza con l'utilizzo di moduli a radiofrequenza.

Esiste anche la possibilità di trasmettere dati tramite i raggi infrarossi (come i telecomandi delle tv), ma molto spesso, quando è presente tanta luce ambientale, la trasmissione del segnale risulta difficoltosa e poco affidabile.

I moduli che andremo ad analizzare sono quelli economici che generalmente utilizzano frequenze portanti di 315MHz e 433MHz, con tipologia di ingresso dati in seriale TTL.
Si tratta di moduli unidirezionali, per cui non c'è modo di ottenere un feedback di ritorno in caso di segnale ricevuto, ma dato il loro basso prezzo è un compromesso accettabile. Non richiedono di componenti elettronici esterni, al più una antenna a filo. La lunghezza del filo dell'altezza varia in funzione del tipo di frequenza utilizzata dal modulo. Normalmente, per la ricezione ottimale si consiglia una lunghezza di 23cm a 315MHz e 17cm a 433MHz e suoi multipli.

Il collegamento con un microprocessore è molto semplice, basta collegare i rispettivi pin d'uscita ed ingresso del microprocessore con i rispettivi pin d'ingresso della trasmittente e d'uscita per la ricevente. Nell'immagine di seguito è spiegato un tipico collegamento tra microchip picaxe e moduli RF.

schema di collegamento

Codice di programmazione con Picaxe

Questi moduli, se non sono in ricezione di una qualche trasmissione, sono molto sensibili ai disturbi esterni. Questo significa che, la ricevente continuerà ad inviare in serie di dati random al processore fino a che non inizia una nuova trasmissione. L'inconveniente è che all'inizio di questa trasmissione il microchip stia ancora ricevendo dati "sporchi" per chi perde l'inizio della comunicazione, e quindi con conseguente errore nella ricezione dei dati che gli erano stati inviati.

Per ottenere trasmissioni migliori ed evitare di perdere i dati si utilizza qualche "trucchetto" nel codice di programmazione:

Picaxe 08m2 + Trasmittente

inizio:

pause 100
setfreq m4  
'imposta frequenza a 4 MHz

symbol contatore=b0  
'chiamo la variabile b0 contatore


main:

for contatore=0 to 255

serout c.0,T2400_4,(0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55)
'sincronizza la ricevente alla ricezione dei dati successivi, riduce notevolmente la perdita di dati!

pause 4
serout c.0,T2400_4,("abc",contatore)
'invia i dati alla trasmittente

pause 2000

next contatore

goto main

Picaxe 08m2 + Ricevente

inizio:

pause 100
setfreq m4  
'imposta frequenza a 4 MHz

symbol contatore=b0  
'chiamo la variabile b0 contatore


main:


serin c.3,T2400_4,("abc"),contatore
'ricevi i dati dalla ricevente

sertxd (#contatore)
'invio i dati tramite la porte di programmazione per essere visualizzati sulla finestra terminalink del programmatore

goto main

Interferenze

Uno dei più comuni problemi che nascono dall'utilizzo di moduli ricetrasmittenti è quello legato alle interferenze. Queste interferenze possono provocare malfunzionamenti ad altre parti del vostro circuito elettronico. Ad esempio, è possibile che i servocomandi, che sono anch'essi comandati con una determinata frequenza, risentano della frequenza della vostra trasmittente o ricevente, generando il fastidioso problema di jittering.

Per ovviare a questi problemi è opportuno dotare i  vostro circuito elettronico di condensatori ad alta capacita (condensatori elettrolitici) tra alimentazione e terra del circuito, non trascurare la massa totale del circuito e i punti di messa a terra, cercando di distribuirli nella maniera più omogenea possibile, oppure utilizzare trasmettitori e ricevitori operanti a frequenza più alte (ad esempio i 2.4 GHz).