Forum: Mikrocontroller und Digitale Elektronik motor/servosteuerung ??


von Steffi (Gast)


Lesenswert?

hi,
hab nen mikrocontrollerboard mit nem atmega16 chip drauf, und wollte
wissen, mit welcher motor/servosteuerung ihr so gute erfahrungen
gemacht habt ??ob ihr mir was spezielles (vielleicht auch preiswertes)
empfehlen könnt

danke und
liebe grüße,
steffi

von Roland (Gast)


Lesenswert?

Hee? Was´n das für ´ne Frage..
Wie wär´s denn mit einer präzisen Fragestellung?

von Steffi (Gast)


Lesenswert?

Also nochmal extra für Dich,
hab ein Board mit nem ATMega16 Mikrocontroller und einige
Motoren 4 Motoren mit 5V und vier mit 12V, es handelt sich dabei nicjt
um schrittmotoren !
welche Motorsteuerungen könnt ihr mir empfehlen, damit ich die motoren
mit meinem Mikrocontroller ansteuern kann ?? gibt es da welche bei
irgendwelchen elektronikversandläden ??

zweite frage:
habe noch einen 12V Schrittmotor aus meinem alten scanner,
welche schrittmotoransteuermodule könnt ihr mir dafür empfehlen ??

von Hannes L. (hannes)


Lesenswert?

Es kommt darauf an, was die Motoren tun sollen, also wieviel Strom sie
aufnehmen, ob sie auch rückwärts laufen müssen, ob sie in der Drehzahl
gesteuert oder gar geregelt werden müssen usw. Es kann sein, dass ein
Transistor reicht, es kann aber auch komplexer werden.
Informiere dich mal über H-Brücke...

Beim Schrittmotor kommt es auch darauf an, was er tun soll.
Soll er sich nur drehen (und nix mechanisch antreiben), dann genügen 4
Transistoren oder ein ULN2003 (ULN2803). Willst du maximales
Drehmoment, Drehzahl und Genauigkeit, dann solltest du mal bei Trinamic
vorbei schaun.

...

von Rahul (Gast)


Lesenswert?

Es bieten sich integrierte H-Brücken wie L6203 (oder so ähnlich) an.
Dann liegt es an deinen Programmierkünsten, sie laufen zu lassen.
Für die Schrittmotoren gibt es die Möglichkeit, die Kombination L296
und L298 zu nehmen, 2 H-Brücken (bzw. nur Transistoren bei unipolarem
Schrittmotor) oder Chips von Trinamic zu benutzen.
Dabi gehe ich davon aus, dass du die Motoren auch umkehren willst.
Sonst reichen "popelige" Leistungstransitoren.
Aber eigentlich gibt es zu solchen Fragen schon eine Menge Antworten
hier im Forum.

von Steffi (Gast)


Lesenswert?

also die normalen motoren sind für den antrieb, sollen logischerweise
vorwärts und rückwärts laufen (natürlich getrennt)
der schrittmotor dient zur steuerung einer kamera, soll natürlich auch
in beide richtungen drehbar sein, was ne H-Brücke ist weiß ich, habe
ich was in der C't drüber gelesen
stromaufnahme weiss ich nichts von den motoren,
habe keine datenblätter, müsste versuchen, das irgendwie durch messen
rausfinden...

von Rahul (Gast)


Lesenswert?

@Hannes: Schrittmotor ausm Scanner, könnte auch bipolar sein...

Für solche Sachen empfehle ich gerne das "Handbuch für
Kleinantriebe"... Gibt es in Büchereien oder für ca. 50Euro im
Buchladen...

von Steffi (Gast)


Lesenswert?

Habe da Was bei Reichelt.de gefunden, wäre der denn schon für meinen
Schrittmotor geeignet ??
was sagt ihr dazu ?? der sieht mir aber nach nem smd chip aus, und
woher bekomme ich dan die schaltpläne, wie ich das teil anschliessen
und ansteuern muss (soll ja mit meinem uc verbunden werden können )
.... ???

TMC 428-DI20  Schrittmotor-Controller DIL-20

Mit integrierter Rampenerzeugung und automatischer Positionierung für
bis zu 3 TMC-Schrittmotor-Treiber

· automatische Positioniereinheit
· integrierter Rampengenerator (linear)
· steuert bis zu 3 TMC-Schrittmotortreiber
· 64-fach µStepping mit programmierbaren Wellenformen
· 3 Referenzschalter-Eingänge
· alle Parameter im Betrieb veränderbar
· SPI-Interface zum µC
· SPI-Interface zu den Treibern
· dynamische (beschleunigungs-abhängige) Stromsteuerung (3 Stufen)
· bis zu 20 kHz Schrittfrequenz
· 3 Gehäusetypen verfügbar
· passend zu TMC236, TMC246, TMC239, TMC249

