Quale sarebbe il più semplice generatore di rampe *lineari* basato su BJT?

Aug 24 2020

Diciamo che ho un contatore basato su 74LS161 e voglio un generatore di rampa analogico che aumenterà linearmente fino a quando l'uscita ripple-carry non scenderà (in modo che la rampa salga per tutto il tempo in cui il contatore conta e a 0 ricominci .Cercando di evitare l'ennesimo chip e ho bisogno di tutti i bit del contatore per contare sulla salita.E non voglio altri circuiti integrati per questo, solo standard BC548 o giù di lì NPN o forse BC558 PNP, pochi resistori e un condensatore.

Ho pensato di iniziare da qualcosa del genere:

simula questo circuito : schema creato utilizzando CircuitLab

Se lo faccio, vedo che la tensione sul pin RCO si interrompe quando diventa alta, quindi suppongo di poter aggiungere un resistore da 220 Ω in serie alla base di Q2.

Non ho ancora regolato il condensatore, a questo punto ho un 1 nF e si carica decisamente troppo velocemente. Ecco perché pianifico 1 μF dopo.

Ma poi ho ancora il problema che anche se riesco a farlo funzionare, attivo quel transistor di scarica Q2 troppo presto poiché l'RCO sale non appena l'uscita è tutta alta. Ho ancora uno stadio dell'inverter da un inverter esadecimale 74LS04 sulla stessa scheda, quindi suppongo che potrei far passare l'RCO attraverso l'inverter e quindi costruire un rilevatore di bordo positivo con un altro condensatore che impulserebbe abbastanza a lungo da aprire Q2, e poi chiudere spento e rimane spento fino al successivo fronte di salita del segnale !RCO.

simulare questo circuito

Volerà con una corretta selezione dei valori R e C? Forse c'è anche un modo per evitare lo stadio dell'inverter?

AGGIORNAMENTO: ho già ottenuto una risposta migliore con il transistor PNP, ma l'ho quasi fatto funzionare con l'NPN e ho appena mostrato il tracciamento dell'oscilloscopio per questo. Ho usato 4,7 μF e il giusto tipo di controstadio abbastanza lento, per ottenere questo:

ma in effetti, con il PNP e 47 nF ottengo questo sullo stesso controstadio: quindi è molto meglio!

Quello che trovo difficile è farlo funzionare all'estremità più veloce del contatore. Sono già sceso a C1 = 33 pF ed è ancora troppo lento per i 15 kHz per cui ne ho bisogno. Immagino di dover ridurre R3 a qualcosa di molto più piccolo. Esiste comunque un limite inferiore? Ho provato a scendere di 10 volte fino a R3 = 1 kΩ e mentre posso abbassare un paio di stadi di conteggio in più con quello, ho anche molta meno ampiezza.

Ne ho bisogno uno a 15 kHz e l'altro a 60 Hz (haha, indovina per cosa mi servono :))

Risposte

4 SpehroPefhany Aug 24 2020 at 06:42

Sostituisci Q1 con un transistor PNP (collettore in basso) e avrai una fonte di corrente costante (-ish).

simula questo circuito : schema creato utilizzando CircuitLab

Sarebbe meglio usare qualcosa come un 74HC123 per generare l'impulso di ripristino se non puoi generarlo digitalmente, ma qualcosa come quello che mostri funzionerebbe.

Ovviamente puoi compensare la temperatura della sorgente di corrente costante e fare altre cose per migliorarla, ma questa è la più semplice. Per ottenere i migliori risultati, avere uno o due volt attraverso il mio R2, tuttavia ciò limita quanto in alto può arrivare il Vramp.

GuntherSchadow Aug 25 2020 at 12:56

Ecco la mia soluzione semplice quasi perfetta. Devo solo costruirlo domani.

La correzione PNP di Spehro Pefhany ovviamente ha posto le basi. Tuttavia il circuito di scarica sarebbe un problema pratico pilotandolo dal rilevatore di bordo del povero piccolo. Ma con la coppia Darlington me la cavo meglio che con qualche esotico N-MOSFET.

R4 sarà ovviamente un potenziometro da 10k da regolare.

Sostituire R1 con i due diodi dovrebbe renderlo più stabile.

AGGIORNAMENTO: C'è una differenza tra teoria e pratica. In pratica il piccolo impulso generato dal filtro passa-alto da 100pF / 1k non era sufficiente per disattivare la coppia Darlington. Potrei farlo passare attraverso un buffer (come un amplificatore per portarlo a livello logico) o due inverter, e poi funzionerebbe. Ma questo sta sprecando due 3 stadi dell'inverter in totale. Ho provato a utilizzare un rilevamento del fronte negativo e un inverter per creare un impulso completo verso l'alto, ma il picco negativo non si abbassa abbastanza da attivare l'inverter.

Per ora sono tornato a usare solo l'RCO come impulso di ripristino. E quando lo faccio non ho nemmeno bisogno di un paio di Darlington. Sto sprecando un pixel per farlo. Non ideale ma abbastanza giusto per il momento.

Versioni finali che ho costruito su breadboard con un'immagine abbastanza stabile.

Ho provato questi diodi D1 D2 sulla rampa V, sperando che lo rendesse stabile, ma non ha aiutato, quindi sono tornato al resistore R1 a 2,11 kOhm, avevo una tolleranza dell'1% rimasta dal mio DAC ladder progetto. E dopo aver rimesso tutto insieme, ora l'immagine è abbastanza stabile.

Qualche sfocatura nella rampa verticale, mentre l'orizzontale è piacevole.

E l'immagine è stabile, forse la sfocatura verticale potrebbe essere migliorata. Vedremo i prossimi giorni quando verrà sostituito con le rampe per scale basate su DAC digitale.