Rigidità Super Duper Vdd richiesta sul timer 555, qual è il modo migliore?


10

Sto usando un timer 555 per un sensore / contatore di frequenza (16 bit).

Funziona contando il numero di impulsi letti nel tempo di campionamento di 125 ms impostato da un timer 555; ripristina e ripete ...

Sto usando il timer in modalità astable.

  • TH (impulso temporale alto) è il segnale ON di campionamento.

    Questo tempo viene impostato e tagliato (intervallo di regolazione +/- 5%) con un POT di alta qualità.

  • Il fronte di discesa TL (impulso temporale basso) avvia una lettura del blocco dati -> quindi un'operazione di ripristino del contatore

inserisci qui la descrizione dell'immagine

In questo momento ce l'ho su un tagliere. Sto realizzando un PCB per il progetto finale e voglio risolvere il seguente problema per il design del PCB.

Ecco il problema:

La frequenza misurata non è super stabile (+/- ~ 3Hz @ 25kHz) e richiede un po 'di tempo per stabilizzarsi.

Penso che sia perché il tempo di campionamento viene influenzato dal rumore sulla guida Vdd. Ho i tappi di disaccoppiamento su tutti i circuiti integrati, ma è su una breadboard, quindi è prevedibile. Per il layout PCB voglio assicurarmi che il timer 555 sia su un solido 5v e che l'uscita del convertitore DCDC sia costante.

Ecco alcune idee che ho su come farlo.

  1. Utilizzare un opamp rail-rail e riferimento 4v7 per regolare il Timer Vdd @ 4v7
  2. Utilizzare perline di ferrite per disaccoppiare ulteriormente il timer e tutti gli altri circuiti integrati.
  3. Utilizzare un convertitore DCDC separato per il timer.
  4. Utilizzare un IC regolatore lineare per il Timer Vdd.

Quale di questi sarebbe la migliore pratica per assicurare un valore Vdd del timer costante?


17
Forse dovresti usare un cristallo invece. Sono davvero impressionato dal fatto che è solo +/- 3Hz a 25 kHz. È fantastico, considerando che stai usando un timer 555.
Harry Svensson,

3
L'irrigidimento VDD potrebbe non essere d'aiuto: potrebbe trattarsi di un effetto termico (il condensatore o il chip stesso si scaldano). anzi, "richiede un po 'di tempo per sistemarsi" suggerisce questo. Le altre risposte sono assolutamente corrette: se 3Hz in 25kHz non sono abbastanza buoni, vuoi davvero una fonte fondamentalmente migliore (ad esempio, guarda l'oscillatore a cristallo a 32.768 kHz.
Brian Drummond,

1
Fantastico, mi sento molto meglio ora sul mio circuito dopo aver scoperto che sto ottenendo risultati abbastanza buoni nonostante abbia usato un timer 555 come riferimento. rev.2 utilizzerà un cristallo e un contatore per impostare il tempo di campionamento. Posso anche regolare l'intervallo di tempo del campione selezionando quale bit del contatore usare!
Tony,

Risposte:


21

La stabilità misurata a breve termine è di circa +/- 0,01%, il che non è male per un timer RC non compensato.

Puoi migliorarlo usando resistori e condensatori a basso coefficiente di temperatura nel circuito di temporizzazione, magari bypassando il pin 5 a terra, isolando il circuito termicamente ed elettricamente, controllando in modo estremo la temperatura in un forno, alimentandolo da una batteria con un regolatore lineare a bassissimo rumore e stadio moltiplicatore di capacità e utilizzo dell'optoisolamento sulle uscite.

Ma è solo stupido. Usa un cristallo, sono economici e gli ordini di grandezza sono migliori. Ad esempio, un cristallo da 100 kHz , oscillatore ( 74HCU04 + un paio di resistenze + tappi di carico) e un divisore per quattro (ad es. Un 74HC74). La tolleranza (precisione assoluta) di quel particolare cristallo collegato è +/- 30 ppm o circa 0,75 Hz in 25 kHz. La stabilità a breve termine sarà di nuovo molto migliore.

Ci sono anche prodotti oscillatori programmabili che puoi ordinare, ce ne potrebbe essere uno in una gamma utile per te.


"La stabilità misurata a breve termine è di circa +/- 0,01%, il che non è male per un timer RC non compensato. " - Come si compenserebbe per renderlo più stabile?
Harry Svensson,

7
@HarrySvensson Potresti isolarlo dagli effetti termici come le correnti d'aria e introdurre componenti volutamente sensibili alla temperatura per compensare la deriva del condensatore e dei resistori (e, in misura minore, l'IC). Se i cristalli (e i risuonatori ceramici) non fossero così economici e disponibili, tali tecniche potrebbero avere senso. Un altro metodo consiste nell'utilizzare una tabella di ricerca guidata dalla temperatura, memorizzata nella EEPROM per tagliare alcuni parametri.
Spehro Pefhany,

1
Meglio di un cristallo da 100kHz e 74HCU04, un 74HC4060 e un cristallo da 6.4MHz. Togli l'orologio dal Q8 e lo zio di Bob.
TimWescott,

@TimWescott è una buona opzione, può usare anche un robusto cristallo HC49, con un azionamento massimo più elevato.
Spehro Pefhany,

14

Non credo che otterrai mai l'accuratezza e la stabilità che desideri da un timer 555. L'ampiezza dell'impulso è determinata dai valori dei resistori e di un condensatore e i valori di questi elementi cambieranno con la temperatura e nel tempo.

Per una durata dell'impulso precisa dovresti guardare un oscillatore a cristallo con un contatore digitale per generare l'impulso desiderato.


3

Mentre ho molti bei ricordi dell'utilizzo di un timer 555, purtroppo, i microcontrollori incredibilmente economici con un cristallo sono quasi sempre una scelta migliore per i timer al giorno d'oggi.

La serie PIC16 ha alcuni membri che hanno un intervallo di tensione molto ampio (3,3-18 V +) e sono disponibili per un dollaro e cambio.


1
D'accordo, ma faccio del mio meglio per non usare gli MCU quando non devo. Realizzo schede tester IC. È come un pratico circuito periferico che posso semplicemente copiare e incollare in nuovi progetti senza dover programmare nulla in flash. Quindi non ho bisogno di usare un oscilloscopio costoso per misurare la frequenza.
Tony,

2

Questa è più una conclusione piuttosto che una soluzione ...

Non ho avuto abbastanza tempo per progettare un nuovo circuito usando un cristallo, quindi ho fatto il PCB con le seguenti modifiche per cercare di migliorarlo:

  1. tappi di pellicola più precisi e stabili alla temperatura. Ho messo 2 in parallelo nel tentativo di rendere più stabile la capacità. Quando un condensatore affonda / genera più corrente, si riscalda causando un calo della capacità ... rendendo l'altro condensatore affonda / sorgente più corrente. Quindi hai un po 'di regolamentazione in corso. Questo non è sempre il caso dei condensatori ceramici, che è quello che stavo usando prima.

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

  1. resistori di maggiore precisione per il circuito RC. Ho usato una tolleranza dell'1% anziché l'1%. Avevano anche il doppio della stabilità della temperatura.

  2. Regolatore di tensione 4v per il timer 555. Ciò isola la linea di tensione 555 dal resto del materiale digitale di un fattore 100 (regolazione della linea dell'1%).

  3. Utilizzate una pentola da 5k anziché una da 20k per tagliare il tempo dell'impulso. Riduce l'errore causato dall'instabilità del vaso.

  4. Uscita bufferizzata per il segnale a impulsi del timer 555. Ho usato un LT1630 per guidare l'impulso di temporizzazione su tutte le porte in modo che il timer IC non stesse guidando corrente. Gli ingressi del gate possono interagire tra loro se il convertitore di frequenza non ha un'impedenza sufficientemente bassa. Ho ~ 7 ingressi gate collegati all'impulso di temporizzazione, quindi volevo garantire un segnale forte.

Risultato: ho ottenuto ~ 0,04% precisione del (1 bit attiva il valore di ~ ~ 2500dec sul bus). Per il primo circuito stavo ottenendo un'accuratezza dello 0,5% (l'accuratezza che avevo pubblicato inizialmente era errata) e il valore andava costantemente alla deriva. Il nuovo circuito non ha una deriva evidente. Quindi, in conclusione, usando componenti di migliore qualità ho aumentato l'accuratezza di ~ 10 volte e l'ho resa stabile e realmente utilizzabile.

So che questo non è il metodo migliore o addirittura più semplice per creare un contatore di frequenza, ma è economico ed efficace. Probabilmente lo userò di nuovo quando avrò bisogno di prendere una misurazione di frequenza grezza.

Il valore viene letto dalla porta DB25 con la selezione Hi / Lo a 8 bit. I LED sono solo per il debug. Aggiungo sempre i LED ovunque possa semplificarmi la vita.

inserisci qui la descrizione dell'immagine


Bel design, lo adoro davvero :)
VillageTech il
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.