Kompassmodul Devantech CMPS03 am TX-C
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Kompassmodul Devantech CMPS03 am TX-C
Hallo Leute,
da ich noch nicht so lange dabei bin, weiß ich nicht, ob schon jemand das bekannte Kompassmodul CMPS03
http://www.shop.robotikhardware.de/shop ... cts_id=137
erfolgreich an den TX-C angeschlossen hat.
Das Modul kann über eine I2C-Schnittstelle ausgelesen werden, dies ist aktuell mit dem TX-C noch nicht möglich.
Darüber hinaus gibt der CMPS03 auch noch eine PWM aus. Auch diese kann der TX-C nicht direkt auswerten.
Man kann jedoch die PWM mit einem Tiefpass "glätten" und damit in eine analoge Spannung umwandeln.
Diese Spannung kann der TX-C an einem Universaleingang (10V analog) messen. Der Zusammenhang zwischen dieser Spannung und der Peilung (relative Richtung), die der CMPS03 ausgibt, ist nicht linear. Daher muss die Peilung errechnet werden.
Ihr findet das ROBOPro-Demo-Programm hier:
http://www.ftcommunity.de/data/download ... ps03_1.rpp
Die Versorgungsspannung des CMPS03 (5V) kann am TX-C an Pins 2 (+5V) und 1 (Minuspol, GND) des Steckers EXT 2 entnommen werden. Alternativ (besser!) kann man eine eigene 5V-Spannung verwenden, die dann aber mit ihrem Minuspol mit dem TX-C (GND) zu verbinden ist.
An den PWM-Ausgang des CMPS03 (Pin 4) wird eine Reihenschaltung aus einem Widerstand 47 kOhm und Elko 10 uF gegen GND angeschlossen. Der Universal-Eingang des TX-C wird dann zwischen Widerstand und Elko angeschlossen. In der Beschreibung des ROBOPro-Hauptprogramms findet ihr ein Schema dieser einfachen Tiefpass-Schaltung aus nur 2 Bauteilen.
Nun kann der Explorer endlich nach Kompass rumdüsen! Viel Spaß!
da ich noch nicht so lange dabei bin, weiß ich nicht, ob schon jemand das bekannte Kompassmodul CMPS03
http://www.shop.robotikhardware.de/shop ... cts_id=137
erfolgreich an den TX-C angeschlossen hat.
Das Modul kann über eine I2C-Schnittstelle ausgelesen werden, dies ist aktuell mit dem TX-C noch nicht möglich.
Darüber hinaus gibt der CMPS03 auch noch eine PWM aus. Auch diese kann der TX-C nicht direkt auswerten.
Man kann jedoch die PWM mit einem Tiefpass "glätten" und damit in eine analoge Spannung umwandeln.
Diese Spannung kann der TX-C an einem Universaleingang (10V analog) messen. Der Zusammenhang zwischen dieser Spannung und der Peilung (relative Richtung), die der CMPS03 ausgibt, ist nicht linear. Daher muss die Peilung errechnet werden.
Ihr findet das ROBOPro-Demo-Programm hier:
http://www.ftcommunity.de/data/download ... ps03_1.rpp
Die Versorgungsspannung des CMPS03 (5V) kann am TX-C an Pins 2 (+5V) und 1 (Minuspol, GND) des Steckers EXT 2 entnommen werden. Alternativ (besser!) kann man eine eigene 5V-Spannung verwenden, die dann aber mit ihrem Minuspol mit dem TX-C (GND) zu verbinden ist.
An den PWM-Ausgang des CMPS03 (Pin 4) wird eine Reihenschaltung aus einem Widerstand 47 kOhm und Elko 10 uF gegen GND angeschlossen. Der Universal-Eingang des TX-C wird dann zwischen Widerstand und Elko angeschlossen. In der Beschreibung des ROBOPro-Hauptprogramms findet ihr ein Schema dieser einfachen Tiefpass-Schaltung aus nur 2 Bauteilen.
Nun kann der Explorer endlich nach Kompass rumdüsen! Viel Spaß!
Gruß ftDirk
Re: Kompassmodul Devantech CMPS03 am TX-C
Hallo Dirk,
eine sehr schöne Idee und auch eine interessante Umsetzung.
Du schreibst, dass Ausgangssignal wäre nicht linear. Müsste es aber doch eigentlich sein, wenn ich RH richtig verstehe - immer in 0.1ms-Schritten, das sollte durch den Tiefpass gezogen doch eigentlich eine einigermaßen ordentliche, lineare Gleichspannung geben. Oder irre ich mich da jetzt?
Wenn das Modul nur nicht so teuer wäre...zum "Einfach mal so" Spielen ist mir das definitiv zu viel...
Grüße,
Martin
eine sehr schöne Idee und auch eine interessante Umsetzung.
Du schreibst, dass Ausgangssignal wäre nicht linear. Müsste es aber doch eigentlich sein, wenn ich RH richtig verstehe - immer in 0.1ms-Schritten, das sollte durch den Tiefpass gezogen doch eigentlich eine einigermaßen ordentliche, lineare Gleichspannung geben. Oder irre ich mich da jetzt?
Wenn das Modul nur nicht so teuer wäre...zum "Einfach mal so" Spielen ist mir das definitiv zu viel...
Grüße,
Martin
Re: Kompassmodul Devantech CMPS03 am TX-C
There exist similar modules with I2C interface and preprocessing on the modules itself.
Probably the TX-C will be able to deal with I2C soon.
I think that you will find additional information on Rei-Vilo's website.
Probably the TX-C will be able to deal with I2C soon.
I think that you will find additional information on Rei-Vilo's website.
Re: Kompassmodul Devantech CMPS03 am TX-C
With the CMPS09 there exists an updated version.
"Propaganda does not deceive people; it merely helps them to deceive themselves."
E Hoffer
E Hoffer
Re: Kompassmodul Devantech CMPS03 am TX-C
@Martin:
Ich habe Folgendes gemacht:
Das CMPS03-Modul wie beschrieben an den TX-C angeschlossen UND zusätzlich an einen ATMega32 über den I2C-Bus. Das geht, weil die PWM und I2C gleichzeitig ausgegeben werden.
Ich habe dann etwa in 10° Abständen den 16 Bit Wert der Peilung (I2C-Ausgabe) und den Ausgabewert des TX-C in Millivolt in eine Tabelle eingetragen.
Das Ergebnis ist nicht linear, läßt sich aber polynomisch gut errechnen.
@vleeuwen:
@Defiant:
Ja, der CMPS09 arbeitet auch noch zuverlässig, wenn es magnetische Störfelder gibt (gut z.B. im Haus).
Nein, aber die Bauteile sind verlustbehaftet.... immer in 0.1ms-Schritten, das sollte durch den Tiefpass gezogen doch eigentlich eine einigermaßen ordentliche, lineare Gleichspannung geben. Oder irre ich mich da jetzt?
Ich habe Folgendes gemacht:
Das CMPS03-Modul wie beschrieben an den TX-C angeschlossen UND zusätzlich an einen ATMega32 über den I2C-Bus. Das geht, weil die PWM und I2C gleichzeitig ausgegeben werden.
Ich habe dann etwa in 10° Abständen den 16 Bit Wert der Peilung (I2C-Ausgabe) und den Ausgabewert des TX-C in Millivolt in eine Tabelle eingetragen.
Das Ergebnis ist nicht linear, läßt sich aber polynomisch gut errechnen.
@vleeuwen:
Ja, ich las von einer neuen Beta jetzt bald. Wir werden sehen. Dann wird vieles einfacher. Aber: Man wartet ja schon länger ...Probably the TX-C will be able to deal with I2C soon.
@Defiant:
Ja, der CMPS09 arbeitet auch noch zuverlässig, wenn es magnetische Störfelder gibt (gut z.B. im Haus).
Gruß ftDirk
Re: Kompassmodul Devantech CMPS03 am TX-C
Hi,
An earlier thread about this topic can be found here: http://forum.ftcommunity.de/viewtopic.p ... PS03#p2953
To those who have the RoboInterface: in the same thread I posted about my solution for reading the PWM value very accurately using
the Fast Counter input.
Paul
An earlier thread about this topic can be found here: http://forum.ftcommunity.de/viewtopic.p ... PS03#p2953
To those who have the RoboInterface: in the same thread I posted about my solution for reading the PWM value very accurately using
the Fast Counter input.
Paul
Re: Kompassmodul Devantech CMPS03 am TX-C
@niekerk:
Yes, I saw that. Measuring the impulse length of the PWM is of course the much better way, but is not possible with ROBOPro.
You were using a C program for this purpose,- a very good solution.
Yes, I saw that. Measuring the impulse length of the PWM is of course the much better way, but is not possible with ROBOPro.
You were using a C program for this purpose,- a very good solution.
Gruß ftDirk
Re: Kompassmodul Devantech CMPS03 am TX-C
Hmmm,
bei Pollin kostet ein Kompassmodul 7 €. Hat aber leider nur eine 12C Schnittstelle. Wenn das in ROBO-Pro bald klappt, könnte man den nehmen. Ist zwar nicht so genau, aber doch meist genau genug für "Fischertechnik-Zwecke"
Viele Grüße, Fischli
bei Pollin kostet ein Kompassmodul 7 €. Hat aber leider nur eine 12C Schnittstelle. Wenn das in ROBO-Pro bald klappt, könnte man den nehmen. Ist zwar nicht so genau, aber doch meist genau genug für "Fischertechnik-Zwecke"
Viele Grüße, Fischli
Re: Kompassmodul Devantech CMPS03 am TX-C
Another option is add a microcontroller to your sensor and create a sensor system.
The microcontroller (DSP) will do the sensor data preprocessing.
The microcontroller will also act as I2C slave for the TX-C and is offering higher level data to the end user.
The I2C bus is a low level connection bus like the RS485. RoboPRo is not design to process low level data from sensors.
However if it is only transporting preprocess data than it could be usefull. But this is the same for the RS485 bus.
The microcontroller (DSP) will do the sensor data preprocessing.
The microcontroller will also act as I2C slave for the TX-C and is offering higher level data to the end user.
The I2C bus is a low level connection bus like the RS485. RoboPRo is not design to process low level data from sensors.
However if it is only transporting preprocess data than it could be usefull. But this is the same for the RS485 bus.