- 3D-Druck Einstieg und Tipps         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 31

Thema: Kompass???

  1. #11
    Anzeige

    Praxistest und DIY Projekte
    Innerhalb eines Gebäudes gibt es viele Sachen, die den Sensor stören (z.B. Stromleitungen, usw...)
    Es gibt zumindest keine speziellen Probleme, wenn man mal einem Heizkörper vorbeifährt.

    Weitere Fehlerquelle: Wir haben die Erfahrung gemacht, dass die gemessene Orientierung des Roboters nicht ganz linear von der tatsächlichen Orientierung abhängt (siehe Attachment).

    Holger
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken komp_calib.gif  

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941

    cmps03-modul

    hallo, ich Suche eine ansteuerungsroutine für das kompassmodul cmps03 in Bascom für i2c-auslesung. oder evtl andere programvorschläge die man dann umändern kann.
    mfg pebisoft

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    01.08.2004
    Beiträge
    81
    zum kompassmodul cmps03.
    wie kalibriert man den über i2c? ich habe zwar das datenblatt von roboter-teile.de jedoch weiß ich nicht, wie man zum beispiel "255 in Reg15" schreibt.
    gibt es da ein beispielprogramm? genial wäre es wenn es in Interactive C wäre.

  4. #14
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Zitat Zitat von cauboy
    zum kompassmodul cmps03.
    wie kalibriert man den über i2c? ich habe zwar das datenblatt von roboter-teile.de jedoch weiß ich nicht, wie man zum beispiel "255 in Reg15" schreibt.
    gibt es da ein beispielprogramm? genial wäre es wenn es in Interactive C wäre.
    Hallo cauboy!

    Ich habe den schon kalibriert über I2C, habs nacher bereut, irgend etwas klappt nicht so ganz wie es soll und mein Istwert liegt jetzt bei ca. 1700-2300 aber nicht mehr bei 0 bis 3599 wie es sein sollte und davor war. Ich habe die Register aber mit einer CC2.0 geschreiben. In anderen Sprechen ist das ähnlich zu schreiben nur andere Syntax. Das Protokoll ist wie folgt:

    Code:
    Const DevWR_CMPS03   = C0h       ' Kompassmodul CMPS03
    Const DevRD_CMPS03   = C1h
    
    Function KalibKompass()
      ' Kompass kalibrieren
      Define Antwort As Byte
      Print "Kompass kalibrieren"
    #DoN
      Print "Auf N drehen"
      Input Antwort
      IIC.Init
      IIC.Start
      IIC.Send DevWR_CMPS03
      IIC.Send 15
      IIC.Send 255
      IIC.Stop
      IIC.Off
    #DoO
      Print "Auf O drehen"
      Input Antwort
      IIC.Init
      IIC.Start
      IIC.Send DevWR_CMPS03
      IIC.Send 15
      IIC.Send 255
      IIC.Stop
      IIC.Off
    #DoS
      Print "Auf S drehen"
      Input Antwort
      IIC.Init
      IIC.Start
      IIC.Send DevWR_CMPS03
      IIC.Send 15
      IIC.Send 255
      IIC.Stop
      IIC.Off
    #DoW
      Print "Auf W drehen"
      Input Antwort
      IIC.Init
      IIC.Start
      IIC.Send DevWR_CMPS03
      IIC.Send 15
      IIC.Send 255
      IIC.Stop
      IIC.Off
    #DoW
      ' Kalibrierung flashen
      IIC.Init
      IIC.Start
      IIC.Send DevWR_CMPS03
      IIC.Send 15
      IIC.Send 0
      IIC.Stop
      IIC.Off
      Print "Kalibrierung beendet"
    End Function
    
    Function StartSonarMeasure()
      ' Entfernungsmessung am Sonar starten
      With IIC
        .Init
        .Start               ' Starten der Messung in cm
        .Send DevWR_SRF08
        .Send 81
        .Stop
        Pause 4              ' 65ms warten auf Messergebnis
        .Off
      End With
    End Function
    
    Function GetSonarDistance()
      ' Den Ultraschall-Sonar lesen
      With IIC
        .Init
        .Start               ' Lesevorgang anstossen
        .Send DevWR_SRF08
        .Send 2
        .Stop
        .Start               ' 1. Echo lesen
        .Send DevRD_SRF08
        .Get SonarDistanzH
        .Get SonarDistanzL
        .Stop
        .Off
      End With
      Return SonarDistanz
    End Function
    Ich schreibe folgende Sequenz:

    - Startbit
    - C0 Hex (Schreiben)
    - 15 Dez (Register)
    - 255 Dez (Wert zum Kalibrieren)
    - Stopbit

    Das in jeder Richtung (N/S/O/W in unbestimmter Reihenfolge) und dann das Sichern der Kalibrierungsdaten mit:

    - Startbit
    - C0 Hex (Schreiben)
    - 15 Dez (Register)
    - 0 Dez (Wert zum Sichern der Kalibrierungsdaten)
    - Stopbit

    Aber aufpassen, ich hab mir meinen damit ver-kalibriert! Falls jemand den Haken sieht bitte melden, ich wäre auch dankbar für jeden Hinweis.

    Grüsse Wolfgang

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    wenn du den neu kalibrierst über den mechanischen weg (schalter und masse) geht er wieder.
    mfg pebisoft

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Hallo pebisoft!

    Das habe ich jetzt inzwischen sowiso gemacht. Hab auf meinem Board ja zwei Jumper vorgesehen gehabt mit der Frequenz 50/60Hz und dem Calib. Hab da einfach einen Stecker genommen und einen Taster für den Vorgang angeschlossen. Ich wollte das nur der Vollständigkeit halber auch noch über Funk anstossen können und per I2C kalibrieren. Wäre eben ein nettes Feature gewesen. Werde ich aber bei Gelegenheit noch tun. Heute muss erst noch der neue Stapellauf meines Roboters funktionieren dann ist der Start in 2006 perfeckt, dann wieder Experimente mit dem Kalibrieren.


    Grüsse Wolfgang

  7. #17
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Ort
    München
    Alter
    58
    Beiträge
    298
    Zitat Zitat von BlueNature
    Heute muss erst noch der neue Stapellauf meines Roboters funktionieren dann ist der Start in 2006 perfeckt, dann wieder Experimente mit dem Kalibrieren.
    Hallo Wolfgang,

    Hehe, Du bist mit 2006 Deiner Zeit aber weit voraus

    Na dann viel Erfolg mit deinem Roboter.

    Gruß
    m.artmann

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941

    es geht

    hallo, das kompassmodul läuft jetzt zu 99% genauigkeit.
    am besten ist wenn man den vorgeschlagenen druckschalter zwischen anschluss 6 und masse 9
    legt. ich habe den druckschalter zwischen gelassen, wenn mal wieder kalibriert werden
    muss. diese kalibrierung ist einfacher als über i2c, kann während der laufenden abfrage
    des moduls gemacht werden. ich gebe jetzt über das easy-radiomodul vom arbeitsplatz
    eine gradzahl vor und der robby hält gemäss programm die richtung innerhalb der vorgabe
    (+-5, ist ca +- 0.5 grad). macht richtig spass. unter "album" roboterbilder" ist ein bild
    vom küchenbrettroboter. wer fragen hat, soll fragen.


    Declare Sub K_werte(byval Ee_adresse As Byte)

    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 19200

    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , Rs = Portc.5 , E = Portc.4
    Config Lcd = 16 * 2

    Config Scl = Portb.3
    Config Sda = Portb.4

    Dim Daten As Byte , Temp As Byte
    Dim Ausgabe As Word
    Dim Adresse As Byte
    Adresse = 2

    Do

    Call K_werte(adresse)
    Print Ausgabe
    Waitms 500

    Loop

    End

    Function K_werte(byval Ee_adresse As Byte)
    Disable Interrupts
    I2cstart
    I2cwbyte &B11000000 , Ack
    I2cwbyte Ee_adresse
    Waitms 10
    I2cstart
    I2cwbyte &B11000001 , Ack
    I2crbyte Daten , Ack
    I2crbyte Temp , Nack
    Ausgabe = Daten * 256
    Ausgabe = Ausgabe + Temp
    I2cstop
    Waitms 10
    Enable Interrupts
    End Function
    mfg pebisoft

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    19.09.2004
    Beiträge
    20
    hi
    also wir haben derbe probleme, was der ausgeibt nachdem wir ihn über den druckschalter kalibriert ahaben ist reinster scheiß.
    ich denke dass es daran leigt das man nicht sieht wie weit er bei der kalibrierung ist und das man beim drücken dann den kontakt zu lange drückt und daher dann direkt N und ost den fast gleichen wert erhält.....
    was sagt ihr dazu?

    gruss veloxid

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    19.09.2004
    Beiträge
    20
    Hi
    wir haben ein Problem!!!!

    unser kompassmodul CMPS 03 zeigt scheiße an.....
    nach der kalibrierung startet er bei 170 geht auf 0 runter geht wieder hoch bis 170 geht wieder auf 0 runter und springt dann auf 3600 geht bis ca 3500 runter und srpingt dann auf 170....

    Kann mri jemand helfen?

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test