Forum: Mikrocontroller und Digitale Elektronik l297 l298, haltemoment ja, steps nein!?


von Adalbert Ducker (Gast)


Lesenswert?

Guten abend meine Damen und Herren

Ich habe heute meine erste 297/298 er Schaltung auf meinem Breadboard 
aufgebaut (erst im Nachhinein herausgefunden, dass es neue ICs gibt die 
alles in einem vereinen...)

Mein Schrittmotor: QMot QSH 4218-35-10-027
http://www.trinamic.com/tmc/media/Downloads/QMot_motors/QSH4218/QSH4218_manual.pdf

Stromversorgung wird von einem Labornetzteil übernommen, in 
"Spannungsregelungs-" Modus, habe für die Spulenspannung mal bei 15V 
angefangen.

Verdrahtet habe ich die beiden ICs laut RN-Netz Anleitung: 
http://www.rn-wissen.de/index.php/Schrittmotoren

Pins die ich noch erwähnen sollte vom 297er (bzw. deren Beschaltung):

11: direkt an +5V
17: direkt an GND
18: an einem Attiny24 (versorgt aus dem selben Netzteil)
19: Masse
20: direkt an +5V

Folgendes macht die Schaltung im Betrieb:
Der Attiny macht auf einem Ausgang immer all 3 milisekunden ein/aus 
(habe ich mit ner LED getestet, er machts tatsächlich;)) (also ich habs 
mit 100ms Sekunden getestet, 3 würd man ja nich sehen)

Dieses Signal geht dann zu Pin 18 des l297. Nun folgende Symptomatik:

Wenn ich die Stromversorgung einschalte macht der Schrittmotor 1, max. 2 
Schritte, dann "zittert" er. Haltemoment hat er, also ich kann ihn von 
Hand nicht drehen! Lustigerweise ändert sich die Charakteristik des 
Zitterns, und wenn ich die Spannung hoch oder runter drehe habe ich das 
Gefühl das er nochmals einen Schritt macht. Auf den LCD des Netzteils 
beginnen dann auch die Zahlen zu spinnen (das 8 wird z.B nicht mehr 
komplett angezeigt und die "tanzen", wie Siebensegmentanzeigen bei denen 
man die einzelnen Elemente per Zufall ein und ausschaltet.)

Meine einzigen Vermutungen wären:

1.) Ich verwende Metalloxidschicht-Widerstände, 2W, 1Ohm die sehen aus 
wie die normalen, einfach Fetter. Könnten die das Problem sein.

2.) Die Pins 17, 19 und 20 habe ich DIREKT mit GND bzw +%V verbunden - 
Problem?

Liebe Grüsse

von Jabu (Gast)


Lesenswert?

Ich hatte ein ähnliches Problem mit dem L298, der bei mir allerdings 
direkt an einen ATmega9 geschlossen war. Den L297 finde ich ziemlich 
zwecklos wenn man doch recht einfach den L298 direkt am AVR ansteuern 
kann. Das Zittern lag bei mir an der falschen Verkabelung bzw. falschen 
Reihenfolge der Signale, die beim L298 eingehen. Überprüfe mal, ob du 
die Phasen wirklich korrekt angeschlossen hast und die Schrittfolge so 
eingehalten wird.

Gruß Jabu

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jabu schrieb:
> Den L297 finde ich ziemlich zwecklos wenn man doch recht einfach
> den L298 direkt am AVR ansteuern kann.
Dann hast du die Sache mit der Stromregelung nicht richtig verstanden. 
Ich steuere z.B. Schrittmotoren (1A) mit einer Spannung von 24V an. Nur 
sorgt eben die Stromregelung dafür, dass der Strom nicht über 1A steigen 
kann...

Adalbert Ducker schrieb:
> 1.) Ich verwende Metalloxidschicht-Widerstände, 2W, 1Ohm die sehen aus
> wie die normalen, einfach Fetter. Könnten die das Problem sein.
Nein.

