Forum: Mikrocontroller und Digitale Elektronik I2C und BLMC Controller


von Daniel (Gast)


Lesenswert?

Hallo zusammen,

ich habe dieses Forum bereits gründlich durchsucht, wie z.B. diesen 
Thread Beitrag "I2C meldet status 0x38" , bin aber leider 
nicht fündig geworden.

Ich möchte meinen BLDC Controller (ATmega88) über TWI ein Datenbyte 
senden, mit dem die Drehzahl des Motors verändert werden kann. D.h. OCXA 
und OCXB ändern, um die PWM anzupassen. Dazu verwende ich ein Poti das 
mit einem weiteren ATmega88 (Master) verbunden ist und eben ein Byte 
(0...255) erzeugt. An dieser sein angemerkt das alles perfekt 
funktioniert, solange der Motor NICHT dreht. Sobald ich den Motor 
anstupse (derzeit ist noch keine Anlaufkommutierung implementiert) und 
die Kommutierung auf Basis des Analog Comparators einsetzt funktioniert 
die TWI/I2C Verbindung nicht mehr.

Weitere Informationen: - 100 Ohm in Serie zwischen SDA/SCL der beiden 
ATmega88, sowie 3,7kOhm Pullup-Widerstände.
- Basis ist der Controller im obigen Link dargestellt
- Master f_CLK = 20MHz
- Slave f_CLK = 12MHz
Falls noch weitere Daten benötigt werden stehe ich natürlich zu 
Verfügung.

Mich wundert es, dass alles gut funktioniert solange der Motor steht, 
aber wenn er läuft keine Daten mehr übertragen werden. Vielleicht kommen 
sich die Interrupts von TWI/I2C und Analog Komparator in die Quere.

Vielen Dank für eure Hilfe!

von uwe (Gast)


Lesenswert?

Tippe auf EM Störungen, die der Motor auf die Versorgungsspannung gibt.

von Daniel (Gast)


Lesenswert?

Zunächst einmal vielen Dank für die Antwort. Ich habe jetzt mal größere 
Kapazitäten zur Spannungsstabilisierung ausprobiert. Zusätzlich habe ich 
den Tiefpassfilter (zur Messung der BEMF) etwas angepasst. D.h. die 
Grenzfrequenz noch etwas weiter heruntergesetzt. Viel weiter sollte ich 
nicht gehen, da sonst die Phasenverschiebung zu groß wird. Es passiert 
immernoch das gleich wie oben beschrieben.

Anmerkung: Wenn ich nur den Motor ansteuere, also kein TWI nutze, läuft 
dieser einwandfrei!

von Daniel (Gast)


Lesenswert?

Ich melde mich noch ein letztes mal zurück! Ich habe erneut den gesamten 
Aufbau optimiert in Hinsicht auf möglichst niedrige paratisäre 
Induktivitäten/Kapazitäten. Jetzt funktioniert alles! Diese Antwort ist 
für diejenigen gedacht die das selbe Problem haben.

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.