Ich baue eine einfache Schaltung, die mit einem 555-Timer in einem bestimmten Zeitintervall einen Piepser piept. Gibt es eine einfache Möglichkeit, die Zeit des 555-Timers zwischen zwei bestimmten Intervallen zu randomisieren, z. B. zwischen 30 Sekunden und zwei Minuten? Ich suche nicht einmal nach echter Randomisierung, sondern nach etwas Einfachem, um das Intervall zwischen den einzelnen Impulsen unterschiedlich zu gestalten. Idealerweise wäre dies einfach / klein genug, dass ich zwei davon mit einem 556-Timer in einen Schaltkreis stecken kann - der zweite wäre ein Timing von weniger als einer Sekunde, um jedes Mal einen anderen "Piep" zu erzeugen. Irgendwelche Ideen?
Vielen Dank.
PS - Bonus, wenn die Intervalle mit einem Potentiometer eingestellt werden können?
Ich stimme Olin zu: Lass den 555 weg und hol dir einen Mikrocontroller. Der PIC10F200 ist der erste, der in den Sinn kommt, wenn Sie nur ein paar I/Os und ein einfaches Programm benötigen. Dank des internen Oszillators benötigt er keine der externen Komponenten, die der LM555 benötigt. Der 10F200 ist nur ein paar Cent mehr als der LM555 und kann problemlos zwei davon ersetzen. Auch der LM556 ist keine Konkurrenz: Er kostet doppelt so viel wie der 10F200.
Olins Antwort ist also die richtige? Nein :-). Ich hol mir den Bonus! Ich habe kürzlich den Atmel ATTiny5 gefunden , der mit dem PIC10F200 vergleichbar ist: gleiches SOT23-Paket, gleiche 512 Bytes Programmspeicher, interner Oszillator. SONDERN! Der ATTiny5 hat einen ADC , den der PIC nicht hat! Schließen Sie das Potentiometer daran an und der Bonus gehört mir! :-)
(Sie können mit dem PIC auch einen groben ADC machen, aber er benötigt 2 Pins, die Sie als Ausgänge verwenden können, und da wir bereits zwei Ausgänge haben und ein I / O des 10F200 nur Eingang ist, müssen Sie aufgeben dieser Summerausgang. Bearbeiten. Beim zweiten Gedanken können Sie dies mit einem E / A tun, aber Sie benötigen zwei Widerstände und einen Kondensator anstelle von einem Widerstand und einem Kondensator. )
Die Software ist sehr ähnlich wie beim PIC: Programmieren Sie ein LFSR (Linear Feedback Shift Register):
Ein 8-Bit-LFSR kann bis zu 255 Kombinationen durchlaufen, bevor es wiederholt wird, ein 16-Bit-LFSR bis zu 65535. Verwenden Sie den Potentiometerwert, um die Clipping-Werte für den Timer zu definieren.
Sie sagten, Sie wollen einfach und klein, aber Sie verwenden einen 555-Timer. Diese beiden stehen im Widerspruch zueinander.
Geben Sie den 555-Timer in das Museum zurück, in dem Sie ihn gefunden haben, und verwenden Sie einen Mikrocontroller. Der winzige PIC10F200 kann diese Aufgabe übernehmen. Es wird in einem SOT-23-Gehäuse geliefert und benötigt nur ein einziges zusätzliches Teil der Bypass-Kappe.
Der Rest ist Firmware. Dieser Teil hat einen internen Oszillator und 255 nutzbare Befehlswörter. Das reicht für ein wenig Timing und Pseudo-Zufallszahlencode. Sie können sogar mehrere Ausgaben gleichzeitig ausführen. Dieser Teil hat sechs Pins: Strom, Masse, einen Eingang und drei I/O. Sie können ihn daher bis zu 3 separate Ereignisse direkt von seinen Pins erzeugen lassen.
Offenbar besteht der Wunsch, die durchschnittliche Intervalllänge mit einem Topf zu kontrollieren. Wenn Sie dies wünschen, können Sie anstelle des 10F200 einen PIC 10F220 verwenden. Dieser PIC hat einen 8-Bit-A/D und kostet nur wenig mehr als der '200 (immer noch nur 0,38 $ in 100s bei Microchipdirect). Auch hier ist das einzige andere Teil, das Sie neben dem Mikrocontroller benötigen, eine Bypass-Kappe. Das Poti kann etwa 20 kΩ oder 47 kΩ betragen. Die Enden sind mit Vdd und Masse verbunden und der Schleifer mit einem der beiden analogen Eingangspins. Der Rest ist Firmware.
Klar ist das trivial. Holen Sie sich einfach ein Schieberegister, ein Quad-XOR-Gatter und einen Topf auf dem 555 oder verwenden Sie einen Schmitt-Inverter, um dasselbe zu tun (Relaxation Osc), und treiben Sie einen Binärzähler, um die Mindestperiode von 1 Minute zu erhalten. Verwenden Sie einen anderen Wechselrichter, um einen anderen Ton zu erzeugen. Verwenden Sie eine RC-Verzögerung eines XOR-Gatters und Sie erhalten einen One-Shot für jeden Übergang. Gattern Sie das mit Ihrem Ton oder verwenden Sie einen anderen Schmitt-Inverter, um einen anderen festen f-Ton zu erzeugen, oder verwenden Sie denselben Ton, sodass sich der Ton auch ändert, wenn Sie die Intervalle mit dem Poti ändern.
Suchen Sie nach PRSG, PRNG, LFSR oder RNG oder... ....alles, was Sie brauchen, ist ein 8-stufiger Zufallsgenerator. Es gibt längere Polynome, die Sie auch einfach verwenden können. Wenn Sie einen Inverter in der Rückkopplung verwenden, können alle Nullen oder ein Reset als Startwert verwendet werden. Oder Sie können einen zufälligen Seed auf andere Weise laden ... Aber alle 1's sind illegal. Dies wird Sinn machen, nachdem Sie das klassische Design gesehen haben. (Ich habe es 1976 benutzt)
Zweiter Gedanke: Sie wollen nur ein 4:1-Verhältnis von 0,5 bis 2 Minuten, und dies würde ein 8:1-Verhältnis erzeugen. Das ist nicht allzu schwer zu beheben ... Verwenden Sie eine feste Zeitverzögerung von 30 Sekunden und ein höheres Polynom PRNG für eine bessere Auflösung. Verwenden Sie dann ein Flip-Flop oder 2 Tore, um es nach 30 Sekunden einzustellen und nach 2 Minuten zurückzusetzen. Führen Sie das jetzt in VHDL aus und stecken Sie es in einen einfachen CPLD-Chip. Nächste?
Ich gehe davon aus, dass der 555 in monostabiler Konfiguration verwendet wird.
Das Intervall wird durch den RC bestimmt und C ist festgelegt. R kann variiert werden; beispielsweise durch Verwendung eines LDR oder eines Thermistors. Daher würde sich wahrscheinlich auch die RC-Konstante ändern.
Es gibt natürlich die Einschränkung, dass ein solcher variabler Widerstand/Treiber der richtigen Umgebung ausgesetzt werden müsste, damit sein Widerstand variiert.
Hoffe das hilft.
555er sind so altmodisch ... Sie können 6 Oszillatoren mit einem HEx-Schmitter-Inverter herstellen oder Schmitt NAND verwenden.
Verwenden Sie dann beide Eingänge von XOR mit RC-Verzögerung in einem, um einen One-Shot-Frequenzverdoppler zu erstellen.
Eigentlich ist das alles alte Schule und verwendet ein Schieberegister, nicht D FF. und binärer Ripple-Zähler, um die Uhr herunterzuskalieren.
Verwenden Sie einfach ein Steckbrett.
A
für "Antworten" steht, nicht für "Argumentieren" :) Es geht nicht nur um das OP, Sie sollten allen Lesern wertvolle Inhalte hinterlassen
Federico Russo
Chris
Tony Stewart EE75
Chris