Hersteller: TRINAMIC
Artikelnummer des Herstellers: TMC 428-DI20

von Hannes L. (hannes)


Lesenswert?

Zu dem Artikel wird doch ein Datenblatt angeboten, hast du das schon
gelesen?

http://www.reichelt.de/inhalt.html?SID=12QWGOKdS4AQwAACAt8ZYcd547d2f82d47d1894f66799bbf1c0ac;ACTION=7;LASTACTION=6;SORT=artikel.artnr;GRUPPE=C39;WG=0;SUCHE=TMC%20428-DI20;ARTIKEL=TMC%2520428-DI20;START=0;END=16;STATIC=0;FC=669;PROVID=0;TITEL=0;DATASHEETSEARCH=TMC%20428-DI20;FOLDER=C300;FILE=TMC428%2523TRI.pdf;DOWNLOADTYP=1;DATASHEETAUTO=;OPEN=0

Ansonsten mal bei Trinamic nachfragen. Hier war mal ein
Trinamic-Mitarbeiter an einer Diskussion beteiligt, der auf kompetente
Beratung (auch von Bastlern) bei Trinamic hingewiesen hat.

...

von Steffi (Gast)


Lesenswert?

ja stimmt hab gesehen, aber was sind das alles für anschlüsse auf der
linken seite der figure2 da wo uc steht:
da sind folgende:
SCK
MISO
MOSI
SS(not)
CLK

sind das einfach irgendwelche ports meines uc's ??
und dann noch was, auf der rechten seite, also in der mitte ist dann
mein 428-DI20 chip und bevor das auf den steppermotor geht ist da noch
so ein Driver w/o SDO, was soll das wieder sein ?? gibts das auch bei
reichelt.de ??

von Rahul (Gast)


Lesenswert?

Guck mal unter "serial periferal interface" im "Complete Datasheet"
deines Controllers nach.

von Steffi (Gast)


Lesenswert?

Hi nun steht da unter figure2 folgender text:
The maximum SPI data rate is the clock frequency divided by 16. The
maximum step frequency depends on the total length of the datagrams
sent to the SPI stepper motor driver chain. At a clock frequency of 16
MHz, with a daisy chain of three SPI stepper motor drivers of 16 bit
datagram length each, the maximum full step frequency is 16 MHz  16 
( 3 * 16 ) which is approximately 20 kHz. But, the microstep

         rate may be higher, even if the stepper motor driver does not
see all microsteps due to SPI data rate limit, as long as the number of
skipped microsteps is less than a full step. In this respect, one should
remember, that at high step rates– respectively pulse rates –the
differences between microstepping and full step excitation
vanishes....blablabla

heißt das nun, das ich meinen mikrocontroller mit 16MHz laufen lassen
muss ?er läuft im moment nämlich nur mit 8MHz, weiß auch nicht, wie ich
den hochtakten könnte, denn mehr kriege ich mit den fusebits nicht
hin....

von Winfried (Gast)


Lesenswert?

8MHz sollten reichen. Kommt halt drauf an, wie du ansteuerst, ob du
Mikrostep brauchst, wie schnell der Schrittmotor laufen soll. Außerdem
gibst du ja, wenn ich es richtig verstanden habe, Fahrbefehle via SPI
an den Controller. Da brauchst du kaum Rechenleistung für, insofern
deine Wegstrecken nicht zu kurz sind, die du fährst.

von Steffi (Gast)


Lesenswert?

kann ich das denn dann so wie hier steht verkabeln, wenn ich die
bausteine L297 und L298 nehme...
http://www.roboternetz.de/bilder/schaltungstep298.gif
weil mein schrittmotor ja 12v bruacht

von Rahul (Gast)


Lesenswert?

Bis auf die falsche Bezeichnung des L297 (ich hatte ihn L296 genannt),
kam der Vorschlag schon weiter oben...
Ja, es geht! Die Bausteine sind dafür vorgesehen.

von Tobi (Gast)


Lesenswert?

Hallo Steffi,

da ich jetzt nicht genau nachvollziehen konnte was Du eigentlich machen
möchtest (hast Dus eigentlich gesagt??) versuche ich mal einige Fragen
zu beantworten:

Messen der maximalen Stromaufnahe:
Keine Ahnung was Du machst, aber wenn Deine Motoren in "Block" gehen,
ziehen sie am meisten Strom. Also wenn möglich dieses Szenario Testen.
Wenn möglich sonst noch mit versch. Belastungen. Dabei natürlich immer
Strom messen.

Zum SPI (serial periferal interface)

SCK
MISO
MOSI
CLK

