L297/L298 und Atmega64

Gast #2882923
Lesenswert?

Guten Tag zusammen!

Ich hätte eine kleine Frage an euch:

Ich habe die allseits bekannte Schaltung mit dem L298/L297 aufgebaut 
(Schrittmotortreiber), für die unter euch, die sie nicht kennen:

http://www.google.ch/imgres?imgurl=http://www.roboternetz.de/bilder/l298standard.jpg&imgrefurl=http://www.roboternetz.de/community/threads/773-Schrittmotor-ansteuern-mit-L298-und-L297&h=445&w=600&sz=66&tbnid=JkVaKsjmZybSrM:&tbnh=90&tbnw=121&prev=/search%3Fq%3Dl297%26tbm%3Disch%26tbo%3Du&zoom=1&q=l297&usg=__x76Gjkg7YmXsHFZsUGoI4TFRTcs=&docid=G43ydPEr-C_h_M&sa=X&ei=6jeFUKjED5ORhQeK6oGgDw&ved=0CEkQ9QEwAw&dur=387

Klappt auch alles ganz oke, steuern tu' ich das Ganze mit einem 
Atmega64.
Nun habe ich einfach partout keine Ahnung, wie schnell ich das Ganze 
laufen lassen kann.

Im Datenblatt des L297:
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000063.pdf

finde ich zwar die Angaben Clock Time (0.5µS) und Reset to Clock delay 
(1µS), allerdings ist das sowieso viel zu schnell für meinen 
Schrittmotor, da ich den im Full Step Mode betreibe.

Ein Blick ins Datenblatt des L298 verrät mir ausserdem:

http://pdf1.alldatasheet.com/datasheet-pdf/view/22437/STMICROELECTRONICS/L298.html

Source Current Turn-on Delay: 2µS
Source Current Fall Time: 0.2µS

Also auch hier, eine eigentlich sehr hohe Geschwindigkeit.

Nun aber folgendes: Mit meinem Schrittmotor (irgendwas von JAPAN SERVO 
CO LTD -> Typenbezeichnung: KH42JMB035) habe ich einfach mal im Programm 
die Geschwindigkeit immer ein wenig erhöht. Nun mein Problem: Als ich 
mit dem Clock Delay unter 100µS gegangen bin ist mir mein Treiber (L298) 
abgeraucht. Grosse Verwirrung, wie kann das sein? Und wie finde ich 
heraus, wie schnell ich den laufen lassen kann/darf?

Noch als zusätzliche Info: Vref am L297 kann ich zwischen 0-3V 
einstellen. Ist das ein geeigneter Bereich?

Gruss und Danke im Voraus!!
Gast #2882986
Lesenswert?

Was hast du mit den Anschlüssen von Sync, Home etc. gemacht? Welche 
Werte hat dein Shunt? Welches Vref hast du eingestellt?!

Ein echter Schaltplan von deinem Aufgabau bzw. noch optional ein Foto 
deines Aufbaus wird die Leute motivieren dir zu helfen. :)
Gast #2882991
Lesenswert?

mr. mo schrieb:
> Was hast du mit den Anschlüssen von Sync, Home etc. gemacht?

Sorry, hier noch ein Ausschnitt aus der Schaltung :)
Vref habe ich so ein bisschen durchprobiert, Poti ein wenig verstellt. 
Leider habe ich noch nicht ganz verstanden, was Vref bewirkt - 
vielleicht kann mich da ja jemand aufklären. H/F, CNTRL, HOME, DIRECTION 
und CLOCK gehen jeweils auf den ATMEGA64. Als Probeeinstellung habe ich:

Direction: 0 (CCWW)
H/F      : 0 (FULL)
CNTRL    : 1
CLOCK    : Takt wie oben beschrieben

Ach ja, in der Schaltung ist noch ein Fehler (bzw. im Bauteil), der 
Reset des L297 ist aktiv LOW, deshalb ist der auch an VDD gehängt :)

mr. mo schrieb:
> ein Foto
> deines Aufbaus wird die Leute motivieren dir zu helfen. :)

Aufbau sollte in Ordnung sein, Foto habe ich leider im Moment keines, 
ist allerdings eine fertige Platine also nix freiluftverdrahtet oder 
ähnliches.
Angehängte Dateien:
Gast #2882993
Lesenswert?

mr. mo schrieb:
> Welche Ausführung des L298 hast du da?

Multiwatt mit grossem (zu grossem -> lag rum) Kühlkörper. Wird 
normalerweise im momentanen Betrieb nicht sehr warm.

Strom ziehe ich unterschiedlich, je nach Vref. Meistens bewegt sich der 
Strom aber um die 600mA im Stillstand und um die 500mA in Bewegung.
Gast #2883003
Lesenswert?

