Forum: Mikrocontroller und Digitale Elektronik AVR - Bipol.-Schrittmotor an eigener Schaltung - Problem


von Stefan R. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo! :-)

Ich hab ein Projektchen: Einen bipolaren Schrittmotor mit zwei 
Brückenschaltungen anzusteuern.
Ich will auch keine Fertig-Ansteuer-ICs kaufen, sondern vorher erstmal 
die Motörchen so wie sie sind kennenlernen.
Jeder der zwei Spulen "gehört" eine Brückenschaltung. Gesteuert wird 
alles von einem AVR (ATTiny2313).
------------------------------------------------------------------------ 
--

Damit eine Phase ein "+" annehmen kann, muss ein PNP-Transistor in der 
oberen Brückenhälfte schalten. Für ein "-" eben ein NPN-Transistor.

Wie man die richtig einsetzt, hab ich bei euch nachgelesen: PNPs sind 
"scharf" auf Masse, NPNs sind "scharf" auf alles größergleich ~0,7V.

Damit die PNPler vom AVR einfach mit "High" angesteuert werden können, 
schicke ich zuerst das Signal durch einen Inverter (74LS04).
Dann erst kriegen es die PNPler "AVR schickt high -> PNP bekommt low".

Die Signale der NPN-Transistoren schicke ich auch zuerst durch zwei 
hinternandergeschaltene Inverter "AVR schickt high -> wird low -> 
Transistor bekommt high".

Das Zwei-Inverster-Spielchen ist dafür da, dass im Fehlerfall der AVR 
nicht gleich volle Betriebsspannung abkriegt, sondern erst mal evtl. der 
Inverter.

Bis jetzt funktioniert alles wunderbar. Wenn die Motor-Brücken und der 
AVR an 5 Volt liegen, dreht sich der Schrittmotor so, wie er soll.
Wenn ich aber die Brücken von 5V an 12V lege, steigt der Strom stark an. 
Von ca. 100mA auf >1A. Warm wird es auch... :-/

Schnell wieder auf 5 Volt zurück und scheinbar alles OK. Komisch.
------------------------------------------------------------------------ 
--

Was mache ich falsch?
Gibt es eine Möglichkeit, die Brücken mit Spannungen >5 Volt laufen zu 
lassen, ohne die ganze Schaltung zerpflücken zu müssen?

Der Schaltplan von einer der Brücke ist als Anhang dabei. Schauts euch 
mal an.

Ich bin dankbar für alle Antworten ;-)

Gruß, Stefan Riepl

von Falk B. (falk)


Lesenswert?

@ Stefan R. (Gast)

>Ich hab ein Projektchen: Einen bipolaren Schrittmotor mit zwei
>Brückenschaltungen anzusteuern.

Wie schön.

>Ich will auch keine Fertig-Ansteuer-ICs kaufen, sondern vorher erstmal
>die Motörchen so wie sie sind kennenlernen.

???
Und dazu willst du das Rad neu erfinden? Tu dir einen Gefallen, nimm 
einen L298 oder L293.

>Damit eine Phase ein "+" annehmen kann, muss ein PNP-Transistor in der
>oberen Brückenhälfte schalten. Für ein "-" eben ein NPN-Transistor.

>Wie man die richtig einsetzt, hab ich bei euch nachgelesen: PNPs sind
>"scharf" auf Masse, NPNs sind "scharf" auf alles größergleich ~0,7V.

Naja, stark vereinfacht.

>Das Zwei-Inverster-Spielchen ist dafür da, dass im Fehlerfall der AVR
>nicht gleich volle Betriebsspannung abkriegt, sondern erst mal evtl. der
>Inverter.

Die Betriebsspannung bekommt er sowieso ab, 5V. Tut ihm nicht weh.

>Bis jetzt funktioniert alles wunderbar. Wenn die Motor-Brücken und der
>AVR an 5 Volt liegen, dreht sich der Schrittmotor so, wie er soll.
>Wenn ich aber die Brücken von 5V an 12V lege, steigt der Strom stark an.
>Von ca. 100mA auf >1A. Warm wird es auch... :-/

Tja, weil deine tolle Brückenschaltung alles andere als für 12v geeignet 
ist. Dazu musst du nämlich die PNPs mit einem Pegelwandler 
ansteuern. Ausserdem sollte man sicherstellen, dass im Umschaltmoment 
nicht PNP und NPN gleichzeitig leiten, das gibt hässliche Pulsströme.

>Was mache ich falsch?

Siehe oben.

>Gibt es eine Möglichkeit, die Brücken mit Spannungen >5 Volt laufen zu
>lassen, ohne die ganze Schaltung zerpflücken zu müssen?

Ja, nimm nen L293.

MfG
Falk

von Johannes M. (johnny-m)


Lesenswert?

Überleg mal: Die Emitter-Basis-Diode der pnp-Transistoren ist in 
Durchlassrichtung gepolt. Das bedeutet erstens, dass wenn der 
entsprechende LS04 die Basis auf Masse zieht, ein viel zu großer 
Basisstrom fließt ((12 V - 0,7 V) / 330 Ohm = ca. 35 mA). Das mag der 
LS04 nicht wirklich (und der BC327 auch nicht...).

