Vai Indietro   PcTuner Forum > Sezione Hardware > Programmazione PIC
PcTuner Overclock
Arcade Registrazione Blogs Regolamento Feedback FAQ Lista Utenti Calendario Segna come Letti

Ultimi 5 blog pubblicati su PcTuner Blog
Data Titolo

Rispondi
 
Strumenti Discussione Modalità Visualizzazione
Vecchio 23-11-2009, 20.58.08   #1
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
level shifter 3v3 5v. PROBLEMA

Ciao a tutti.
Avrei bisogno di aiuto.
Ho un pic18f4550 e un modulo gsm GM862 della telit. La logica del telit è a 2V8 e quella del pic 5V. Sono collegati tramite usart a 9600 baud. Per trasformare l'uscita dell'usart a 2.8V uso il circuito nello schema allegato e funziona egregiamente. Ma per la direzione inversa, cioè dal telit al pic, il circuito non va perchè il pin della ricezione del pic è alto a 5V. Mi servirebbe di riuscire a mettere a massa il pin della ricezione del pic, quando il segnale in uscita dal telit è basso.
Ho fatto mille prove ma senza soluzione perchè non so in che modo vengono calcolate le resistenze collegate al transistor.
Se qualcuno avese qualche suggerimento lo ringrazierei infinitamente.
Buona serata a tutti.
Immagini Allegate
Tipo di File: jpg Immagine.jpg‎ (15.1 KB, 31 visite)
doppioclick Non in Linea   Rispondi Citando

Advertising
Vecchio 24-11-2009, 08.54.15   #2
Mod insubrico
 
L'avatar di  RockRibelle
 

Iscritto da: 07-01-2009
Locazione: Lugano
Messaggi: 902
Feedback: (0)
Ciò che scrivi mi sembra un pò "strano".. Io te la butto giù così.. Ho collegato un ricevitore GPS che va a 3.3V ad un PIC 18F2431 (solo l'uscita NMEA all'entrata RX del PIC) e tutto funziona egregiamente. Infatti a 5V il PIC considera livello alto una tensione superiore a 2.0V. Non vedo dunque il problema.
__________________
..Indomabile..
RockRibelle Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 10.35.19   #3
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
Quote:
Originariamente inviato da RockRibelle Visualizza Messaggio
Ciò che scrivi mi sembra un pò "strano".. Io te la butto giù così.. Ho collegato un ricevitore GPS che va a 3.3V ad un PIC 18F2431 (solo l'uscita NMEA all'entrata RX del PIC) e tutto funziona egregiamente. Infatti a 5V il PIC considera livello alto una tensione superiore a 2.0V. Non vedo dunque il problema.
Si, lo sapevo, ma la logica del telit è 2.8V. Siccome il mio macchinino dovrebbe stare acceso per 5 anni, non vorrei avere sorprese, e vorrei portare la tensione a 5 volt.
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 11.42.55   #4
Registered User
 

Iscritto da: 18-06-2006
Locazione: Torino
Messaggi: 193
Feedback: (0)
Usa un banale partitore di tensione!
Buddace Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 11.59.08   #5
Mod insubrico
 
L'avatar di  RockRibelle
 

Iscritto da: 07-01-2009
Locazione: Lugano
Messaggi: 902
Feedback: (0)
Quote:
Originariamente inviato da doppioclick Visualizza Messaggio
Si, lo sapevo, ma la logica del telit è 2.8V. Siccome il mio macchinino dovrebbe stare acceso per 5 anni, non vorrei avere sorprese, e vorrei portare la tensione a 5 volt.
Ma di che sorprese parli? Se la tua uscita telit ha una logica a 2.8V e l'entrata del PIC vede uno stato alto se é sopra i 2V non vedo proprio dove vuoi andare a pescare.. Almeno da telit a PIC non vedo assolutamente la necessità di mettere un qualsiasi traslatore di livello, almeno non con dati simili. Ho costruito apparecchi che stanno andando in tutta l'Europa dal 2000 e in questi casi non ho mai messo dei traslatori. E sti apparecchi vanno 24h/24h, 7g/7g..
Ovvio che il traslatore ti serve dal PIC al telit. Ma anche in quel caso ci sono soluzioni molto più semplici che l'utilizzo di due transistors e diversi componeti passivi..
__________________
..Indomabile..
RockRibelle Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 13.05.05   #6
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
innanzitutto grazie,
ma, il mio pin del pic, RC7, quando è in attesa di dati, è ALTO, ed è 5 volt. E la logica del telit è sempre 2.8. Non succede niente se li collego insieme? Grazie ancora.
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 13.16.24   #7
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
No No! Non va. Collegandolo direttamente non funziona. Quando è alto è 5 volt, ma quando è basso arriva a 3.8 volt. Non ce la fa a mandarlo basso. Avevo già provato. E' per questo che cercavo di usare un transistor.
Beh se qualcuno ha altre indicazioni sono ben accette.
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 13.17.45   #8
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
Se inserisco una resistenza in serie tra il PIC e il TELIT da 22K con l'oscilloscopio lato pin, il segnale rimane sempre alto.
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 13.19.16   #9
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
se inserisco una resistenza di pull-down, si abbasa solo il livello alto: quindi sempre con l'oscilloscopio alto PIC, quando è alto è 4.2Volt, quando è basso è 3.7 volt.
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 13.28.44   #10
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
Ho fatto anche una prova con un traslatore di livello, il TXB0104, che funziona solo nel senso dal pic al telit. Quando deve trasformare il segnale a 2,8 in 5 volt, non funzia. Il livello basso rimane a 4.5 volt circa. Poi leggendo a modo il datasheet del TXB0104 mi sono accorto che l'uscita è 50ohm. Forse l'impedenza è troppo bassa per pilotare il carico del pic. Ma non so come adattare le impedenze. Non sono proprio un'esperto di elettronica...
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 13.32.53   #11
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
E vi descrivo la situazione con il TXB0104.

Qundo il telit trasmette dati al pic, se ci metto la sonda dell'oscilloscopio mi vedo il mio bel segnale che fa bello bello da 0.1 a 5 volt. Se ci collego il max232 sullo schermo mi vedo le mie belle stringhe. Senza errori.
Come ho detto prima, se collego il max232 al pic, il mio programma riceve i dati.
Ma se collego il TXB0104 al pic... niente. Il segnale rimane sempre alto e quando è basso va giù al massimo di 0.2-0.3 volt dal 5 volt.

Mi cadono le braccia.
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.00.37   #12
Mod insubrico
 
L'avatar di  RockRibelle
 

Iscritto da: 07-01-2009
Locazione: Lugano
Messaggi: 902
Feedback: (0)
Quote:
Originariamente inviato da doppioclick Visualizza Messaggio
E vi descrivo la situazione con il TXB0104.

Qundo il telit trasmette dati al pic, se ci metto la sonda dell'oscilloscopio mi vedo il mio bel segnale che fa bello bello da 0.1 a 5 volt. Se ci collego il max232 sullo schermo mi vedo le mie belle stringhe. Senza errori.
Come ho detto prima, se collego il max232 al pic, il mio programma riceve i dati.
Ma se collego il TXB0104 al pic... niente. Il segnale rimane sempre alto e quando è basso va giù al massimo di 0.2-0.3 volt dal 5 volt.

Mi cadono le braccia.
Ecco, qui la maggior parte del forum direbbe: "dov'é uno schema, con il tutto, telit e PIC compresi? Dov'é la parte di codice che programma la tua entrata di ricezione seriale sul PIC?" Potrei anche sospettare che il pin del PIC abbia forse un piccolo problema di programmazione.. Metti una resistenza da 1K tra il TXB0104 e l'entrata RX del PIC e osserva le tensioni ai capi della resistenza all'oscilloscopio.

Altra possibilità: questa qui..
http://it.emcelettronica.com/gsm-com...62-al-picmicro

Ma continuo a sostenere, per esperienza, che mi sembra un over-kill.
__________________
..Indomabile..

Ultima Modifica di RockRibelle : 24-11-2009 14.06.25.
RockRibelle Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.17.47   #13
Registered User
 
L'avatar di  Camillo
 

Iscritto da: 31-01-2006
Locazione: Genova
Messaggi: 1,211
Feedback: (0)
Non sarebbe più semplice utilizzare il PIC della serie LF senza tante seghe mentali.
Inoltre tutti i PIC che vanno solo a 5V stanno diventando obsoleti così come molti componenti di contorno.
__________________
Camillo
Il VeroProgrammatore può contare fino a 1024 con le dita delle mani. Grazie a .mau.
Le donne e i gatti fanno quello che vogliono, gli uomini e i cani dovrebbero rilassarsi e abituarsi all'idea. R.A.Heinlein
Camillo Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.23.07   #14
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
Quote:
Originariamente inviato da Camillo Visualizza Messaggio
Non sarebbe più semplice utilizzare il PIC della serie LF senza tante seghe mentali.
Inoltre tutti i PIC che vanno solo a 5V stanno diventando obsoleti così come molti componenti di contorno.
hai ragione. il prossimo progetto direttamente con un pic32.
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.26.10   #15
Mod insubrico
 
L'avatar di  RockRibelle
 

Iscritto da: 07-01-2009
Locazione: Lugano
Messaggi: 902
Feedback: (0)
Quote:
Originariamente inviato da Camillo Visualizza Messaggio
Non sarebbe più semplice utilizzare il PIC della serie LF senza tante seghe mentali.
Inoltre tutti i PIC che vanno solo a 5V stanno diventando obsoleti così come molti componenti di contorno.
Non credo sia un problema di seghe mentali.. Forse qui effettivamente c'é un piccolo errore da qualche parte.. Trovare le risposte credo che sia quasi un dovere per un hobbista.. e motivo di sodisfazione personale.. Dopo si può anche passare anche ad un altro PIC.
__________________
..Indomabile..
RockRibelle Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.26.28   #16
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
Quote:
Originariamente inviato da RockRibelle Visualizza Messaggio
Ecco, qui la maggior parte del forum direbbe: "dov'é uno schema, con il tutto, telit e PIC compresi? Dov'é la parte di codice che programma la tua entrata di ricezione seriale sul PIC?" Potrei anche sospettare che il pin del PIC abbia forse un piccolo problema di programmazione.. Metti una resistenza da 1K tra il TXB0104 e l'entrata RX del PIC e osserva le tensioni ai capi della resistenza all'oscilloscopio.

