Hallo,
ich habe gehört, hier sind die absoluten Profis !
Habe schon ein bisschen im Forum rumgesucht, aber noch nichts passendes
gefunden!
Habe die 2 Schrittmotoren, die auf dem Bild zu sehen sind
und würde gerne wissen, ob ich diese mit folgender Schaltung an meinem
ATMega16 betreiben kann.....
hier die Schaltung.....
http://www.roboternetz.de/wissen/images/0/02/Schaltungstep298.gif
die teile hätt ich hier auch rumliegen...
aber die Schaltung ist doch nur für einen Motor, richtig?
das einzige was zum Mikrocontroller geht sind doch die Leitungen
GND +5V ENABLE CW und CLOCK richtig ??
wobei ich ja dann nur 3Ports brauche ?!?
Die Motoren stammen aus zwei Scannern (gleiche Scanner, aber waren
verschiedene Motoren drinn) lol
Das Netzteil von den Scannern lieferte 12V,
wieviel Volts soll ich dann auf Motorspannung U1, U2 legen (das sind
doch einmal + und einmal -, richtig)
Danke
Der Link wird umgeleitet nach
http://www.roboternetz.de/images/ersatzbild.gif
Darin steht: Foto findest Du im www.roboternetz.de
http://www.roboternetz.de/wissen/images/0/02/Schaltungstep298.gif
Tatsächlich, der Link stimmt, scheinbar kann er nur direkt von
http://www.roboternetz.de/wissen/index.php/Bild:Schaltungstep298.gif
aufgerufen werden.
Die Schaltung ist die klassische L297/L298-Schaltung.
Die 0,5 Ohm Rs müssen induktivitätsarm sein, also keine gewickelten
Drahtwiderstände.
Der Motor hat 6 Anschlüsse, also 2 Spulen mit Mittelanzapfung. Sie
wurden vermutlich unipolar angesteuert. Für diese Schaltung evtl. nur
die beiden äußeren Enden anschließen. Die ermittelt man mit einem Ohm-
oder Amperemeter. Die Mittelanzapfungen offen lassen.
Am besten sind Motoren mit 8 Anschlüssen, damit kann man wählen, ob man
die Wicklungen parallel oder seriell schaltet.
Ja, die Schaltung ist für einen Motor.
Ja, drei Ports genügen.
Hallo,
bin also grad dabei die schaltung auf zu bauen
und stelle fest, das der scheiss 297 komisch in dem Datasheet
beschrieben ist von der Pin-belegeung...
kann ich das ding nicht ganz normal über "Corner-Pinning"
anklemmen, so wie man jeden IC anklemmt ??
irgendwie scheint mir der GND ganz woanders zu sitzen....
Datenblatt im Anhang,
Habe auch keine IC-Fassung, muss also fix-löten und irgendwie den IC
kühlen, richtig ??
Also wie soll ich da die Belegung dran löten?
Das ist doch kein 74er TTL-IC, auf jeden Fall bei jedem IC drauf achten
und vorher das Datenblatt genau angucken! Ich weiß nicht wo du das
"Corner-Pinning" gelernt hast, aber vergiss das am Besten schnell
wieder!
bin bisher eigentlich immer gut mit dem scheiss corner pinning zurecht
gekommen, also der L297 ist der erste IC, den ich sehe wo das mit der
Beschaltung anders ist, deshalb war ich jetzt voll verwirrt...
Hallo,
dann hast Du noch nicht allzuviele ICs gesehen... ;)
Klappt nur bei 74er und teilweise 4000er Serie.
Beim 7491 fiel man damit aber schon ganz früher auf die Schnauze. :)
Also wirklich immer Datenblatt befragen, ist sonst schade um die ICs.
Gruß aus Berlin
Michael
Alles klar Michael,
werde mir deinen Ratschlag zu Herzen nehmen....
Stimmt wohl hatte bisher eigentlich nur mit der 74er Family zu tun...
das sind halt die besten :P lol
Danke !
MfG,
A
Hallo
noch mal ne Frage zu der Schaltung
http://www.roboternetz.de/wissen/index.php/Bild:Schaltungstep298.gif
da sind ja an der rechten seite unten bei den 4 dioden die
0,5 Ohm widerstände drinne, habe aber nur 1 Ohm Widerstände hier
und wenn ich die messe haben die wegen der Toleranz so um die
1,5-1,7Ohm
kann ich die auch dafür nehmen, oder ist das an der stelle kritisch
????
Sonst steht die ganze Schaltung schon, schön alle Bahnen selber gezogen
oder mit Kabeln sieht wild aus :P
kann ja später mal nen bild stellen....
jetzt les ich grad in dem artikel folgendes:
In dem Fall kann man den Motor nicht bipolar ansteuern, sondern muss
ihn unipolar ansteuern. Mit L297/L298 bzw. RN-Motor usw. wird ein
Schrittmotor immer bipolar angesteuert, also kann dafür kein Motor mit
5 Drähten verwendet werden. Da heutzutage Schrittmotoren bevorzugt
bipolar angesteuert werden um maximales Drehmoment (Kraft) zu
erreichen, sollte man daher beim Kauf möglichst Motoren mit 4, 6 oder 8
Drähten kaufen.
kann ich also meine Schrittmotoren (5draht) garnicht mit der schaltung
ansteuern ??? :(
mist schaltung fertig und dann kann ich die nicht nutzen lol
hier das bild zum text
http://www.roboternetz.de/wissen/images/b/bf/Stepper5draehte.gif
"wenn ich nun 4 1er Widerstände parallel schalte erhalte ich 0,8ohm"
Den physikalischen Gesetzmäßigkeiten zufolge ergibt das 0,25Ohm. Ich
glaube eher, daß dein Meßgerät nicht geeignet ist.
Schliesse mal die Meßspitzen kurz, wenn dein Meßgerät dann nicht 0,00
Ohm anzeigt, musst du den gemessenen Wert berücksichtigen.
Volker
>Schrittmotoren (5draht)
ist ein unipolarer Schrittmotor.
http://de.wikipedia.org/wiki/Schrittmotor
Mit dem L298 kann man ganz wunderbar biploare Schrittmotoren (wie man
sie beim Zerlegen von 5,25"-Laufwerken findet) betreiben.
hmm toll,
schaltung fertig und dann merk ich das ich die überhaupt nicht für
meine motoren nehmen kann :P
wo bekomm ich denn günstig (sehr günstig) bipolare Schrittmotoren her
?
welche schaltung könnt ihr denn für meine unipolaren schrittmotoren
empfehlen ?
kennt ihr denn eine schaltung, mit der ich meine unipolaren
Schrittmotoren ansteuern kann ?
könnt ihr mir das was empfehlen, womit ihr gute erfahrungen gemacht
habt ??
Einen unipolaren Schrittmotor kann man problemlos mit ein paar
NPN-Transistoren (oder auch N-Kanal-MOSFET) betreiben. Der gemeinsame
Pol hängt dann an +.
Die sind sogar einfacher anzusteuern.
Aber wie sieht es dann mit dem PWM Signal aus ??
muss ich dann an die 4 Leitungen ein PWM-Signal liefern,
also mehrere verschiedene PWM's ??
hat jemand eventuell nen Link zu einer Unipolarschrittmotor Schaltung,
würd da gerne ma nen Bild von sehen, kann mir das noch nicht so ganz
konkret vorstellen :(
Das Bild oben rechts auf der (von mir geposteten) Wiki-Seite zeigt die
Beschaltung eines unipolaren Schrittmotors.
Die Links auf der Seite sind auch sehr interessant.
PWM brauchst du übrigens nur, wenn du noch feinere Schritte machen
willst.
Einen Stepper (sehr verbreiteter Name für Schrittmotor) ohne L297/L298
zu betreiben erfordert ganze 4 Portpins (mit Verstärker) und etwas
"Hirnschmalz" (aber eigentlich sehr wenig davon).
auf einer anderen seite fand ich folgendes...:
Unipolar: Für diese Art der Steuerung benötigt der Motortreiber jeweils
zwei Transistoren pro Wicklung (Strang)
-> also für meinen Motor insgesamt 8 NPN-Transistoren....
und wenn ich jetzt mal so gucke was ich an Transistoren da habe ist das
nicht viel :(
1) 10x BC639 NPN
2) 10x BC640 PNP
so nun habe ich bisher noch wenig erfahrung mit Transistoren,
bzw. keinerlei. Erkennt man auch daran das ich immer noch 10 von 10
Transistoren hier liegen habe, die ich mal irgendwann bestellt habe :)
Also 4 Portpins habe ich wohl noch frei, wobei mir erstmal wichtig ist
das der Motor läuft,später soll er dann über pwm gesteuert werden,
damit es noch genauer wird, wie du sagtest....
So nun die restlichen Fragen die mir noch erhalten blieben:
1) Wie verschalte ich das mit Transistoren ?
2) Kann ich diese Schaltung beibehalten, wenn ich später was mit
PWM machen will, oder brauch ich da wieder ne andere Schaltung??
3) Was genau meinst Du bitte mit Verstärker, etwa die NPN?
Dankeschön !!!!!!!!
Nee,
habe die beide ausm Scanner gemopst,
kann nur sagen das das Netzteil des Scanners nen Output von 12V hatte
mehr weiß ich darüber nicht, ok ich weiß noch, das der rote Draht meine
beiden Mittelanzapfungen miteinander vereint, da der Widerstand von
jedem Draht zu diesem gleich ist....
>das der rote Draht meine beiden Mittelanzapfungen miteinander >vereint,
da der Widerstand von
>jedem Draht zu diesem gleich ist....
Den packt man dann an +12V.
Die anderen 4 Anschlüsse kannst du testweise mit Masse verbinden.
Wenn du das in der richtigen Reihenfolge machst, "dreht" der Motor in
eine Richtung - dreht man die Reihenfolge um, dreht er andersherum.
Der Motor müsste zumindest zucken, wenn du eine Spule bestromst.
Wenn du dann einen NPN-Trasistor in die Leitung zur Masse schaltest,
kannst du mit einem Mikrocontroller diesen schalten und damit die Spule
mit Strom versorgen oder eben nicht. Freilaufdiode nicht vergessen.
meinst Du das in etwa so ???
Bitte nicht schlagen, falls es voll Banane ist :P
Falls da noch Vorwiderstände rein müssen, um den Strom zu begrenzen der
vom uc kommt habe ich da mal welche reingezeichnet, keine Ahnung ob die
dahin müssen....
Nur weiß ich noch nicht wo ich mit der Freilauf Diode hin soll
brauch ich da dann 4 Stck von ??
Muss mal gucken was ich für Dioden hier habe
ähh da hätte ich die 15x 1N 4148
gehen die ??
Nicht ganz!
Der rote Draht deines Motor wird mit (+) verbunden.
Die Emitter der Transistoren kommen direkt an Masse.
Vorwiderstände: 1kOhm vielleicht...
Freilaufdioden: 1N4148 sollten gehen. Die kommen an den Kollektor der
Transistoren (Anode) und die Kathode kommt an (+).
Hast du mal probiert, den Motor ohne Transistoren zu einer Bewegung zu
überreden?
Also so wie in dieser Schaltung ??
Aber wo kommt dann die Leitung von +12V dran ?
AUch einfach an jeden Strang nach der Diode, also zwischen Diode und
Wicklung?
Und GND von der 12V Spannungsquelle wieder mit den ganzen Emittern und
dem GND vom uc verbinden ??
Dann brauch ich wegen der Freilauf Dioden keinen Widerstand mehr
zwischen +12V und Collector, richtig, dafür sind die Dioden doch ?
Hast du dir das Bild auf der Wikipedia-Seite angeguckt?
Bis auf die Polarität der Spannungsquelle ist das der gleiche Aubau,
den du brauchst (es fehlen noch die Freilaufdioden, die du aber nicht
wirklich richtig eingebaut hast).
Hätte ich einen Scanner hier, würde ich dir was malen... hab ich aber
nicht.
Also muss Diode nicht auf die Wicklung sondern an +12V ??
so wie auf dem Bild im Anhang ??
und wohin dann mit den wicklungen ?
kannst du da nicht einfach mit paint oder so reinkritzeln ? :)
Im Prinzip ist zu jeder Wicklung die Diode parallel geschaltet, Anode
und die eine Seite der Wicklung geht an den Kollektor, Kathode und die
andere Seite der Wicklung (ist ja dein gemeinsamer +) an +12V.
Wenn ich bei Google "Freilaufdiode" eingebe, finde ich viele Eniträge
mit Zeichnungen und teilweise auch mit guten Erklärungen der
Funktionsweise.
Wir helfen gern, aber etwas Eigeninitiative kann nicht schaden.
Noch einmal etwas übersichtlicher.
Aber, mess mal den ohmschen Widerstand einer Spule durch, berechne den
Strom durch die Spule unbd suche dir danach die Freilaufdiode aus.
MW
:)
Juhu ich habe es :P
Nun muss ich nur noch rausfinden wleche Leitung welche ist....
aber ich weiss schonmal, das wenn ich abwechselnd an braun und schawrz
12V anlege läuft er im kreis :)
Hallo,
also habe die Schaltung auf meinem Breed-Board aufgebaut und
ein Programm geschrieben, doch leider tut sich da überhaupt nichts mit
dem Stepper..... :(
Kann es daran liegen, das die Widerstände falsch dimensioniert sind,
oder vielleicht weil ich das Programm mit 8MHz durchlaufe und das für
die Wicklungen zu schnell ist ???
Quaöen oder warm werden tut hier nichts, das ist schonmal ein gute
Zeichen...hier das Programm....
=======================================================================
////////////////////////////////////////
//// Include-Teil ////
////////////////////////////////////////
#include <avr/io.h>
#include <stdint.h>
#include <stdlib.h>
//////////////////////////////////////
// Hauptprogramm //
//////////////////////////////////////
void main(void)
{
////////////////////////////////////////
//// Variablendeklarationen ////
////////////////////////////////////////
int Mot_A, Mot_B, Mot_C, Mot_D, Mode;
Mot_A=0;
Mot_B=0;
Mot_C=0;
Mot_D=0;
Mode=0;
////////////////////////////////////////
//// Portbelegungen ///
////////////////////////////////////////
DDRC = 0xff; //Port C als Ausgang definieren
while(1)
{
if(Mode == 0) //Wenn Mode == Half
{
PORTC = 0x03;
PORTC = 0x01;
PORTC = 0x09;
PORTC = 0x08;
PORTC = 0x0C;
PORTC = 0x04;
PORTC = 0x06;
PORTC = 0x02;
}
else //Wenn Mode == FULL
{
PORTC = 0x03;
PORTC = 0x09;
PORTC = 0x0C;
PORTC = 0x06;
}
}
}
=======================================================================
Hallo habe mal nen bisschen rumgemessen....
also von GND zum roten Draht (Mittelanzapfung) messe ich
so um die 15V, aber von GND zu den einzelnen Spulen auch....
aber diese sollten doch eigentlich gegen Masse gezogen werden oder ??
habe bereits eine Verzögerung ins Programm gebastelt, auf der Strecke
Portpin->Basis kann man immer schön messen, wie die Spannung von 5V auf
0V abfällt und das in einem guten zeitlichen Rahmen......
Helfen euch diese Angaben, oder soll ich nochmals woanders rummessen
???
Versuch mal die Ausgangsmuster zu invertieren, immer nur eine Spule
unbestromt lassen, so sind die Teile nurmalerweise ausgelegt. Wenn du
einen Motor mit 2 Spulen und Mittelanzapfungen hast wird er so nicht
laufen, dann ist er Bipolar. Die Mittelanzapfung brauchst du dann
nicht, dann müssen nur die Sulen jeweils umgepolt werden, der Motor hat
dann auch weniger Steps pro Umdrehung.
Was denn nu passiert, war grad was am schreiben und plötzlich postet der
2mal nen alten beitrag von mr ????
hmm egal, also
wenn ich mit den 12V Netzteil direkt immer abwechselnd an
schwarz und braun mit GND verbinde und rot dabei immer an die +12V
halte, dann zuckt er in kleinen schritten im kreis
dafür habe ich dann folgendes programm gebastelt....
====================================================================
#include <avr/io.h>
#include <stdint.h>
#include <stdlib.h>
#include <util/delay.h>
void schlaf(float anz)
{
for(int i = anz; i > 0; i -= 0.25)
{
_delay_ms(250);
}
}
//////////////////////////////////////
// Hauptprogramm //
//////////////////////////////////////
void main(void)
{
////////////////////////////////////////
//// Variablendeklarationen ////
////////////////////////////////////////
int Mot_A, Mot_B, Mot_C, Mot_D, Mode;
Mot_A=0;
Mot_B=0;
Mot_C=0;
Mot_D=0;
Mode=0;
////////////////////////////////////////
//// Portbelegungen ///
////////////////////////////////////////
DDRC = 0xff; //Port C als Ausgang definieren
while(1)
{
if(Mode == 0) //Wenn Mode == Half
{
PORTC = 0x01;
schlaf(50);
PORTC = 0x04;
schlaf(50);
}
else //Wenn Mode == FULL
{
PORTC = 0x03;
PORTC = 0x09;
PORTC = 0x0C;
PORTC = 0x06;
}
}
}
====================================================================
aber trotzdem sind die spulen auch auf 12V gelegt und nicht wie sie
sollten an GND !!
Das Problem liegt also denke ich nicht im Programm, sondern in der
Schaltung, an der Basis liegen abwechselnd ja 0 und +5V an,
das der Transistor eigentlich immer schalten sollte...
habe mal die 12V versorgung abgeklemmt und wenn ich jetzt messen von
GND -> Spule also vor Diode(Anode)
dann mess ich, dass der immer abwechselnd 0V und 5V anliegen hat, aber
sobald ich die +12V dranpapp geht nichts mehr und steht immer bei
15,98V
Also ist doch was in der Schaltung nicht korrekt oder ????