Außerdem mag der LS04 es nicht, wenn an seinem Ausgang über besagte 
Emitter-Basis-Diode 12 V angelegt werden, da er selbst nur 5 V mag.

Warum nimmst Du keinen fertigen Treiber wie den L293 oder L298?

von Gast (Gast)


Lesenswert?

>Was mache ich falsch?

Du versuchst eine 5V-Schaltung mit 12V zu betreiben.

>Ich bin dankbar für alle Antworten ;-)

Nimm einen geeigneten Baustein, der mit 5V-Signalen angesteuert wird und 
dennoch mit 12V den Motor betreiben kann. Dabei kannst Du noch genug 
lernen. z.B. L293D

von Sebastian (Gast)


Lesenswert?

Vermutung: Pegelproblem. Dadurch, daß die Schaltung mit 12 Volt läuft, 
tut das der AVR noch lange nicht. Wenn doch, dann auf jeden Fall nicht 
lange. Und genau hier liegt der Fehler: Wenn der mit 5 Volt laufende AVR 
auf einen Ausgang "H"-Pegel gibt, sind das knapp unter 5 Volt. Ein an 5 
Volt versorgter PNP-Transistor wird davon nicht durchgeschaltet. Ein an 
12 Volt betriebener schon. (Spannungsdifferenz Basis-Emitter)

von holger (Gast)


Lesenswert?

>Außerdem mag der LS04 es nicht, wenn an seinem Ausgang über besagte
>Emitter-Basis-Diode 12 V angelegt werden, da er selbst nur 5 V mag.

An der Stelle könnte es ein 74LS06 tun.

Deine oberen Transistoren werden mit dem 74LS04 bei
12V nie gesperrt. Der 74LS04 geht bei high auf 5V.
Am Emitter sind aber 12V. D.h. es fließt immer ein Basisstrom
und der BC327 ist immer leitend.
Wenn du dann die unteren Transistoren einschaltest fließt ein
ziemlich hoher Querstrom durch die Transistoren.

von Stefan R. (Gast)


Lesenswert?

Hallo!

Ok. Erstmal danke für eure Meinungen.

Jetzt werde ich Pegelwandler benutzen.

Zu dem Thema:
> Du versuchst eine 5V-Schaltung mit 12V zu betreiben.
Nein, ich lege nur die Brücken an 12V. Der AVR und die Inverter liegen 
immer an 5V.

Und ich baue das Dingens ganz bewusst diskret auf:

Fertige Bausteine will ich mit Absicht nicht benutzen.
Ich -will- "das Rad" neu erfinden.
Bei der Schaltung soll der Motor bewusst -ohne- All-in-one-ICs 
auskommen. Ende. Da mach ich mir halt mal die Mühe und löte 8 Transen 
auf ne Lochrasterplatine. Das Programm ist auch schnell geschrieben.

Ich will am Anfang einfach "richtige" Erfahrungen mit Schrittmotoren 
sammeln und nicht blos "hirnlos" Schritt-Impulse an irgendwelche 
Motortreiber schicken.
Das kann dann ruhig später kommen.

Meine Devise: Do-It-Yourself.

Danke trotzdem.

Stefan

von holger (Gast)


Lesenswert?

>Jetzt werde ich Pegelwandler benutzen.
>Da mach ich mir halt mal die Mühe und löte 8 Transen
>auf ne Lochrasterplatine.

Pegelwandler brauchst du nur für die oberen beiden
Transistoren. Beim BC337 geht das so ok. Die
1N4148 solltest du aber mal durch 1A Schottkydioden
ersetzen.

von Johannes M. (johnny-m)


Lesenswert?

BTW:
Wenn Du die Spannung einfach so erhöhen willst, dann wirst Du vermutlich 
eine Strombegrenzung brauchen. Sonst raucht Dir der Motor irgendwann ab 
(bzw. vorher wahrscheinlich die Transistoren, die ja nur 500 mA können). 
Die meisten Schrittmotoren ziehen bei 12 V bereits viel zu viel 
Phasenstrom.

von Stefan R. (Gast)


Lesenswert?

Hallo nochmal! ;-)

>Jetzt werde ich Pegelwandler benutzen.
Klar -nur- für die PNP-Transen.

>Da mach ich mir halt mal die Mühe und löte 8 Transen
>auf ne Lochrasterplatine.
Damit waren die mit der Last beschäftigten Transistoren der Brücken 
gemeint.

>1N4148 solltest du aber mal durch 1A Schottkydioden ersetzen.
Wow, warum denn gleich Schottkydioden? Die 1N4148er sind doch eigentlich 
schnell genug? (Wenn ich mich nicht irre, haben die ne Reaktionszeit von 
wenigen ns?)

Stefan

von Johannes M. (johnny-m)


Lesenswert?

Stefan R. wrote:
Die 1N4148 sind aber für eine derartige Last zu klein. Das werden die 
nicht lange mitmachen, v.a. dann nicht, wenn Du mal höhere 
Schrittfrequenzen fahren willst.

von Stefan R. (Gast)


Lesenswert?

Ok, alles klar.
Dann weiß ich, was noch verbessert werden sollte.
Herzlichen Dank an alle! ^^

Stefan

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.