- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 9 von 9

Thema: Adc messfehler

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127

    Adc messfehler

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo.

    Habe eine Frage zum ADC, und zwar bekomme ich wenn ich alle kanäle nacheinander messe immer fuer die erste Messung einen falschen Wert.
    Code:
       Gyro_nick_adc = Getadc(7)
       Gyro_roll_adc = Getadc(4)
       Gyro_yaw_adc = Getadc(6)
       Besch_x_adc = Getadc(1)
       Besch_y_adc = Getadc(2)
       Besch_z_adc = Getadc(3)
    Wenn ich aber vor die erste Messung eine Dummymessung mache, bekomm ich sinnvolle Werte.
    Code:
       Dummy = Getadc(1)
       Dummy = Getadc(2)
       Gyro_nick_adc = Getadc(7)
       Gyro_roll_adc = Getadc(4)
       Gyro_yaw_adc = Getadc(6)
       Besch_x_adc = Getadc(1)
       Besch_y_adc = Getadc(2)
       Besch_z_adc = Getadc(3)
    Ist das ein Hardwareproblem, oder was mache ich falsch ??
    Danke schon mal.
    meine projekte: robotik.dyyyh

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.05.2006
    Ort
    Rheinzabern
    Alter
    33
    Beiträge
    200
    Hi,
    ich bin mir nicht sicher, aber ich glaub das ist normal. Normal macht man immer eine "Dummymessung". Wenn es so klappt, dann mach es doch so

    gruß, homedom

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.08.2006
    Ort
    Budapest
    Alter
    37
    Beiträge
    563
    Im Datenblatt von den AVRs (falls es sich hier überhaupt um ein AVR handelt) steht, dass nach einschalten des ADC-s immer mehrere Dummymessungen gemacht werden sollen, quasi zum warmlaufen. Ausserdem sollte nach jeder Änderung des ADC-Kanals auch eine Dummymessung gemacht werden.

    Also wenns mit Dummymessung funktioniert, würde ich es so lassen. Oder sind die Messungen zu zeitkritisch?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    59
    Beiträge
    1.080
    Es kommt darauf an, wie mit "config adc" der wandler eingestellt wurde.

    wenn du "single" angibst, generiert Bascom ein konstrukt, welches selber eine dummy-messung vornimmt und den ersten wert verwirft.
    wenn du "free" nimmst, musst du das verwerfen des ersten wertes selber durchführen.

    "free" ist dann sinnvoll, wenn du nur einen kanal überwachst, bzw. selten wechselst.

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    also zeitkritishc ist das ganze shcon, aber eine Dummymessung verpacke ich noch, das ist ok.
    habe den adc auf single configuriert, allerdings habe ich damit trotzdem Messfehler..
    werde das dann jetzt einfach mit der dummyMessung machen... das funktionioniert ja ganz gut..
    danke fuer die Hilfe
    meine projekte: robotik.dyyyh

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Dummymessung ist eigentlich nur nach dem Einschalten oder dem Aufwachen aus dem Tiefschlaf nötig (aber da wird der AD in der Regel ohnehin abgeschaltet). Nach dem Kanalwechsel sollte auch die erste Mesung verwendbar sein, wenn die Spannung von einer niederohmigen Quelle kommt (ca. < 10 K). Man muß nur beachten, das der gewählte Kanal zum Start der Wandlung festgelegt wird, nicht erst danach.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    @besserwessi
    ""Man muß nur beachten, das der gewählte Kanal zum Start der Wandlung festgelegt wird, nicht erst danach.""
    versthe ich nicht.. wo kann ich den kanal vorher festlegen??
    ich mache ja einfach wert = getadc(kanal) wie kann man das vorher /nachher festlegen??
    meine projekte: robotik.dyyyh

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.08.2006
    Ort
    Budapest
    Alter
    37
    Beiträge
    563
    Ich glaub er meint sowas:

    1. ADC während einer Messung
    2. Änderung des Kanals
    3. Auslesen des Messwerts --> Messwert aber noch vom vorherigen Kanal

    Du musst also sicherstellen, dass die Wandlung abgeschlossen, und das Messwert ausgelesen worden ist, bevor du ein Kanal wechselst.

  9. #9
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Ich hatte da mehr an die Programmierung in C oder Assembler gedacht. Die Basicfunktion wird das wohl zumindestens im Einzelmodus schon richtig machen.
    Der Eingangsumschalter wird mit dem AD Wandler Syncronisiert. Man darf also das Register mit der Kanalwahl auch dann beschreiben, wenn die Wandlung gerade im Gange ist. Wenn man den kontinuierlichen Mode wählt geht das auch gar nicht anders. Was zählt ist immer der Wert, der beim Starten der Wandlung drinsteht.

Berechtigungen

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

Solar Speicher und Akkus Tests