- 12V Akku mit 280 Ah bauen         
Seite 7 von 11 ErsteErste ... 56789 ... LetzteLetzte
Ergebnis 61 bis 70 von 104

Thema: Beschleunigungssensor ADXL 202 JQC

  1. #61
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Anzeige

    Powerstation Test
    Wenn ich den Sensor über PWM (Bascom Pulsein) auswerte habe ich dann eine höhere Genauigkeit?
    Wenn der ADXL das PWM-Signal intern aus der analog Spannung generiert, kann es eigentlich nicht genauer sein.

    Was natürlich sein kann ist, dass du das PWM Signal genauer auswerten kannst als das Analog-Signal. Das liegt dann an deiner Messchaltung und nicht am Signal.

    Grundsätzlich lässt sich das PWM Signal mit dem Pulsein-Befehl in Bascon sehr einfach auswerten.
    Von der Genauigkeit her ist der Pulsein-Befehl allerdings nicht so dolle.
    Wenn ich mich richtig erinnere, wartet der Befehll bis zur steigenden Flanke des Einganssignals und startet dann einen Zähler. Der Zähler wird dann alle 10 µS hochgezählt und sobald die fallende Flanke auftritt wird der Zählerstand als Ergebnis ausgegeben.

    Die Periodendauer des PWM Signals kannst du bei dem ADXL über einen Widerstand einstellen. Die längste Periodendauer die im Datenblatt angegeben ist, ist 10 ms. Bei einem Duty-Cycle von 12,5/g entspricht das 1,25 ms/g. Wenn du diesen mit 10µS auflöst und den Digitalisierungsfehler berücksichtigst kommst du auf keine besonders berauschende Genauigkeit.
    So aus dem Gedächnis heraus meine ich, ich habe damals mit einer Genauigkeit von +-3 Grad kalkuliert. Können auch +- 2 gewesen sein, ist schon einige Monate her, dass ich damit herumexperimentiert habe.

    Wie genau du das Messergebnis für einen balancierenden Roboter brauchst, hängt aber auch von dessen Aufbau, z.B. Gewicht, Drehmoment der Motoren, grösser der Räder usw. ab. Allzu gross darf die Neigung ja meist nicht werden, damit es überhaupt noch möglich ist das Ding aufzufangen.

    Ein weiterer Nachteil des Pulsein-Befehls ist, dass der nicht mit Interrupts arbeitet, sondern von der steigenden bis zu fallenden Flanke hochzählt. In dieser Zeit läuft dein Programm also nicht weiter, und was noch unangenehmer ist - wenn du in deinem Programm Interruptroutinen verwendest und die während des Pulsein-Befehls ausgeführt werden, wird das Messergebnis verfälscht.

    Um erst mal ein bischen Gefühl für den ADXL zu bekommen und ein paar Experimente zu machen ist der Pulsein Befehl gut.
    Wenn der Controller aber später noch was anderes machen soll als den ADXL auslesen, würde ich entweder das PWM Signal über eine bessere Routine mit Interrups auslesen oder halt doch das Analog-Signal auswerten.

    Wie weit bist du denn mit deinen Experimenten mit dem ADXL schon gekommen?
    Ich hatte damals das Problem, dass die Beschleunigung durch das Kippen und Aufrichten des Fahrgestells mein Messergebnis arg verfälscht haben.
    Der ADXL misst ja leider nicht nur die Erdbeschleunigung sondern alle Beschleunigungen.

  2. #62
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.03.2004
    Ort
    Aachen
    Beiträge
    478
    Hi,
    erstmal Danke für die Erläuterungen!

    Also zum ADXl 202

    Ich benutze die RN Control und habe den Sensor an der Analogport A angeschlossen.
    Über diesen Port erfolgt auch die Stromversorgung.

    Ich habe 2 100kohm Wiederständ, als Spannungsteiler und Messe zwischen diesen beiden.
    Die Interne Ref Spannung ist auf 2.5v gestellt.

    Die Anzeige ist folgendermassen:
    400 -1g
    450 0g
    500 +1g

    Kleine neigungen unter 10° werden kaum registriert und wenn ich den Sensor Snekrecht zur gemessenen Achse auf dem Tisch hin und herbewege ergeben sich auch Werte zwischen 400 und 500.
    obwohl sich doch eigentlich nichts tuen sollte?

    Auf dieser Grundlage ist es absolut unmöglich auch nur näherungsweise einen TWR damit auszuregeln.
    Im Moment kann ich den Sensor höchstens alls Erschsütterungssensor nehmen.
    Oder vieleicht um Senkrecht und Waagerecht zu unterscheiden.

    Wenn diese gyros nur nicht so teuer wären.
    Der nbot hat ja einen für mehere hundert $.
    Bei Sander gibt es welche für knapp unter 100€, aber soviel Geld zu investieren und dann nicht zu wissen ob es nützt ist ja auch nicht gerade toll.

    Ich weiss das diese Frage eigentlich nicht hier hingehört aber gibt es nicht Entfernungsensoren wie den Sharp, welche aber genauer und schneller sind?

    mfg

    Involut

  3. #63
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    @Involut
    Ich benutze die RN Control und habe den Sensor an der Analogport A angeschlossen.
    Habe ich nach meinen Versuchen über PWM und Pulsein auch so gemacht

    Über diesen Port erfolgt auch die Stromversorgung.
    Ich glaube nicht, dass das eine Rolle spielt, aber ich habe den ADXL über VCC gespeist.

    Ich habe 2 100kohm Wiederständ, als Spannungsteiler und Messe zwischen diesen beiden.
    Die Interne Ref Spannung ist auf 2.5v gestellt.
    Ich habe den Analog-Ausgang vom ADXL über einen 1k Widerstand direkt an den AD-Eingang gehängt und mit 5 Volt Referenzspannung gearbeitet.
    So ganz ist mir nicht klar wie deine Schaltung aussieht. Mit einem Spannungsteiler verkleinerst du aber doch das Messergebnis. Damit hebt sich der Vorteil durch die kleinere Referenzspannung doch wieder auf.


    Die Anzeige ist folgendermassen:
    400 -1g
    450 0g
    500 +1g
    Von den Zahlenwerten (Messwerten) kommt mir das bekannt vor.
    Ich vermute allerdings, dass mit den g hast du falsch verstanden. 1g ist die Erdbeschleunigung. Je nachdem wie du den Sensor montierst, misst du die bei 0 oder bei 90 Grad Neigung. 0 g misst du dementsprechend bei 90 oder bei 0 Grad Neigung.
    Wenn du -1g misst, müsste dein Sensor in absehbarer Zeit in der Stratosphäre verschwinden

    Kleine neigungen unter 10° werden kaum registriert und wenn ich den Sensor Snekrecht zur gemessenen Achse auf dem Tisch hin und herbewege ergeben sich auch Werte zwischen 400 und 500.
    obwohl sich doch eigentlich nichts tuen sollte?
    Der ADXL 202 besteht eigentlich aus 2 Sensoren die senkrecht zueinander stehen. Kann es sein, dass du einfach nur die falsche Achse misst?
    Bei mir haben sich die Messwerte auch ungefähr zwischen 400 und 500 bewegt. Neigungen um die 10 Grad konnte ich damit aber deutlich erfassen.
    400-500=100
    180Grad/100=1,8 Grad. Eine Abweichung von ca. 3 Grad solltest du also schon erfassen können.

    Auf dieser Grundlage ist es absolut unmöglich auch nur näherungsweise einen TWR damit auszuregeln.
    Das mag sein. Mir ist es wie gesagt auch nicht gelungen. Allerdings lag das weniger an der Genauigkeit des Sensors als an dem an der Beschleunigung durch die Pendelbewegung des Fahrgestells selber. Die hat nichts mit dem Winkel zu tun, der Sensor misst sie aber logischerweise mit.

    Im Moment kann ich den Sensor höchstens alls Erschsütterungssensor nehmen.
    Da würde ich mir das Datenblatt nochmal genauer ansehen. Für mich hört sich deine Beschreibung etwas danach an, als würdest du dein Ergebnis entweder falsch interpretiren oder der Sensor ist falsch beschaltet. Die Widerstandswerte und Kondensatoren spielen ja auch eine Rolle für das Messergebnis.

    Oder vieleicht um Senkrecht und Waagerecht zu unterscheiden.
    Wenn du das an den Messergebnissen eindeutig unterscheiden kannst, ist das wenigstens schon mal ein Schritt in die richtige Richtung. Es geht mit dem ADXL 202 aber wesentlich genauer. Überprüfe nochmal deine Schaltung.
    (Ich gehe mal davon aus, dass du einen ADXL mit Messbereich bis 2 g und keinen mit Messbereich bis 10g hast.)


    Wenn diese gyros nur nicht so teuer wären.
    Der nbot hat ja einen für mehere hundert $.
    Bei Sander gibt es welche für knapp unter 100€, aber soviel Geld zu investieren und dann nicht zu wissen ob es nützt ist ja auch nicht gerade toll.
    Ich habe mir damals bei Conrad einen Modellbau-Gyro für 35 Euro gekauft. Bin allerdings bisher noch nicht dazu gekommen den anzuschliessen.

    Ich weiss das diese Frage eigentlich nicht hier hingehört aber gibt es nicht Entfernungsensoren wie den Sharp, welche aber genauer und schneller sind?
    Ich habe es damals auch mit einem Sharp GP2D12 probiert. Obwohl der von der Auflösung her schlechtere Ergebnisse lieferte und von der Messung her wesentlich langsamer ist als der ADXL. habe ich damit in Richtung balancieren wesentlich bessere Ergebnisse erzielt.
    Meine Software zur Regelung war in beiden Fällen gleich und ziemlich primitiv.

    Der Vorteil an dem Sharp ist einfach, dass der den Winkel über die Entfernung misst und die Fehlmessung durch die Beschleunigung beim Kippen und Aufrichten nicht eingeht.

    Der Nachteil ist allerdings, dass der Sharp Sensor auf unterschiedliche Farben reagiert. Ein schwarz/weiss gestreiferter Teppich ist da z.B. kein besonders geeigneter Untergrund.

    Versuchs doch einfach mal mit dem PWM Signal und dem Pulsein-Befehl in Bascom. Auch wenn das nicht genau genug fürs Balancieren funktioniert, bekommst du damit erst mal ein bischen Gefühl für deinen ADXL.

  4. #64
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.03.2004
    Ort
    Aachen
    Beiträge
    478
    Hi,
    ...also Bist du auch noch wach...

    Also um es mal anders zu Formulieren
    400 bei 0 Grad
    450 bei 90 Grad
    500 bei 180 Grad

    ich dachte das Minus bezieht sich auf die Achse.

    Ich messe zum probieren nur eine Achse
    Was die Genaugigkeit angeht erkläre ich mir das so:

    Wenn ich "nahe" der Senkrechten bin ist Änderung der Erdbeschleunigung weniger stark Abhängig von der Änderung des Winkels als bei 45°(Wegen Sinus und Cosinus)?

    Was die Beschaltung angeht so habe ich das Daughterboard von Rubi bekommen. Ich geh mal davon aus das er das sehr gut gemacht hat.

    Was den Spannungsteiler angeht hast Du Recht...man das ist echt Blöde von mir gewesen.

    Die Frage ist jetzt ob das so aussreicht von der Genaugikeit. Man muss natürlich Versuche machen ,aber wenn man vorher wüsste dass es zum Scheitern verurteilt ist könnte Man sich viel (unütze)Arbeit sparen.

    Im Endeffekt braucht man ja mindestens einen Sharp und den adxl 202.
    Vor allem bin ich gespannt ob ein 3 Punkt regler reicht.

    mfg

    Involut

  5. #65
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Zitat Zitat von Involut
    @Rubi
    wenn ja könntest Du mir nochmal sagen wofür das Poti auf deiner Platine dann zu benutzen ist?
    Damit kannst Du die PWM frequenz festlegen, wenn du nicht den ADC Ausgang verwenden möchtest.
    Vielleicht wäre das in deinem Fall die einfachere Lösung.

    Bei 2,56 V ADD hast Du eine Auflösung von 0,0025V .
    Ist Dir das wirklich zu grob ?

    LG
    Rubi

  6. #66
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.03.2004
    Ort
    Aachen
    Beiträge
    478
    Hi,
    ich werde mal schauen ob die genauigkeit reicht. Im 2 Rad robo treat habe ich mal ein Bild vom Aufbau gepostet.

    mfg

    Involut

  7. #67
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Wenn ich "nahe" der Senkrechten bin ist Änderung der Erdbeschleunigung weniger stark Abhängig von der Änderung des Winkels als bei 45°(Wegen Sinus und Cosinus)?
    Damit liegst du richtig. Siehe Datenblatt Seite 11 links unten: http://www.androidworld.com/ADXL202E_a.pdf
    Sollte aber kein Problem sein, denn du kannst den Sensor doch einfach um 90 Grad gedreht montieren.

    Die Frage ist jetzt ob das so aussreicht von der Genaugikeit. Man muss natürlich Versuche machen ,aber wenn man vorher wüsste dass es zum Scheitern verurteilt ist könnte Man sich viel (unütze)Arbeit sparen.
    Das stimmt wohl. Andererseits macht aber doch gerade das Probieren und Experimentieren den Spass aus. Wenn das Ding erst mal richtig balancieren kann wird es doch schnell langeweilig. Deswegen bin ich gar nicht unbedingt am effektivsten Lösungsweg interessiert.
    Außerdem finde ich, dass man aus den Fehlschlägen fast am meisten lernt. Wenn mir jemand sagt: "Das geht nicht", lasse ich es bleiben und fertig. Wenn ich selber herausfinde, dass etwas nicht geht, habe ich nachher meistens einen Eindruck warum es nicht geht und wo die Schwierigkeiten liegen.
    Dass so ein balancierender Roboter nicht ganz einfach ist und es mit einem ADXL und ein paar Zeilen Programmcode nicht getan ist, kann man ja fast auf allen Webseiten zu dem Thema nachlesen.
    So richtig geglaubt habe ich es trotzdem erst nachdem ich lange erfolglos damit rumexperimentiert habe

  8. #68
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.03.2004
    Ort
    Aachen
    Beiträge
    478
    Hi,
    deine Einstellung gefällt mir.

    Also wenn die Hardware steht und es in Richtung Software geht, muss man glaube ich die alten Regelungstechnik Sachen rausholen.

    Ich denke einen Wirkungsplan von dem TWR zu machen ist noch zu schaffen.

    Dann müsten man das Übertragungsverhalten ermittlen; schon schwerer.

    Und am Ende muss es halt Stabil sein......ich glaube eine Ungerade Anzahl von Minuszeichen im Wirkungsplan ist dafür hinreichend

    Achja wo ich gerade so schön am Träumen bin, wenn der TWR Stabil steht und fährt wäre natürlich es sehr schön wenn er auch noch "aufstehen" könnte.

    mfg

    Involut

  9. #69
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hallo Involut

    Ich denke das balanzieren sollte machbar sein, mit dem ADXL202 ausschließlich.
    Das Problem ist nur sobald er fährt die Beschleunigung abzuzziehen, wie schon of gesagt.
    Außerdem je schneller er sich bewegen soll desto mehr muß er sich nach vorne neigen.
    Das und dann auch noch die Drift in den Grif zu bekommen ist IMHO die Hauptschwierigkeit.

    LG
    Michael

  10. #70
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Außerdem je schneller er sich bewegen soll desto mehr muß er sich nach vorne neigen.
    Das habe ich mir eigentlich bisher eher umgekehrt vorgestellt.
    Wenn der Roboter balancieren soll, muss ich meiner Regelung doch einen Soll-Wert vorgeben. Dieser Sollwert sollte normalerweise der Wert sein, bei dem der Roboter gerade (aufrecht) steht.
    Wenn ich diesen Sollwert verschiebe, versucht die Regelung den Roboter in einer geneigten Position zu halten. Das kann sie aber glaube ich nur, wenn sie den Roboter dabei in Richtung der Neigung bewegt.

    Wenn ich da richtig liege, müsste man also nur den Sollwert der Regelung verschieben, damit der Roboter sich in eine Richtung bewegt und je mehr man ihn verschiebt, desto schneller fährt er - bis er umkippt

    Kann aber sehr gut sein, dass ich mir auch das viel zu einfach vorgestellt habe.
    Um Kurven zu fahren reicht das Verschieben des Sollwertes natürlich nicht, aber über Kurven zerbreche ich mir jetzt auch noch ganz sicher nicht den Kopf

Seite 7 von 11 ErsteErste ... 56789 ... LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress