- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 17

Thema: Schaltung überprüfen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hi,

    die Vorgehensweise (MOSFET) wurde mir in einem anderen Thread angeraten.
    Der Drucksensor ist ein MPXH6115A6U, der gibt 46mV / kPa aus. Da ich eine mind. Genauigkeit von ca. 1cm / Step benötige, muss der Ausgang stark verstärkt werden. 1kPa entspricht in etwa 8m (grob geschätzt) --> 46mV / 800cm = 0.0575mV/cm.
    Der µC, der das Signal messen soll, läuft mit 3V3, deswegen muss dieser Wert auch noch geteilt werden --> 0.0575mV/cm * 0.618 = 0.0355mV/cm. Der ADC ist ein 12Bit ADC, mit Reference entweder 2.0625V oder 1V. Ich nehme 1V, weil ich damit schonmal 1Bit ggü. den 2.0625V gewinne. 1V / 4096 = 0.244mV.
    0.244mV / 0.0355mV/cm = 6.87cm / Step, das reicht bei weitem nicht, da das Rauschen des ADC (1-2 Bit) auch noch weggemittelt werden muss.
    Ergo muss ich auf mind. 0.5cm / Step kommen, um auch nur annähernd die gewünschte Genauigkeit zu erreichen.

    Wenn du eine gute Umsetzungsidee dazu hast, immer her damit

    Gruß
    Chris

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    60
    Beiträge
    1.825
    Erst noch mal die Ausgangssituation klarstellen:

    ist ein MPXH6115A6U, der gibt 46mV / kPa aus
    Das Datenblatt das ich auf die Schnelle gefunden habe, sagt: 0,2V @ 15kPa, 4,5V @ 115kPa, also 43 mV/kPa

    1kPa entspricht in etwa 8m (grob geschätzt)
    Wikipedia behauptet, 1hPa entspricht in etwa 8m. 1 kPa wären also 80m.

    1cm / Step ... 12Bit ADC
    Das wären also gerade mal 40 Meter bis zum Überlauf des ADC, wenn man den Verlust an Genauigkeit für das Rauschen des ADC und der Vorverstärkung vernachlässigt. Ist das so gewollt bzw. ausreichend?

    Die PWM-Geschichte soll also eine Nullpunktskalibration werden?

    Noch etwas zum Verständnis: Soll es für die Flugzeit eine absolute Höhenmessung ergeben oder nur eine Steig/Sinkrate ausgeben? Falls absolut, wie lange wäre die maximale Flugzeit (ich denke konkret an Langzeitstabilität, speziell auch im Zusammenhang mit meteorologisch bedingten Luftdruckschwankungen).

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hier ( http://www.freescale.com/files/senso.../MPXA6115A.pdf ) steht auf Seite 3: Sensitivy 45mV/kPa
    Ok, bei der Höhenscalierung hab ich mich wohl vertan (hab mich schon gewundert)...
    Wegen deiner genannten 40m brauche ich eben den Offset durch die PWM, um den vollen Bereich ausnutzen zu können.
    Der Sensor wird sowohl zur Steig/Sinkraten Berechnung als auch zur Höhenmessung benutzt. Die max. Flugzeit liegt bei etwa 30Min (hoch geschätzt), wenn der Wert dann um ein oder zwei Meter driftet ist das vernachlässigbar (ich wüsste auch nicht, wie man das kompensieren könnte?!)

    Gruß
    Chris

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    60
    Beiträge
    1.825
    Wegen deiner genannten 40m brauche ich eben den Offset durch die PWM, um den vollen Bereich ausnutzen zu können.
    Das Verfahren scheint mir insgesamt recht umständlich zu sein. Die Restwelligkeit des PWM liegt dann verstärkt am ADC an, das bringt zusätzlichen Ärger.

    Man könnte sich folgendes Verfahren näher ansehen:

    Der MC erzeugt eine PWM, über eine RC-Kombination macht man daraus eine Gleichspannung (schwach wellig im Bereich weniger Millivolt). Diese Spannung kommt auf den einen Eingang eines Komparators, auf den anderen Eingang das Sensorsignal (eventuell vorverstärkt und geklippt auf den interessierenden Bereich). Für das Ausgangssignal des Komparators gibt es 3 Möglichkeiten:
    entweder Low, High oder rechteckig im Takt der PWM, nämlich genau dann, wenn die Sensorspannung im Bereich der Restwelligkeit des geglätteten PWM-Signals liegt. Die PWM regelt man auf Gleichtakt des Komparatorausgangs.
    Vorteil: mit einem 16-Bit Zähler kommt man schon mal auf 16 bit Einstellbarkeit der PWM. Wenn man den Mittelwert von mehreren Durchläufen nimmt, kann man noch interpolieren. Einen Komparator haben viele MC schon eingebaut.

    Die max. Flugzeit liegt bei etwa 30Min (hoch geschätzt), wenn der Wert dann um ein oder zwei Meter driftet ist das vernachlässigbar (ich wüsste auch nicht, wie man das kompensieren könnte?!)
    Bei einem Wetterumschwung können das auch mal 100 Meter pro halbe Stunde werden. Man könnte am Boden einen zweiten Sensor plazieren und dessen Werte per Funk an das Fluggerät übermitteln, zwecks Differenzbildung. Wenn man dann auch noch die Temperatur misst, könnte das schon ziemlich genau werden.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Glücklicherweise könnte ich deine vorgeschlagene Methode gleich ausprobieren, hab nämlich schon ne Platine, die genau die Anforderungen erfüllt
    Allerdings sehe ich keinen Vorteil darin im Vergleich zur OP-Methode.
    Du meinst also, ich soll die PWM so einstellen, dass der AC dauernd (im Takt der PWM) toggelt?! Und dieses Signal dann interpolieren, anhand des PWM-Wertes erhalte ich die Größenordnung / Offset des Signals.
    Einen zweiten Sensor am Boden möchte ich vermeiden, das hat sonst auch niemand und trotzdem funktionierts.
    Evtl. ist es noch erwähnenswert, warum ich das ganze überhaupt betreibe:
    Ich habe schon eine Platine, die den internen OP eines ATXMega ausnutzt und mit der ich auf ca. 1cm Genauigkeit komme, die Lösung mit externen OP (wie im ersten Thread) wollte ich mal ausprobieren, weil dadurch der digitale Tiefpass im µC entfällt und ich evtl. steilere Flanken des Filters implementieren könnte, sodass der Wert schneller auf Höhenänderungen reagiert (momentan habe ich eine Phasenverschiebung von ca. 200ms).

    Gruß
    Chris

    EDIT:
    Picture, was genau meinst du? Einfach den Ausgang verstärken und diesen messen? Das geht nicht, weil ich dann nur einen kleinen Bereich messen könnte.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    60
    Beiträge
    1.825
    Du meinst also, ich soll die PWM so einstellen, dass der AC dauernd (im Takt der PWM) toggelt?! Und dieses Signal dann interpolieren, anhand des PWM-Wertes erhalte ich die Größenordnung / Offset des Signals.
    Man müsste dann auch auf ein bestimmtes Taktverhältnis (z.B. 1:1) regeln, sonst verschenkt man Genauigkeit. Wenn Du es schon probiert hast und es nicht gut geht, dann glaube ich das mal so.

    Also nochmal Bezug auf die Schaltung im Ursprungspost:
    Soweit ich es jetzt verstehe wird die PWM einmal eingestellt (vor dem Start) und bleibt dann für den Flug konstant. Damit ist die Zeitkonstante für die PWM Glättung nicht besonders kritisch. Die Restwelligkeit sollte aber gering sein (deutlich unterhalb der Auflösung des ADC). Der Meßwert hingegen ist zeitkritisch, die Bandbreite muß aber vermutlich wegen Rauschen begrenzt werden.
    Also folgender Vorschlag:
    Auf den PWM Ausgang folgt ein Tiefpass mit entsprechend geringer Restwelligkeit. Um das Problem mit dem Kondensator in der Rückkopplung zu vermeiden kann man die geglättete PWM an den nicht invertierenden Eingang des OP legen. An den invertierenden Eingang dann über einen Widerstand den Sensor. Rückkopplung wie gehabt (Widerstand entsprechend der Gleichspannungsverstärkung, Kondensator entsprechend der Rauschunterdrückung, wird man probieren müssen). Bei allen Kondensatoren Folientypen wählen.
    Momentan sehe ich die PWM Spannungspegel als kritischsten Punkt was die Genauigkeit betrifft. Die Pegel sollten nämlich mit hoher Genauigkeit der Referenzspannung des ADC folgen. Normalerweise einfach, man nimmt ein CMOS Gatter und versorgt es mit der Referenzspannung des ADC und die Sache passt. Ich weiß allerdings kein CMOS Gatter, das sich mit 1V Betriebsspannung begnügt. Man sollte vielleicht etwas mit Analogschaltern bauen (CD4016 fällt mir spontan ein, bestimmt gibt es heute bessere). Man bräuchte dann z.B. 3 Schalter, einen PWM zur Referenzspannung, einen PMW zu Masse und einen schaltet man als Inverter, damit man nur ein Pin des MC zum Ansteuern der Beiden braucht.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Also ich habs noch nicht probiert, hätte nur eine Schaltung, um es zu testen, aber ich verstehs noch nicht ganz...
    Wenn ich auf z.b. 50% Dutycycle einstelle, bekomme ich bei VCC = 3V3 genau 1.65V raus. Wenn jetzt aber der Sensor z.b. 1.4V ausgibt (nach dem Spannungsteiler), wie soll ich dann messen?
    Ich dachte du meintest, ich solle den Dutycycle so einstellen, dass die geglättete Spannung so genau wie möglich der Sensorspannung entspricht??

    Ja, bei Programmstart wird die PWM von 0 bis 100% durchfahren, um den Offset zu finden, dieser Wert wird gespeichert und bleibt konstant (bis der ADC an einen Anschlag läuft, dann wird der PWM Wert erhöht oder erniedrigt, um die Spannung wieder in Richtung Mitte des ADC zu bringen (zum Höhenwert wird dann eine konstante hinzugerechnet, um keinen Sprung im Höhenwert zu haben).)

    Ja, die PWM-Glättung ist der springende Punkt. Momentan habe ich ja einen passiven Tiefpass 2. Ordnung (ohne den OP miteinzubeziehen), mit den Werten R = 10k, C = 1µ, das ergibt eine Zeitkonstante von 10ms. Die Werte habe ich damals mit LTSpice simuliert, da war kein Ripple mehr zu sehen. Mittlerweile bin ich aber der Meinung, dass das nicht ganz richtig ist. Evtl. werde ich einen Tiefpass 3. Ordnung verwenden, was meinst du? Die Pwm Frequenz liegt bei 125kHz, kann aber nicht mehr vergrößert werden, weil das zu lasten der Auflösung ginge und dann evtl. der Offset nicht mehr gefunden werden kann.
    Die Zeitkonstante zu vergrößern ist keine gute Idee, da dann die Offsetfindung bei Programmstart zu lange dauert (momentan max. 255*50ms = 12.75s), außerdem muss wenn während dem Flug der Offset verschoben wird, auch wieder eine Weile gewartet werden, bis sich der neue Wert eingependelt hat.

    Gruß
    Chris

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Angenommen, ich habe eine Verstärkung von 100 und eine Referenz von 1V, dann kann ich nur eine Spannung zwischen 0V und 1V/100 = 10mV messen, weil darüber der ADC in die Begrenzung geht, da Vin > Vreference.

    Gruß
    Chris

Ähnliche Themen

  1. Schaltung, Servo überprüfen
    Von mechatronikilm im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 29.09.2012, 11:41
  2. Bitte Schaltung überprüfen - 3x Stepper Driver
    Von Netzman im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 08.12.2009, 17:11
  3. L200 Schaltung --- Bitte überprüfen
    Von PCF8574P im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 22.06.2009, 16:27
  4. Bitte meine Hexapod Schaltung überprüfen
    Von Roba im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 13
    Letzter Beitrag: 11.06.2009, 21:53
  5. Schaltplan überprüfen
    Von Mantra im Forum Elektronik
    Antworten: 22
    Letzter Beitrag: 19.05.2009, 01:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests