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
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.
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
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.
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.
Davis schrieb:> Warum gibt es keinen echten Zufall? Der Beweis für diese Behauptung> interessiert mich.
Weil alles auf den physikalischen Gesetzen basiert
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.
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.
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.
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.
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.
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-0http://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?
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.
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.
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.
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.
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.
> 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.
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 :-) )
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 ;-)
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.
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
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.
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).
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 ?
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.
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 ...
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.. ;)
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.