hi,
ich hab so ne adc tastatur zwar noch nicht probiert, denke aber spontan an einen kleinen tiefpass am adc-eingang.
und statt mittelwert könnte man ja besser an "median" bzw. "zentralzahl" denken.
gruss klaus
Nach meiner Erfahrung mit inzwischen 3 ADC-Tastaturen (bis 16 Taster) an C-Control und einem M32 ist das völlig unkritisch! Man braucht nur 3 bis 4 Werte zu mitteln und bekommt die Taste zuverlässig. Natürlich ist auch der Wertebereich relevant, den man für jede Taste zuläßt. Ich lege die Grenze genau zwischen die jeweiligen exakten ADC-Werte, dann klappt das gut.
Gruß Dirk
hi,
ich hab so ne adc tastatur zwar noch nicht probiert, denke aber spontan an einen kleinen tiefpass am adc-eingang.
und statt mittelwert könnte man ja besser an "median" bzw. "zentralzahl" denken.
gruss klaus
Ja, im Prinzip hast Du recht. Für diesen Anwendungsfall ist Dein Ansatz der bessere. Über längere Zeit (ein paar ms) ein paar Werte aufzunehmen und zu vergleichen, klingt auch für mich logischer.Zitat von Besserwessi
Die Sache mit den 64 Werten hatte ich bei meiner "Einparkhilfe" eingebaut. Der IR-Abstandssensor hatte dadurch absolut kein prellen oder schwanken mehr.
Hi,
das ist ja eine anregender Diskussion geworden. Laut Besserwisseri wäre es dann so, dass man in gleichmäßigem Intervall Werte nimmt und diese dann auf Differenz untersucht. Wenn die differenz "klein" ist, kann man von einen stabilen Wert ausgehen. Okay. Da ich aber kein Bock auf Netzbrummen habe wollte ich so oder so einen Tiefpass davorschalten (vor den ADC-in). Da spricht doch prinzipiell nix dagegen oder?
Dann noch ne Frage zu den Interrupts: es gibt da die Timer-Interrupts, mit denen habe ich schon gearbeitet. Oben habe ich aber noch von einen AD-ready Interrupt gelesen; was ist damit gemeint?
Grüße Simon
Gegen Netzbrummen ist ein Tiefpassfilter eher weniger geeignet, denn da müßte die Grenzfrequenz schon ziehmlich tief ( << 50 Hz) sein und dann fängt es an das man recht lange (z.B. 0,1-1 s) auf einen stabilen Wert warten muß bis man dem AD wert trauen kann. Normalerweise sollten die 50 Hz Störungen nicht so groß sein das sie stören. Wenn man da wirklich Probleme hat, die man nicht durch einen elektrischen Abschirmung lösen kann, hilft es am besten die AD-werte über eine Periode (oder mehrere) zu mitteln. So wird das z.B. in den Voltmetern gemacht.
Bei AVR Controllern (und vermutlich auch bei vielen anderen) kann der ACD einen Interrupt auslösen, wenn die Wandlung fertig ist. Wenn man den ADC im kontinuierlichen Betrieb betreibt, kann man alle 13 Zyklen des ADC-Taktes einen Interrupt kriegen, um den nächsten Wert zu verarbeiten (oder auch zu ignorieren). Eingstellt wird der Interrupt im Register ADCSRA bei den AVR Controllern.
Hi Besserwessi,
naja ich hatte schonmal den ADC im Labor in Betrieb und da ist alles voller Neonröhren und das hat meine Werte auch nach brutaler Mittelung nicht sonderlich verbessert. Am besten wäre natürlich einen filter-kernel zu programmieren aber das wird mir dann doch zu aufwendig. Ich hätte halt einen Tiefpass bei <<50Hz gewählt und einen Kondensator mit niedriger Kapazität eingesetzt (somit dürfte es nicht allzuuuuu lange dauern bis der Wert auf sein Niveau kommt). Dabei bin ich leider zwar mit meinen Widerständen eingeschränkt aber das lässt sich sicher noch austüfteln, denke ich.
Grüße Simon
Die Wartezeit hängt direkt mit der Grenzfrequenz des analogen Tiefpasses zusammen. Da ist egal ob man einen großen Kondensator oder einen großen Widerstand nimmt. Mit einem Tiefpass hoherer Ordnung könnte man eventuell eine kleine wenig besser wegkommen, aber auch nur in Grenzen.
Wenn man genau über eine Periode mittelt, bekommt man theoretisch eine perfekte Unterdrückung der 50 Hz und auch gleich aller Oberwellen dazu. Durch eine passende Länge des Intervalls ist durch Mittlen so eine Unterdrückung der 50 Hz um über 60 dB drin. Ein einfacher Tiefpass müßte dafür schon eine Grenzfrequenz von unter 0,05 Hz haben, was ziehmlich unpraktikabel ist.
Hi Besserwessi,
was meinst du mit Periode? Ich nehme an du sprichst jetzt von der Zeit über die die Daten aus dem ADC eingelesen und gemittelt werden. Gibt's da ein Schema mit dessen Hilfe ich die passende Länge des Intervalls festlegen kann?
Grüßle,
Simon
Mit Periode ist eine Periode der Störfrquenz gemeint, bei 50 Hz also 20 ms. Das einfache mitteln der Werte ist halt ein digitaler Tiefpass, der anders als die normalen analogen einige Frequenzen (hier 50Hz, 100 Hz, 150 Hz,...) perfekt unterdrückt und dazu auch noch recht schnell eingeschwungen ist.
Lesezeichen