Ich verwende einen 555-Timer für einen (16-Bit-) Frequenzsensor / -zähler.
Es zählt die Anzahl der Impulse, die in der von einem 555-Timer eingestellten Abtastzeit von 125 ms gelesen wurden. zurücksetzen & wiederholen ...
Ich benutze den Timer in einem stabilen Betrieb.
TH (Zeitimpuls hoch) ist das Abtast-EIN-Signal.
Diese Zeit wird mit einem hochwertigen POT eingestellt und getrimmt (+/- 5% Einstellbereich).
Die fallende Flanke TL (Zeitimpuls niedrig) löst einen Daten-Latch-Lesevorgang aus -> dann einen Zähler-Reset-Vorgang
Im Moment habe ich es auf einem Brotbrett. Ich mache eine Leiterplatte für das endgültige Design und möchte das folgende Problem für das PCB-Design ausbügeln.
Hier ist das Problem:
Die gemessene Frequenz ist nicht sehr stabil (+/- ~ 3 Hz bei 25 kHz) und es dauert eine Weile, bis sie sich eingestellt hat.
Ich denke, das liegt daran, dass die Abtastzeit durch das Rauschen auf der Vdd-Schiene beeinflusst wird. Ich habe Entkopplungskappen an allen ICs, aber es befindet sich auf einem Brotbrett, so dass dies zu erwarten ist. Für das PCB-Layout möchte ich sicherstellen, dass der 555-Timer auf soliden 5 V steht und der DCDC-Wandlerausgang stabil ist.
Hier sind einige Ideen, wie ich das machen kann.
- Verwenden Sie einen Rail-Rail-Opamp und eine 4v7-Referenz, um den Timer Vdd @ 4v7 zu regeln
- Verwenden Sie Ferritperlen, um den Timer und alle anderen ICs weiter voneinander zu entkoppeln.
- Verwenden Sie einen separaten DCDC-Wandler für den Timer.
- Verwenden Sie einen Linearregler-IC für den Timer Vdd.
Welche davon ist die beste Vorgehensweise, um einen konstanten Vdd-Wert für den Timer zu gewährleisten?
Antworten:
Ihre gemessene Kurzzeitstabilität beträgt ca. +/- 0,01%, was für einen nicht kompensierten RC-Timer nicht schlecht ist.
Sie können es verbessern, indem Sie Widerstände und Kondensatoren mit niedrigem Temperaturkoeffizienten in der Zeitschaltung verwenden, möglicherweise indem Sie Pin 5 gegen Masse umgehen, indem Sie die Schaltung thermisch und elektrisch isolieren, die Temperatur in einem Ofen extrem regeln und sie von einer Batterie mit einem Strom versorgen Rauscharmer Linearregler und Kapazitätsmultiplikatorstufe mit Optoisolation an den Ausgängen.
Aber das ist nur albern. Verwenden Sie einen Kristall, sie sind billig und um Größenordnungen besser. Zum Beispiel ein 100-kHz-Kristall , ein Oszillator ( 74HCU04 + ein paar Widerstände + Lastkappen ) und eine Division durch vier (z. B. ein 74HC74). Die Toleranz (absolute Genauigkeit) dieses bestimmten verknüpften Kristalls beträgt +/- 30 ppm oder etwa 0,75 Hz bei 25 kHz. Die kurzfristige Stabilität wird wieder viel besser sein.
Es gibt auch programmierbare Oszillatorprodukte, die Sie bestellen können. Möglicherweise gibt es eines in einem für Sie nützlichen Bereich.
quelle
Ich glaube nicht, dass Sie jemals die Genauigkeit und Stabilität erhalten werden, die Sie von einem 555-Timer erwarten. Die Impulsbreite wird durch die Werte der Widerstände und eines Kondensators bestimmt, und die Werte dieser Elemente ändern sich mit der Temperatur und im Laufe der Zeit.
Für eine genaue Pulsdauer sollten Sie einen Quarzoszillator mit einem digitalen Zähler betrachten, um den gewünschten Puls zu erzeugen.
quelle
Obwohl ich viele gute Erinnerungen an die Verwendung eines 555-Timers habe, sind unglaublich billige Mikrocontroller mit Kristall heutzutage leider fast immer die bessere Wahl für Timer.
Die PIC16-Serie hat einige Mitglieder, die einen sehr weiten Spannungsbereich (3,3-18 V +) haben und für einen Dollar und Wechsel erhältlich sind.
quelle
Dies ist eher eine Schlussfolgerung als eine Lösung ...
Ich hatte nicht genug Zeit, um eine neue Schaltung mit einem Kristall zu entwerfen, also habe ich die Leiterplatte mit den folgenden Änderungen hergestellt, um sie besser zu machen:
Widerstände mit höherer Präzision für die RC-Schaltung. Ich habe eher 0,1% Toleranz als 1% verwendet. Sie hatten auch 4x die Temperaturstabilität.
4V Spannungsregler für den 555 Timer. Dadurch wird die 555-Spannungsschiene um den Faktor 100 vom Rest des digitalen Materials isoliert (1% Leitungsregelung).
Verwendete 5k Pot anstelle von 20k Pot, um die Pulszeit zu verkürzen. Reduziert den durch die Topfinstabilität verursachten Fehler.
Gepufferter Ausgang für das 555-Timer-Impulssignal. Ich habe einen LT1630 verwendet, um den Zeitimpuls zu allen Gates zu treiben, damit der Timer-IC keinen Strom ansteuert. Die Gate-Eingänge können miteinander interagieren, wenn die Impedanz des Eingangsantriebs nicht niedrig genug ist. Ich habe ~ 7 Gate-Eingänge mit dem Timing-Impuls verbunden, also wollte ich ein starkes Signal garantieren.
Ergebnis: Ich bin herumgekommen Genauigkeit von 0,04% (1-Bit-Umschaltung bei ~ 2500dec am Bus). Bei der ersten Schaltung erreichte ich eine Genauigkeit von ca. 0,5% (die Genauigkeit, die ich ursprünglich angegeben hatte, war falsch) und der Wert driftete ständig. Die neue Schaltung weist keine merkliche Drift auf. Abschließend habe ich mit Komponenten von besserer Qualität die Genauigkeit um das ~ 10-fache erhöht und sie stabil und tatsächlich verwendbar gemacht.
Ich weiß, dass dies nicht die beste oder sogar einfachste Methode ist, um einen Frequenzzähler herzustellen, aber es ist billig und effektiv. Ich werde es wahrscheinlich wieder verwenden, wenn ich eine grobe Frequenzmessung durchführen muss.
Der Wert wird vom DB25-Port mit 8-Bit-Hi / Lo-Auswahl gelesen. Die LEDs dienen nur zum Debuggen. Ich füge immer LEDs hinzu, wo immer es mir das Leben erleichtern kann.
quelle