Ergebnis 1 bis 5 von 5

Thema: 3D Beschleunigungsmesser DE-ACCM3D2 - Wer hat Erfahrung mit dem Bauteil?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.12.2011
    Ort
    Düsseldorf
    Beiträge
    8

    3D Beschleunigungsmesser DE-ACCM3D2 - Wer hat Erfahrung mit dem Bauteil?

    Hallo Experten,
    beim Versuch die Beschleunigungswerte des DE-ACCM3D2 mit einem Arduino auszulesen komme ich nicht wirklich weiter:
    Das Signal ist so "verrauscht" dass die Werte nicht sinnvoll verwendbar sind.

    Wie in dem Datenblatt angegeben habe ich VCC auf den Arduino 5V Ausgang gelegt, GND mit GND verbunden. Die x,y,z Pins habe ich mit den Analog-In-Pins 0,1,2 des Arduino verbunden. Nachdem, was ich dazu im Datenblatt finde sollte das funktionieren:

    General Description
    The DE-ACCM3D2 is a complete 3D ±2g analog accelerometer solution. It features integrated op amp buffers for direct connection to a microcontroller’s analog inputs, or for driving heavier loads.

    [...]

    Output buffers
    A bare accelerometer chip has an output impedance of 110kΩ, which is unsuitable for obtaining reliable measurements when connected to an analog to digital converter. On the DE-ACCM3D2, a quad rail to rail operational amplifier buffers the outputs from the LIS344ALH, greatly reducing output impedance. The absolute maximum load beyond which accuracy begins to seriously suffer is 3.3mA, or 500Ω.

    Supply filtering
    A 1uF ceramic bypass capacitor on the DE-ACCM3D2 provides excellent power supply decoupling. No
    external capacitors are necessary between Vcc and GND.

    Output filtering and noise
    A pair of 10nF capacitors limit the noise figure of the DE-ACCM3D2, without overly sacrificing bandwidth.
    RMS noise is typically 7.3mg, and output bandwidth is 500Hz - making it suitable for high frequency sampling of acceleration.

    Hier der Arduino- Code:

    Code:
    //3D Accelleration Sensor Test
    
    int ADCX=0;
    int ADCY=1;
    int ADCZ=2;
    
    int valueX;
    int valueY;
    int valueZ;
    
    float Gx;
    float Gy;
    float Gz;
    
    void setup()
    {
      Serial.begin(9600);
      delay (2000);
    }
    
    
    
    void loop()
    {
      Serial.print("G");
      delay (2);
      valueX=analogRead(ADCX);
      Serial.print(valueX);
      Serial.print(";");
    
      valueY=analogRead(ADCY);
      Serial.print(valueY);
      Serial.print(";");
      
      valueZ=analogRead(ADCZ);
      Serial.print(valueZ);
      Serial.println(";"); 
    }
    Mein Problem ist, dass die Werte für x,y,z immer nahezu gleich sind - auch wenn ich das Bauteil (mit dem angeschlossenen Arduino) drehe oder den Sensor ruckartig in einer Fläche bewege. Die im Datenblatt angegebenen Rechenbeispiele legen etwas anderes nahe.
    Die Pins für Gx,GY,Gz sind nicht elektrisch miteinander verbunden. (Das Bauteil habe ich gesockelt - insofern konnte ich das nachprüfen.)

    Mein zweites Problem ist, dass die Sensordaten auch dann stark rauschen, wenn der Arduino mit dem Bauteil auf dem Tisch liegen.

    Wenn ich delay (2) auf höhere Werte lege (100-500) sieht man deutlich, dass das Signal rhytmisch schwankt mit -geschätzten- 1 Hz. Bei delay (2) [Millisekunden] sind die Signale unbrauchbar.

    Die Signale habe ich per seriellem Kabel ausgelesen. Den Arduino habe ich über einen USB- Verteiler (mit seperater Stromversorgung) und auch direkt mit dem Rechner verbunden. Alternativ habe ich es auch mit einem geregelten Labornetzteil und einem Bluetooth - Shield versucht. Allerdings hatte das keinen Effekt auf das Messergebnis.

    Hat einer von Euch Erfahrungen mit dem Bauteil? Sind die 500 Ohm das Problem?
    Geändert von BASTIUniversal (25.04.2012 um 16:28 Uhr)

  2. #2
    Neuer Benutzer Öfters hier Avatar von BerndJM
    Registriert seit
    17.03.2012
    Ort
    Neckarmühlbach
    Alter
    55
    Beiträge
    21
    Hi,

    auf den ersten Blick gefällt mir deine Definition der Analogeingänge irgendwie nicht,
    müßte das nicht so aussehen:
    Code:
    int ADCX=A0;
    int ADCY=A1;
    int ADCZ=A2;


    Grüßle Bernd
    Theoretisch gibt es keinen Unterschied zwischen Theorie und Praxis ...

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.12.2011
    Ort
    Düsseldorf
    Beiträge
    8
    Hallo Bernd,
    ich habe noch mal nachgeschlagen: http://arduino.cc/en/Reference/analogRead

    Example

    int analogPin = 3; // potentiometer wiper (middle terminal) connected to analog pin 3 outside leads to ground and +5V
    int val = 0; // variable to store the value read

    void setup()
    {
    Serial.begin(9600); // setup serial
    }

    void loop()
    {
    val = analogRead(analogPin); // read the input pin
    Serial.println(val); // debug value
    }

    ... das sollte demnach passen.

  4. #4
    Neuer Benutzer Öfters hier Avatar von BerndJM
    Registriert seit
    17.03.2012
    Ort
    Neckarmühlbach
    Alter
    55
    Beiträge
    21
    Ok, ok,

    ich hatte mich an den Tutorials (z.B.: http://arduino.cc/en/Tutorial/AnalogInOutSerial) und den mitgelieferten Beispielen orientiert.
    Code:
    const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
    Habs grade ausprobiert, es funktionieren beide Varianten. Sorry für den "Fehlalarm".

    Grüßle Bernd
    Theoretisch gibt es keinen Unterschied zwischen Theorie und Praxis ...

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    25.12.2011
    Ort
    Düsseldorf
    Beiträge
    8
    Habe heute den Sensor an ein Labornetzteil angeschlossen und die x/y/z Signale (nacheinander) mit einem Oszilloskopen betrachtet:
    Ergebnis: Das Signal rauscht überhaupt nicht! Und je nach Neigung verändern sich auch die Signale - so wie es eigentlich sein soll.
    Am Sensor liegt es also nicht.

    Aber warum kann man die Signale nicht mit den Arduino- Eingängen vernünftig messen?
    Die Anschlüsse habe ich nicht verwechselt (bereits geprüft).
    Hat von Euch einer eine Idee?

Ähnliche Themen

  1. 2-Achsen Beschleunigungsmesser mit dem MMA7260QT
    Von Madgyver im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 11
    Letzter Beitrag: 08.01.2009, 16:46
  2. LED Erfahrung
    Von The Man im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 29.10.2008, 14:08
  3. Beschleunigungsmesser für einen LARP Pfeil
    Von g0nz00 im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 06.09.2007, 21:52
  4. Beschleunigungsmesser - Schaltung?
    Von xxrider im Forum Sensoren / Sensorik
    Antworten: 15
    Letzter Beitrag: 03.03.2006, 06:57
  5. Wer hat Erfahrung mit AVR-DOS ?
    Von juergen908 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 25.05.2005, 19:48

Stichworte

Berechtigungen

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