Forum: Mikrocontroller und Digitale Elektronik Stepper Driver DM556 killt I2C Verbindung bei Inbetriebnahme


von Yue B. (yuebeifong)


Lesenswert?

Hallo,

ich habe ein Problem:
Ich baue gerade eine 2DOF Motionplattform und will ein MPU6050 über I2C 
einbauen, um die Orientierung der Plattform zu kontrollieren.

Als Motoren nutze ich 2x Nema 23 mit DM556 als Treiber.
Die Schematic ist wie im Video und geht auf einen Arduino Mega.
https://youtu.be/iY_4YOlpqyI?t=958

Problem ist folgendes:
jedes mal wenn ich die Stepper Treiber mit Strom versorge 24V 5A,
wird die I2C Verbindung zum MPU6050 unterbrochen und der Controller 
hängt sich auf.

Der Sensor ist an der Plattform befästigt und mit ca. 40cm langen 24AWG 
Kabeln mit dem Arduino verbunden. Wenn ich kürze dünnere Jumper benutze 
funktioniert alles wunderbar.

Wie kann ich das Problem beheben? Und warum killt der Treiber überhaupt 
meine I2C Verbindung, hat da jemand eine Idee?

Was ich bereits versucht habe:
- 24 AWG Kabel wechseln, neu Löten
- Kondensator an den Sensor 100uF
- Kondensator an die Spannugnsausgang des Arduino
- MPU6050 mit einem zweiten Arduino mit strom versorgen und den anderen 
mit GND verbinden
- Einen zweiten Arduino der die Pulse sendet, verbunden mit dem anderen 
über digital pins, signale werden weiter gegeben, verbunden über GND

Sobald der Stromkreis irgendwie verbunden ist, wird meine I2C verbindung 
in irgendeiner Form beeinträchtigt, sodass das MPU6050 hängen bleibt.

Mit Mosfets würde es natürlich gehen, aber irgendwas sagt mir, dass es 
einfacher gehen muss, schleißlich ist doch der Sinn eines Treibers die 
Stromkreise zu seperieren.

Mir gehen die Ideen aus, hoffe irgendjemand kann mir helfen.

von Dunno.. (Gast)


Lesenswert?

Deine Motorsteuerung stört. Wie lang sind die Kabel auf denen die 
Leistung zwischen Treiber und Motor läuft?

Wie groß sind deine pull-ups an i2c und welche Spannung ist da drauf?

Probier Mal geschirmte Leitungen zu nutzen, mit Schirm einseitig auf und 
gelegt.

von Dunno.. (Gast)


Lesenswert?

Dunno.. schrieb:
> Probier Mal geschirmte Leitungen zu nutzen, mit Schirm einseitig auf und
> gelegt.

Schirm auf gnd, sollte das heißen.

von Yue B. (yuebeifong)


Angehängte Dateien:

Lesenswert?

Dunno.. schrieb:
> Deine Motorsteuerung stört. Wie lang sind die Kabel auf denen die
> Leistung zwischen Treiber und Motor läuft?

Diese Kabel sind ca. 40cm lang und sind fest am Motor montiert.

> Wie groß sind deine pull-ups an i2c und welche Spannung ist da drauf?

Die im Arduino Mega sind laut Internet:
"On the Arduino Mega 2560 board are pullup resistors of 10k for SDA and 
SCL. The internal pullup resistors of the ATmega2560 chip are about 
50k."
10k(?)

> Probier Mal geschirmte Leitungen zu nutzen, mit Schirm einseitig auf gnd
> gelegt.

Ich bin mir nicht sicher was eine geschirmte Leitung ist. Was bedeutet 
dies?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.