PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : L298/L297



Johannes84
27.12.2005, 19:46
Hallo,

ich baue mir gerade die Schrittmotorsteuerung an meinen Atmega dran, jetzt habe ich eine Frage, auf diesem Plan gibts oben rechts die "Motorspannung", für was ist diese? Braucht man die nur für unipolare Schrittmotoren? Wenn ja, kann ich dann einfach den "Zweig" oben rechts weglassen?

Danke im voraus
Johannes

http://www.robotikhardware.de/bilder/schaltungstep298.gif

DerWarze
27.12.2005, 20:18
Hallo

Der Motor braucht ja sicher eine andere Spannung als die 5V für die Controllerelektronik (zb 12V) die wird da angeschlossen (genaues im Datenblatt zu den IC's die man immer studieren sollte).
Auch wenn der Motor mit 5V auskommt ist es auf jeden Fall sinnvoll diesen nicht mit der selben Spannung wie die Controllerschaltung zu betreiben da doch heftige Störimpulse entstehen können. Also zb vor dem Spannungsregler für die 5V abzweigen. Weglassen kann man diesen Schltungsteil nicht egal wo man die Spannung hernimmt C4 und C5 sind für die Entkopplung/Entstörung wichtig.

DerWarze
27.12.2005, 20:47
Hallo

Der Motor braucht ja sicher eine andere Spannung als die 5V für die Controllerelektronik (zb 12V) die wird da angeschlossen (genaues im Datenblatt zu den IC's die man immer studieren sollte).
Auch wenn der Motor mit 5V auskommt ist es auf jeden Fall sinnvoll diesen nicht mit der selben Spannung wie die Controllerschaltung zu betreiben da doch heftige Störimpulse entstehen können. Also zb vor dem Spannungsregler für die 5V abzweigen. Weglassen kann man diesen Schltungsteil nicht egal wo man die Spannung hernimmt C4 und C5 sind für die Entkopplung/Entstörung wichtig.

Johannes84
28.12.2005, 11:09
hallo und vielen dank für die antwort, die schaltung habe ich jetzt aufgebaut, zum test habe ich ENABLE und CW auf 1 gesetzt und clock habe ich im sekundentakt an und aus schalten lassen. leider kam nichts an den ausgängen für den motor an. ich habe eine motorspannung von 6 V angeschlossen.

zum test habe ich jetzt mal die spannungen an den pins vom l297 gemessen, folgende spannungen liegen an (es liegen keine externen signale an clock, cw oder enable an):
das in klammern sind die werte wenn die 6V motorspannung anliegen


Reset: 1,2
Half/Full: 5
Clock: 1,2
CW/CCW: 1,2
OSC: 2,55
Vref: 0
Sens1: 0
Sens2: 0
Vs: 5
Control: 5
Sync: 3,3 (3,2)
Gnd: 0 (0)
Home: 0 (0)
A: 4 (3,7)
Inh1: 4,3 (4,3)
B: 4,3 (4)
C: 4 (3,7)
Inh2: 4,3 (4,3)
D: 4,3 (4)
Enable: 1,7 (1,7)


können die werte stimmen?

DerWarze
28.12.2005, 19:12
Uff, hab ewig lang nichts mehr mit den IC gemacht un gerad nix da zun nachsehen, mal sehen ob ich das Datenblatt finde.
Generell sollten die Pegel für Low nicht über 0,7V und die Highpegel nicht unter 4,5V liegen. Da aber einige Werte davon abweichen vermute ich das da Impulse anliegen (mit Oszi kontrolieren). Die Spannung am OSC Pin lässt vermuten das der (intene)Takt ordnungsgemäß arbeitet.
Pasiert den an den Motorausgängen und den Pins A-D was wen der Takt an Clock rappelt? Kommt schnell vor das man den Motor falsch angeschlossen hat.

waste
28.12.2005, 21:43
Hallo Johannes84,

an Vref muss eine Spannung sein, sonst geht nix. Dreh mal an dem Poti R1, damit stellt man den Strom ein.

Gruß Waste

Johannes84
29.12.2005, 00:22
also, ich habe jetzt an dem poti gedreht, ich kann damit höchstens 3 Volt an Vref legen. an clock vom l297 kommen die impulse an, aber an A,B,C,D wechselt kein Signal. d.h. an A,B,C,D wechseln die spannungen nur wenn ich zB das programm neu raufspiele. aber während des betriebs wechseln die ports nicht...
einmal liegen diese signale an
a 0
b 4,3
c 0
d 4,3

wenn ich das programm erneut raufspiele siehts zB so aus

a 0
b 0
c 4,3
d 0

hat jemand tipps für mich?
wie muss das signal an clock eigentlich aussehen, kann ich das so machen:

Do
Portd.4 = 1
Waitms 500
Portd.4 = 0
Waitms 500
Loop

Ruppi
29.12.2005, 05:25
Hallo,
es ist schon ok, dass Vref nicht größer als 3V wird. Diese Referenzspannung wird mit der Spannung verglichen, die an den (großen) Sense-Widerständen abfällt -> Chopper-Regelung.
Dein kleines Do...Loop Beispiel sollte zwar funktionieren, ist aber nicht ideal. Der L297 legt ein neues Schrittmuster an die Ausgänge, sobald er eine fallende Flanke am Clock-Pin erkennt. Es reicht eine ganz kurze High-Phase am Clock-Eingang. Wenn Du also das erste "Waitms 500" durch ein Waitms 1 tauschst, ist das schon mal besser.
Übrigens sieht die obige Schrittfolge so aus, als wäre am L297 Halbschritt eingestellt und jedesmal beim Raufspielen Deines Programms bleibt es an einer anderen Stelle stehen. Bevor Du die Ansteuerung mit dem Controller machst, würde erstmal sicher gehen, dass seitens der Elektronik keine Problemchen auftreten, also die Takte an Clock manuell vorgeben.

Gruß, Ruppi

Johannes84
29.12.2005, 11:04
Programm habe ich abgeändert. Das Signal für Clock mach ich jetzt auch selbst. Aber ein Signal an Clock ändert nichts an den Ports A,B,C oder D...woran könnte das liegen?

Johannes84
30.12.2005, 10:37
hmmm, kann mir vielleicht jemand sagen wie ich den l297 am besten auf funktion testen kann? was muss mindestens angeschlossen sein um pulsierende signale an A,B,C oder D zu bekommen?

DerWarze
30.12.2005, 11:30
Hallo

Im Datenblatt (das gibt es z.B. hier www.alltronics.com/download/1334.pdf ) Ist auf Seite 2 das Innenleben dargestellt so das einiges klar werden kann.
Osc beschaltung muß, Uref muß größer als Usense sein (Überstromsicherung) Enable, Control und Reset (der ist ja invertiert!) auf H und Takt an Clock dann sollte sich an den Ausgängen was tun. Was im Verhältnis zum Takt bei den möglichen Betriebsarten sieht man auch im Datenblatt recht gut.

DerWarze
30.12.2005, 12:35
Vergas den link zum Application Note anzugeben. hier ist er: www.alltronics.com/download/1734.pdf
Damit sollte alles klar werden.

Johannes84
30.12.2005, 18:08
danke für die links...
also, wenn ich jetzt per hand das clock kabel kurz an masse gehalten habe, dann hat sich der Status von ABCD geändert! wenn ich das signal über den mikrocontroller erzeuge dann ändert sich der Status nicht. woran kann das liegen? was mir auch aufgefallen ist, wenn ich clock am l297 messe, dann hat dieser immer so um die 1,3 Volt (wenn er nicht verkabelt ist), darf das sein?

DerWarze
30.12.2005, 18:37
Kann schon sein, hängt davon ab wie der Eingan intern ausgeführt ist, offene TTL eingänge liegen bekanntlich immer auf High wärend man CMOS wehen der Hochomigkeit nicht offen lassen kann. Da der gemessene Wert zwischen Low und High liegt zeigt das das der Eingang immer beschaltet werden sollte damit ein definierter Pegel anliegt. Wenn Du irgendwo einen Oszi zur verfügung hast sieh doch mal ob das Taktsignal vom Controller nicht irgendwo kurzgeschlossen wird. Zur Not kann man auch sehr niedrige Taktfrequenz nehmen und mit einer LED (natürlich mit Vorwiderstand ) sehen ob es Flackert. Mit reiner Spannungsmessung kommst Du nicht weiter besonders wenn Du sich rasch ändernde Signale mit einem DMM misst - misst du Mist.

Johannes84
31.12.2005, 13:32
so, dann vielen dank, jetzt gehts! ich hatte noch einen fehler in der schaltung!