Schrittmotor stört I2C Display

Gast #5592208
Hallo Zusammen,

ich betreibe einen Schrittmotor mit 48V über einen Schrittmotortreiber 
(M542T) und einem Arduino Due. Am dem Due ist noch ein kleines 
LCD-Display über I2C angeschlossen. Das Display funktioniert super, doch 
sobald ich den Schrittmotor an den Schrittmotortreiber hänge, spielt das 
Display verrückt und zeigt garnichts oder ungewollte Zeichen an. Es wird 
alles über ein 48V Netzteil versorgt (symbolischer Schaltplan im 
Anhang).

Ich vermute, dass durch den Schrittmotortreiber irgendwelche Störsignale 
durch die Spannungsversorgung bis zum I2C-Display/Arduino gelangen und 
die Kommunikation stören. Allerdings habe ich leider kein Oszi um das zu 
überprüfen. Könnte hier ein RC-Filter abhilfe schaffen? Oder bin ich auf 
dem falschen Pfad?
Angehängte Dateien:
Gast #5592225
Mit einem recom r-78hb12-0.5 auf 12V. Und anschließend mit einem LM2596 
auf 7V. Letzteren habe ich auch schon in meinen Versuchen weggelassen 
und den Arduino mit 12 V versorgt. Ohne Besserung. Das Display wird dann 
über den Spannungswandler im Arduino selbst mit 5V angesteuert.

Ich habe auch schon alle Spannungen und Ströme mit und ohne Motor 
gemssen, ist immer konstant. Eine Unterversorgung sollte ausgeschlossen 
sein. Das Netzteil leistet bei 48V 5A max. Wovon der Schrittmotor max. 
2,4A aufnehmen kann.
Gast #5593465
Edgar schrieb:
> Netzteil versorgt (symbolischer Schaltplan im
> Anhang).
>
> Ich vermute, dass durch den Schrittmotortreiber irgendwelche Störsignale
> durch die Spannungsversorgung bis zum I2C-Display/Arduino gelangen und
> die Kommunikation stören. Allerdings habe ich leider kein Oszi um das zu
> überprüfen. Könnte hier ein RC-Filter abhilfe schaffen? Oder bin ich auf
> dem falschen Pfad?
Deinen symbolischen Schaltplan in allen Ehren, aber in dieser 
detailunvollständigen Form nutzlos. Das ganze riecht nach Strömen auf 
der GND-Leitung; du solltest die Versorgungsleitungen (aka 
Layout/Aufbau) cleverer verdrahten zb den Motorstrom nicht über dieselbe 
GND-Leitung der restlichen Logik fliessen lassen.

HTH
#5593610
Vermutlich hast Du irgendwelche Erdschleifen. VCC, GND sollten den 
gleichen Weg nehmen, wie auf Deinem Bild.

Auch kann man die I2C-Pullups verringern. I2C kann 3mA treiben, also 
sind 1,8k möglich.
Es sein denn, das ist ein COG-LCD, die haben bis zu 1k in Reihe. Dann 
darf man nicht unter 10k für SDA gehen.

Schau mal ins Datenblatt des LCD, ob es überhaupt 3,3V kompatibel ist. 
Ansonsten brauchst Du noch I2C-Pegelwandler auf 5V (PCA9306).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.