Motor dreht sich beim Upload des Programms. - Arduino Mega 2560

Hallo!

Ich habe ein Problem bei meinem Arduino Mega 2560:

Meine Motoren steuere ich über den Motorcontroller L6205N an.
(Datenblatt: http://files.voelkner.de/1100000-1199999/001185290-da-01-en-IC_MOTOR_DRIVER_PAR_L6205N_DIP_20_STM.pdf ).

Wenn ich nun ein Programm hochlade, “spinnt” einer der angeschlossenen Motoren (an OUT1A und OUT2A, siehe Schaltplan, angeschlossen), kurz, d.h. er dreht sich kurz sehr schnell. (so für 1 Sekunde).

Die Motorgeschwindigkeit wird über PWM gesteuert, die Richtung einfach über je zwei Digital-Eingänge.
(die Bedeutungen der Pins des ICs werden auch im Datenblatt beschrieben).

Weiß jemand, woran das liegen könnte?
Es betrifft nur den einen Motor, ich habe auch schon andere Arduino-Ausgänge versucht, hat aber nichts geändert.

Meinen Schaltplan hänge ich mal an.

Ich freue mich auf eure Antworten!

Grüße

Florian

An die SPI Pins solltest du nichts hängen. Du kannst auch die analogen "Eingänge" als digitale I/Os verwenden

Ich verwende die analogen Eingänge ja gar nicht und an den SPI-Pins hängt auch nichts

Pullup Widerstände an den EN_A/B Eingängen können helfen, um die Motoren während des Bootens oder Programmierens abzuschalten. Nach Vcc oder Gnd, je nach Polarität der Eingänge.

powerfllo: Ich verwende die analogen Eingänge ja gar nicht

Genau!

powerfllo: und an den SPI-Pins hängt auch nichts

Doch! Laut Plan ja.

Serenifly: An die SPI Pins solltest du nichts hängen. Du kannst auch die analogen "Eingänge" als digitale I/Os verwenden

Ich glaube bei einem Arduino Mega braucht man die analogen Eingänge nicht bemühen sondern andere der 54 digitalen Pins benutzen.

Aber wie gesagt Du solltest die Pins 0 und 1, 50 bis 53 (SPI) und das Pin 13 nicht verwenden. Laut Schaltbild müßten die Motoren am 6205 aber davon nicht betroffen sein sondern das was an JP7, JP8, JP10 und JP11 angeschlossen ist.

Grüße Uwe

Beeindruckender Schaltplan!

powerfllo: ... an den SPI-Pins hängt auch nichts

Mega2560 Anschluß (MISO) 50 -> R28/R31 Mega2560 Anschluß (SCK) 52 -> R29/R32

Oder habe ich die falsche Brille auf?

EDIT: Zitat, auf das ich mich beziehe, ergänzt.

Ja, wobei das ja glaube ich nicht der Motor-Treiber ist.

Wie Diettrich sagt, sollte man hier mal Pullup- oder Pulldown-Widerstande versuchen, je nachdem was der Ruhepegel ist.

uwefed: Ich glaube bei einem Arduino Mega braucht man die analogen Eingänge nicht bemühen sondern andere der 54 digitalen Pins benutzen.

Aber wie gesagt Du solltest die Pins 0 und 1, 50 bis 53 (SPI) und das Pin 13 nicht verwenden. Laut Schaltbild müßten die Motoren am 6205 aber davon nicht betroffen sein sondern das was an JP7, JP8, JP10 und JP11 angeschlossen ist.

Grüße Uwe

Okay, dann werde ich die mal sicherheitshalber nicht verwenden.

Serenifly: Ja, wobei das ja glaube ich nicht der Motor-Treiber ist.

Wie Diettrich sagt, sollte man hier mal Pullup- oder Pulldown-Widerstande versuchen, je nachdem was der Ruhepegel ist.

Gut, dann werde ich da einfach Pullup-Widerstände verbauen. Ich werde das gleich mal testen und meld mich dann zurück :-)

So ich habs mal mit 10k Pullup Widerständen versucht - leider kein Unterschied zu vorher… :frowning:

Nach der TRUTH TABLE des Datenblatts

| EN | IN1 | IN2 | | | OUT1 | OUT2 | | - | - | - | - | - | - | | L | X | X | | | High Z | High Z |

sollte EN=LOW sein, damit der Ausgang nichts macht. Wäre da nicht ein Pull*down*-Widerstand geeigneter?

Wenn die Pins zappeln, hilft auch kein Pulldown. Also: 1. EN auf einen anderen Pin legen (warum auch immer) Von mir aus einen A Pin 2. Die EN mit Kondensatoren versorgen, wie vom Datenblatt gefordert.

Und ja, eher Pulldown, als Pullup

combie: Wenn die Pins zappeln, hilft auch kein Pulldown. Also: 1. EN auf einen anderen Pin legen (warum auch immer) Von mir aus einen A Pin 2. Die EN mit Kondensatoren versorgen, wie vom Datenblatt gefordert.

Und ja, eher Pulldown, als Pullup

Okay, das erste habe ich schonmal versucht - ändert aber nichts.

Ups, da habe ich glatt was übersehen. Ich werde mir mal passende Kondensatoren besorgen und dann berichten. Darf ich denn fragen, inwiefern genau das helfen soll? (Wie das technisch funktioniert)

Und mit dem Pulldown habt ihr natürlich recht :-)

Grüße

Florian

Darf ich denn fragen, inwiefern genau das helfen soll? (Wie das technisch funktioniert)

Keine Ahnung.....

Ich habe nur gesehen, dass sie vom Datenblatt eingefordert werden, und dass sie bei dir fehlen. Und sowas ist immer verdächtig, wenn komische Reaktionen auftreten.

Also, ich würde meinen billig China Logikanalyser und den Oszi auspacken, und damit prüfen ob das Loslaufen vom Prozessor angestoßen wird.

Nachtrag: Wenn du den Pin gewechselt hast, und er immern noch zuckt, dann befürchte ich, das der Motortreiber einen Wackelschatten hat.

combie: Nachtrag: Wenn du den Pin gewechselt hast, und er immern noch zuckt, dann befürchte ich, das der Motortreiber einen Wackelschatten hat.

Was genau meinst du mit Wackelschatten?

Ich werde das aber auf jeden Fall mit den im Datenblatt angegebenen Werten für Widerstand (100k) und Kondensator (5,6nF) ausprobieren, sobald die Sachen da sind.

Grüße

Florian

Wackelschaden?? Wackelkontakt??

Hallo nochmal! :-)

Die Sache ist GELÖST!

Wenn ich die Kondensatoren (wie im Datenblatt beschrieben) einbaue, klappt es ohne, dass der Motor beim Hochladen des Programms spinnt!

Danke nochmal für den Hinweis, hatte das vorher im Datenblatt glatt übersehen.

Grüße

Florian