- 3D-Druck Einstieg und Tipps         
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 33

Thema: CHR-6d Board Gyro,ACC,Nick,Roll,Kalman Filter,Inbetriebnahme

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    47
    Beiträge
    142

    CHR-6d Board Gyro,ACC,Nick,Roll,Kalman Filter,Inbetriebnahme

    Anzeige

    Praxistest und DIY Projekte
    Dies soll eine nützliche Beschreibung der Inbetriebnahme werden.

    -Das Board wird mit 3,3 V betrieben.
    -Die UART Schnittstelle ist aber 5V kompatibel.
    Die UART Schnittstelle sendet keine Stop Bits. Es können keine Daten direkt
    im Terminalprogramm angezeigt werden.
    - Das Datenpaket besteht aus folgenden Bytes.
    Byte1 =s
    Byte2 =n
    Byte3 =p
    Byte4 = Befehlsbyte für Eingangbefehle wie "SET_ACTIVE_CHANNELS" 0x82
    Byte5 = Anzahl der Bytes des kompletten Datensatzes
    Byte6 bis 6-14 Datenausgabe der Kanäle je nach aktivierten Kanälen.
    Byte danach1 = 2 Byte Checksumme addiert alle Werte
    Byte danach2 = 2 Byte Checksumme addiert alle Werte

    Es gibt eine neue Firmware mit Kalman Filter, die nick und roll als Winkel ausgeben.
    Firmwareupdater und Firmware unter chrobotics.com
    Darauf achten, das es die CHR-6d und nicht die 6dm Software ist.
    Den Boot Pin aan der Platine auf 3,3V legen.
    Gerät von der Betriebsspannung kurz trennen.
    Jetzt kann über UART die neue Firmware installiert werden.

    Eine Windowssoftware Namens IMU http://www.chrobotics.com/downloads/IMUKit.zip zeigt einem alle Achsen in Koordinatensystemen an. Man kann Filtereinstellungen ändern. Gyro und Acc Kanäle können ein und ausgeschaltet werden (UART Sender)
    Falls das programm nicht funktioniert, müsst Ihr SDK Directx installieren.
    http://www.microsoft.com/downloads/e...displaylang=en
    Nun zu meinem Problem:

    Ich bekomme die nick und roll Winkelangabe bei liegender Platine (IC`s nach oben) nicht auf null Grad. Einen Schalter um die Gyros auf null zu bringen existiert, für die ACC´s nicht. Die Platine liegt so auch richtig, da die Gyro Werte alle korrekt angezeigt werden.
    Im Reiter General kann ich unter Bias Config bei x und y Accel die Werte verändern und bekomme auch eine annähernde Nullinie hin. Nur der Winkelausschlag ist dann super gering. Speichere ich die Werte in den Ram und Flash und resete die Platine, dann liegen die Werte wieder woanders.

    Kann mir jemand das Bias Config und unter dem Reiter EKF das Process Weight erklären und gute Einstellungen posten?
    Wo liegt mein Problem?
    Die Youtube Anleitungen verstehe ich so gut wie gar nicht. Wer sich das angehört hat, kann mich sicherlich verstehen.

    Bascom Code ist auch schon fast fertig. Ich muss noch die CHK bytes prüfen, um einen verlässlichen Datenstom zu erhalten.

    Jetzt hoffe ich auf gutes Team working, damit wir eine schöne Anleitung hier im Netz für alle veröffentlichen können.

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    13.07.2010
    Beiträge
    22
    hi, ich hab leider nich deine imu dafür aber 5 andere und ein sensorik institut hinter mir, zufällig arbeite ich gerade an was in dieser richtung.
    gerne helf ich dir !

    hast du vielleicht skyp oder msn , icq?

    vg
    ersan

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    47
    Beiträge
    142
    Nach langen Hin und her probieren mit den ACC bias Einstellungen, ist es mir gelungen die Winkel von nick und roll auf annähernd null zu bekommen. Mir ist aufgefallen, das wenn man einen Wert zB. von nick ändert und in den Ram überträgt der roll Wert um mindestens 100 Grad wegläuft. Bewege ich die Platine einmal 360 Grad um alle Achsen, dann normalisiert dieser Wert sich wieder.
    Leider zeigt sich,das nick und roll bei mir irgendwie in einer Abhängigkeit stehen. Wenn ich die Platine rollseitig 90 Grad aufstelle, ist der angezeigte Rollwert auch recht genau, leider wandert der Nick Wert auch auf fast 90 Grad mit. Das Phänomen habe ich bei einer Achse.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    47
    Beiträge
    142
    Hallo Supercato,
    erst bietest du mir deine Hilfe an und dann meldest du dich nicht. [-(
    Ich habe dir eine PN mit meiner icq Nummer geschickt.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    47
    Beiträge
    142
    Nach weiteren Tests und einen Hinweis zu dem Link von Watterott, scheint die Firmware 2.0 noch einen Fehler zu haben.
    Im chrobotics Forum zu finden
    http://www.chrobotics.com/forum/view...f=8&t=11<br />
    Warum gehen Pitch und roll auf null, wenn ich den Sensor um alle achsen bewege und dann flach auf den Tisch lege?
    Warum Ist eine Achse Roll in einer Winkelrichtung mit der anderen Achse Pitch in einem Verhältnis? Drehe ich die Platine Pich links um egal wieviel grad, dann geht der Roll Wert mit.

    In der Windows IMU Software ist auch x und x Gyro vertauscht worden.

    Hat jemand Ahnung von dieser Programmierung und könnte dann eine funktionierende Firmware posten?

    @Superkato: Wenn du wieder hier im Forum vorbeischaust, wäre das vielleicht eine machbare Aufgabe für dich.

    Hier der Link zur Firmware 2.0:http://www.chrobotics.com/downloads/CHR6d.zip

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2006
    Alter
    54
    Beiträge
    18
    Hallo Mirco,

    ich habe seit ein paar Tagen die AHRS-Version...

    Zitat Zitat von mirco99
    Nach weiteren Tests und einen Hinweis zu dem Link von Watterott, scheint die Firmware 2.0 noch einen Fehler zu haben.
    Welchen Fehler meinst Du?

    Warum gehen Pitch und roll auf null, wenn ich den Sensor um alle achsen bewege und dann flach auf den Tisch lege?
    weil dann der Winkel wieder null ist.

    Warum Ist eine Achse Roll in einer Winkelrichtung mit der anderen Achse Pitch in einem Verhältnis? Drehe ich die Platine Pich links um egal wieviel grad, dann geht der Roll Wert mit.
    ich würde mal die "factory defaults" laden...
    Hältst Du Dich dabei ans Datenblatt und bleibst bei Winkeln <90°?

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    47
    Beiträge
    142
    Hi Skydiver,
    Zitat:
    Warum gehen Pitch und roll auf null, wenn ich den Sensor um alle achsen bewege und dann flach auf den Tisch lege?

    Skydiver: weil dann der Winkel wieder null ist.

    die Werte sind nach dem einschalten der Platine und gerade auf dem tisch liegen bei mir nicht auf null( so um die 180°). Erst nach Drehung aller Achsen, das ja eigendlich nicht gemacht werden sollte.

    Das mit den Winkeln <90° habe ich in diesem Fall natürlich nicht eingehalten.

    Wird dein Nick und Roll Wert nahe der 0° Achse bei liegender Platine angezeigt? Werden nick und roll unabhängig achsenrichtig angezeigt?
    Bei mir leider nicht.

    Vielen Dank für deine Hinweise. Vielleicht schaffe ich ja doch noch ordentliche Werte aus der Platine zu bekommen.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2006
    Alter
    54
    Beiträge
    18
    Hallo Mirco

    die Werte sind nach dem einschalten der Platine und gerade auf dem tisch liegen bei mir nicht auf null( so um die 180°). Erst nach Drehung aller Achsen, das ja eigendlich nicht gemacht werden sollte.
    Ich habe in der PC-Soft unter "EKF" die entspr. waagrechte Lage mit "Set Accel Reference" und "Set Yaw Reference" übernommen und danach in den Flash geschrieben. Den autom. Gyroabgleich nach "Power On" habe ich aktiviert. Die IMU darf somit nach dem Einschalten für ~3 sek. nicht bewegt werden. Die Accel-Werte müssen dann aber (bis auf die Temperaturdrift) passen. Die Temperaturdrift ist übrigens erstaunlich gering.

    Das mit den Winkeln <90° habe ich in diesem Fall natürlich nicht eingehalten.
    Das ist bei der AHRS übrigens gar kein Thema, zumindest für mich nicht - Jede Achse geht von -360 bis +360°

    Wird dein Nick und Roll Wert nahe der 0° Achse bei liegender Platine angezeigt? Werden nick und roll unabhängig achsenrichtig angezeigt? Bei mir leider nicht.
    Ich denke immer noch, dass da mit Deiner Parametrisierung was nicht paßt. Kannst Du mal von den Settings einen Screenshot verlinken?

    Mit Accel-Bias-Werten von "0" liegt die angezeigte Genauigkeit N+R bei +/- 0,5°, G +/- 1,5°. Mit Bias-Werten für X,Y und Z von 50 bei N+R +/- 0,2° und G +/- 1° über ca. 10 Minuten und bei anfangs "kalter", weil stromloser Elektronik (bei jeweils mech. fixierter IMU und entspr. Kalibrierung).

    Ich jedenfalls bin von dem Zwerg bis jetzt begeistert und schon auf die ersten Flugtests gespannt...

    Gruß
    Rainer

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    47
    Beiträge
    142
    Hallo Rainer,

    da du von Yaw schreibst, hast du das chr6-dm Board. Ich habe nur das chr6-d.
    Ich kann nur die einfache Imu Software benutzen. Yaw gibt mein board nicht raus.

    Ich habe mich gestern Abend nochmal an meine Platine begeben.
    Ich habe für mein "Hobbyraum" einen neuen Rechner gebaut und installiert, da mein alter xp Rechner nicht mehr stabil lief.
    Nachdem ich die Firmware neu geflasht habe, zeigte die Imu Software mein Pitch und Roll auf annähernd 0° nach dem Einschalten an. Ich habe mit der Fehlersuche bestimmt 20 Stunden verbracht. Entweder war es mein Rechner oder die Software des chr6d Boards stimmte nicht.

    Ich habe mir diese Platine zugelegt, damit ich die ganze Berechnungen der Gyro und acc Werte nicht selber machen muss. Wenn ich <90 Grad einhalte funktioniert die ausgabe super. Werde ich Größer, dann Zeigt mir eine Achse immer in eine Andere Richtung eine Abhängigkeit der anderen Achse an, somit wäre ein Absturz "vorprogrammiert"

    Programmierst du in Bascom? Ich habe noch einen kleinen Fehler in meiner UART Ausgabe. Könntest du mal deinen Bascom Code(Einlesen der Werte) posten?
    Ich schreibe ein ein Array und Suche dann das PNG in dem Datensatz, um den Angang zu finden. Es werden ja Bytes geschickt, ich kenne ein Array nur als String. Aus dem Array lese ich pro Wert wieder in ein Byte Hier muss ich mich weiter informieren.

    Bis später.
    PS: Welches Modell soll denn bei dir stabilisert werden?

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    31.03.2006
    Alter
    54
    Beiträge
    18
    Hallo Mirco,

    freut mich, wenn es jetzt klappt!

    da du von Yaw schreibst, hast du das chr6-dm Board. Ich habe nur das chr6-d. Ich kann nur die einfache Imu Software benutzen. Yaw gibt mein board nicht raus.
    ja, aber die grundsätzlichen Einstellmöglichkeiten dürften die selben(?) sein...

    Ich habe mir diese Platine zugelegt, damit ich die ganze Berechnungen der Gyro und acc Werte nicht selber machen muss.
    dito. Ich wollte mal eine wirklich kompakte und robuste IMU, die alles onboard berechnet und die Daten entspr. gefiltert (mit der Möglichkeit der Einflußnahme auf die entspr. Parameter) zur Verfügung stellt und nicht "bloß" mit Komplementärfiltern arbeitet. Eine SPI wäre das I-Tüpfelchen gewesen. UARTs sind bei mir immer zu wenige vorhanden...

    Programmierst du in Bascom? Ich habe noch einen kleinen Fehler in meiner UART Ausgabe. Könntest du mal deinen Bascom Code(Einlesen der Werte) posten?
    Ich programmiere in C. Ich werde div. Sourcen von meinen anderen Projekten (bspw. einen NMEA-Parser) anpassen und hier verwenden. Bzgl. Bascom kann ich Dir leider nicht weiterhelfen.

    Ich schreibe ein ein Array und Suche dann das PNG in dem Datensatz, um den Angang zu finden. Es werden ja Bytes geschickt, ich kenne ein Array nur als String. Aus dem Array lese ich pro Wert wieder in ein Byte Hier muss ich mich weiter informieren.
    imho ist ein string ein array mit angehängtem \0 - zumindest in C. Ich werde den UART-Buffer nach Empfang bestimmter Anzahl Bytes lediglich nach der Startbedingung checken und dann die Daten im Parser in entspr. Variablen wegschreiben, Checksumme prüfen, usw.

    PS: Welches Modell soll denn bei dir stabilisert werden?
    Wenn die IMU sich beim "burn-in" bewährt, werde ich alles auf einen Quadrocopter in klassischer +-Anordnung packen.

    Gruß
    Rainer

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests