Schrittmotor mit Atmega8/Attiny13 betreiben

OP #2515307
Lesenswert?

Hallo Leute,
nach längerer Bastelpause (was Elektronik betrifft) hab ich endlich mal 
wieder einen kleinen Versuch vor mir. Und zwar möchte ich einen wirklich 
winzigen Schrittmotor zum drehen bekommen. Hab da schon einiges drüber 
gelesen und weiß schon mal, daß ich natürlich einen Treiber benötige. 
Der Schrittmotor selbst ist bipolar (4 Anschlüsse), vom Fabrikat Switec 
und stammt aus einem ausgeschlachteten Golf3-Tacho. Ein genaues 
Datenblatt habe ich leider nicht, ich weiß nur, daß er aus dem 
originalen Tacho mit 5V angesteuert wurde (über PWM mit einer Frequenz 
von ca. 67Hz) und die Spulen einen Widerstand von je 270 Ohm besitzen. 
Wären also 18,5mA für je eine Spule, wenn diese dauerhaft mit einer 
Spannung von 5V betrieben würde. Die Werte für die Frequenz und die 
Spannung habe ich natürlich mit nem Oszi ermittelt, welches ich für 
einige Zeit geliehen bekommen habe.
Möchte zunächst versuchen, den Motor im Vollschritt anzutreiben,
benötige allerdings erstmal nen passenden Tipp für einen möglichst 
kleinen Treiber. Habe da mehrfach schon etwas von L293D gelesen oder 
aber L6203/L6205 und natürlich die Kombination aus L297/L298, welche 
allerdings deutlich überdimensioniert sein dürfte.
Damit wäre mir schon sehr geholfen, werde natürlich weiter fleißig lesen 
und versuchen, mal ne Drehung hinzubekommen.

Danke schon mal :).
Daniel
Gast #2515387
Lesenswert?

Daniel Lo schrieb:
> daß sich ein einzelner Port
> mit
>        20mA belasten lässt

nö. Ein einzelner Pin kann garantiert 20mA treiben. Der maximal 
zulässige Strom liegt sogar bei ca 40 mA, sollte aber kein Dauerzustand 
sein.
Pro Vcc/Gnd-Pärchen sollte aber 200mA nicht überschritten werden.
Daher würde ich sagen, der Motor passt gut an die IO-Pins.
:-)
Gast #2515388
Lesenswert?

Floh schrieb:
> Daniel Lo schrieb:
>> 5V angesteuert wurde (über PWM mit einer Frequenz
>> von ca. 67Hz) und die Spulen einen Widerstand von je 270 Ohm besitzen.
>
> Quick and dirty:
> 4 IO-Pins, einer pro Motorkabel. Der Motor ist ja schön klein dafür.
> :-)

....hast du dich schon mal mit induktiven lasten beschäftigt?
OP #2515402
Lesenswert?

Matthias Sch. schrieb:
> Daniel Lo schrieb:
>> Warum ist der L293D ungeeignet?
>
> Ungeeignet ist vllt. nicht ganz richtig, immerhin hat der L293 4
> Halbbrücken, kann also als Endstufe für den Motor dienen. Er hilft einem
> allerdings kein bisschen beim Vereinfachen der Schaltung und/oder der
> Verringerung der benötigten Pins, was bei nem Tiny sicher interessant
> wäre.

Ah, so hast Du das gemeint. Ok, das hab ich verstanden lach.
Benötige für den L293D 4 Pins des µC, das stimmt. Möchte ja auch erstmal 
nen Überblick bekommen, welche Bausteine da für mich in Frage kommen 
würden, so daß eine dafür geätzte Platine schön klein wird.
Deshalb hatte ich im Titel sowohl den ATmaga8 als auch den Tiny erwähnt.
Gast #2515404
Lesenswert?

olaf schrieb:
> ....hast du dich schon mal mit induktiven lasten beschäftigt?

Szenario:
 Pin 1 ----- Motorspule ------ Pin2

Pin 1 high, Pin2 low:
Strom fließt von Pin1 über Spule zu Pin2

Pin1 wir abgeschaltet (-> beide Pins mit Masse verbunden):
Die Induktivität kann sich über Pin2 -> Masse -> Pin1 entladen.