Altra possibilità: questa qui..
GSM - Come collegare il modulo TELIT GM862 al PICMICRO | L'Elettronica Open Source

Ma continuo a sostenere, per esperienza, che mi sembra un over-kill.
Ho la scheda qui davanti. Collegando il pic direttamente al telit non va. Il traslatore di livello che mi hai indicato nel link, va solo per la linea verso il telit. In senso inverso non va. Ed è il mio problema.

Ho provato a mettere la resistenza che dici tra il pic e il txb. ma il meglio che riesco a fare è in uscita dal txb0104 è 0-3v. Tanto vale non usarlo.
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.29.51   #17
Mod insubrico
 
L'avatar di  RockRibelle
 

Iscritto da: 07-01-2009
Locazione: Lugano
Messaggi: 902
Feedback: (0)
Quote:
Originariamente inviato da doppioclick Visualizza Messaggio
Ho la scheda qui davanti. Collegando il pic direttamente al telit non va. Il traslatore di livello che mi hai indicato nel link, va solo per la linea verso il telit. In senso inverso non va. Ed è il mio problema.

Ho provato a mettere la resistenza che dici tra il pic e il txb. ma il meglio che riesco a fare è in uscita dal txb0104 è 0-3v. Tanto vale non usarlo.
E dal lato PIC? Vedi solo 5V oppure vedi il segnale seriale?
__________________
..Indomabile..
RockRibelle Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.31.08   #18
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
lo schema. il connettore sulla sinistra va direttamente al pic. Senza niente in mezzo. Lo schema indicato è quello che uso ora. Dopo le modifiche ed è quello che va meglio.
Immagini Allegate
Tipo di File: jpg Immagine.jpg‎ (59.2 KB, 18 visite)
doppioclick Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.39.15   #19
Mod insubrico
 
L'avatar di  RockRibelle
 

Iscritto da: 07-01-2009
Locazione: Lugano
Messaggi: 902
Feedback: (0)
Non capisco.. Se ti chiedo di mettere una resistenza e di misurare ai due capi é per vedere se effettivamente il pin del PIC é programmato correttamente. Se dal lato txb0104vedi un segnale da 0 a 3V e dal lato PIC vedi solo 5V, allora ovviamente il tuo segnale non passa e probabilmente il PIC su quel pin é programmato in uscita...
__________________
..Indomabile..
RockRibelle Non in Linea   Rispondi Citando
Vecchio 24-11-2009, 14.39.52   #20
Registered User
 

Iscritto da: 17-02-2008
Messaggi: 32
Feedback: (0)
Codice:
//il pin RC7 è multiplexato. Qui imposto il MUX sul canale 8 e inizializzo l'usart hardware con la libreria usart.h 
Set_RS232(8);


while(1){
	//CONTROLLA SE é ACCESO IL CELL E SE RISPONDE 0 AL COMANDO AT
	WriteUSART('A');                                //SCRIVE SU USART
	Delay10KTCYx(lag);                            //PAUSA TRA UN CHAR E L'ALTRO
	WriteUSART('T');
	Delay10KTCYx(lag);
	WriteUSART(0x0D);
	while(!DataRdyUSART());                   //ATTENDE DATI
	data = getcUSART();                        //LEGGE I DATI
	data = getcUSART();
			
	}
Niente di particolare. scrive at e attende 0.

Sotto metto l'apertura dell'usart
Codice:
OpenUSART( USART_TX_INT_OFF & //INTERRUPT TX DISABILITATO
			USART_RX_INT_OFF &	//INTERRUPT RS DISABILITATO
			USART_ASYNCH_MODE &	//ASINCRONO
			USART_EIGHT_BIT &	//8 BIT
			USART_CONT_RX &		//RICEZIONE CONTINUA
			USART_BRGH_LOW,		//BASSA VELOCITA'
			32 ); //			//9600 BAUD
doppioclick Non in Linea   Rispondi Citando
Rispondi Per le vostre immagini su questo forum potete usare PcTunerUp!
Iscriviti gratuitamente alla nostra newsletter.


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 visitatori)
 
Strumenti Discussione
Modalità Visualizzazione

Regole di scrittura
non Puoi inserire messaggi
non Puoi rispondere ai messaggi
non Puoi inviare allegati
non Puoi modificare i tuoi messaggi

codice vB è Attivo
Smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Disattivato
Pingbacks are Disattivato
Refbacks are Disattivato
Vai al Forum


Tutti gli Orari sono GMT +1. Attualmente sono le 05.14.33.


Powered by vBulletin Versione 3.6.12
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright © 2009 - Master New Media S.r.l. a socio unico - P.I. 02947530784. Tutti i diritti di proprietà letteraria e artistica sono riservati- Privacy
www.pctuner.net è testata telematica registrata presso il Tribunale di Torino, n. 39 del 07.05.2008, Editore Master New Media S.r.l.