> 2.) Die Pins 17, 19 und 20 habe ich DIREKT mit GND bzw +%V verbunden -
Welches ICs?
Schaltplan?

> (bzw. deren Beschaltung):
Prosa ist schön, manchmal. Poste doch einfach mal einen Schaltplan mit 
allen beteiligten Bauteilen und Verbindungen.
Wie sieht der elektrische aufbau aus? Hast du die obligatorischen 
Entkopplungskondensatoren dicht an den Versorgungspins der ICs?

von Adalbert Ducker (Gast)


Lesenswert?

Jabu schrieb:
> Überprüfe mal, ob du
> die Phasen wirklich korrekt angeschlossen hast und die Schrittfolge so
> eingehalten wird.

Ja, kann ich bestätigen, das habe ich so!

Lothar Miller schrieb:
> Welches ICs?
> Schaltplan?

Sorry, die des 297ers

Inzwischen läuft das Ganze, allerdings relativ "langsam"
Mein Quelltext ist folgender (In Bascom)
1
$regfile = "attiny24.dat"
2
$crystal = 4000000
3
Config Portb.0 = Output
4
Do
5
6
Portb.0 = 1
7
Waitms 0.6
8
Portb.0 = 0
9
10
Loop
11
End

Wenn ich diesen Wert nun weiter zurückdrehen möchte, pfeift der Motor 
nur noch, aber dreht nicht. Und wenn ich das Ganze so mit videos auf 
Youtube vergleiche, dreht mein Motor mit dem Wert 0.6 bedeutend 
langsamer als andere. Und er "klingt" auch nicht so Schrittmotor mässig 
(dieses schöne surren)

Liebe Grüsse

von Düsendieb (Gast)


Lesenswert?

Adalbert Ducker schrieb:
> Portb.0 = 1
> Waitms 0.6
> Portb.0 = 0

mach mal mindestens ein:

Waitms 0.6

darunter.


Hinter dem Portb.0 = 0 springt das Programm sofort nach oben und macht 
Portb.0 = 1

von Adalbert Ducker (Gast)


Lesenswert?

Ich probiers grad, aber wollte nur kurz meine Überlegung dazu sagen:

Der Schrittimpuls wird ja bei einer Flanke low->high ausgelöst.

Und mein Programm macht ja eigentlich:

Flanke (low-high) -> pause (0.6)
Flanke (low-high) -> pause (0.6)
Flanke (low-high) -> pause (0.6)

usw
Oder ist das falsch?

Also, ich probiers grad und berichte

von Adalbert Ducker (Gast)


Lesenswert?

Also, soeben probiert:

Wenn ich ein weiteres waitms 0.6 hinzufüge, dreht der Schrittmotor 
einfach langsamer.

Könnte es an einer falschen Frequenzeinstellung von "chrystal" liegen?
Ich verwende keinen externen Quarz und habe an den Fuses nichts 
umgestellt

Liebe Grüsse

von Werner A. (Gast)


Lesenswert?

Adalbert Ducker schrieb:
> Wenn ich diesen Wert nun weiter zurückdrehen möchte, pfeift der Motor
> nur noch, aber dreht nicht.

Der pfeift hoffentlich erst, wenn du die Pausenzeit tatsächlich 
verringerst.

Adalbert Ducker schrieb:
> Könnte es an einer falschen Frequenzeinstellung von "chrystal" liegen?

Oder an einer fehlenden Rampensteuerung für den Schrittabstand ...
Oder/und an einer zu niedrigen Spannung ...
Oder/und an einem zu kleinen Strom ...

von Adalbert Ducker (Gast)


Lesenswert?

Werner A. schrieb:
> Der pfeift hoffentlich erst, wenn du die Pausenzeit tatsächlich
> verringerst.

Ja, genau, und zwar bei einem Wert < 0.6

Werner A. schrieb:
> Oder an einer fehlenden Rampensteuerung für den Schrittabstand ...

Entschuldige...? :)

Werner A. schrieb:
> Oder/und an einer zu niedrigen Spannung ...
> Oder/und an einem zu kleinen Strom ...

Dreh ich mal noch auf, hab noch Reserve nach Oben

von Adalbert Ducker (Gast)


Lesenswert?

Hi Leute

Also das hochdrehen der Spannung hat nichts gebracht, doch etwas ist 
komisch:

Ich verwende 1 Ohm Widerstände, habe demnach an Pin 15 (Vref) vom l297 
0.5V anliegen. Maximal dürften also 0.5A fliessen!
Wenn ich das Netzteil aber auf 15V einstelle, fliessen so um die 1,4A 
(ohne das sich der Motor dreht)

Zur Rampensteuerung: kures googeln lässt mich glauben, dass es sich 
dabei um ein langsames hochfahren des Motors handelt. Habe das in meinem 
Bascom-Code implementiert:
1
Do
2
If X < 2000 Then
3
   Portb.0 = 1
4
   Waitms 0.6
5
   Portb.0 = 0
6
   X = X + 1
7
End If
8
9
If Y < 1000 Then
10
   Portb.0 = 1
11
   Waitms 0.5
12
   Portb.0 = 0
13
   Y = Y + 1
14
End If
15
16
Portb.0 = 1
17
Waitms 0.4
18
Portb.0 = 0

Bringen tut dies aber leider nichts. Habe ich da was falsch verstanden?

Liebe Grüsse

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Adalbert Ducker schrieb:
> Ich verwende 1 Ohm Widerstände, habe demnach an Pin 15 (Vref) vom l297
> 0.5V anliegen. Maximal dürften also 0.5A fliessen!
Und zwar im Motor!!!
Mit einer Versorgungsspannung, die größer ist als die Nennspannung des 
Motors (und die ist beim verlinkten Motor gerade mal 5,3V), nimmt der 
Strom aus der Versorgungsspannung umgekehrt proportional zur 
Versogungsspannung ab.
Oder umgekehrt: der Motor hat laut Datenblatt 1A*5,3V=5,3W Leistung.
> Wenn ich das Netzteil aber auf 15V einstelle, fliessen so um die 1,4A
Wenn du da jetzt 15V*1,4A=22W reinprügelst, dann nennt man das 
"Überlastung um den Faktor 4"...  :-o
Mit 15V Versorgung würde ich mit einer Stromentnahme aus dem Netzteil 
von maximal ca. 5W/15V = 0,3A rechnen. Weil du deinen Strom sogar auf 
0,5A begrenzt hast, dürften da sogar nur etwa 150mA fließen.
> (ohne das sich der Motor dreht)
Aber heiß wird?
Die Stromregelung funktioniert nicht richtig. Darauf deutet auch das 
unterschiedliche Pfeifen bei unterschiedlichen Versorgungsspannungen 
hin...

von Adalbert Ducker (Gast)


Lesenswert?

Lothar Miller schrieb:
> Wenn du da jetzt 15V*1,4A=22W reinprügelst, dann nennt man das
> "Überlastung um den Faktor 4"...  :-o

Ich prügle das ja nicht rein, das ist einfach das was er zieht! :S

Lothar Miller schrieb:
> Aber heiß wird?

Nein, heiss wurde der Motor nie, ich habe ihn aber auch nie wirklich 
lange laufen gelassen (immer nur so max. 1 Minute, meistens nur 30 
Sekunden wenn er gedreht hat, wenn nur gepfiffen dann sofort abgestellt)

Lothar Miller schrieb:
> Die Stromregelung funktioniert nicht richtig. Darauf deutet auch das
> unterschiedliche Pfeifen bei unterschiedlichen Versorgungsspannungen
> hin...

Okay, an was könnte das liegen? Bzw hattest du mal ein ähnliches 
Problem?

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.