Buffering di un segnale a microcontrollore digitale per il collegamento a un fotoaccoppiatore


8

Lavoro frequentemente su progetti in cui utilizzo accoppiatori ottici per isolare segnali di controllo digitali + 5VDC (ad esempio, da un microcontrollore) dal resto del circuito. Tuttavia, poiché funzionano illuminando un LED all'interno del dispositivo, possono esserci diverse decine di milliampere di carico sui pin del microcontrollore. Sto cercando consigli su quale sarebbe la migliore pratica per bufferizzare questo segnale di controllo con uno stadio addizionale, in modo che il microcontrollore veda effettivamente un'alta impedenza, e quindi riducendo la corrente che deve fornire?

inserisci qui la descrizione dell'immagine

Solo ingenuamente dalla parte superiore della mia testa, posso pensare ad alcune cose che potrebbero funzionare:

1) Basta usare un amplificatore operazionale come amplificatore buffer con guadagno unitario.

2) Utilizzare un chip di confronto dedicato per confrontare il segnale di ingresso con, ad esempio, + 2,5 V CC.

3) Utilizzare un MOSFET come una specie di amplificatore di segnale.

Tuttavia, dopo aver letto un po ', mi sono imbattuto in un sacco di chip che non avevo mai usato prima, ma sembra che possano essere progettati per questo tipo di cose. Per esempio:

  • Un driver di linea differenziale ( MC3487 )
  • Un ricevitore di linea differenziale (DC90C032)
  • Un ricetrasmettitore di linea (SN65MLVD040)
  • Porte e driver del buffer (SN74LS07, SN74ABT126)

Non ho davvero esperienza con nessuno di questi e sono un po 'sopraffatto dalla quantità di materiale disponibile! Quindi qualcuno può aiutarmi a imparare le differenze tra questi dispositivi e quali di essi sarebbero / non sarebbero adatti in questo caso. Esiste un modo migliore / standard per ottenere ciò che descrivo?

modifica:
Dal momento che potrei passare a circa le uscite x30, non voglio preoccuparmi del caricamento dei microcontrollori, quindi non prenderò in considerazione la connessione diretta ai pin DIO. Pertanto, penso che andrò per un IC buffer logico. Proverò a utilizzare SN74LVC1G125 " Gate buffer buffer bus singolo con uscita a 3 stati " per ciascun ingresso e vedrò come funziona.


Per una soluzione monocomponente drop-in, MOSFET a canale P.
Reinderien,

In una nota correlata, i pin del microcontrollore di solito possono assorbire più corrente di quanta ne possano sorgente. Vedere questa domanda .
Nick Alexeev

Risposte:


12

Hai molte opzioni.

  1. Se è necessario collegare pochissimi fotoaccoppiatori, è possibile collegarli direttamente al GPIO del microcontrollore (tramite un resistore), a condizione che:

    • Non superare la corrente di uscita GPIO.
    • Non superare la corrente totale della porta.
    • Non si supera la corrente totale gnd / vdd.
  2. Se è necessario collegare più accoppiatori ottici, è possibile provare a utilizzare accoppiatori ottici con rapporto di trasferimento a bassa corrente e alta corrente come SFH618 ( https://www.vishay.com/docs/83673/sfh618a.pdf ) e collegarli direttamente a i tuoi GPIO (attraverso un resistore).

  3. In alternativa, è possibile utilizzare un BJT o MOSFET (vedere gli schemi di seguito). Alcune note:

    • Ricorda di mettere la resistenza pull-down / pull-up, che assicura che i MOSFET / BJT siano OFF quando il GPIO non è ancora inizializzato (ad es. Durante il reset).
    • La resistenza pull-up o down potrebbe essere omessa se l'MCU ha il pin GPIO con pull-up / down sempre abilitati durante il reset.
    • Se si utilizzano MOSFET, ricordarsi di utilizzare MOSFET a livello logico (ad es. BSS138).
    • Se si utilizza la soluzione attiva-bassa, assicurarsi che la tensione di alto livello del GPIO sia VDD. Vale a dire non usare 3.3V-GPIO e VDD = 5V nella soluzione attiva bassa! .
  4. Tuttavia, se devi guidare molti accoppiatori ottici (ad esempio 6) puoi usare il 74LS07 che hai citato, in quanto consente un 40mA per pin e dovrai montare solo un componente (invece di 6 BJT / MOSFET). Ricorda che, a differenza dei CMOS, i circuiti integrati TTL sono sottoposti a pull in termini di istruzioni! Tuttavia, è possibile che si desideri ancora il resistore di pull-up (il foglio dati raccomanda inoltre di non lasciare gli input fluttuanti). E poiché dal '07 non si sta invertendo, questa soluzione sarà attiva BASSA. Il 74ABT126 è CMOS quindi DEVI usare comunque la resistenza di pull-up!

schematico

simula questo circuito - Schema creato usando CircuitLab


1
Puoi anche usare i follower di emettitore / sorgente
Russell McMahon,

+1. Questo può essere usato per renderli attivi in ​​alto, a condizione che GPIO sia alimentato con lo stesso VDD (come nella configurazione attiva bassa (con PNP)). Tuttavia non userei un MOSFET quindi, poiché tendono ad avere un Vth di grandi dimensioni (e una grande dispersione di esso, che potrebbe influire sul calcolo della corrente principale). Questo potrebbe essere un problema se si dispone di un GPIO da 2,5 V o 3,3 V (è necessarioVTH+VOV+VLED+ioLEDR. Se questo valore è troppo vicino a VDD, il calo su R sarà piccolo e la dipendenza della corrente su Vth sarà quindi elevata).
prossimo hack del

11

Un semplice BJT come MMBT3904 o qualsiasi BJT di commutazione farà il lavoro. Puoi ottenere una bobina di 100 per due dollari.

inserisci qui la descrizione dell'immagine


9

I driver della linea differenziale non sono progettati per pilotare i LED. Questi chip buffer guidano (o ricevono) un segnale differenziale su due fili. L'oscillazione della tensione può essere compresa tra 1,3 volt e 1,7 volt. Non abbastanza per accendere o spegnere un LED.

I buffer TTL sono ideali per questa applicazione, ma piuttosto che collegarsi al lato superiore del LED come disegnato nello schema, dovrebbero essere collegati al lato inferiore del LED, poiché il TTL è bravo ad affondare la corrente e scarso alla corrente di approvvigionamento.

Tuttavia, se hai solo pochi accoppiatori ottici da collegare, un NPN BJT è un modo ancora più semplice per guidare il LED.


4

Consiglio per l'uscita a livello logico di utilizzare l' H11L1 che ha un driver per gate logico CMOS Schmitt e funziona con un minimo di 1,4 mA ~ $ 1 (10) 3 ~ 16 V

Per collezionisti aperti a basso costo, classificati con una vasta gamma di guadagni attuali dall'80% al 300% minimo http://www.taiwansemi.com/products/datheet/TPC816%20SERIES_B1612.pdf

Ciò significa che se hai solo bisogno di livelli logici fuori o 1mA, questo è almeno l'80% di ciò che il tuo drive con cui non è molto carico di potenza sulla CPU.

Quindi cerca ciò che conta. migliaia di scelte costano rispetto alle prestazioni.

Per la velocità più corrente aiuta, ma alcuni dispositivi $ cambiano in altri, in noi.

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.