1.8Degrees schrieb:
> Leider habe ich noch nicht ganz verstanden, was Vref bewirkt -

Damit kannst du im Chopperbetrieb den Strom einstellen.

Hast du im RoboternetzWiki unter dem Stichpunkt "Schrittmotor" mal 
reingeschaut? Da wird genau die Schaltung sehr ausführlich durchgekaut. 
Evtl. fällt dir da was auf.

In deinem Schaltplan fällt mir spontan nichts auf, ausser das deine 
Pull-Down Widerstände sehr hochohmig sind. Du sagst ja, dass du 
versuchst den Clock schneller laufen zu lassen damit der Motor schneller 
dreht, evtl. haust du dir da Störungen rein durch die zu hochohmigen 
Pull-Downs. Teste mal z.B. 10k. Was erhoffst du dir von den Kerkos 
parallel zu den Pull-Downs?

Den Elko an den 24V musst du evtl. noch etwas erhöhen, aber das ist 
nicht so das Problem.
Gast #2883019
Lesenswert?

Hi

>Vref habe ich so ein bisschen durchprobiert, Poti ein wenig verstellt.
>Leider habe ich noch nicht ganz verstanden, was Vref bewirkt -
>vielleicht kann mich da ja jemand aufklären.

Mit VREF stellst du den Strom ein. VREF wird mit den Spannungen an Sens1 
und 2 verglichen. Überschreitet die Spannung an SENS VREF schaltet die 
Treiberstufe ab und wenn der Strom wieder niedriger ist wird wieder 
eingeschaltet.

MfG Spess
Gast #2883026
Lesenswert?

Elko wurde bereits durch 470µF ersetzt, aber wie du sagst: Ende der 
Fahnenstange :)

mr. mo schrieb:
> evtl. haust du dir da Störungen rein durch die zu hochohmigen
> Pull-Downs. Teste mal z.B. 10k. Was erhoffst du dir von den Kerkos
> parallel zu den Pull-Downs?

Dazu muss ich sagen: Das ist ein wenig gebastelt. Ich habe bei meinem 
Testaufbau gemerkt, dass das Teil nur funktioniert, wenn ich mit der 
Sonde des DSO messe.. also einfach eine Sonde "simuliert" und siehe da 
-> es funktioniert.

Die feine Art ist das natürlich nicht.

mr. mo schrieb:
> Hast du im RoboternetzWiki unter dem Stichpunkt "Schrittmotor" mal
> reingeschaut? Da wird genau die Schaltung sehr ausführlich durchgekaut.


Super, das ist wirklich toll erklärt.

> Evtl. fällt dir da was auf.

Was meinst du damit?

Gruss
Persönliche Seite #2883028
Lesenswert?

1.8Degrees schrieb:
> Elko wurde bereits durch 470µF ersetzt, aber wie du sagst: Ende der
> Fahnenstange :)
>
> mr. mo schrieb:
>> evtl. haust du dir da Störungen rein durch die zu hochohmigen
>> Pull-Downs. Teste mal z.B. 10k. Was erhoffst du dir von den Kerkos
>> parallel zu den Pull-Downs?
>
> Dazu muss ich sagen: Das ist ein wenig gebastelt. Ich habe bei meinem
> Testaufbau gemerkt, dass das Teil nur funktioniert, wenn ich mit der
> Sonde des DSO messe.. also einfach eine Sonde "simuliert" und siehe da
> -> es funktioniert.
>
> Die feine Art ist das natürlich nicht.

Also spätestens jetzt ist ein Bild des Aufbaus unumgänglich.
Gast #2883033
Lesenswert?

1.8Degrees schrieb:
> Dazu muss ich sagen: Das ist ein wenig gebastelt. Ich habe bei meinem
> Testaufbau gemerkt, dass das Teil nur funktioniert, wenn ich mit der
> Sonde des DSO messe.. also einfach eine Sonde "simuliert" und siehe da
> -> es funktioniert.

Ja das lag wohl daran, dass du die Eingänge offen gelassen hattest. Die 
sind dann sehr empfindlich für Störungen. Am besten ersetz deine "Sonde" 
durch einen 10k.

>> Evtl. fällt dir da was auf.
>
> Was meinst du damit?

Das sollte kein Hinweis auf einen Fehler sein, sondern eher das dir 
irgendwas aufällt was du anderes gemacht hast als empfohlen/erklärt 
wurde.
Gast #2883047
Lesenswert?

mr. mo schrieb:
> Ja das lag wohl daran, dass du die Eingänge offen gelassen hattest. Die
> sind dann sehr empfindlich für Störungen. Am besten ersetz deine "Sonde"
> durch einen 10k.