Diese PINs sind an Deinem µC auch vorhanden und im Datenblatt
ausgewiesen.

Zum L297

Das ist nur ein Controller und kein Treiber.
Datenblatt lesen!

Zu H - Brücken

Gibt es unmengen. Einfach mal selbst suchen. Kann glaube ich auch nicht
schaden, sich mal selbst mit seinen Problemen zu beschäftigen.
On Du das auch so verdrahten kannst? - Wenn der L298 12V kann, dann ja.
Im Datenblatt zum L297 werden sogar 36V verwendet (Gleich auf der ersten
Seite)!!!!

Zum Gehäuse des TMC428

DIL20 ist THT. Ein Blick ins Datenblatt löst so manches Problem.

von Rahul (Gast)


Lesenswert?

Die Dinger werden auch gerne mit höheren Spannungen betrieben, da sich
der Motor dadurch schneller bewegt.
Guck mal bei fertigen (professionellen) Schrittmotorsteuerungen: Die
verwenden noch grössere Spannungen.
Dann wird nämlich der Chopper-Betrieb richtig interessant...

von Andreas Lang (andreas) (Gast)


Lesenswert?

Die Schaltung mit den L29x geht bestens. Man sollte aber auf den RC-Oszi
llator beim L297 verzichten und dort über den SYNC-Eingang ein sauberes
Rechtecksignal von ca. 20kHz reinführen (die Geräusche sind sonst
ultranervig). Da dein Schrittmotor aber nur eine Kamera drehen soll
(also nichts extrem Leistungsintensives) kannst du wahrscheinlich auch
ganz ohne den L297er auskommen. Auch sollte hier schon eine viel
kleinere H-Brücke reichen. Die Motoren aus den Scannern sind meistens
unipolar, weil da die Ansteuerung wehniger kostet und die Motoren keine
extrem hohe Leistung bringen müssen. Hier ist oft wirklich nur ein ULN
drin, der dann zum Teil auch gleich noch die Leuchtstoffröhre
schaltet.
Wenn du mit dem L297er oder mit einem ULN arbeiten möchtest, kann ich
gerne mal einen Schrittmotortreibercode posten, der Anfahr und
Bremsrampen und all das Gedöhnz kann. Well der Motor besonders
gleichmäßig laufen soll, kann ich auch einen Microstep-Treiber posten
(geht mit ULN2003 oder L298). Am besten ist es, wenn man den
Schrittmotorcode in einen Timerinterrupt packt (evtl mit weiteren
Timingfunktionen). Dann gibt man bloß noch an, wieviele Schritte der
Motor fahren soll oder gibt auch einfach eine Position an und der Motor
fährt dorthin, ohne, dass man sich noch groß drum kümmern bräuchte.

von Winfried (Gast)


Lesenswert?

Fertige Schrittmotorsteuerungen findest du auch hier:

http://www.nc-step.de/

von Steffi (Gast)


Lesenswert?

das st nen gan feines gerät, aber ich wollte dann doch lieber löten....
kann ch denn d L297und L29 Bauteine für meine3n 12v schrittmotor nehmen
??

von Andreas Lang (andreas) (Gast)


Lesenswert?

jup, geht prima.
Wenn er 6 Drähte hat dann ist er für gewöhnlich unipolar, bei bipolaren
sinds 4.
Wenn erunipolar ist, geht's noch einfacher.

von Steffi (Gast)


Lesenswert?

Oh,
vielen Dank für eure ganzen Antworten....
@ Andreas Lang:
"Am besten ist es, wenn man den
Schrittmotorcode in einen Timerinterrupt packt (evtl mit weiteren
Timingfunktionen). Dann gibt man bloß noch an, wieviele Schritte der
Motor fahren soll oder gibt auch einfach eine Position an und der
Motor
fährt dorthin, ohne, dass man sich noch groß drum kümmern bräuchte."

das wäre echt sehr nett, wenn du den beispielcode posten könntest,
letztendlich wollte ich es eh so machen, das ich nur die schrittanzahl
angebe, oder das mittels einer funktion irgendwie steuer...

also ich bestell mir heut abend mal die L297 und L298,
was brauch ich denn sonst noch so, fehlt noch was, muss ja auf meinen
10€ bestellwert kommen

von Hannes L. (hannes)


Lesenswert?

Eine Primitiv-Version (zum Analysieren und Ideen holen) findest du
hier:
http://www.mikrocontroller.net/forum/read-1-294848.html#314856

...

von Steffi (Gast)


Lesenswert?

sieht ja schonmal ganz nett aus, aber assembler kann ich leider nicht.
programmiere in der umgebung mit winavr, programmers notepad und
ponyprog
kennt jemand gute c-beispiele ???

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.