Forum: Mikrocontroller und Digitale Elektronik ATmega8 mit L298 und Getriebemotor. Es kommt Blödsinn raus!


von Juedler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Ich habe einen ATmega mit 16MHz. Es läuft auch alles bestens.

Jetzt habe ich einen L298N mit einem Getriebemotor angehangen.

Er wird auch richtig gedreht aber beim Wechsel zwischen den
Drehrichtungen macht er Blödsinn. Mal wechselt die Richtung nicht, mal
schon. Den L298 habe ich wie im Datenblatt beschrieben angeschlossen.
Auf schnelle Freilaufdioden habe ich auch geachtet.

Baue ich eine Pause nach dem Drehen ein, so klappt der
Richtungswechsel.

Im Anhang mein Quellcode in C.

Kann mir jemand helfen?

MfG
Juedler

von thkais (Gast)


Lesenswert?

Schaltplan?

von Marco S (Gast)


Lesenswert?

uint32_t t;
t = 1023;
while(1)
{
   ...
   t-=10;
   if (t<=0)
      ...

-> uint32_t t wird niemals kleiner 0. Und da von 1023 immer 10 pro
Schleifendurchlauf abgezogen wird, wird t auch niemals 0.

Fällt mir nur mal so auf. Eigentlich sollte der Compiler auch eine
Warnung ausgeben.

Gruß
Marco
-

von Juedler (Gast)


Lesenswert?

Danke für die Antworten.

Nach Recherche habe ich herausgefunden, dass wahrscheinlich der Motor
nicht entstört ist und somit etwas hohes zum Mikrocontroller schickt.

Meine Frage:
Wie entstör ich meinen Motor? Gibt es da eine Formel wie groß der
Entstörkondensator sein muß? Muß ich auch eine Induktivität in den
Anschluß des Motors bringen?

Das mit den <=0 ist mit unsigned auch möglich, da <0 eine 1 am höchsten
Bit bedeutet. Somit weiß ich wann ein Überlauf war. Ist aber nicht der
Fehler.

Ciao
Juedler

von Rolf Magnus (Gast)


Lesenswert?

> Das mit den <=0 ist mit unsigned auch möglich, da <0 eine 1 am
> höchsten Bit bedeutet.

Nein. <0 bedeutet kleiner als 0, was bei unsigned nicht möglich ist.
Wenn man statt <= nur < schreibt, sagt gcc dann auch:

warning: comparison of unsigned expression < 0 is always false

von Denis (Gast)


Lesenswert?

entstörung
ne drossel in motorzuleitung, kondensator parallel zum motor und je
einen zur masse

von Juedler (Gast)


Lesenswert?

Wie groß die Drossel und Kondensatoren? Gibt es besondere Baureihen die
ich verwenden sollte?

Ciao

von Hannes L. (hannes)


Lesenswert?

Das kommt auf den Motor an.
Ein Rollstuhl-Getriebemotor braucht andere Dimensionierung als der
Getriebemotor der Kassenbonrolle einer Supermarkt-Kasse.

...

von Juedler (Gast)


Lesenswert?

Also ich habe einen RB35 (Getriebemotor von Conrad).

von Hannes L. (hannes)


Lesenswert?

Also 12V / 80mA...

Da dürfte die im Modelleisenbahnbereich übliche Entstörung greifen.
UKW-Drosseln 22µH, Keramik-Kondensatoren um die 47nF.

...

von Juedler (Gast)


Lesenswert?

Werde ich mal ausprobieren!

Danke!

von Thomas O. (Gast)


Lesenswert?

oder einfach bipolare Surpressordioden parallel zur Wicklung die eine zu
hohe Spannung kurzschließt egal ob positiv oder negativ.

Die Schaltung wäre von Interesse, den die AVR-Stromversorgung sollte
Imun gegen die Störungen aus der Stromversorgung des Schrittmotors
sein.

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.