====== 24A (era 22A) - I multivibratori ====== ===== Premessa ===== I multivibratori possono essere realizzati con diverse soluzioni circuitali, sia anlogiche (BJT, operazionali) che digitali (porte logiche, timer); non è possibile esaminarle tutte quindi vedremo solo i multivibratori con operazionali e con l'integrato 555. ===== 1 I multivibratori ===== I circuiti **multivibratori** sono caratterizzati dall'avere due soli stati per l'uscita; la commutazione tra i due stati può essere spontanea o innescata da una sollecitazione esterna. Si distingue tra: * multivibratori **bistabili**, dove l'uscita permane nel suo stato e la commutazione è innescata da una sollecitazione esterna (ad esempio flip-flop e latch) * multivibratori **monostabili**, dove uno solo dei due stati è stabile e permane nel tempo; una sollecitazione esterna permette di raggiungere l'altro stato ma dopo un tempo definito si ha una commutazione spontanea allo stato stabile (sono usati per produrre impulsi di durata prestabilita e nei temporizzatori) * multivibratori **astabili**, commutano spontaneamente da uno stato all'altro seguendo un ciclo ben definito (sono usati nei generatori di segnale) ===== 2 Astabili con operazionali ===== Il circuito di //figura 1// è un multivibratore astabile realizzato con un trigger di Schmitt invertente; la tensione di riferimento è nulla e il segnale in ingresso è la tensione ai capi del condensatore. Il principio di funzionamento è il seguente: * con l'uscita al livello alto VoH il condensatore si carica attraverso la resistenza R3 * quando la tensione vc raggiunge la soglia VT+ l'uscita commuta al valore basso VoL * il condensatore si scarica attraverso R3 (quindi con la stessa costante di tempo della carica) * quando vc raggiunge la soglia VT- l'uscita commuta al valore alto VoH * il ciclo si ripete Il grafico di //figura 1// mostra l'andamento dei segnali di ingresso e di uscita. I valori delle due soglie del trigger si calcolano con: `V_(T+)=R_2/(R_1+R_2)V_(oH) quad , quad V_(T-)=R_2/(R_1+R_2)V_(oL)` La carica e scarica del condensatore segue una legge esponenziale dove: * nella carica il valore iniziale è VT- e quello finale - che non viene raggiunto a causa della commutazione - VoH * nella scarica il valore iniziale è VT+ e quello finale - che non viene raggiunto a causa della commutazione - VoL * la costante di tempo vale τ = R3C Si dimostra che i tempi di carica e scarica valgono: `t_H=tau ln {:(V_(oH)-V_(T-))/(V_(oH)-V_(T+)):} quad , quad t_L=tau ln {:(V_(oL)-V_(T+))/(V_(oL)-V_(T-)):}` I due tempi sono praticamente coincidenti perché VoL = -VoH e VT- = -VT+ e il duty cycle è del 50% (onda quadra). Allora il periodo, somma dei due tempi, si calcola con: `T=2 tau ln (1+2 R_2/R_1)` e la frequenza con l'inverso della formula sopra. ==== Casi particolari ==== Volendo limitare l'uscita a un livello inferiore rispetto a quello imposto dall'operazionale si può aggiungere un limitatore con diodi zener come in //figura 2//. In questo caso vale: `V_(oH)=V_D+V_(Z1) quad , quad V_(oL)=-(V_(Z2)+V_D)` Se invece si vuole regolare il duty cycle si può ricorrere al circuito di //figura 3//. In questo caso, grazie ai due diodi, la carica e scarica del condensatore avvengono su due rami distinti del circuito e le due costanti di tempo sono regolabili agendo su R3 ed R4. Occorre notare che se si vuole regolare il duty cycle mantenendo la frequenza costante bisogna compensare l'aumento di una resistenza con una pari diminuzione dell'altra (magari utilizzando due potenziometri coassiali) o utilizzare un unico potenziometro come in //figura 3b//. Infine il circuito di //figura 4// è un multivibratore astabile realizzato con un comparatore commerciale ad alimentazione singola dove VoH = +VCC e VoL = 0. Il principio di funzionamento è quello del circuito di //figura 1// ma in questo caso: * vale `V_(T+)=2/3 V_(C\C)` e `V_(T-)=1/3 V_(C\C)`, come si evince dalla //figura 4b// (nei due stati due delle tre resistenze uguali sono in parallelo) * è necessaria una resistenza di pull-up da 4,3 kΩ perché l'uscita del comparatore è del tipo //open-collector// Con i valori indicati i tempi di carica e scarica si calcolano con: `t_L=t_H = R_4 C_1 ln 2` e da questi si ricavano periodo e frequenza. ==== Extra ==== * esempio 1: dimensionamento del multivibratore ===== 3 Monostabili con operazionali ===== Il circuito di //figura 5//, derivato dall'astabile di //figura 1//, è un multivibratore monostabile. Lo stato in cui l'uscita è alta è stabile mentre lo stato con l'uscita bassa, innescato da un fronte di discesa del segnale di trigger vi, ha una durata limitata e costante dopo di che si ha una commutazione spontanea allo stato stabile. Il principio di funzionamento è il seguente: * con l'uscita alta il condensatore si carica attraverso R3 * il diodo D1 limita la tensione vc al valore VD * la tensione di soglia VT+ non può essere raggiunta e lo stato è stabile: non avvengono commutazioni spontanee e l'uscita resta al valore VoH * l'impulso vi innesca la commutazione in corrispondenza del fronte di discesa((il fronte di salita di vi non produce alcun effetto perché il diodo D2 in questo caso è interdetto)): il segnale, derivato dal gruppo R4C2, produce un impulso negativo di breve durata che: * manda il diodo D2 in conduzione * porta v+ a un valore negativo (sicuramente minore di VD) * fa commutare l'uscita al valore basso VoL * con l'uscita bassa il condensatore si carica negativamente attraverso R3 * al raggiungimento della tensione di soglia VT- si ha una commutazione spontanea al valore alto VoH; la durata della scarica - e quindi dello stato in cui l'uscita è bassa - è costante Per un corretto funzionamento del circuito bisogna attendere che il condensatore si carichi al valore VD prima di applicare un nuovo impulso di trigger; in altre parole la frequenza massima del segnale di trigger è limitata dalla costante di tempo della carica del condensatore. Per ovviare a questo problema è possibile aggiungere il ramo con R5 e D3 e accelerare la carica (R5 %%<<%% R3). La durata dell'impulso in uscita si calcola applicando la legge esponenziale della carica/scarica dei condensatori dove: * il valore iniziale è VD * quello finale VoL * la costante di tempo vale τ=R3C1 * il valore di tensione al tempo to (corrispondente alla durata dell'impulso) è `V_(T-)=R_2/(R_1+R_2)V_(oL)` Si ottiene: `t_o ~~ tau ln (1+ R_2/R_1)` ==== Extra ==== * esempio 2: dimensionamento del multivibratore monostabile((interessante la scelta dei componenti: rapporto resistenze per avere VT- piccola e quindi impulsi di trigger di ampiezza non elevata, dimensionamento derivatore con τ << tO)) * esercizi: 4 (dimensionamento) ===== 4 Generatore di onde quadre e triangolari ===== In circuito di //figura 4// è un trigger di Schmitt non invertente seguito da un'integratore dove l'uscita dell'integratore è l'ingresso del trigger e viceversa. Il circuito è in grado di generare due segnali di uscita: * vo1 all'uscita del trigger è un'onda quadra * vo2 all'uscita dell'integratore è un'onda triangolare Il principio di funzionamento è il seguente: * con l'uscita del comparatore al livello alto Vo1H l'integratore produce una rampa decrescente (l'integratore ha un comportamento invertente) * quando vo2 raggiunge la tensione di soglia VT- in comparatore con isteresi commuta al livello basso Vo1L((nel comparatore con isteresi non invertente questo implica che v+ vale zero)) * l'uscita dell'integratore diventa una rampa crescente * quando vo2 raggiunge la tensione di soglia VT+ si ha una nuova commutazione e l'uscita del comparatore con isteresi torna al valore alto Vo1H * il ciclo si ripete La //figura 4// mostra l'andamento delle due uscite oltre a quello del segnale sull'ingresso non invertente del trigger di Schmitt. Si tratta di * un'onda quadra con valori di picco Vo1L e Vo1H (imposti dall'operazionale) * un'onda triangolare con valori di picco pari alle due tensioni di soglia del trigger VT+ e VT- Per calcolare il periodo e la frequenza delle due onde si procede così: * esprimere analiticamente la vo2 * sostituire il valore di vo2 al termine di una rampa, raggiunto dopo un tempo pari a mezzo periodo * sostituire Vo2P per ottenere un'espressione del periodo che dipende dai soli componenti passivi del circuito Il valore della frequenza così calcolato vale: `f = R_1/R_2 1/(4 R_3 C)` ==== Extra ==== * esempio 3: progetto di un generatore di funzione * esercizi: 6 (dimensionamento), 8 (generatore di funzione con ampiezza e frequenza regolabili) ===== 9 L'integrato 555 ===== Una possibile soluzione per realizzare multivibratori è l'integrato 555. Il suo impiego è diffusissimo perché: * è una soluzione integrata, economica e semplice da usare * può essere alimentato con tensioni da 5 a 15 Volt * funziona correttamente sia con integrati TTL che CMOS * presenta ottime caratteristiche (vedi il [[http://www.ti.com/lit/ds/symlink/ne555.pdf|datasheet]] o la sintesi a pag. 35) Internamente il 555 contiene un partitore con tre resistenze da 5 kΩ (da cui il nome), due comparatori, un flip-flop SR, un BJT e un buffer da cui prelevare l'uscita. Lo schema circuitale nella configurazione da multivibratore monostabile è rappresentato in //figura 21//. Osservando il pinout dell'integrato si vede che: * i pin 8 (VCC) e 1 (GND) servono per l'alimentazione * il pin 2 (TRIG) è usato per il segnale di trigger vi che provoca una commutazione quando passa al livello basso * i due comparatori presentano una tensione di soglia di 1/3 VCC e 2/3 VCC e comandano gli ingressi SET e RESET del flip-flop; il pin 5 (CTRL) permette di modificare i valori delle due soglie ma se non usato va collegato a massa con un condensatore da 10 nF per bypassare i disturbi; il pin 6 (THRES) è usato per il segnale che innesca la commutazione allo stato stabile (uscita bassa) * il flip-flop è asincrono e ha un'uscita attiva bassa `bar Q`; il pin 4 (RESET) può essere usato come reset asincrono attivo basso * il pin 7 (DISCH) collegato all'uscita //open-collector// del BJT permette la scarica di un condensatore ==== Uso del 555 come monostabile ==== Facendo riferimento al circuito di //figura 21//, il principio di funzionamento è il seguente: * quando l'uscita del flip-flop è al livello alto - quindi vo al livello basso - il BJT si comporta come un cortocircuito e il condensatore C è scarico; le uscite dei due comparatori sono basse perché il pin 6 è al livello basso e il segnale di trigger vi è alto; in queste condizioni il flip-flop è nello stato di memorizzazione (S = 0, R = 0) e lo stato del multivibratore è quello stabile * applicando un impulso negativo al segnale di trigger vo - è sufficiente che il suo valore sia minore di 1/3 VCC - il comparatore B passa al livello alto e fa commutare il flip-flop (S = 1, R = 0); il BJT va in interdizione ((si ricorda che l'uscita del flip-flop è attiva bassa)) e il condensatore si carica attraverso R; siamo nello stato instabile con l'uscita vo al livello alto * terminato l'impulso del segnale di trigger il flip-flop torna nello stato di memorizzazione (S = 0, R = 0) e il condensatore continua a caricarsi * quando la tensione al pin 6 supera la soglia di 2/3 VCC il comparatore A passa al livello alto e fa commutare il flip-flop (S = 0, R = 1); il BJT cortocircuita il condensatore che si scarica rapidamente; siamo tornati allo stato stabile e l'uscita vo resta al livello basso fino al successivo impulso del segnale di trigger Si dimostra ((come al solito si usa la formula della carica/scarica del condensatore con VI = 0, VF = VCC, τ = RC e imponendo vc = 2/3V CC.)) che la durata dell'impulso in uscita vale: `t_0 = 1,1 RC` ed è facilmente regolabile scegliendo i valori di R e C. ==== Uso del 555 come astabile ==== La configurazione richiesta è quella di //figura 22// e il principio di funzionamento il seguente: * quando il condensatore C è scarico il comparatore B è al livello alto e il comparatore A a quello basso; l'uscita del flip-flop è bassa (S = 1, R = 0) e il BJT si comporta come un interruttore aperto; in queste condizioni l'uscita vo è alta e il condensatore si carica attraverso la serie di R1 e R2 * quando la tensione vc ai capi del condensatore supera la soglia di 1/3V CC il flip-flop passa allo stato di memorizzazione (S = 0, R = 0) * il condensatore continua a caricarsi fino al raggiungimento della soglia di 2/3V CC quando il comparatore A passa al livello alto facendo commutare il flip-flop (S = 0, R = 1); l'uscita vo passa al livello basso mentre il BJT va in saturazione permettendo la scarica del condensatore C attraverso R2 * durante la scarica il flip-flop torna allo stato di memorizzazione * quando vc scende sotto la soglia di 1/3V CC si ha una nuova commutazione e il ciclo ricomincia Con i soliti procedimenti si può dimostrare che i tempi di carica e scarica valgono: `t_c = 0.693(R_1 + R_2)C quad , quad t_s = 0.693 R_2 C` La somma dei due tempi è il periodo T del segnale in uscita e la sua frequenza si può calcolare con: `f=(1,44)/((R_1 + 2 R_2)C)` Si nota come il segnale presenti un duty cycle sempre maggiore di 50%, in particolare vale: `D = (R_1+R_2)/(R_1 + 2 R_2)` E' possibile ottenere un duty cycle del 50% ponendo R1 %%<<%% R2. Per valori inferiori al 50% occorre invece differenziare la resistenza nella carica e scarica usando dei diodi, come già visto per i multivibratori con operazionali (vedi //figura 3//). === Extra === * esercizi: 15 (uso del pin 5), 18 (regolazione del duty cycle) ===== Navigazione ===== Torna all'[[start#indice|indice]].