Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

PIC + Trasmettitore AM

Telefonia, radio, TV, internet, reti locali...comandi a distanza

Moderatori: Foto UtenteMassimoB, Foto Utentejordan20

0
voti

[1] PIC + Trasmettitore AM

Messaggioda Foto Utentedevrandom » 10 set 2011, 0:58

Salve a tutti.
Sto progettando un telecomando di quelli per i cancelli automatici che lavori a 433MHz.
Ho trovato l'antenna (http://www.quasaruk.co.uk/acatalog/info_QAM_TX1_433.html, economica, semplice da interfacciare ad un PIC), la mia idea è di creare un circuito stampato (non mi interessa che sia piccolo e portatile, tanto lo faccio per motivi di studio), con un PIC con il quarzo e i suoi condensatori, il trasmettitore (basta una strip di 4 pin femmina per attaccarlo), un regolatore di tensione, uno switch on-off, un totale di 6 led (power, 4 led accesi uno per volta che indicando quale cancello è selezionato correntemente (si effettua lo switch tra i cancelli con un pulsantino), un LED di cui vi spiegherò dopo l'utilizzo), un pulsante per lo switch tra i cancelli, uno per aprire il cancello.

Mi sorgono dubbi su varie cose, anche perché è il mio primo progetto in cui utilizzo un PIC (infatti prima d'ora avevo utilizzato solo microcontrollori della Atmel).

Quale PIC mi consigliate? Tutto quello che deve poter fare è avere almeno 7 uscite digitali (6 per i led, 1 per la comunicazione con l'antenna), un paio di entrate per i due pulsantini, e deve anche potersi utilizzare un oscillatore esterno dato che senza la dovuta precisione nell'oscillazione la comunicazione con l'antenna potrebbe risultare problematica.

Poi: quale regolatore di tensione mi consigliate? La corrente consumata è davvero poca, 22mA dall'antenna (mentre trasmette, 11mA a riposo), e poi la corrente consumata dal PIC che mi consiglierete. L'ideale sarebbe un regolatore che accetta 6V e li trasforma in 5V, che io sappia i PIC vogliono 5V in entrata, o mi sbaglio? L'antenna ha bisogno di poco, 1.5-5V, quindi se esiste un PIC che lavora a meno di 5V (magari a 3V, così uso due AA o due AAA e risparmio anche il regolatore) è meglio.

Il famoso LED menzionato sopra serve a una funzione che permette di trasmettere tutti i numeri a 12 bit, cosa che permette potenzialmente di aprire tutti i cancelli con ricevitore a 433MHz. Non voglio rubare biciclette, è solo per studio :D una volta capito come comunicare con l'antenna l'implementazione di questa funzione dovrebbe essere semplice.

Ultima cosa: il PIC deve comunicare con l'antenna a 1000 baud, ma io di comunicazione seriale proprio non me ne intendo. Esiste un codice già scritto per comunicare tramite un pin del PIC ad una velocità prestabilita (in questo caso 1000baud)? Il codice in questione dovrebbe permettere di inviare 12 bit esatti, fino ad ora tutti gli esempi che ho trovato inviano solo char (8 bit) e inviare 16 bit di cui solo 12 sono utili diventa problematico, dato che il cancello si apre quando riceve per 3 volte la sequenza dei 12 bit... Quindi il cancello non si aprirebbe.

Ricapitolando: quale PIC mi consigliate (min. 7 output + 2 input, possibilmente alimentabile a 3V, che supporti un oscillatore esterno)? Se non esiste un PIC che lavora 3V, quale regolatore di tensione mi consigliate? Ultima cosa: come posso inviare esattamente 12 bit all'antenna?

Grazie.
Avatar utente
Foto Utentedevrandom
5 1 3
New entry
New entry
 
Messaggi: 75
Iscritto il: 16 feb 2011, 16:33

0
voti

[2] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentecrestus » 10 set 2011, 12:26

perché non usi le batterie al litio? sono già da 3V e sono estremamente poco ingombranti :ok:

comunicazione seriale di che tipo? per inviare esattamente 12bit puoi implementare da te il protocollo di trasmissione, tanto più che è un progetto specifico....

per il microprocessore ti consiglierei un 16F per la potenza di calcolo richiesta ridotta al minimo....Moltissimi PIC digeriscono alimentazioni fino a 2V.. inltre esistono i modelli siglati XLP (extreme low power) che possiedono caratteristiche di sleep profondo fino a consumare correnti dell'ordine dei microampere.
Su due piedi così ti potrei proporre questo: PIC16F1847 che è il primo della lista ordinata per numero di uscite ad essere siglato come XLP.

inoltre a riposo lantenna che ti serve accesa? perché non usi un'uscita per darle/toglierle corrente con un MOS?


ci sono anche gli rfPIC... non me ne sono mai informato... ma portrebbero fare al caso tuo... :ok:
...:::Pivello allo sbaraglio:::...

MY WEBSITE! come and see... ;) <-- Di nuovo online... spiacente per i problemi tecnici!
Avatar utente
Foto Utentecrestus
1.295 2 7 13
Expert EY
Expert EY
 
Messaggi: 478
Iscritto il: 3 ott 2008, 10:28
Località: studente al politecnico di torino

0
voti

[3] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentedevrandom » 10 set 2011, 14:10

Ciao, per il PIC mi sono portato avanti e ho scelto un 16F505, può andare bene? Ho visto he consuma molto poco e ha abbastanza pin di I/O. Inoltre lo faccio funzionare a 3V insieme all'antenna.
Per la comunicazione con la trasmittente, non posso realizzare un mio protocollo, devo comunicare a 1000 baud in questo modo:
Immagine
Quindi per ogni bit impiego un millisecondo, se è uno il pin data per 2/3 di ms resta a 0 e per 1/3 resta a 1, se è zero per 1/3 resta a zero e per 2/3 resta a 1. O almeno è quello che ho capito. Infatti la mia difficoltà è proprio questo, capire come implementare la comunicazione con la trasmittente. So che il PIC ha una libreria chiamata mi pare "delay" che permette di fare una pausa di tot ms che si regola automaticamente a seconda della frequenza di oscillazione del PIC. Ma non sono sicuro, è il mio primo progetto con il PIC.
Per il resto penso di aver risolto, mi manca solo questa cosa... Come inviare 12 bit alla trasmittente alla velocità di 1000 baud.
Ho trovato questo articolo (http://www.ognigiorno.com/2009/03/08/come-funzionano-i-telecomandi-dei-cancelli.html), dove tra l'altro viene utilizzata la mia stessa trasmittente e più o meno si parla della stessa cosa che voglio fare io, ma non capisco il funzionamento del codice...
Avatar utente
Foto Utentedevrandom
5 1 3
New entry
New entry
 
Messaggi: 75
Iscritto il: 16 feb 2011, 16:33

0
voti

[4] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentedevrandom » 10 set 2011, 23:44

In attesa della risposta mi sono portato avanti. Ho disegnato con FidoCadJ un possibile circuito per il mio progetto.
Potrebbe funzionare?

Immagine

Ecco il source del circuito, così è più comodo da modificare. Non ho usato il tag fcd perché mancavano alcuni simboli e alcune scritte...
Link al source
Avatar utente
Foto Utentedevrandom
5 1 3
New entry
New entry
 
Messaggi: 75
Iscritto il: 16 feb 2011, 16:33

0
voti

[5] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentedevrandom » 11 set 2011, 0:17

Nello schema manca il collegamento al trasmettitore.
Avatar utente
Foto Utentedevrandom
5 1 3
New entry
New entry
 
Messaggi: 75
Iscritto il: 16 feb 2011, 16:33

0
voti

[6] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentedevrandom » 11 set 2011, 12:19

Forse ho capito come funziona il codice di ognigiorno.com...
Ho scritto la mia versione dato che la sua non mi piaceva per niente. Che ne dite? Può andare? Una cosa: cos'è INIT_PORT?

Codice: Seleziona tutto
...

void TxBits(void bits, int nbits);
void InitTx(void);
void EndTx(void);

...

bit bits[12] = {1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1};
int i;

InitTx();
for (i = 0; i < 3; i++) TxBits(bits, 12);
EndTx();

...

void TxBits(bool bits [], int nbits)
{
   INIT_PORT;
   do
   {
      TxData = 0;
      delay_2Us(165);
      if (bits[nbits])
         TxData = 0;
      else
         TxData = 1;
      delay_2Us(164);
      TxData = 1;
      delay_2Us(165);
   } while (--nbits);
}

void InitTx(void)
{
   TxData = 1; 
   delay_2Us (165);
   TxData = 0; 
}

void EndTx (void)
{
   TxData = 0;
   DelayMs(10);
}
Avatar utente
Foto Utentedevrandom
5 1 3
New entry
New entry
 
Messaggi: 75
Iscritto il: 16 feb 2011, 16:33

0
voti

[7] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentecrestus » 11 set 2011, 14:21

Beh... io intendevo proprio il fatto di creare te il codice per comunicare con il modulo...come farlo sta a te...

i delay possono essere una soluzione... oppure puoi crearteli te...uilizzando cicli for con valori opportuni...


detto questo mi sembra che i valori dei tuoi delay non rispecchino i tempi 1/3-2/3

sei sicuro?
...:::Pivello allo sbaraglio:::...

MY WEBSITE! come and see... ;) <-- Di nuovo online... spiacente per i problemi tecnici!
Avatar utente
Foto Utentecrestus
1.295 2 7 13
Expert EY
Expert EY
 
Messaggi: 478
Iscritto il: 3 ott 2008, 10:28
Località: studente al politecnico di torino

0
voti

[8] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentedevrandom » 11 set 2011, 16:26

Il codice è adattato dal link che ho postato prima. E comunque il codice rispetta i tempi! Calcola bene, anche io all'inizio non capivo come quel codice poteva funzionare, poi ho preso la calcolatrice e in effetti i numeri sono giusti.
C'è qualche microsecondo in meno, ma a 1000 baud qualche microsecondo non fa la differenza... Infatti all'autore dell'articolo originale funziona correttamente.
Avatar utente
Foto Utentedevrandom
5 1 3
New entry
New entry
 
Messaggi: 75
Iscritto il: 16 feb 2011, 16:33

0
voti

[9] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentecrestus » 12 set 2011, 0:43

mmm sì.. ho riguardato... ed in effetti va solo ad impostare il terzo centrale per ogni bit...avevo guardato con poca attenzione...

se il codice funziona sei a cavallo... :D


INIT_PORT è una funzione (in teoria.... anche se così com'è scritta non lo è...) che raggruppa tutte le impostazioni di configurazioni delle porte iniziale: quali ingressi quali uscite e così via...


alcune domande per migliorare il progetto: hai pensato a introdurre delle istruzioni per gestire la funzione di sleep? la batteria durerà più a lungo.. ed è inutile che giri il 99,99% del tempo a vuoto....
visto che il modulo invia soltanto... perché non lo spegni come ti avevo suggerito? un MOS (per la caduta di tensione minima che introduce...) e risparmi anche gli 11mA che per una batteria non sono proprio pochi...
anche ridurre il ciclo di clock potrebbe diminuire i consumi...

p.s. invece di mettere il footprint dell PIC fai un rettangolo con i pin utilizzati numerati e via..;) è più leggibile ed elegante ;) (bravo comunque ad aver utilizzato Fidocadj! :ok:
...:::Pivello allo sbaraglio:::...

MY WEBSITE! come and see... ;) <-- Di nuovo online... spiacente per i problemi tecnici!
Avatar utente
Foto Utentecrestus
1.295 2 7 13
Expert EY
Expert EY
 
Messaggi: 478
Iscritto il: 3 ott 2008, 10:28
Località: studente al politecnico di torino

0
voti

[10] Re: PIC + Trasmettitore AM

Messaggioda Foto Utentedevrandom » 12 set 2011, 8:31

Si, buona idea, seguirò i tuoi consigli, soprattutto quello di spegnere l'antenna mi sembra ottimo :P

Oggi primo giorno di scuola! Quando torno rifaccio lo schema. Per il footprint, non ho fatto apposta, era il mio primo utilizzo di FidoCadJ :-P Bel programma!
Avatar utente
Foto Utentedevrandom
5 1 3
New entry
New entry
 
Messaggi: 75
Iscritto il: 16 feb 2011, 16:33

Prossimo

Torna a Telecomunicazioni

Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti