Forum: Mikrocontroller und Digitale Elektronik Zufallsschaltung


von Carsten (Gast)


Lesenswert?

Hi Leute ...

brauche eure Hilfe... Ich will eigentlich ganz was einfaches machen.
Habe eine kleine Schaltung:

Akku ( 4V ) geht an Schalter ( EIN AUS ) und weiter zum kleinen Motor.

Ich möchte erreichen, dass wenn ich einschalte:

Der Motor nicht sofort AN geht, sondern zufällig innerhalb weniger 
Sekunden angeht ( zb. 10 Sek. ) und auch AN bleibt.

Wie bekomm ich das hin?

Geschaltet werden solln ca. 100 mAh


Vielen Dank für eure Antworten...

MfG

von Max H. (hartl192)


Lesenswert?

Ich würde einen kleinen uC verwenden und währen die Taste gedrückt ist 
einen Zähler sehr schnell von 1-10 zählen lassen. Wenn die Taste 
losgelassen wir, würde ich den Zählerstand als zufälligen wer nehmen. Es 
ist aber kein echter Zufall.

: Bearbeitet durch User
von Bastler (Gast)


Lesenswert?

> Es ist aber kein echter Zufall.

Es gibt auch keinen "echten" Zufall

von Max H. (hartl192)


Lesenswert?

Bastler schrieb:
>> Es ist aber kein echter Zufall.
>
> Es gibt auch keinen "echten" Zufall
Rauschen? Zerfall von Atomen?

von Davis (Gast)


Lesenswert?

M. H. schrieb:

> Ich würde einen kleinen uC verwenden und währen die Taste gedrückt ist
> einen Zähler sehr schnell von 1-10 zählen lassen. Wenn die Taste
> losgelassen wir, würde ich den Zählerstand als zufälligen wer nehmen. Es
> ist aber kein echter Zufall.

Ganz im Gegenteil, wenn der Zähler schnell genug getaktet wird, dann 
sind die Zeiten (echt) zufällig. Ansonsten würde ich es auch so machen, 
wie du es vorgeschlagen hast: µC -> Transistor -> kleiner Motor

von Wolfgang (Gast)


Lesenswert?

M. H. schrieb:
> Es ist aber kein echter Zufall.
Meinst du, du kannst bei z.B. 1MHz Zählfrequenz (Timer mit µC-Clock) 
irgendwie erreichen, dass der Bediener den Tastendruck auch auf nur 10µs 
genau hinbekommt?
Der Bediener ist nach der Beschreibung immerhin Bestandteil des 
Zufallszahlengenerators.

von Wolfgang (Gast)


Lesenswert?

Bastler schrieb:
> Es gibt auch keinen "echten" Zufall

Dafür gibt es Pseudozufall ;-)

von Davis (Gast)


Lesenswert?

Bastler schrieb:

>> Es ist aber kein echter Zufall.
>
> Es gibt auch keinen "echten" Zufall

Warum gibt es keinen echten Zufall? Der Beweis für diese Behauptung 
interessiert mich.

von Bastler (Gast)


Lesenswert?

Davis schrieb:
> Warum gibt es keinen echten Zufall? Der Beweis für diese Behauptung
> interessiert mich.

Weil alles auf den physikalischen Gesetzen basiert

von Max H. (hartl192)


Lesenswert?

Ok... Es ist zufällig, da ein Mensch es nicht bewusst beeinflussen kann. 
Theoretisch ist es aber kein Zufall, da der Wert direkt von der Zeit, in 
der der Taster gedrückt ist abhängig.

von Maxx (Gast)


Lesenswert?

Bastler schrieb:
> Davis schrieb:
>> Warum gibt es keinen echten Zufall? Der Beweis für diese Behauptung
>> interessiert mich.
>
> Weil alles auf den physikalischen Gesetzen basiert

Und in denen ist der Zufall inhärent. Stichwort Quantenmechanik.

von Stefan R. (srand)


Lesenswert?

Bastler schrieb:
> Davis schrieb:
>> Warum gibt es keinen echten Zufall? Der Beweis für diese Behauptung
>> interessiert mich.
>
> Weil alles auf den physikalischen Gesetzen basiert

Und nach heutigem Wissensstand laufen eine ganze Reihe dieser 
physikalischen Prozesse zufällig ab.

von Carsten (Gast)


Lesenswert?

Hab grad noch etwas rumgeforscht und rausgefunden, dass das perfekte 
eine digitale Zeitschaltuhr mit Random Funktion wäre.
Nur diese muss auch in die Niederspannungsschaltung passen und möglichst 
mini sein...

Zum Thema Zufall :-)
Physikalisch gesehen gibt es nach Stand der Forschung zwei Sorten von 
Zufall: das deterministische und das indeterministische Chaos.

von Davis (Gast)


Lesenswert?

Bastler schrieb:
> Davis schrieb:
>> Warum gibt es keinen echten Zufall? Der Beweis für diese Behauptung
>> interessiert mich.
>
> Weil alles auf den physikalischen Gesetzen basiert

Unfug.

Habe ich mir doch gedacht, dass du keinen Beweis hast.

von Norbert M. (Gast)


Lesenswert?

Bastler schrieb:
> Davis schrieb:
>> Warum gibt es keinen echten Zufall? Der Beweis für diese Behauptung
>> interessiert mich.
> Weil alles auf den physikalischen Gesetzen basiert

Ein metastabiler Atomkern möge eine Halbwertszeit von einer Sekunde 
habe. Du misst nach genau einer Sekunde, ob der Atomkern zerfallen ist. 
Ist er das, so mögest Du ein Bit auf Eins setzen, andernfalls auf 0.
Der Wert dieses Bits ist echt zufällig.

Beispiel, wie sowas in der Praxis aussehen kann:
http://www.youtube.com/watch?v=SxP30euw3-0
http://www.youtube.com/watch?v=noDSyLzVz2g

Um auf das Ausgangsthema zurückzukommen: Ein eigener uC nur für die paar 
Sekunden zufälliger Einschaltverzögerung kommt mir persönlich etwas viel 
Aufwand vor, gäbe es einfache Alternativen ohne uC?

von Uwe (de0508)


Lesenswert?

Hallo Davis,

ich denke die Antwort ist einfach.

Der Zufall (-Zahl) ist nicht vorhersagbar, aber ein reines 
Computerprogramm ist deterministisch, es hat ein Mensch geschrieben und 
es macht auch nur das, was dieser ihm vorgibt.

Also arbeitet es nur vorbestimmte Anweisungen ab und wird deshalb 
vorhersagbar - auch wenn es endliche Zeit benötigt, um einen 
Anfangszustand wieder zu erreichen.

: Bearbeitet durch User
von Oliver R. (orb)


Lesenswert?

Norbert M. schrieb:
> Ein eigener uC nur für die paar
> Sekunden zufälliger Einschaltverzögerung kommt mir persönlich etwas viel
> Aufwand vor, gäbe es einfache Alternativen ohne uC?

Wie bekommst Du dann einen Zufall eingebaut?
Der AtTiny10 hätte die passende Größe für sowas.

von kopfkratzer (Gast)


Lesenswert?

ROFL
Schon spaßig was hier so alles zustande kommt :-P

@TO:
Kleinen µC z.B. Tiny85 nehmen, Taster anschließen und das Prellen via 
PinChangeIRQ auswerten, also einfach zählen lassen und mit %10 den Timer 
für das Anschalten des Motors beschicken.

von Norbert M. (Gast)


Lesenswert?

Oliver R. schrieb:
> Norbert M. schrieb:
>> Ein eigener uC nur für die paar Sekunden zufälliger
>> Einschaltverzögerung kommt mir persönlich etwas viel
>> Aufwand vor, gäbe es einfache Alternativen ohne uC?
> Wie bekommst Du dann einen Zufall eingebaut?

Genau das war meine Frage. Wenn ich's wüsste, würde ich nicht fragen ;-)
Für so ein Problem muß es doch auch eine analoge Lösung geben.

von Oliver R. (orb)


Lesenswert?

Analoger Zufall, da war doch mal was: 
Beitrag "analoger Zufallsgenerator"

von Max H. (hartl192)


Lesenswert?

Oliver R. schrieb:
> Der AtTiny10 hätte die passende Größe für sowas.
Oder ein PIC10F200 im  SOT23-6

von Davis (Gast)


Lesenswert?

Uwe S. schrieb:
> Hallo Davis,
>
> ich denke die Antwort ist einfach.
>
> Der Zufall (-Zahl) ist nicht vorhersagbar, aber ein reines
> Computerprogramm ist deterministisch, es hat ein Mensch geschrieben und
> es macht auch nur das, was dieser ihm vorgibt.
>
> Also arbeitet es nur vorbestimmte Anweisungen ab und wird deshalb
> vorhersagbar - auch wenn es endliche Zeit benötigt, um einen
> Anfangszustand wieder zu erreichen.

Hallo Uwe,

die Antwort ist einfach.

Dadurch, dass der Mensch die Taste betätigt und wieder loslässt, wird 
der für die Steuerung herangezogene Timerwert sehr zufällig. Der Mensch 
bringt den Zufall ein, das Programm gibt ihn nur wieder.

Und wie immer in der Physik kann ein Experiment den Beleg liefern.

Also, man nehme einen ATTiny13, schließe eine Taste an und schreibe ein 
Programm, welches nach dem Drücken und wieder Loslassen den 8Bit 
Timerwert ausgibt.

Die Timerwerte untersuche man dann auf "Zufälligkeit". Bei z. B. 25600 
"Versuchen" (was natürlich eine ganze Menge ist) wird jeder mögliche 
Timerwert rund 100 mal vertreten sein.

von Karl H. (kbuchegg)


Lesenswert?

> Für so ein Problem muß es doch auch eine analoge Lösung geben.

Die aber aufwändiger ist, als ein kleiner µC


Das ist ja die Krux an der ganzen Sache. Im Grunde gibt es viele 
Probleme, für die der Einsatz eines µC im Grunde genommen kompletter 
Overkill ist. Und trotzdem ist es die einfachste Lösung (und meistens 
auch die billigste), wenn man die Anzahl der verwendeten Bauteile 
betrachtet.
Durch die Programmierbarkeit sind die Dinger so flexibel einsetzbar, 
dass sie in riesigen Stückzahlen gebaut werden, was wiederrum den Preis 
drückt.

: Bearbeitet durch User
von Norbert M. (Gast)


Lesenswert?

Oliver R. schrieb:
> Analoger Zufall, da war doch mal was:
> Beitrag "analoger Zufallsgenerator"

Danke für den Tipp, dort ist interessantes zu lesen (insbesondere die 
Schaltungen mit dem zenerrauschen).

Karl Heinz schrieb:
>> Für so ein Problem muß es doch auch eine analoge Lösung geben.
> Die aber aufwändiger ist, als ein kleiner µC

Ja, ich seh's ein. Hätte ja sein können, daß es so 'ne Art 
Trickschaltung gibt wie "...und dann schaltet der MOSFET nach 3 bis 10 
Sekunden durch, weil die Sperrschicht..." oder sowas.

> Durch die Programmierbarkeit sind die Dinger so flexibel einsetzbar,
> dass sie in riesigen Stückzahlen gebaut werden, was wiederrum den Preis
> drückt.

Daß die Sache mit dem uC hier die einfachste und billigste ist, war mir 
sowiso klar. Hab' nur der Interesse halber nachgefragt - man lernt ja 
nie aus, insbesondere als Anfänger nicht.

Danke euch Beiden!
(Und möge der, der mich oben downgevotet hat, einen Pickel am Hintern 
bekommen :-) )

von Wolfgang (Gast)


Lesenswert?

Bastler schrieb:
> Weil alles auf den physikalischen Gesetzen basiert

Und wie sind diese Gesetze, z.B. für den Radioaktiven Zerfall?
Rechne mal vor, was da nicht zufällig ist ;-)

von Max H. (hartl192)


Angehängte Dateien:

Lesenswert?

Man könnte das Problem auch irgendwie mit einem NE555 oder CD4093 und 
einem CD4017 lösen. Ist jetzt nicht 100% analog, aber ohne µC.
Man könnte an jeden der Ausgänge einen anderen Widerstand + Diode 
anschließen, der einen Elko lädt.
Der NE555 ist durch einen Pulldown im Reset, wenn der Taster nicht 
gedrückt ist. Der Taster setzt Reset auf 1 und schaltet einen Transistor 
ein, der den Elko entlädt. Wenn der Taster losgelassen wird, hört der 
NE555 auf zu schwingen, der Transistor sperrt und der CD4017 bleib bei 
einem "zufälligen" Wert stehen und der Elko wir über einen "zufälligen" 
widerstand geladen…

Wenn man statt dem NE555 ein Schimitt-Trigger NAND nimmt, kann an zwei 
der nicht benötigten Gatter verwenden um eine schöne Flanke für den FET 
zu erzeugen.

: Bearbeitet durch User
von Norbert M. (Gast)


Lesenswert?

Klasse, danke, sowas in der Art habe ich mir vorgestellt.
Bin leider zu blöd oder unerfahren, mir selbst sowas auszudenken.
Da bestätigt sich mal wieder die alte Weisheit, daß man mit dem 555er 
und ein paar Logik-ICs fast alles lösen kann :-)

Schön zu sehen, daß dieses ältere Wissen doch noch nicht ausgestorben 
ist.

LG, N0R

von Max H. (hartl192)


Lesenswert?

Norbert M. schrieb:
> Da bestätigt sich mal wieder die alte Weisheit, daß man mit dem 555er
> und ein paar Logik-ICs fast alles lösen kann :-)
Notfalls muss man sich den µC aus Gattern aufbauen^^.
Ich glaube die Lösung mit dem CD4093 wäre in diesem Fall besser als die 
mit dem NE555, da der CD4093 die Flanke am Ausgang viel steiler macht 
und der Mosfet weniger Verlustleistung beim Schalten hat.

von Peter D. (peda)


Lesenswert?

Wenn nur 10 Werte reichen, kann man das so machen.

von Peter D. (peda)


Lesenswert?

Soweit ich den OP lese, gibt es keinen Taster. Daß Gerät wird komplett 
eingeschaltet und soll dann den Motor verzögern.

Mit einem MC könnte man dazu einfach die Rand-Funktion benutzen und den 
neuen Startwert im EEPROM speichern.
Dann sind nur etwa 1.000.000 Einschaltungen garantiert (der Motor dürfte 
weit eher hin sein).

von kopfkratzer (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Soweit ich den OP lese, gibt es keinen Taster. Daß Gerät wird
> komplett
> eingeschaltet und soll dann den Motor verzögern.
>
> Mit einem MC könnte man dazu einfach die Rand-Funktion benutzen und den
> neuen Startwert im EEPROM speichern.
> Dann sind nur etwa 1.000.000 Einschaltungen garantiert (der Motor dürfte
> weit eher hin sein).

Muß er ja nicht speichern, µC aus wenn Schalter aus.
Sobald µC Saft hat wird der Zufallswert errechnet und entsprechend 
ausgegeben.
Und Schalter prellen nicht ?

von Max H. (hartl192)


Lesenswert?

kopfkratzer schrieb:
> Muß er ja nicht speichern, µC aus wenn Schalter aus.
> Sobald µC Saft hat wird der Zufallswert errechnet und entsprechend
> ausgegeben.
Der "Zufallsgenerator" wird aber vermutlich jedes Mal das gleich 
ausgeben, wenn die Startbedingungen nach dem Reset immer gleich sind.

Peter Dannegger schrieb:
> Dann sind nur etwa 1.000.000 Einschaltungen garantiert (der Motor dürfte
> weit eher hin sein).
Oder auch mehr, wenn man nicht immer die gleiche Zelle verwendet.

Peter Dannegger schrieb:
> Soweit ich den OP lese, gibt es keinen Taster. Daß Gerät wird komplett
> eingeschaltet und soll dann den Motor verzögern.
Und für echten Zufall müsste man beim Start einen Rauschgenerator mit 
dem ADC messen.

: Bearbeitet durch User
von kopfkratzer (Gast)


Lesenswert?

M. H. schrieb:
> kopfkratzer schrieb:
>> Muß er ja nicht speichern, µC aus wenn Schalter aus.
>> Sobald µC Saft hat wird der Zufallswert errechnet und entsprechend
>> ausgegeben.
> Der "Zufallsgenerator" wird aber vermutlich jedes Mal das gleich
> ausgeben, wenn die Startbedingungen nach dem Reset immer gleich sind.

Kommt drauf an wie man's realisiert, Kabel an ADC und man hat "echten" 
Zufall.
Oder man nimmt als Startbedingung z.B. den internen Temperatursensor 
eines Tiny85.
RAND() sollte aber auch beim Einschalten immer wieder etwas anderes 
liefern ...

von Helge A. (besupreme)


Lesenswert?

Ein analog generierter Zufall müßte doch theoretisch auch mit einem 
Rauschgenerator, einer sample&hold-Schaltung und einem Monoflop möglich 
sein..??

Nicht daß die Aufgabe dadurch einfacher zu lösen wäre als mit einem 
Rechenknecht. Aber immerhin ein wenig einfacher, als den Zerfall eines 
bestimmten Atoms, und so.. ;)

von Karl H. (kbuchegg)


Lesenswert?

kopfkratzer schrieb:

> RAND() sollte aber auch beim Einschalten immer wieder etwas anderes
> liefern ...

nicht wirklich.
der Standard C Zufallszahlengenerator ist auch nichts anderes als eine 
Formel. Gleiche Startbedingungen -> gleiche Zahlenfolge.
Das ist in manchen Fällen gut, zum Beispiel vereinfacht es erheblich das 
Debugging. Ist in machen Fällen auch schlecht, weil man sich selber um 
die Startbedingungen kümmern muss. Mit einem EEPROM ist das aber kein 
Problem, so wie PeDa das beschrieben hat. Und Hand aufs Herz: Ehe da das 
EEPROM den Geist aufgibt, ist der ganze Klapperatismus meistens sowieso 
schon längst beim Altstoffsammelzentrum.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.