Hätte ich das nur vorher schon gewusst :P
Naja jetzt ist der "Fehler" schon drauf.. sollte aber eig. die 
Funktionalität nicht wirklich beeinflussen oder?

mr. mo schrieb:
> Das sollte kein Hinweis auf einen Fehler sein, sondern eher das dir
> irgendwas aufällt was du anderes gemacht hast als empfohlen/erklärt
> wurde.

Ach so hast du das gemeint :)
Ja, die Erkärung für Vref und CONTROL habe ich so noch nirgens gesehen.

Das könnte auch den Fehler erklären.. durch das rumdrehen am Poti könnte 
ich ja 3V eingestellt haben, bei einem RS von 0.5R würde das ja 
eigentlich einen Strom von 6A ergeben. Klar ist der L298 abgeraucht.. 
oder wie sieht ihr das?

Gruss
Persönliche Seite #2883051
Lesenswert?

1.8Degrees schrieb:
> Wobei..
> Auf der Seite steht: Vref = 0.5A (gewünschter Strom des Motors) *1R
> (Widerstand RS)
> Ich habe ja 2* Rs, ist da trotzdem der einzelne gemeint?

Ja. Die beiden Brücken des L298 haben jeweils eine voneinander 
unabhängige Strommessung.

Zu deinem Problem: Wie sind diese beiden Rs ausgeführt? Also was sind 
das für Widerstände? SMD, Metallfilm, Draht, ...? Ein übermässiger 
induktiver Anteil in diesem Pfad kann zu Problemen führen.
Gast #2883059
Lesenswert?

Hi

>Ich habe ja 2* Rs, ist da trotzdem der einzelne gemeint?
>Also in meiner Schaltung 0.5R?

Bei dir gelten die 0,5R. Die Sensewiderstände sollten induktionsarm 
(also keine Drahtwiderstände) sein und möglichst nah am L298 sein. Ich 
hoffe deine Platine ist in dieser Richtung nicht so wie der Schaltplan 
aufgebaut.

MfG Spess
Gast #2883061
Lesenswert?

1.8Degrees schrieb:
> Hätte ich das nur vorher schon gewusst :P
> Naja jetzt ist der "Fehler" schon drauf.. sollte aber eig. die
> Funktionalität nicht wirklich beeinflussen oder?

Naja, tausche den 1M gegen 10k und lass den Kerko weg, dann hast das 
soweit gelöst.

> Das könnte auch den Fehler erklären.. durch das rumdrehen am Poti könnte
> ich ja 3V eingestellt haben, bei einem RS von 0.5R würde das ja
> eigentlich einen Strom von 6A ergeben. Klar ist der L298 abgeraucht..
> oder wie sieht ihr das?

Wäre möglich. Nachdem dir nun das meiste klar ist, kannst ja nochmal 
testen und schauen was passiert :P
Gast #2883072
Lesenswert?

Maik Fox schrieb:
> Ja. Die beiden Brücken des L298 haben jeweils eine voneinander
> unabhängige Strommessung.

Ach so, das ist ja praktisch.

Maik Fox schrieb:
> Zu deinem Problem: Wie sind diese beiden Rs ausgeführt? Also was sind
> das für Widerstände? SMD, Metallfilm, Draht, ...? Ein übermässiger
> induktiver Anteil in diesem Pfad kann zu Problemen führen.

MELF, etwa. 1cm vom L297 entfernt, danach direkt auf die GND-Plane 
geführt.

spess53 schrieb:
> Ich
> hoffe deine Platine ist in dieser Richtung nicht so wie der Schaltplan
> aufgebaut.

Ne, zum Glück nicht :)

Maik Fox schrieb:
> Wenn deine Spannungsquelle das her gibt, ist das eine plausible
> Erklärung.

Ja, war zu Testzwecken "leider" ein 24V/10A Netzgerät. Wobei zu 
"Testzwecken" wohl das falsche Wort ist, eher zur Not.

mr. mo schrieb:
> Naja, tausche den 1M gegen 10k und lass den Kerko weg, dann hast das
> soweit gelöst.

Jo, das mach' ich so.

mr. mo schrieb:
> Wäre möglich. Nachdem dir nun das meiste klar ist, kannst ja nochmal
> testen und schauen was passiert :P

Alles klar, ich werde dann nochmal berichten.

Vielen Dank für eure Hilfe, schön wie schnell einem geholfen wird!
Gast #2883083
Lesenswert?

Äh ne, Netzgerät war das falsche Wort, Netzteil wäre da wohl treffender 
gewesen :)

Ich habe nun den Strom auf 1A begrenzt, allerdings benötigt der Motor 
diesen nur im Stillstand, wenn er sich bewegt ca. 300mA. Sollten diese 
Werte nicht ein bisschen näher beieinander liegen?

PS: Geschwindigkeit ist nun ideal :)

Gruss
Persönliche Seite #2883087
Lesenswert?

1.8Degrees schrieb:
> Maik Fox schrieb:
>> Zu deinem Problem: Wie sind diese beiden Rs ausgeführt? Also was sind
>> das für Widerstände? SMD, Metallfilm, Draht, ...? Ein übermässiger
>> induktiver Anteil in diesem Pfad kann zu Problemen führen.
>
> MELF, etwa. 1cm vom L297 entfernt, danach direkt auf die GND-Plane
> geführt.

Welche Baugrösse? Frage geht jetzt allerdings in Richtung 
Verlustleistung. Bei deinen 1 A Ruhestrom sind das ja schon 0.5 W. Aber 
immerhin brennen die MELF ja definiert ab, sehr praktisch in so einem 
Fall ;)
Persönliche Seite #2883111
Lesenswert?

1.8Degrees schrieb:
>Ich verstehe nur noch nicht ganz, weshalb er im
> Stillstand 1A braucht?! Ich dachte der Strom für Stillstand entspricht
> in etwa dem Strom während der Bewegung?

Durch die böse Induktivität kommt der Strom zu spät.

Im Ernst, wenn man die Strombegrenzung vom L298 ausser Acht lässt: Im 
Stillstand hast du den Gleichstromfall, die Wicklungen des Motors werden 
von einem Strom durchflossen, der vom Wicklungswiderstand abhängt. 
Während der Bewegung werden die Wicklungen deutlich kürzer bestromt. 
Desto kürzer diese Bestromung ist, desto mehr kommt die 
Spulen-Eigenschaft der Wicklung zum tragen: Der Strom steigt abhängig 
von der Induktivität mit der Zeit an.

Je schneller man dreht, desto weniger Zeit hat der Strom zum Ansteigen, 
daher ist der Strommittelwert kleiner. Mit dem Oszi an den 
Sense-Widerständen zu messen könnte die Sache veranschaulichen.

Das war jetzt die Erklärung nach dem Motto: Lieber viele Worte als eine 
Formel.
Gast #2883117
Lesenswert?

Ach so. Dann ist das also normal, dass der Schrittmotor im ruhenden 
Zustand am meisten Strom verbraucht.. irgendwie ironisch.

Maik Fox schrieb:
> Mit dem Oszi an den
> Sense-Widerständen zu messen könnte die Sache veranschaulichen.

Hat es getan, danke für den Tipp :)

Maik Fox schrieb:
> Das war jetzt die Erklärung nach dem Motto: Lieber viele Worte als eine
> Formel.

I(t) = U/R * (1-e^(t/T)) ?

Gruss
Persönliche Seite #2883130
Lesenswert?

1.8Degrees schrieb:
> Ach so. Dann ist das also normal, dass der Schrittmotor im ruhenden
> Zustand am meisten Strom verbraucht.. irgendwie ironisch.

Deswegen haben schlaue Leute die sog. Ruhestromabsenkung erfunden, die 
im Standfall den Strom reduziert, um den Motor nicht zu arg zu erwärmen. 
Man muss allerdings je nach Anwendung beachten, dass damit auch das 
Haltemoment sinkt.

1.8Degrees schrieb:
> Maik Fox schrieb:
>> Das war jetzt die Erklärung nach dem Motto: Lieber viele Worte als eine
>> Formel.
>
> I(t) = U/R * (1-e^(t/T)) ?

http://de.wikipedia.org/wiki/Spule_(Elektrotechnik)#Zu-_und_Abschaltvorg.C3.A4nge_bei_Gleichspannung

Ja ;)
Gast #2883138
Lesenswert?

Maik Fox schrieb:
> Deswegen haben schlaue Leute die sog. Ruhestromabsenkung erfunden, die
> im Standfall den Strom reduziert, um den Motor nicht zu arg zu erwärmen.
> Man muss allerdings je nach Anwendung beachten, dass damit auch das
> Haltemoment sinkt.

Hm, habe 2 Anwendungen, bei einer wäre es sinnvoll gewesen, bei der 
anderen brauche ich das Haltemoment. Naja, wird der eben ein bisschen 
wärmer.

Maik Fox schrieb:
> Ja ;)

Verstehe durchaus Formeln :) Habe einfach irgendwie das Prinzip 
Schrittmotor noch nicht so ganz verinnerlicht.

Naja, auf jeden Fall danke, mein Problem ist damit gelöst!

Gruss & einen schönen Abend/Nachmittag

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren