Lichtsensorabfrage - Ergebnisse stabilisieren
|
12.11.2014, 17:19
Beitrag #9
|
|||
|
|||
RE: Lichtsensorabfrage - Ergebnisse stabilisieren
Ich nutzte für solche recht instabilen Signale einen Integrator.
Wertaktuell=analogRead(DeinAin) // Der Neu eingelesene Wert Wert_X=Wertaktuell*0.1 // Wird mit 10% Einfluss bewertet Wert_Y=Wert_alt*0.9 // Alter Wert mit 90% bewertet Wert_Int=Wert_X+Wert_Y // IntegratorWert aus "neuem" und "altem" Wert Wert_Alt=Wert_Int // Diesen Wert speichen für das nächste mal Ich habe es mal ausführlich geschrieben zum besseren Verständnis. Hier wird ein neuer Wert gelesen und nur mit 10% Einfluss auf den alten Wert addiert. Somit hat selbst ein 100% änderung des Wertes nur 10% Einfluß auf den gelesenen. Dies passiert einmal pro Zyklus. willst du einen schnelleren Integrator haben musst du die Werte(0.1 und 0.9) anpassen (müssen zusammen 1.0) ergeben. Und nein es sind keine Floats nötig mit diesen Werten hat man eine gewisse rundung gegen rauschen (Dies bezieht sich auf normale ganzzahlen). Pack das mal in dein Programm oder zum testen über Serielle ausgabe ein Potiwert integrieren lassen und mit den Werten rumspielen. Ist eine sehr einfacher integrator den wir auch gerne in SPSen benutzten. Gruß DerDani |
|||
12.11.2014, 21:20
Beitrag #10
|
|||
|
|||
RE: Lichtsensorabfrage - Ergebnisse stabilisieren
Danke an alle,
Widerstand (auch Arduino intern) stabilisiert die Ergebnisse und macht sie auch brauchbar. Verzicht auf Kunstlicht und die Abweichung liegt unter 1%, und das ist für meine Anwendung mehr als ausreichend. Wenn man nicht mathematisch steuern will, muss man ja auch andere Parameter, wie Bewölkung ... mit berücksichtigen @volvo-dani Eine Glättung über das Alter des Wertes mit einem beliebigen (Wahrscheinlichkeitstheorie-) Faktor, der ja je Anwendung anders sein kann und muss, verfälscht die Ergebnisse. @bitklopfer - mehr als das Braten eines Würstchens werde ich mit einer 60er Schüssel sicher nicht erreichen können - wenns läuft bekommst Du die Ergebnisse mitgeteilt. - @ardu-arne - die Steuerung über Lichtsensoren hat den Vorteil, dass sich die Schüssel immer wieder selbst einstellt, um danach wieder ohne die Sensoren weiterzulaufen. Ausserdem hilft sie mir meine Motorgeschwindigkeit anzupassen |
|||
13.11.2014, 11:09
Beitrag #11
|
|||
|
|||
RE: Lichtsensorabfrage - Ergebnisse stabilisieren
@basst-scho
Ich glaube du verwechselst hier etwas. Die Bewertung des neuen Signals passiert Zyklisch. Bei einer Zyklus Zeit von 2-3ms ist der Integrator 500mal in der Sekunde durchlaufen. Damit kann man auch störungen kompensieren. Und so schnell braucht man Werte selten. So "zerstören" einem einzelne Ausreißer des Messwertes nicht das Ergebniss. Und klar jeder "integrator" verfälscht das Ergebnis das macht aber jede Glättung mit Widerstand und Kondensator auch. Und der macht genau das gleiche wie dieser Code. Gruß DerDani |
|||
13.11.2014, 21:41
Beitrag #12
|
|||
|
|||
RE: Lichtsensorabfrage - Ergebnisse stabilisieren
(12.11.2014 21:20)basst_scho schrieb: ... na dann lass bloß nichts anbrennen...lach... lg bk 1+1 = 10 ![]() ![]() |
|||
|
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste