Forum: Mikrocontroller und Digitale Elektronik I2C Störungen DC Bürstenmotor


von Luca (rhinoceros)


Angehängte Dateien:

Lesenswert?

Hallo

Ich habe eine Platine mit einem ESP32-WROOM Modul als uC, INA219 zur 
Strommessung und einem DRV8816 als H-Brücke zur Steuerung des Motors.

Die Schaltung funktioniert grundsätzlich, jedoch ist der I2C Bus mit dem 
INA219 regelmässig gestört. Dadurch ist ein zuverlässiges Auslesen des 
INA219 nicht möglich.

Die Schaltung wird mit einem 12V Steckernetzteil betrieben. Die 
Elektronik wird mit 3.3V von einem RECOM R-78E3.3-0.5 Schaltreglermodul 
betrieben.

Die 12V des Schaltnetzteils werden auf der Platine mit einem 220uF Elko 
gesiebt. Das Schaltreglermodul hat am Eingang und Ausgang jeweils ein 
100nF + 10uF Keramikkondensator.

Im Anhang eine Aufnahme vom Scope von einem I2C Transfer und von der 
12V/3.3V Speisung.

Was ich bereits probiert habe:
- Mehr Kapazität an der 12V Schiene (zusätzlicher 470uF Elko)
- Heruntersetzen der I2C Pullups auf 470Ohm
- 200pF Keramikkondensator für SDA/SCL auf GND

Gibt es hierfür gängige Lösungen? Oder brauche ich einen besseren Motor, 
welcher weniger Störungen induziert? Beim Motor handelt es sich um 
dieses Modell: https://aliexpress.com/item/32970130705.html

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Luca schrieb:

> Gibt es hierfür gängige Lösungen?

Ja, Entstörung. Und das waren schon immer sehr individuelle Lösungen.

von Gerhard O. (gerhard_)


Lesenswert?

Früher (Analog-Ära) reduzierte man die von kleinen DC-Bürstenmotoren 
verursachten  HF Störungen mit Drosseln in beiden Zuleitungen und mit 
Kerkos aufs Motorgehäuse. Die Cs waren meistens im 10-100NF Bereich und 
die Drosseln waren meist irgendwelche Ferrit Typen im 10-100uH Bereich. 
Wie man das berechnet weiß ich nicht. Vielleicht wurden Erfahrungswerte 
gewählt. Das half früher in Tonbandgeräten und alten Video Recordern. 
Manchmal hatte man noch Durchführungs Cs auf der Eingangsseite der 
Drosseln nach Masse hin. Damals machte man das oft um Analog Radio und 
Fernsehstörungen zu unterbinden. In empfindlichen NF Verstärkern war es 
auch notwendig um hörbare NF-Störungen zu eliminieren.

Sonst würde ich Dir raten mit der Verdrahtung recht aufzupassen. Die 
Motor Stromversorgung sollte auf keinen Fall eine Strom-Schleife mit den 
digitalen Teilen bilden. Was den INA219 betrifft darf die Versorgung des 
INA229, Masse und 5V nur am gemeinsamen 12V Netzteil zusammenkommen. Der 
INA219 darf also nur die Strom messen dürfen. Auch die I2C Zuleitungen 
am besten mit geeigneten Kabel schirmen und nicht mit dem Motor 
zusammenführen.

Auch pass auf die Verdrahtung der PWM auf. Direkt am Eingang der PWM 
Leistungsstufe sollte ein dicker Elko und parallel dazu ein Kerko oder 
low-ESR Elko sein. Die Ausgangsdrähte von der Brücke sollten verdrillt 
sein und nicht mit der I2C Verdrahtung zusammengeführt sein. Auch könnte 
es helfen die PWM Motorausgänge mit größeren Ferrithülsen zu versehen 
(Die aufklappbaren) (Allerdings sind sie bei den niedrigen Frequenzen 
weniger wirksam. Auch sogenannte Common Mode DC Filter könnten hier 
nützen.

Ich nehme an, dass der INA219 am Brückeneingang sitzt.

Prüfe mal alles durch. Halte auf alle Fälle die Motor und Digital Kabel 
auseinander.

Cs am I2C schadet wahrscheinlich mehr als es nützt, weil I2C ja Pullups 
für den High Pegel braucht und unnötige Cs am Bus nur die Signale 
verrunden. Abgesehen davon haben die meisten neuzeitlichen I2C Bausteine 
eingebaute digitale Filter.

Um das in den Griff zu kriegen braucht man halt etwas Erfahrung und 
manchmal bedingt es Versuche zur Abhilfe.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Gerhard O. schrieb:
> Cs am I2C schadet wahrscheinlich mehr als es nützt, weil I2C ja Pullups
> für den High Pegel braucht und unnötige Cs am Bus nur die Signale
> verrunden.

Kurz, es kommt auf die Übertragungsgeschwindigkeit auf dem Bus und eine 
passende Dimensionierung an.
Erstmal muss aber klar werden, auf welchem Weg der Bus gestört wird 
(Leitungsgebunden, kapazitives Übersprechen, induktive Beeinflussung, 
...)

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.