mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ansatz für digitales Differenzierglied


Autor: Torsten B. (torty)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Wie tausende vor mir, versuche ich mich als bastelnder (Modell)-Flieger 
am Bau eines elektronischen Variometers.
Für Nichtflieger:
Ein Variometer berechnet aus dem Luftdruckabfall dP/dt die 
Vertikalgeschwindigkeit des Fliegers/Gleitschirms.
Hierzu hat der ELEKTOR vor Jahren die angehängte Schaltung 
veröffentlicht, die ich auch schon gebaut habe und die im Grunde auch 
funktioniert.
Das Problem an dieser Schaltung ist jedoch, dass sie bei ersten Start 
ca. 20 Minuten zum "warm werden" benötigt.
Nach Elektor-Artikel:
"Maximale Sensitivität ergibt sich erst,
wenn die Hardware im thermischen
Gleichgewicht und C4 entsprechend
geladen ist. Dessen Kapazität muss so
groß sein, da halbwegs stabile Signale
(< 0,1 Hz) noch differenziert werden
sollen. Ein Kaltstart braucht deshalb
zwecks Temperaturausgleich mindestens
20 Minuten Akklimatisierung.
Bei einem „Warmstart“ (Einschalten
nach thermischer Stabilität) ist die
Schaltung schon nach 3 bis 5 Minuten
startklar."

Als ich dieses Problem in einem ähnlichen Zusammenhang hier schon mal 
geposted habe, kamen wir auf die Idee, die Differentation dP/dt doch mit 
dem uC zu erledigen und so auf die Warmlaufphase verzichten zu können.

Ich habe auch schon einen Ansatz versucht (siehe Code), der folgendes 
macht.

1. Sample einen Sensorwert und schreibe ihn in einen Ringspeicher (16x)
2. bilde den gleitenden Mittelwert aus dem Ringspeicher
3. schreibe 16 gemittelte Messwerte in einen zweiten Ringspeicher
4. subtrahiere immer paarweise die Werte von einander
    M1-M2, M2-M3,....M15-M16
5. Bilde den Gleitenden Mittelwert aus den 8 Differenzen.

Ich hatte mir eingebildet, so eine quasi Differetation dP/dt zu 
bekommen.

