[GELÖST] - siehe #31 & #33 (Seite 3) | Probleme mit M0 Pro und I2C

Grüß euch,

Ich habe ein Problem mit dem M0 Pro. Die I2C-kommunikation mit dem Arduino Uno läuft einwandfrei, jedoch beim M0 Pro werden fehlerhafte Werte übertragen.

Ist es notwenidig andere Einstellungen am Mo Pro vorzunehmen? Oder werden andere Pins als SCL und SCA verwendet?

MfG BandR

SparkFun_ADXL345_Example_neuersteVersion.ino (8.66 KB)

Hat Dein ADXL345-Modul evtl. Pegelwandler in den Leitungen? Wenn es mit dem 5V UNO läuft aber nicht mit dem 3,3 V M0 könnte das der Grund sein.

Gruß Tommy

Nicht das ich wüsste, beidesmal wird des ADXL345 mit 3.3V angesteuert. Allerdings bekomme ich beim M0 Pro unrealistische Beschleunigungen.

LG BandR

Ein Link zu Deinem Modul könnte hier weiter helfen.

Gruß Tommy

//Überareitet!

Entschuldigung ganz vergessen, bin noch neu hier was Forumseinträge angeht.

Hier der Link zum Sensor:
ADXL345

MfG BandR

Evtl. hast du den ja am Uno schon gekillt.
Oder verwendest du am Uno Levelshifter.

Die Eingänge können nur 3,3V verkraften.

Das ist eine URL und kein Link. Das können die Teilnehmer mit mobilen Geräten sehr schlecht öffnen.
Das ist ein Link.

Das Modul hat keine Pullup-Widerstände an SDA und SCL. Schalte mal jeweils einen 4k7 von SDA und SCL nach 3,3V.

Gruß Tommy

Das habe ich schon bedacht und wie laut Hookup Guide verkabelt.

Hier der Link: Sparkfun Hookup-Guide ADXL345

MfG BandR

BandR:
Das habe ich schon bedacht und wie laut Hookup Guide verkabelt.

Hier der Link: Sparkfun Hookup-Guide ADXL345

MfG BandR

Was hast du wie verkabelt ?
In der Beschreibung sehe mehrere Möglichkeiten.

Nach I²C nachdem ich dies aus nutzen will.

Wie ich gerade eben vorher festgestellt habe waren die PINS VCC und CS nicht mit 3.3V verbunden. Gerade eben hab ich dies ausgebessert.

Nun ist die Beschleunigung im ebenen Zustand (gerade auf dem Tisch liegend) annähernd richtig. Wird der Sensor allerdings um eine Achse bewegt so entstehen wieder unrealistische Beschleunigungen. Laut serieller Ausgabe ca. 65000, ich gehe daher davon aus das der sensor an seinem maximum von 2^16 = 65536 ist.

Am Uno sowie am Mega funktioniert auch das Sparkfun Example einwandfrei, am M0 Pro hingegen nicht.

Mfg BandR

BandR:
Nach I²C nachdem ich dies aus nutzen will.

.....

Am Uno sowie am Mega funktioniert auch das Sparkfun Example einwandfrei, am M0 Pro hingegen nicht.

I2C ist schon klar.

Aber verwendest du einen Levelshifter am Uno oder nicht ?

Ich muss dir leider mitteilen das ich nicht weiß was ein Levelshifter, daher denke ich nicht das ich einen solchen verwende.

Dann kann es sein, dass Du den ADXL345 bereits gegrillt hast.

Gruß Tommy

Tommy56:
Dann kann es sein, dass Du den ADXL345 bereits gegrillt hast.

Gruß Tommy

Mir stellt sich dann nur die Frage warum er mit anderen Boards noch funktioniert? Und das sogar einwandfrei. Brauche ich umbedingt einen Levelshifter? Der Sensor verträgt ja so oder so nur 3.3V und laut Sparkfun ist ein Levelshifter nicht notwendig.

LG BandR

Der UNO / MEGA schicken aber 5V auf die Signalleitungen.

Gruß Tommy

Tommy56:
Der UNO / MEGA schicken aber 5V auf die Signalleitungen.

Gruß Tommy

Heißt das das die Datenleitungen von SCL & SDA mit 5V gespeißt werden müssen?

Grüße BandR

BandR:
Ich muss dir leider mitteilen das ich nicht weiß was ein Levelshifter, daher denke ich nicht das ich einen solchen verwende.

Dann hast du die von dir verlinkte Beschreibung nicht richtig gelesen.
Da steht z.B. einen Uno mit Levelshifter anschließen. Oder den Uno nie direkt anschließen.

Die Datenpins des Sensor können nur 3,3V vertragen.
Hatte ich auch schon geschrieben. Soweit zu deinem Lesen unserer Beiträge.

BandR:
Heißt das das die Datenleitungen von SCL & SDA mit 5V gespeißt werden müssen?

Liest / verstehst Du eigentlich, was wir Dir schreiben?
Die SDL/SDA vertragen am ADXL345 nur 3,3V, der MEGA/UNO speisen sie aber mit 5V und das ist zuviel.

Gruß Tommy

@Tommy: Liest / verstehst Du eigentlich, was bandR schreibt?

"Mit dem Uno geht es immer noch, dazwischen mit dem M0 aber nicht."

Bei I2C werden SDA und SCL einfach per Pullup auf 3.3V hochgezogen, egal ob am Uno oder an einem 3.3V Controller.


Quelle: Sparkfun

Nach meinem Wissen sind die SDA/SCL am UNO/MEGA keine OC-Ausgänge, treiben also aktiv mit 5V.

Gruß Tommy