Sowas wie ein aktiver Freilauf. (Falls ich einen Denkfehler hab, klär 
mich auf :-)
#2515444
Lesenswert?

Hi,

von den genannten Treibern kenne ich aus eigener Erfahrung nur den 
L297/L298. Die anderen kenne ich nur so wage vom stöbern in den 
Datenblättern. Von L297/L298 würde ich dir abraten. Die sind schon zu 
alt und zu ineffizient.
Soweit ich mich erinnere kann der L293D schon als Schrittmotortreiber 
eingesetzt werden, aber nur im Doppelpack (1Treiber-IC pro Spule).
Falls du den Motor nur mit geringen Strömen und inm 
Voll-/Halbschrittbetrieb betreiben willst und der Aufbau dabei auch noch 
möglichst klein sein soll würde ich den Motor auch ohne  Treiber-IC 
ansteuern. Allerdings würde ich ein paar SMD-Transistoren  und ein paar 
Freilaufdioden parallel zu den Spulen spendieren.
Wenn er irgendwann auch Mikroschritte können soll dann schau dich mal 
bei Trinamic um. Die haben richtig coole Treiber in SMD-Bauform. Mit 
denen hab ich auch mal gearbeitet und vom Preis mal abgesehen sind die 
Dinger nur empfehlenswert.

lg
michael
Gast #2515456
Lesenswert?

Floh schrieb:
> olaf schrieb:
>> ....hast du dich schon mal mit induktiven lasten beschäftigt?
>
> Szenario:
>  Pin 1 ----- Motorspule ------ Pin2
>
> Pin 1 high, Pin2 low:
> Strom fließt von Pin1 über Spule zu Pin2
>
> Pin1 wir abgeschaltet (-> beide Pins mit Masse verbunden):
> Die Induktivität kann sich über Pin2 -> Masse -> Pin1 entladen.
>
> Sowas wie ein aktiver Freilauf. (Falls ich einen Denkfehler hab, klär
> mich auf :-)

....wie.sieht es aus, wenn etwas schneller geschaltet wird?
Gast #2515462
Lesenswert?

Bitte bitte: nie den Schrittmotor direkt an die Pins vom µC! Da sind 
induktive Lasten!

Der L293/L293d müsste super geeignet sein... er liefert pro Phase 
1000/600mA was für einen kleinen SM genügen sollte. Die Version ohne d 
hat keine eingebauten Freilaufdioden - die müsste man ggf. noch 
anklemmen - oder man nimmt gleich die d Version.

Im Datenblatt der L293d ist auf Seite 8 übrigends der Schaltplan zum 
ansteuern deines SM aufgezeichnet. Also falls dein SM jetzt nicht ein 
riesen Teil ist sollte das kein Grund sein es nicht zu probieren. Falls 
er zu wenig Dampf hat kann man immernoch seinen großen Bruden L297 
nehmen.

Ohne Werten zu wollen: Manche Chinesen verwenden sogar einen ULN2003 für 
SMen...
Gast #2515554
Lesenswert?

Hi

>Bitte bitte: nie den Schrittmotor direkt an die Pins vom µC! Da sind
>induktive Lasten!

Praktisch ausprobiert oder Theorie?

Der L293 ist keine sonderlich guter Vorschlag. Da bleiben für den Motor 
ca. 3,5V übrig.

>Ohne Werten zu wollen: Manche Chinesen verwenden sogar einen ULN2003 für
>SMen...

Klar. Besonders für die bipolaren Schrittmotoren.

MfG Spess
Gast #2515591
Lesenswert?

spess53 schrieb:
>>Bitte bitte: nie den Schrittmotor direkt an die Pins vom µC! Da sind
>>induktive Lasten!
>
> Praktisch ausprobiert oder Theorie?

Ich gebe zu nur Theorie - lasse mich da auch gerne eines besseren 
belehren ;-)

Beim überfliegen habe ich erst jetzt gelesen, das der SM nur 18,5mA 
haben möchte - okay, mit Dioden dran "könnte" es funktionieren... mir 
streuben sich trotzdem die Haare...

> Der L293 ist keine sonderlich guter Vorschlag. Da bleiben für den Motor
> ca. 3,5V übrig.

Falls man nur 5V reingibt ;-)
Aber bei diesem Minimotor muss ich hinsichtlich dem 293er auch 
zurückrudern - der ist doch etwas zu hoch gegriffen...
OP #2515600
Lesenswert?

Danke erst einmal für die vielen schnellen Antworten!.
Hab schon gelesen, daß der ULN2003 sich nur für unipolare Schrittmotoren 
eignet weil bei geschaltetem Ausgang wohl nur das Potential auf Masse 
gezogen wird.
Aber nochmal zum L293D. An diesem kann doch an Vs die Spannung angelegt 
werden, die dann hinterher der Motor bekommt oder nicht? Hätte ja noch 
eine Spannung von 12V zur Verfügung, da ich ja sowieso mit 12V die 
gesamte Schaltung einspeisen würde.
Was wäre mit dem genannten L6203? Es gibt ja mit Sicherheit auch noch 
andere Alternativen, was Schrittmotortreiber angeht...
Kenne mich da halt noch nicht wirklich aus.
OP #2517112
Lesenswert?

So, habe mal über nen Shunt (1 Ohm) die Ströme gemessen, die sich bei 
der normalen Ansteuerung ergeben haben. Der Verlauf zeigte eine recht 
schöne Sinuskurve ohne diesen wellenartigen Verlauf, den ich bei 
Oszillogrammen mit Chopper-Betrieb gesehen habe. Stromregelung scheint 
also hier nicht vorhanden gewesen zu sein. Die Maximalströme lagen 
abgelesen bei ungefähr 20mA.
Werde noch ein wenig weiter nach passenden Bausteinen suchen, im Moment 
nehme ich den L293D jedoch in die engere Auswahl, da dieser außerdem 
leicht zu beschaffen ist. Wie läuft das beim L293D eigentlich mit der 
Versorgungsspannung für die Spulen? Wenn ich an Vs meine 5V anlege, 
bleiben mir wie schon vorher hier geschrieben nur noch ca. 3,5V davon 
übrig. Müsste dann ja quasi eine Spannungsversorgung von 7V zur 
Verfügung stellen, da der L293D ja keine Strombegrenzung hat oder?
Gast #2517190
Lesenswert?

Hi

>Also der L293D ist super für sowas, kann im Vollschritt sogar nur mit 2
>Pins betrieben werden. Man muss je ein Eingang des L293D dafür
>Invertieren. Schaltungen sind auf Google.

Das man die Teile billig von Pollin hinterher geworfen bekommt macht sie 
noch lange nicht 'super'. Abgesehen von den erzeugten Verlusten sind die 
Dinger für eine vernünftige Schrittmotorsteuerung ungeeignet.

MfG Spess
#2517678
Lesenswert?

Michael N. schrieb:
> Wenn er irgendwann auch Mikroschritte können soll dann schau dich mal
> bei Trinamic um. Die haben richtig coole Treiber in SMD-Bauform. Mit
> denen hab ich auch mal gearbeitet und vom Preis mal abgesehen sind die
> Dinger nur empfehlenswert.

Full ACK!

Das sollte mit einem TMC222SI zu meistern sein. Kostet zwar ca. 11€ bei 
Rei**elt, dafür könntest du den per I2C mit dem anvisierten Tiny13 
ansteuern.

Hatte vor einigen Jahren mal versucht das Datasheet auf deutsch zu 
übersetzen. Siehe
Beitrag "Re: Trinamic TMC222"

Gruß Steffen
OP #2517775
Lesenswert?

Also Mikroschritte habe ich erstmal nicht vor, will selbst erstmal 
Vollschritt und vielleicht höchstens noch Halbschritt probieren und das 
ganze ist für mich ja sowieso ein Einstieg.
Kann mir vielleicht noch jemand sagen, wie ich es schaffen würde, beim 
L293D den Motor strommäßig nicht zu überlasten? Habe ja nur die 5V (max. 
100mA über Spannungsregler LP2950) sowie die 12V als Spannungsversorgung 
zur Verfügung. Müsste ich dann noch eine dritte Spannung (z.B. über 
LM317t) von ca. 7V zur Verfügung stellen, die ich dann an Vs des L293D 
anlege?
(Firma: mechapro GmbH) Persönliche Seite #2519483
Lesenswert?

Also so einen Motor mit einem Mikroschritt-Treiber von Trinamic 
anzusteuern ist absoluter Overkill. Für Mikroschritt sind diese Motoren 
ohnehin nicht gemacht.

Man kann den tatsächlich einfach an einen Portpin hängen. Wenn einem das 
zu heikel ist, braucht man eine H-Brücke oder zumindest ein paar NPN und 
PNP-Transistoren. L293 und L298 sind insofern nicht optimal, weil bei 
denen intern relativ viel Spannung abfällt. Und der L6201/L6203 ist zu 
teuer. Der A3959 wäre eine Alternative, ich weiß aber nicht, wo man den 
als Endkunde bekommt. Ich müsste mal schauen, ob ich noch welche in DIP 
Bauform rumliegen habe.

Mit freundlichen Grüßen
Thorsten Ostermann
OP #2535914
Lesenswert?

So Leute, hab in Zwischenzeit selber mal n bissl getestet und mir 
einfach mal nen L293D bestellt. Damit ließ sich der Schrittmotor auch 
versuchshalber über das MyAVR-Board recht leicht ansteuern. Auch der 
Parallelbetrieb von zwei Schrittmotoren hat funktioniert, genauso wie 
Richtungsumkehr.
Hab hier allerings gelesen, daß Schrittmotoren leiser laufen sollen, 
wenn sie im Halbschritt- oder gar im Mikroschrittbetrieb angesteuert 
werden.
Kann dazu jemand etwas sagen?
Steuere ja momentan im Vollschrittbetrieb an und empfinde das 
Arbeitsgeräusch der Motoren relativ laut.
Lohnt es sich also, nochmals zu investieren und den ganzen Versuch 
vielleicht nochmal mit nem anderen Baustein zu fahren?
Achja, wieviel Geschwindigkeit wird in etwa eingebüßt, wenn anstatt des 
jetzigen Vollschrittbetriebes der Halb- oder Mikroschritt verwendet 
wird?
Danke Euch schon mal für Eure Tipps :-).

Allen eine gute N8.
Daniel
Gast #2535931
Lesenswert?

Daniel Lo schrieb:
> Achja, wieviel Geschwindigkeit wird in etwa eingebüßt, wenn anstatt des
> jetzigen Vollschrittbetriebes der Halb- oder Mikroschritt verwendet
> wird?

Warum sollte das zu Geschwindigkeitseinbußen führen? Im Wesentlichen 
sind die Phasensignale nur zeitlich feiner aufgeteilt..
Gast #2535948
Lesenswert?

Mit einem A3967 kannst du bis 1/16 Schrittbetrieb machen. Der Treiber 
kümmert sich im Gegensatz zum L293D auch um die Stromregelung, ohne die 
du nicht auf höhere Schrittfrequenzen kommst, sobald der Motor etwas 
Drehmoment abgeben muß.
OP #2535954
Lesenswert?

Also viel Drehmoment werde ich nicht benötigen denke ich, der Motor 
treibt ja nur nen Zeiger an. Wäre nur noch froh, den Motor ein wenig 
leiser zu bekommen. Habe jetzt auch mal Halbschritt ausprobiert und von 
der Geräuschentwicklung der Motoren hat sich da nichts (merklich) 
geändert.
Hab mir einfach auch mal den A3967 angesehen... Diesen gibt's nicht als 
DIP-Version oder? Am einfachsten wäre für meine Zwecke eine DIP-Version, 
da ich nicht die Möglichkeit habe, SMD-Bauteile zu verlöten.

Beste Grüße :-).
Daniel
Gast #2535965
Lesenswert?

Daniel Lo schrieb:
> Am einfachsten wäre für meine Zwecke eine DIP-Version,
> da ich nicht die Möglichkeit habe, SMD-Bauteile zu verlöten.

SMD zu verlöten ist eigentlich kein Problem. Du läßt auf der Platine die 
Löcher weg und lötest die Bauteile direkt auf die Leiterbahnen ;-)
Vorteil von SMD ist, dass du alle Beine in einem Rutsch anlöten kannst 
und nicht jeden Pin einzeln. Viel Flußmittel ist das "Geheimnis".
http://www.youtube.com/watch?v=erb6-i54tbo

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