BPM Generator mit Display?

Ich habe versucht herauszufinden, wie ich dies mit angemessener Präzision entwerfen kann, habe aber Probleme, dies zu starten. Ich habe zuvor mit 555 gearbeitet, aber nicht für eine genaue Zählung, die schrittweise geändert werden kann.

Ich versuche, ein 5-Volt-System zu entwickeln, das einen Ausgang von + 5 V genau pulsiert gemessen und angezeigt in Impulsen pro Minute oder Schlägen pro Minute zwischen 60 und 240. Die BPM sollte über 2 Momenttasten einstellbar sein, die den Timer auf +1 und -1 stellen. Es wäre auch großartig, wenn es auch eine Sekunde geben könnte Tastensatz für +10 und -10 Schritte.

Ist die Verwendung eines 555-Timers falsch? Gibt es etwas Präziseres, mit dem ich auf das Gating verweisen kann? Gibt es da draußen bereits einen IC? Kann ich das alleine machen und einen Vergleich anstellen, um die Mathematik zu berechnen?

Entschuldigung, dass ich nicht gepostet habe, was ich bisher habe. Ich bin auf Version 80 – etwas auf meinem Steckbrett und nichts hat genau so funktioniert weit. Ich möchte auch vermeiden, dass ich Roms programmieren und bei diskreten ICs bleiben muss. Auch hier möchte ich KEINE Chips programmieren.

Ich denke, was ich will, könnte ein Funktionsgenerator sein ein Frequenzzähler, aber ich weiß nicht, ob dies der beste Weg ist.

Kommentare

  • 555s und Genauigkeit passen nicht zusammen. Dies passt viel besser zu einem Mikrocontroller (Arduino usw.) mit einem Quarzoszillator.
  • @BrianDrummond Ich ‚ versuche, mich von Adruino fernzuhalten und Dinge zu behalten Einfach und kostengünstig …
  • Ich denke, Sie haben ein schreckliches Missverständnis über ein MCU-basiertes Design. Es gibt viele Möglichkeiten für MCU-Komponenten, die die Einfachheit, die geringen Kosten und die Präzision bieten, nach denen Sie suchen. Ein diskretes IC-Design ist im Vergleich viel komplizierter, insbesondere wenn Sie die Tasten und das Display in die Mischung einbringen. Die MCU kann alles problemlos erledigen. Ein letzter Gedanke ist, dass Sie, sobald Sie das MCU-basierte Design erreicht haben, nie mehr darauf zurückblicken werden, 1970 ‚ s oder 1980 ‚ s zu tun Style Design für diese Art von Projekt.
  • @MichaelKaras Das ist auch etwas Neues, auf das ich ‚ nicht sicher bin, ob ich mich einlassen möchte. Für mich erledigen Transistoren und Vakuumröhren die Dinge lol IC ‚ s sind ebenfalls in Ordnung, aber für mich immer noch neu. Aber MCU ‚ s, ich ‚ weiß nicht einmal, wo ich dort anfangen soll, und ich ‚ möchte nicht in die Programmierung von Chips einsteigen …
  • Wie viel von dieser Funktionalität haben Sie für Version 80 auf Ihrem Steckbrett?

Antwort

Wenn Sie etwas implementieren möchten, ohne programmierbare Teile außerhalb eines Oszillators mit benutzerdefinierten Frequenzen zu verwenden, sollte es möglich sein, eine Schaltung mit einer dreistelligen BCD-Frequenz zu erstellen und gibt ein Signal mit so vielen Schlägen pro Minute unter Verwendung eines Oszillators plus fünf handelsüblicher Chips aus. Führen Sie einen 1.092.267-Hz-Oszillator in einen CD4060 ein, um ihn um den Faktor 16 zu verkleinern (DIP-verpackte Oszillatoren bei Digi-Key haben eine Mindestgeschwindigkeit von 1 MHz). Führen Sie dieses 68.266,7-Hz-Signal in eine kaskadierte Folge von drei CD4527-Chips ein, die für den „ADD“ -Modus eingerichtet sind, um eine Ausgabe von (1-999) / 4.096 bpm zu erhalten, und führen Sie die Ausgabe in eine CD4040 ein, um die gewünschte Ausgaberate zu erhalten sowie verschiedene Potenzen von zwei Vielfachen und Untermultiplikatoren davon. Höhere Abgriffe des ersten CD4060 können verwendet werden, um verschiedene Zweierpotenz-Vielfache von 66,7 Hz bereitzustellen [möglicherweise als „Piepton“ -Töne verwendbar].

Wenn Sie drei BCD-Daumenräder haben, könnten Sie nur benötigen sechs elektronische Hauptteile, alle DIP; Die Preise für die erste Menge bei Digikey wären:

3x CD4527BE -- $0.80ea ($2.40 total) 2x CD4060BE -- $0.56ea ($1.12 total) oscillator -- $3.02ea ($3.02 total) $6.54 total 

Die Montage auf einem 0,1-Zoll-Perfboard sollte ziemlich einfach sein, da die einzigen Verbindungen außer Strom und Masse der Oszillator wären Ausgabe speist die erste CD4060, die Ausgabe dieser speist alle drei CD4527, wobei jede der ersten beiden CD4527 zwei Signale zur nächsten speist und die letzte CD4527 ein Signal zur letzten CD4060 speist.

Kommentare

  • Ah ja! Jetzt ‚ sprechen meine Sprache 🙂 Dies ist der perfekte Ausgangspunkt, den ich brauchte! Einfache Hardware und kein Problem mit der Programmierung. Danke!
  • Wenn Sie auch nur einen programmierbaren Oszillatorchip vermeiden und alles mit ‚ classic CMOS-Teile Sie könnten einen 3,2768-MHz-Kristall verwenden und durch 3 teilen, z. B. einen 4018 und einen 4011, um den 1,092267-MHz-Takt zu erzeugen. Dann sollten Sie versuchen, den gleichen Job mit zu machen ein Mikrocontroller und Entscheiden Sie, was einfacher war.
  • @nekomatic: Ich mag die Idee, den 3,2768-MHz-Kristall mit einer Division durch zwölf zu verwenden (ich denke, das würde ausreichen, um die Anzahl der Schläge pro Minute in Reichweite für die zu bringen 4060; Ich finde es seltsam, dass es 14-Bit- und 24-Bit-Zähler gibt, bei denen die oberen Bits verfügbar sind, aber nichts, was ich z.Bits 18-20 verfügbar). Also die gleiche Anzahl von Chips, aber kein kundenspezifischer Oszillator. Ich bin mir nicht sicher, wie ein 4011 passen würde, da ich nur Muster mit sieben Segmenten sehe. Übrigens, ein anderer Ansatz, der lehrreich sein könnte, wenn man einen EPROM-Programmierer zur Verfügung hätte, aber keinen für einen Mikrocontroller …
  • … wäre, eine auf Schieberegistern basierende Zustandsmaschine zu bauen. Ich ‚ bin mir nicht sicher, wie groß es für den angegebenen Zweck sein müsste, aber solche Dinge können ziemlich mächtig sein. Eine weitere interessante Beobachtung ist schließlich, dass der COSMAC-Mikroprozessor aus den 1970er Jahren über eine ausreichende Boot-Strapping-Logik verfügte, die in einer ROM-freien Konfiguration verwendet werden konnte, wenn ein Programm mit zehn IIRC-Schaltern, acht LEDs und einer Taste eingegeben wurde. Das könnte einen weit genug bringen, um etwas zu haben, das einen modernen parallelen EEPROM-Chip programmieren könnte.
  • @supercat das 4018-Datenblatt ti.com/lit/ds/ symlink / cd4018b.pdf sagt, dass ein zusätzlicher 4011 erforderlich ist, um durch eine ungerade Zahl zu teilen, und ich habe es nur wörtlich zitiert. Bei näherer Betrachtung benötigen Sie tatsächlich eine UND-Funktion, die Sie mit mehreren anderen möglichen Teilen implementieren können oder (wahrscheinlich) zwei Dioden und einen Widerstand gegen Vdd.

Antwort

Dies könnte leicht gemacht werden ein Mikrocontroller. 240 BPM sind 4 Hz. Durch die Verwendung eines Mikrocontrollers mit Timer-Peripheriegeräten wäre es einfach, eine Genauigkeit im Bereich von +/- 0,01% zu erzielen.

Schlagen Sie einen Mikrocontroller wie PIC oder AVR oder MSP430 mit einem kleinen Display und Tasten vor. Ein LCD-Display könnte verwendet werden, um Strom zu sparen, und es sind Mikros mit LCD-Controllern an Bord. Kosten und Schaltungskomplexität wären sehr gering.

Sie können dies mit einem Arduino prototypisieren.

Während Sie einen 555 verwenden und einen Frequenzzähler daran anbringen könnten (und den Knopf einstellen, wenn er von der Frequenz abweicht), wird der Frequenzzähler am besten mit einem Mikro und implementiert Daher ist es zunächst einfacher, die gewünschte Frequenz einfach richtig zu synthetisieren.

Sie können beispielsweise Frequenzzähler-Designs für Open-Source-LCD-Module finden, die auf dem PIC16F628 basieren, aber wahrscheinlich für solche niedrigen Frequenzen nicht direkt verwendbar. Um eine Auflösung von 1 BPM mit einem einfachen Frequenzzähler zu erhalten, ist eine Gate-Zeit von 1 Minute erforderlich. Periodenzählung und Mathematik wären daher ein besserer Ansatz – tatsächlich schwieriger als das Erzeugen einer festgelegten Frequenz.

Antwort

Wie die anderen gesagt haben, ist ein PIC oder Arduino der richtige Weg, aber wenn Sie entschlossen sind, dies zu vermeiden Programmierung …

Sie könnten aus Stabilitätsgründen die Verwendung von CMOS-Chips mit einem Hochfrequenzoszillator mit einem Kristall in Betracht ziehen. Sie würden dann einen Zählerchip verwenden, um Impulse zu zählen und die aktuelle Anzahl an den Ausgangspins anzugeben Sie müssen einer Logik zugeführt werden, um einen Ausgangsimpuls bei einer bestimmten Anzahl zu geben und den Zähler zurückzusetzen.

Daneben benötigen Sie einige andere Zähler, um den Rücksetzpunkt für den Vergleich festzulegen. Leider wird es hier unübersichtlich Wenn Sie gerne 100, 200, 300, 400 usw. Impulse zählen, ist dies möglicherweise möglich, aber das Problem besteht darin, dass Sie Schläge pro Minute angeben möchten, sodass Sie 1 / BPM berechnen müssen, um eine gleichmäßige Anzahl zu erhalten BPM-Schritte.

Denken Sie noch einmal über die Programmierung nach. Micros haben sich in der letzten Zeit gut geschlagen. Ich denke, sie werden sich durchsetzen!

Kommentare

  • Wenn man a verwenden kann Benutzerdefinierte Oszillatorfrequenz, ich ‚ denke nicht, dass die Dinge zu schwierig sind, um einen dezimalen BPM-Wert mit handelsüblichem CMOS in Frequenz umzuwandeln. Selbst die Verwendung einer Bohrfrequenz von 1,00 MHz wäre ‚ nicht schlecht, obwohl eine Teilerkette erforderlich wäre, die durch 60.000 (d. H. 240 x 250) teilen könnte. Denken Sie mal darüber nach, dass dies in zwei Chips möglich sein könnte und die gleiche Anzahl von Teilen ergibt wie in meinem anderen Design, obwohl ich denke, dass es hilfreich sein könnte, die Potenz von zwei Untermultiplikatoren zu haben und die Zwei-Chips zu teilen -60000 würde ‚ t nicht ausführen.
  • Vielleicht, aber das Problem ist, dass Sie jedes Mal, wenn Sie die Taste + oder – drücken, einen neuen Teiler und berechnen müssen ‚ ist eine reziproke (1 / BPM) Funktion. Beispielsweise würde für Ihren 1-MHz-Haupttakt die Anzahl der Zählungen – 60 BPM – > 1.000.000 Impulse betragen; 61 BPM – > 983.606,6 Impulse; 62 BPM – > 968.741,9 Impulse. Es ist sehr komplex, auch nur Ein-BPM-Inkremente zu erhalten, während ‚ eine einfache Berechnung in einem Mikro ist.
  • Die Verwendung eines Multiplikator-Chips mit drei Dezimalraten ermöglicht dies einen 12-stelligen BCD-Wert zu nehmen und eine Ausgabe mit einem Vielfachen der gewünschten Geschwindigkeit zu erhalten, die dann unter Verwendung eines festen Teilers verkleinert werden kann. Keine Notwendigkeit, irgendeine Art von Gegenseitigkeit zu erzeugen.Die Verwendung von Auf-Ab-Tasten und Zählern zum Einstellen der Rate anstelle von Daumenrädern würde mehr Schaltkreise erfordern, aber ich ‚ weiß nicht, wie flexibel diese Anforderung ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.