Im Simulator hat das (so weit ich das mit "Pseudo-Werten" aus dem 
EEPROM,simADC,.. testen konnte auch funktioniert. In der Praxis (mit 
Sensordaten) klappt es leider noch nicht so richtig.

Das analoge Filter hat eine Grenzfrequenz von (ELEKTOR) von etwa 0,023 
Hz.

Leider bin ich bei der Dimensionierung von Digitalen Filtern völlig 
unerfahren. Dan Ansatz von oben habe ich mir halt mal so ausgedacht.

Kann mir jemand mit einem Ansatz helfen ?


Danke für Eure Zeit.
Torsten

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt DSP-Filter, die sich dem idealen Differentiator nähern. Aber 
dafür muß man sich schon ziemlich tief in die digitale Filtertheorie 
einarbeiten. Die Grafik stammt aus ISBN 0471619957 "Handbook for Digital 
Signal Processing".

Autor: Torsten B. (torty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das habe ich befürchtet. :-(
Gibt es nicht einen weltlichen Ansatz für das Problem
DC-Offset per Software enfernen ?

Ist mein Ansatz völlig für den Ar... ?

Autor: Ralli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Torsten,

ich komme nicht so aus der Modell-Flieger-Szene, finde dein
Projekt aber interessant.

Um das Problem mal einzugrenzen:

Du benutzt einen Luftdruckmesser, der von 150 bis 1150 hPa eine
Spannung von 4,6 mV / hPa ausgibt. Für das Erfassen von Höhenänderungen
ist das natürlich etwas wenig, da dies (in Bodennähe) weniger als ein
Bit für 10 m Höhenänderung ist.

(Auflösung eines AVR mit 10-Bit-ADC = 4,88 mV / Bit.)

So, wie ich die ELEKTOR-Schaltung verstehe, pegelt sie sich durch
Aufladung des C4 langsam auf den vorhandenen Luftdruck ein und
verstärkt dann Änderungen etwa um das 50-fache.

Um die thermische Stabilisierung der Schaltung wird man nicht 
herumkommen.

Mein Ansatz wäre eher, auf IC3A und IC3D zu verzichten, sondern den AVR
dahin zu bringen, (z.B. über PWM) eine Spannung an den +Eingang von IC3B
zu legen, die der Sensorspannung für den absoluten Luftdruck folgt.

Was der AVR dann an Regelung über eine 16-Bit-PWM ändern muss,
um das verstärkte Luftdruckmesser-Signal auszuregeln, gibt dann ein
höheraufgelöstes Maß für die Höhenänderung...

Autor: Tec Nologic (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI,

Ganz simpel würde ich es mal versuchen einen Tiefpass nach diesem Schema 
zu bauen.

y = (a*x(n) + b*(x(n-1))/(a+b) IIR Tiefpass erster Ordnung

y: Mittelwert
x(n): aktueller Messwert
x(n-1): letzter Messwert
a,b: Filter Koefizienten.  a+b sollte immer eine Potenz von 2 sein also 
8, 256, 1024 oder so, sonst kann es passieren das der Filter instabil 
ist.

a und b wählt man so:
fg: Grenzfrequenz
SysClk: Controller Taktrate

SysClk/fg = a/(a+b)

Das ist der Tiefpass.

Differenziation im Zeitbereich ist eine Subtraktion im Diskreten.

Dh. differenzern ist das gleich vie Minus auf dem µC

Die Grenz Frequenz des ganzen ergibt sich jetzt aus der Häufigkeit. Da 
bin ich zwar mit der Filter Theorie auch nicht ganz bewandert aber ich 
würde sagen. wenn der Differenziator vom OP mit Tau 0,023Hz arbeitet 
dann würde ich einfach alle Minute (das müsste hinkommen) Den aktuellen 
Wert vom Neuen Wert abziehen.

Normaler weise hätte ich das ganze so gelößt.

mit einem Timer eine Zyklusszeit bauen. dh. Immer wenn der Timer einen 
Overflow hat dann die berechnungs Funktion ausführen.
So hast du eine Definierte Zyklusszeit und vernünftige Grenzfrequenzen.

bei der Berechnung würde ich

mit n € N

diff(n)=x(n)-x(n-1)
 ( Neuer Messwert minus alter Messwert: Das aktuelle Differential)

filtered_diff(n) = (1*diff(n)+63*filtered_diff(n-1))/64

Wenn du jetzt den Timer overflow immer jede Sekunde Auslößt und diese 
Rechnung machst. hättest du den auf 0,023Hz grenzfrequenz gefilterten 
Wert der Sink bzw Steigrate.

Ich würde aber eher auf 1 Hz filtern und bei ca 1ms zyklus die Werte 
berechnen.

Ich hoffe ich konnte dir helfen

MfG Tec

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das eigentliche Problem ist nicht der Differenzierer, sondern der 
Temperaturgang des Drucksensors. Den kann man nur kompensieren, wenn ein 
Temperatursensor verwendet wird.

Ich habe das mal mit einem Valvo-Drucksensor KP100A gemacht, der enthält 
bereits auf dem Chip einen Temperatursensor:
http://www.rfcandy.biz/shop/images/SVIII_dru.pdf
auf der letzten Seite ist noch eine Abbildung dieses alten Sensors. 
(Infineon hat unter derselben Bezeichnung einen SMD-Drucksensor gebaut, 
der z.B. auf Alldatasheet zu finden ist.)

Ich würde den Ausgang des Drucksensors als einen von zwei 
Spannungsteilern einer Messbrücke benutzen, und einen Spannungsteiler 
mit NTC oder Halbleiter-Temperatursensor als zweiten Zweig. Ein OP als 
Differenzverstärker liefert dann eine auf GND bezogene Spannung, die ich 
wie Elektor mit dem 68µF-Elko differenzieren würde.

Den Temperaturgang des Drucksensors müßte man dazu ausmessen, bei 
Raumtemperatur, im Kühlschrank mit einem Thermometer dazu oder auch 
beides möglichst gleichstark erhitzen. Aus den Messergebnissen wird der 
Spannungsteiler bestimmt und so der Temperaturgang wenigstens in erster 
Näherung herauskompensiert.

Mein KP100A hat so noch Höhenänderungen von 10 cm deutlich angezeigt.

Autor: Torsten B. (torty)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen.

Danke, dass sich doch ein paar Mitstreiter finden:

@Ralli:

Deine Idee mit der PWM-Regelung ist mir auch gestern noch gekommen.
Ich hab das mal gerade in Eagle aufgerissen. Könnte das so funktionieren 
?

ADC0 misst den (ungefähren) absoluten Luftdruck. Ungefähr, da mit 10 Bit 
4V aufzulösen nur ungefähr sein kann ;-)

OC1A formt per PWM einen proportionalen Spannungswert (mit ADC2 
gemessen), der dann gefiltert an einen Subtrahierverstärker kommt und 
somit für den Augenblick der Messung den DC Offset vom Sensorsignal 
abzieht.

ADC1 kann sich dann mit den 10 Bit auf die Luftdruckdifferenz dP/dt 
stürzen und diese hoch auflösen (mit interner 1,1V Ref.)

Nach einer Messreihe, wird die PWM der neuen absoluten Höhe angepasst 
und das Spiel geht dann von vorne los.

Alternativ kann auf ADC2 verzichtet werden und man könnte mit der PWM 
den Wert an ADC1 auf Null regeln, bevor der erste Messwert genommen 
wird.

Kurz: M1 vor der PWM-Regelung, M2 nach der PWM-Regelung

--> dP/dt = M1-M2/Timer_Intervall (zB 0,5 Sec)

Das sollte doch dann eine quasi Differentation sein, oder ?

@Tec:

Dein Ansatz ist bestimmt gut, wenn man einen Tiefpass braucht. Um an die 
Höhenänderung zu kommen, brauch ich aber einen Hochpass.

Hast Du auch einen Vorschlag für einen einfachen dig Hochpass ?

Deinen Ansatz
filtered_diff(n) = (1*diff(n)+63*filtered_diff(n-1))/64

Habe ich schon mal probiert, mich aber wohl mit zu vielen Mittelwerten 
verzettelt. Werde ich aber auf jeden Fall noch einmal probieren.

@ Christoph:

Der MPX6115 ist auch bereits temperaturcompensiert. Zumindest behauptet 
das Datenblatt so.


Mache ich mir eigentlich Probleme, wenn ich hier mal den gesamten 
ELEKTOR Artikel als PDF poste ?
NUr damit alle die gleichen Infos haben.

Immerhin kostet der im Download was.


Danke
Torsten

Autor: Torsten B. (torty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Augenblick scheint mir der Ansatz im Schaltplan der beste zu sein, da 
ich dann die vollen 10 Bit für die tatsächliche Änderung zur Verfügung 
habe und nicht die meisten Bits für das Messen eines DC Offsets opfern 
muss, der sich eh nicht ändern wird.

Was meint Ihr ?

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/articles/Digitalfil...
da steht, wie ein IIR-Hochpass auf dem ATmega berechnet wird. Die ATtiny 
haben keinen Multiplizierer, das dürfte zu langsam werden.

Autor: Ralli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Torsten,

... so ähnlich ...

Habe heute leider nicht die Zeit, eine tolle Skizze mit EAGLE zu machen.

Ich würde eine Tiny24 nehmen und mit seinem 16-Bit-Counter eine PWM mit 
hoher Auflösung realisieren, die (nach Filterung, aber die hattest du 
auch schon vorgesehen) an den +Eingang eines Op-Amp geht. Den 
Drucksensor über 10 kOhm an den -Eingang, dazu 100 kOhm Gegenkopplung 
vom Ausgang zum -Eingang.

Der Op-Amp liefert nun ein das 10-fach verstärkte Drucksignal an einen 
ADC-Eingang. Mit Hilfe der PWM regelt man jetzt dahin, dass der ADC 
immer möglichst den mittleren Wert eines 10-Bit-ADC liefert, also 512.

Mit einem OP347 (rail-to-rail) sollte es gut bei 5 V Versorgung 
funktionieren.

Weitere Anschlüsse an den Tiny24 sind nicht nötig, die software-mäßig 
ermittelte PWM-Vorgabe entspricht dann dem Luftdruck, die nötigen 
Änderungen der PWM-Vorgabe entsprechen der Änderung des Luftdrucks, also 
der Höhenänderung!

Falls noch eine Temperaturkompensation nötig ist, läßt diese sich 
vielleicht schon durch den internen Temperatursensor des Tiny24 machen.
Ich denke aber, dass die nur für eine möglichst genaue Druckmessung 
nötig ist, nicht für die Erfassung von Änderungen...

Gruß Ralli

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Differenzierer hat eine Zeitkonstante von 10k*68µF=680ms. das ist 
nach wenigen Sekunden eingeschwungen. Auch der KP100 war laut Datenblatt 
mit seinem Temperatursensor thermisch kompensiert. Das reicht aber nicht 
für die gewünschte Auflösung, was da minutenlang driftet ist nur der 
Drucksensor.

Meine Schaltung habe ich damals 1990 nach einer älteren 
Elektor-Veröffentlichung (Sept.1981) gebaut. Die hatten einen Sensor 
LX0503A mit gleichem inneren Aufbau wie der KP100, eine 
Widerstandsbrücke, deren Zweige beide herausgeführt sind und darüber 
einen Temperatur-Kompensator.

Die Brückenspannung wurde mit einem Differenzverstärker gemessen, die 
Temperaturspannung unabhängig davon mit einem OP verstärkt und beides in 
einem Addierer zusammengebracht, man konnte noch die Polarität der 
T-Komp-Spannung auswählen.
Auch hier wird eine Kalibration durch Erwärmen mit einem Fön 
beschrieben.

Autor: Torsten B. (torty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ralli:

Danke für Deinen Vorschlag.
Den AVR im Layout habe ich nur genommen, weil ich gerade keine passende 
Eagle-LBR für einen der ATTiny X4 hatte.

Zu Deiner OP Schaltung: Wenn ich das richtig verstehe, subtrahiert die 
Schaltung doch auch nur den "DC-Offset" vor der eigentlichen Messung, 
oder ?
Was ist der Unterschied zu dem Subtrahierverstärker, den ich vorgesehen 
habe. Will Deine Lösung gar nicht in Frage stellen. Ich will nur 
verstehen, was der Unterschied ist.

Das mit dem Rail2Rail OP ist auch klar, ich hatte die erten Versuche nur 
mit dem lm324 gemacht, weil der halt gerade in der Kiste gelegen hatte.

Bei dem Rest stimme ich Dir auch zu und werde es mal so aufbauen.

Ach eine Frage noch  ... werde ich für das Ausregeln mit der PWM einen 
speziellen Regelalgorythmus (P, PI, PID) brauchen, oder reicht es hier 
noch, mich einfach per inc,dec dem Sollwert anzuhähern ?

@Christoph:

Du hast bestimmt Recht mit Deiner Anmerkung.
Ich hoffe aber einfach mal darauf, dass sich in den verg. 10 Jahren 
etwas an den T Kopmensationen der Sensoren getan hat.
Auf eine separate Kompensation werde ich vorerst verzichten.
Für meine Anwendung ist es auch nicht wichtig, ob die absoluten Werte 
stimmen. Es soll vorrangig eine akustische Information über das 
Steigverhalten sein. Dabei ist es egal, ob ich mit 2,3 oder 2,5 m/sec 
steige ;-)

Grüße
Torsten

Autor: Ralli (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Torsten,

kein Problem, dass du nachfragst. - Wollte nur die Schaltung und das zu 
erstellende Programm auf das Notwendige reduzieren.

Der Tiny24 war für mich die erste Wahl, da er eine 16-Bit PWM bietet.
Gibt es auch einen 8-beinigen AVR mit ADC und je einem 8- und 16-Bit 
Timer? Dann nimm diesen.

Wenn die Kompensation des Gleichspannungsanteils erfolgt ist, ist der 
Vorgabewert für die PWM direkt proportional zum Gleichspannungsanteil. 
(Und liegt, durch die Verstärkung mit höherer Auflösung vor!)
Damit erübrigt sich der direkte Anschluss des Wandlers an den 
ADC0-Eingang.

Auch für das Erfassen des Ausgangssignals vom Tiefpasses (über ADC2) 
sehe ich keine Notwendigkeit.

Die Luftdruck- oder Höhenänderung kann aus dem Verlauf der Vorgabewerte 
für die PWM ermittelt werden. Hier käme deine Ringspeicheridee wieder 
zum Zuge.

Ojeh, der erforderliche Reglertyp...
Da muss ich zugeben, dass dies nicht 100% mein Fachgebiet ist.

Allerdings kann ich so viel dazu beisteuern:
Der Tiefpass in deiner Schaltung hat 0,2 Hz Grenzfrequenz - also 
müsstest du (3 tau) 15 Sekunden warten, bis du EINEN Regelschritt auf 
seine Wirkung prüfen kannst. Nimmt man eine Regelstrategie, die immer 
versucht, den halben Fehler zu kompensieren, braucht man im Extremfall 
10 Schritte, um sich dem Zielwert auf 0,1% zu nähern - das sind 150 
Sekunden oder 2,5 Minuten...

Eigentlich muss dieser Tiefpass aber nur die PWM-Frequenz gut 
unterdrücken. Wählt man bei 8 MHz Prozessortakt die PWM-Auflösung zu 
4096 Steps, ist eine PWM-Frequenz von 2 kHz möglich.

Mit einem Tiefpass 2. Ordnung für Fg = 20 Hz ist die PWM-Frequenz 
(theoretisch) um 80 dB unterdrückt. Das Einstellen auf einen neuen Wert 
dauert im Extremfall (Druckänderung von Weltraum auf Bodennähe) nur noch 
1,5 Sekunden.

Kleinere Änderungen des Sensorsignals (+/- einige 100 m) können 
natürlich schneller bearbeitet werden.

Autor: Torsten B. (torty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ralli
Hast schon Recht, es gibt leider keine 8Beiner, die mit 16 Bit Timer 
ausgestattet sind. Werde wahrscheinlich den tn44 nehmen, da der ein 
wenig mehr Raum für Software und Daten bietet (kostet bei Reichelt auch 
nicht mehr).

Wenn man länger darüber nachdenkt, wird ADC0 und ADC2 (aus meiner 
Schaltung) in der Tat zum Luxus und bestenfalls für kontrollzwecke gut. 
Ich versuche es mal ohne. Die Teile sind bestellt. Warum hat Reichelt 
eigentlich keinen OPA4347 im Programm ???

Die Zeitkonstante aus meinem Tiefpass stammt noch aus einem anderen 
Ansatz, bei dem die PWM nur alle 5 Sekunden geändert worden wäre. 
Hierfür ist sie natürlich viel zu groß. Deine ist besser.
Was hat es mit der Rückkopplung vom Ausgang (IC4) auf C9 auf sich ? Ich 
hätte C9 jetzt auf Masse gelegt. Gibt das so bessere Ergebnisse ?

Für die Genaue Dimensionierung kann ich mir den Ripple auf dem PWM 
Signal mal am Oszi ansehen...

Ralli schrieb:
> Kleinere Änderungen des Sensorsignals (+/- einige 100 m) können
> natürlich schneller bearbeitet werden.

Ich sehe als praxisnahe Werte nur Änderungen bis max. 10m/sec. an. Un 
auch die nur am Gleitschirm. Segelflugzeuge steigen in der Regel 
(zumindest hier in der Gegend um Köln) nur bis max 3-4m/sec.

Für Modellfluganwendungen möchte ich es jedoch sehr empfindlich haben, 
weshalb ich auch 10cm/sec auflösen möchte.

Die Verstärkung von IC3 werde ich dann wohl am besten so bestimmen, dass 
ich mit einem max "dP/dt" von 10m/sec in etwa den Dynamikbereich des ADC 
ausreize.

Ich werde am WE mal anfangen den 2. Versuch zusammenzubauen und werde 
dann berichten, wie es klappt.

Danke vorerst. Wenn Du noch Fragen oder Tips hast, gerne.

Grüße
Torsten

Autor: Ralli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Torsten,

10 m / sec halte ich auf den ersten Blick für sehr ehrgeizig!

Wünsche dir viel Erfolg - lass hören, wie es weitergeht oder
woran es vielleicht hakelt!

Die Software mit PWM, ADC, Zeitablauf und Auswertung auszutüfteln,
ist ja auch nicht ganz ohne.

Gruß Ralli

Autor: Torsten B. (torty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ralli

Hab nochmal ein wenig gerechnet ..

Wenn ich einen Höhenunterschied von 10cm messen möchte, ist das bei:

Sensorempfindlichkeit: 45mV/kPa --> 56uV/m = 5,6uV/10cm !!!
(in Bodennähe 8m/hPa)

Das bedeutet jedoch, dass auf der PWM Spannung kein Ripple in dieser 
Größenordnung sein darf. Ein Ripple mit einer Amplitude von 5uV würde ja 
schon verstärkt werden und eine Höhenänderung vorgaukeln.
Wahrscheinlich könnte man noch ein wenig mit Software 
(Plausibilitätsprüfung) am ADC7 erreichen, aber ...

Schafft es Dein Sallen-Key-Filter die PWM so glatt zu bekommen ?

Was habe ich für alternativen ?

Grüße
Torsten

Autor: Ralli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Torsten,

ich hatte geschrieben:
"10 m / sec halte ich auf den ersten Blick für sehr ehrgeizig!"
(Da habe ich wohl übersehen, dass du 10 cm / sec meintest.)

Nachdem ich mal nachgerechnet habe, erscheint mir 1 m/sec
noch für möglich, wenn etwa 5 Sekunden Erfassungszeit nicht
stören. Oder 0,1 m/sec wenn man eine Verzögerung von > 50 sec,
also knapp einer Minute zulässt.

Mein Ansatz war, die Erfassung zeitlich zu optimieren:

Bei 8 MHz Systemtakt arbeitet eine PWM mit 4096 Schritten zwangsläufig 
mit max. 1953 Hz. Ein 2-poliger MAKELLOSER Tiefpass für 20 Hz (f / 100) 
verringert die 5 Vpp auf 500 µVpp (Upp / 10000). Bei sauberem 
Schaltungsaufbau und dem gleichen Tiefpass nochmal dahinter, könnte man 
theoretisch die 5 µVpp unterschreiten, wobei dann eher mit 10 Hz 
Grenzfrequenz zu rechnen ist.

Alternativ müsste man zusehen, innerhalb einer 1953 Hz-PWM-Periode 8 
oder mehr ADC-Samples zu gewinnen. Bei gutem Timing kann der Mittelwert 
daraus den Ripple-Einfluss auch auf 1/100 (5 µV) minimieren.

4096 PWM-Schritte bieten eine Auflösung von 5 V / 4096 = 1,22 mV.
1,22 mV / 45 mV/kPa = 0,027 kPa.
Dies entspricht in Bodennähe einer Auflösung von 2,16 m.

65536 PWM-Schritte bieten eine Auflösung von 5 V / 65536 = 76,3 µV.
Allerdings ist die PWM-Frequenz dann max. 122 Hz.
Um dieses Signal ausreichend zu filtern, ist eine Grenzfrequenz von
1,25 Hz (500 µVpp) oder 0,6 Hz (2 Filter, 5 µVpp) erforderlich.
(Die Werte von C8 und C9 sind dafür auf das 16-fache zu erhöhen.)
Damit kämen wir zu einer Auflösung von 13,5 cm bei 16-fach verlängerter 
Messzeit.

Das sind alles nur theoretische Werte - ich kenne den Sensor überhaupt 
nicht. Aber wie du siehst gibt es einige "Stellschrauben", an denen man 
sich betätigen kann.

Übrigens: Würdest du den Sensor gleich an einen externen 16-Bit-ADC 
anschließen, hättest du idealerweise eine Auflösung von 76,3 µV.

Auch hier müsstest du etwa 15 Sekunden warten, um gerade die Änderung um 
ein Bit, also die Höhenänderungsrate von 0,1 m/sec (in Bodennähe) 
festzustellen.

Nicht verzagen!
Bauen, Tüfteln, Rechnen und Probieren ist doch DER Spaß,
Ralli

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.