-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: compas cmps03 mit pwm

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386

    compas cmps03 mit pwm

    Anzeige

    hallo, wer kennt den compass cmps03?
    in der beschreibung steht , das man ihn mit I2C und pwm benutzen kann.
    I2C funktioniert. nun möchte ich gerne wissen, wie er mit pwm
    funktioniert. in der beschreibung steht nur das vom 0-30ms die gradzahl
    0-360 angegeben wird. der pwm-anschluss ist da. aber irgendwann muss
    doch die messung anfangen bzw angestossen werden und darüber kann auch
    die verkaufsstelle robotik-hardware keine auskunft geben, sie sagt man
    solle eh I2C benutzen ist schneller. bloss das interessiert mich einmal,
    wenn das schon eingebaut ist,wollte ich es auch benutzen.

    mfg

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.12.2006
    Beiträge
    205
    Die Messung wird nicht angestossen, sondern läuft ständig. Am Ausgangspin liegt also ständig ein Rechtecksignal mit dem aktuellen Wert an.
    Zum auswerten kannst du den Ausgangspin z.B. an einen Interruptport des uC hängen. Dann wartest du auf eine Flanke (von 0 auf 1) und zählst dann (mit einem genügend genauen Timer, da musst du halt ein bisschen rechnen, wie du den einstellen musst) die Zeit, bis das Signal wieder abfällt (fallende Flanke von 1 auf 0) die Zeit, die du dann gemessen hast kannst du dann direkt in Gradwerte umrechnen (ist eine lineare Funktion, weiß jetzt nicht mehr genau, wie viele ms wie viel Grad sind, das steht aber auch im Datenblatt).

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    37ms sind 360grad steht in der beschreibung.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    ... der pwm-anschluss ist da. aber irgendwann muss
    doch die messung anfangen bzw angestossen werden ... bloss das interessiert mich einmal, wenn das schon eingebaut ist,wollte ich es auch benutzen.
    Ich habe alle Ausgabevarianten des CMPS03 getestet und klappt auch. Die PWM-Impulslängen habe ich in Bascom mit Pulsein gemessen.

    Zusätzlich habe ich noch eine Variante mit ADC probiert: An den PWM-Ausgang ein RC-Glied aus 47kOhm und 10uF. Die Spannung am 10uF habe ich direkt an einen ADC-Eingang gelegt. Auch diese Variante klappt gut, aber natürlich mit den größten Fehlern.

    Im Anhang die Excel-Tabelle, die beweist, dass es auch mit geglätteter PWM geht!

    Gruß Dirk
    Angehängte Dateien Angehängte Dateien

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.406
    hallo erstmal, ich bin völlig neu hier, also bitte nicht schlagen

    ich wollte mal anfragen, da ich kein elektroniker/elektriker bin ob jemand eine bauanleitung für den anschluss/kalibrierung des cmps03 an einem atmega8 hat und eventuell einige hinweise ... im forum hab ich mehrere hinweise auf dieses thema bekommen und die ergebnisse beeindrucken mich!
    es geht darum das ich einen asuro roboter habe, dem ich beibringen will mittels Funkmodul (schon eingebaut) und einem PocketPC innerhalb eines feldes zu einer bstimmten position (durch zeigen auf dem PPC) zu fahren ... eine ortsbestimmung (vor allem die orientierung) mit reiner odometrie scheitert schon am schlupf der räder und bei einer kollision mit einem objekt.

    deshalb wollte ich dieses modul einbauen, habe aber leider 0,0 ahnung was den anschluss angeht (es dient einem privaten zweck und ist keine hausaufgabe, nur um eventuellen behauptungen vorzubeugen)

    MfG und danke im voraus
    Ceos

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.406
    kann ich das auslesen auch per c-code machen? ich bin kein freund von basic (in anspielung auf bascom) da bräuchte ich nämlich auch ne hilfe weil ich nciht weis wie ich mit einem atmega8 die daten auswerten soll Q_Q

    EDIT: verzeihung habe den editbutton übersehen -.-

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo Ceos,
    ... eine bauanleitung für den anschluss/kalibrierung des cmps03 an einem atmega8 ...
    Im Anhang zwar keine "Bauanleitung", aber ein einfacher Schaltplan. Die beiden Stecker rechts unten (I2C-Bus1/2) sind 2 I2C-Anschlüsse (2x5 Pfosten-/Wannenstecker) nach der RN-Norm. Davon brauchst du für den Asuro z.B. nur die beiden I2C-Kontakte.
    Der PWM-Ausgang kann ebenfalls benutzt werden und je nach Jumper (JP5/JP6) auch eine geglättete PWM zur Auswertung durch einen ADC.

    ... kann ich das auslesen auch per c-code machen?
    Ja, klar.

    Gruß Dirk
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken cmps03_sp.jpg  

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.406
    das heisst wenn ich jp6 setze ist das signal "geglättet" und ich kanns AD auslesen ? das ja geil und sogar mit wertangaben(für den widerstand und den kondensator), genau DAS was ich gesucht habe ^_^

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    ... das heisst wenn ich jp6 setze ist das signal "geglättet" und ich kanns AD auslesen?
    Ja, so isses.
    Zu beachten:
    JP5 muss offen (abgezogen sein).
    Zum Messen mit ADC solltest du 50 Messungen über 100ms durchführen und mitteln (alle 2ms ein Wert).

    Gruß Dirk

    P.S.: Besser ist natürlich das Auslesen über I2C oder über die PWM!

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.406
    Zitat Zitat von Dirk
    P.S.: Besser ist natürlich das Auslesen über I2C oder über die PWM!
    haste ne idee wie ich das bei einem fertig zusammengebauten asuro bewerkstelligen kann ? zu PWM ich hab schon im elektronik forum feststellen lassen, das ich eine leiterbahn durchstrennen m,üsste und eine LED z.T. ausser betrieb nehmen muss.
    zu I2C auch hier hab ich bedenken das es nicht mit dem anlöten von 2 pins getan ist sondern andere sensoren/leds/usw. darunter leiden müssen -.-

    http://www.roboternetz.de/phpBB2/vie...=334410#334410
    da habsch meinen topic laufen

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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