Convertitore di livello logico tramite transistor


8

Sto cercando di creare un convertitore di livello logico usando il transistor BC547. Questo serve per convertire il livello di tensione di Rpi Gpio da 3,3 a 5V. Ho collegato il circuito secondo questo schema: inserisci qui la descrizione dell'immagine

Ho fatto questo per convertire 3.3V a 5V per l'applicazione PWM. Ho collegato il circuito a GPIO n. 17 e impostato su alto

Domande :

1) perché non c'è terra nel circuito?

2) Ho provato a misurare la tensione dall'altra parte, ma non mostra nulla. Qual è il problema?

Grazie.


1
Si prega di chiarire # 2. Altro fine di cosa rispetto a cosa e quale voltaggio è all'altro capo .. qualunque cosa sia .....
Trevor_G

@Trevor è un convertitore bidirezionale, quindi ho collegato gpio all'estremità 3v del convertitore e mi aspetto di ottenere 5v sull'estremità 5v del convertitore quando gpio è impostato su alto. tensione rispetto a terra di rpi .. sono troppo confuso su questo !!
Mr.Sky

1
@Trevor Nah. Non è così male come immagini, penso. Provalo con le spezie e vedi cosa ne pensi. Circa ugualmente pulito (e brutto) in entrambe le direzioni.
Jon

1
@Trevor Tutto ciò che intendevo dire è che il secondo BJT non aggiunge molto di utile. Ora, c'è una differenza nel fronte di salita e di discesa. Ma sono quasi sicuro che non sia migliorato con il BJT extra. Dovrei ricontrollare, però.
Jon

1
@Trevor A proposito, il modo in cui lo schema è strutturato è terribile per cercare di capirlo. È anche una descrizione terribile e completamente inutile di "cani che ingoiano la coda". È quasi come se volesse intenzionalmente mistificare piuttosto che chiarire.
Jon

Risposte:


15

Odio aggiungere una risposta qui, soprattutto perché il PO non ha nemmeno bisogno di un'operazione bidirezionale. Ma il circuito è strutturato terribilmente (per capirlo.) E la descrizione di cani e code non aiuta, tranne forse gli alchimisti che cercano di scrivere frammenti allegorici e mistificanti della loro "arte".

(Ci sono termini condivisi, sviluppati nel tempo e usati nell'elettronica per aiutare a comunicare. Un "pull-down" potrebbe essere un esempio del genere. Ma sono sopravvissuti alla prova del tempo e comunicano usando l'idea generale di tirare su un nodo , che non è difficile comunicare quando qualcuno chiede e sta cercando di imparare il termine. Può essere facilmente adattato per discutere di "tirare più forte", ad esempio, senza perdita di significato. L'idea di debole e forte è comunemente condivisa , come l'idea di tirare, e questi sono facilmente applicabili una volta che qualcuno ha acquisito le idee della legge, della tensione, della corrente e della resistenza di Ohm.)

Un modo per utilizzare un BJT per il cambio di livello è quello di usarlo in una modalità di base comune. Basta collegare la base a una guida e "tirare verso il basso" sul suo emettitore. È possibile posizionare il resistore alla base o all'emettitore. Tutto quello che resta da fare è usare un pull-up sul raccoglitore. Dato che speriamo di ottenere un uso bidirezionale, il resistore verrà posizionato alla base.

Ecco un esempio quando si passa da a 3V uscita logica verso a 5V ingresso logico:

schematico

simula questo circuito - Schema creato usando CircuitLab

Andando nell'altra direzione, è molto allettante usare un approccio simmetrico:

schematico

simula questo circuito

Ma questo non funziona. Perché? Perché la base ha5V a sua disposizione e il pull-up del collettore è agganciato a una tensione inferiore, 3V. Ciò significa che il diodo collettore di base (non più comunemente mostrato sul simbolo, anche se una volta era quando i BJT erano essi stessi resi più simmetricamente) può essere (e sarà) distorto in avanti. Quindi quando il BJT dovrebbe essere spento , in realtà non lo è. Invece, c'è un diodo polarizzato in avanti intercettato tra5V e 3Vcon due resistori per limitare la corrente. Quindi l'output avrà un valore medio sopra3V ma anche non del tutto 5V.

La simmetria fallisce.

È facile da risolvere. Possiamo solo cambiare la tensione di base in3V:

schematico

simula questo circuito

E questo funziona.

Supponiamo che tu voglia renderlo bidirezionale. Potresti semplicemente usare due di questi circuiti, uno per ogni direzione?

schematico

simula questo circuito

E la risposta è, sì, puoi. In effetti, ciò che ho fatto è semplicemente riprodurre quel circuito che mangia-coda-cane presentato dall'OP. È la stessa cosa. Ma ora puoi vedere la progressione che ha portato ad esso. E non è più confuso come qualche cosa strana, con la coda di cane incrociata. Sono solo due circuiti elaborati individualmente messi insieme in uno più grande.

Ma ricordi il problema precedente con il circuito sbagliato ? Il fatto che vi sia un subdolo diodo collettore di base che ha causato il funzionamento errato del circuito? Questo fatto dovrebbe ricordarci che tutti i BJT possono anche funzionare in modalità inversa. In questo modo, soprattutto con i moderni disegni asimmetrici per i loro collezionisti ed emettitori, significa cheβin una modalità sarà diversa dall'altra (tra le altre differenze). Ma ciò non significa che non funzionino.

E se fossimo appena tornati al nostro primo circuito e aggiungessimo semplicemente quel pull-up extra:

schematico

simula questo circuito

Funzionerebbe? La risposta è sì, funzionerà davvero. L'unica domanda rimanente potrebbe essere su quale modo puntare l'emettitore. Ed è qui che una buona risposta "dipende". Ad esempio, ci sono problemi di archiviazione dei costi da tenere in considerazione. (E questo è un motivo per cui c'è una differenza nel comportamento per il fronte di salita rispetto al comportamento di fronte di discesa mostrato nel grafico dall'OP.) La risposta dipenderà da ciò che ti interessa in quanto vi saranno considerazioni di fronte di salita e di discesa e nessuna risposta particolare ha sempre ragione. Per i miei scopi qui, eviterò di trascinarlo ulteriormente e invece lascerò quella domanda come qualcosa su cui riflettere. È sufficiente che questo circuito funzioni, indipendentemente.


Nota : il valore effettivo dei resistori utilizzati nei circuiti di cui sopra non implica che questi siano gli unici valori corretti da utilizzare in determinate circostanze. In genere, le uscite digitali possono sprofondare di più1mA della corrente del convertitore e, in genere, gli ingressi digitali affonderanno in modo significativamente inferiore 100μUN. Ma questi presupposti potrebbero essere errati per casi specifici. Tuttavia, non è difficile modificare i dettagli. Quindi l'idea di base può ancora essere applicata, anche se con modifiche ragionate nei valori dei resistori.


Ci sono più passaggi che uno potrebbe prendere, ora. E Trevor ha trovato un bell'esempio di dove si potrebbe andare. Lo includerò qui per catturare quel risultato. Vale la pena averlo. Chi è interessato può considerare i perché e i motivi. Senza ulteriori spiegazioni da parte mia, goditi l'aggiunta di Trevor di seguito:

inserisci qui la descrizione dell'immagine


buon lavoro .. ecco un'altra versione della stessa cosa che trasporta due npn per renderlo più uniformemente bidirezionale. i.cmpnet.com/planetanalog/features/Maxim_Level/FigSB5.gif
Trevor_G

1
@Trevor Bella cattura. Quasi mi fa venir voglia di aggiungere un altro mucchio di paragrafi e diagrammi progressivi alla mia risposta per raggiungere quel risultato finale (che vale la pena includere.) Ma il mio tempo per questo è finito, penso. Quindi penso che caricherò semplicemente la tua offerta nella mia risposta, senza molti commenti, solo per catturarla. Grazie!
Jon

È interessante notare che è quasi tornato da dove siamo partiti. Inseguendo i transistor di coda, ma con base comune.
Trevor_G,

1
Mi hai ispirato ad aggiornare la mia risposta .. :)
Trevor_G

1
@jonk Ho letteralmente preso appunti su questa risposta e ho creato il circuito, ha funzionato in entrambi i modi !! Grazie, signori, siete Rock !! :)
Mr.Sky

9

Questo è un convertitore accoppiato a un emettitore e come tale non necessita di collegamento a terra.

NOTA l'etichettatura schematica è un po 'ambigua. "Sistema 3V" e "Sistema 5v" sono i segnali logici. + 5V e + 3V sono le guide logiche di alimentazione.

Quando si abbassa uno dei lati verso il basso, si abbassa l'emettitore del transistor opposto, che lo attiva abbassando l'uscita opposta.

I pull-up interni gestiscono gli stati logici elevati.

A proposito, il punto di terra è IMPLICITO su quello schema. Qualunque sia il riferimento a + 3V e + 5V.

Ispirato dalla risposta di Jonk, ho ridisegnato lo schema in questo modo per renderlo un po 'più "chiaro".

schematico

simula questo circuito - Schema creato usando CircuitLab

Ma, in realtà, R3 e R4 possono essere combinati ei due transistor diventano un transistor bidirezionale.

schematico

simula questo circuito

Il che ti porta praticamente nello stesso posto della risposta di Jonk.


Dove devo misurare per ottenere un'uscita di tensione di 5 V?
Mr.Sky,

SYStem 5v e sistema 3V sono i segnali logici.
Trevor_G,

1
@ Mr.Sky Il tuo terreno .. che presumo sia comune ad entrambe le parti.
Trevor_G,

2
Ha funzionato !! Grazie mille! era un problema hardware. La tensione doveva essere misurata tra il pin di uscita e la terra stessa!
Mr.Sky

1
@Trevor Concordato di accettare questa risposta. Ora che sa che è solo una direzione, dovrebbe cercare le risposte passate. È stato risposto qui diverse volte (da me una o due volte, senza contare gli altri). Quindi non c'è davvero bisogno di un'altra domanda al riguardo.
Jon
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.