Hallo Zusammen
Habe mir bei Nanotec den Schrittmotor L35 geholt und Steuer in über den
Big Easy Driver und Adruino AFStepper an. Leider ist das Ergebniß nicht
gut. Der Schrittmotor hört sich furchtbar an und kommt nur auf circa 60
u/min.. Für mein Projekt sollten es mindestens 500 u / min
sein was, bei er Spindel grob einen Vorschub von 50 mm pro Sekunde sein
sollte. Laut Datenblatt kann der Schrittmor sogar 100mm/s bei 48 V mit
dem Big Easy Driver sollte das doch möglich sein bri 33 V auf die 50 mm
zu kommen ?. Wenn ich das Strom - Einstell Poti bei etwa 0,5 A
( Anzeige Nezteil) hab fängt der Schrittmor schon zum aussetzen ein bei
niedrigen Drehzahlen
Schrittmotor:
Ich habe mir von Nanotec den L 35 gekauft bei 1,2 A bis 48 V sollen
100 m /s möglich sein ( Datenblatt)
http://de.nanotec.com/linearaktuator_L35.html
Treiber:
BIG Easy Driver http://www.schmalzhaus.com/BigEasyDriver/
Allegro A4988 Chip
0-2 A 0-30 V
uC:
Netzteil:
So ein Digital Ding mit 0-33V @ 6 A
Fehler Qelle ?
Kommunikation PC -> Arduino 9600 Baud zu langsam ?
Schitte/ Umdrehung 200, richtig ?
Du haust aber die Einheiten ganz schön durcheinander!
Mal sind es Meter/Sekunde, dann wieder Millimeter/Sekunde.
Was du jetzt genau brauchst, kann ich dir nicht sagen.
Ich kann dir nur sagen, was der Motor laut Datenblatt kann:
100 Millimeter pro Sekunde maximaler Vorschub bei 48 Volt. Der Motor
schafft also maximal 50 Umdrehungen pro Sekunde (bei 48 V)
>Fehler Qelle ?
Hast du schon selber angegeben:
>Treiber:> Allegro A4988 Chip>0-2 A 0- 30 V
>mit 30 V auf 1,2 A sollten man wenigsten auf 25 u/s kommen ?
Keine Ahnung, dazu lässt sich das Datenblatt nicht aus.
Wie steuerst du den Motor denn an? Fullstep, Microstep?
Und wie reagiert er, wenn du langsam von Null die Geschwindigkeit
erhöhst?
Raph schrieb:> Wenn ich das Strom - Einstell Poti bei etwa 0,5 A> ( Anzeige Nezteil) hab fängt der Schrittmor schon zum aussetzen ein bei> niedrigen Drehzahlen
- Was soll der Satz heißen?
- 0,5A von oben oder von unten?
- Fährst du zum Beschleunigen saubere Rampen?
MAN - schreib doch mal vernünftiges Deutsch. Das mag man sich ja nicht
antun.
Ja der Motor ist mit einer Spindel verbunden ... also durchaus nicht im
Leerlauf aber auch nicht zu schwergängig.
Das ganze fahre ich als Fullstep.
Sorry für mein Deutsch bin kein Deutschlehrer. Muß zwischenzeitlich
soviel zwischen Deutsch und Englisch wechseln das macht das Hirn leider
nciht immer ganz mit.
Gruß
Raph
Ich würde sagen, der Treiber ist das Problem. So "big" und "easy" ist
der wohl doch nicht. Wenn ich mir das Platinchen so ansehe, habe ich
Zweifel, dass der Chip auf dem Board seine Verlustwärme wegbekommt. U.U.
schaltet der Chip mehr oder weniger regelmäßig wegen Übertemperatur ab.
Hinzu kommt, dass der Motor bei 30V deutlich weniger Vorschub schaffen
wird als bei 48V.
Außerdem darfst du nicht vergessen, dass du beim Betrieb des Motors im
Mikroschritt den Strom um den Faktor 1,412 erhöhen musst, wenn du das
Nennmoment bzw. den Nennvorschub erreichen willst. Das wirkt sich
allerdings eher im unteren Drehzahlbereich aus, sollte also nicht die
Ursache für das geschilderte Problem sein.
Mit freundlichen Grüßen
Thorsten Ostermann
Ich hab noch einen sehr großen Kühlkörper auf den Treiber mit
Wärmeleitpaste fixiert.
Ich hab mich bei der Firma des Schrittmotors erkundigt... bei 30 V
sollten
circa 75 mm / s Vorschub mit der Spindel möglich sein.
es würde mir gesagt ein Fehlerquelle ist das ich zu wenig zu bewegende
Masse habe und deshalb der Motor nicht hochdrehen kann... und deshalb
die überschüssige Strom in Wärme abgeführt wird... also Strom weiter
runterfahren am Treiber Poti oder mehr Masse ...Muß wohl ein Gewicht an
der Gewinde Welle anbringen (:-)
Gruß
Rl
Ein Kühlkörper auf dem Chip bringt nur wenig, weil der Wärmeübergang vom
Platiikgehäuse auf den Kühlkörper schlecht ist. Diese ICs haben
normalerweise ein Kühlpad auf der Unterseite. Eine optimale Kühlung ist
nur über die Leiterplatte möglich.
Mit freundlichen Grüßen
Thorsten Ostermann
wirklich ? warum werden dann CPUs auch so gekühlt..? Auch egal die
Platine is mit ALu Distanzbolzen auf eine 3 mm AL Platte geschraubt. Ich
glaub das Wärme Thema is beim meinem Fall eher Offtopic... ich fahr ja
grade nur mit 0.5 A von max 2 A was die Schaltung kann ...
W
Raph schrieb:> ich fahr ja> grade nur mit 0.5 A von max 2 A was die Schaltung kann ...
Das könnte allerdings ein Problem sein. Wenn der Motor jetzt doch etwas
mehr als 0.5 A haben will, bricht dir die Spannung.
mmmh. wenn ich die Potis auf Mittelstellung habe entspricht das circa 1
A
was der Treiber abgeben kann laut Webpage. (0-2A).. die Anzeige am
Netzteil zeigt an das 0,5 A in den Treiber reinfliesen (Ist ein sehr
gutes Netzteil wesewgen die Anzeige woll ok ist).
Hallo Raph!
> wirklich ? warum werden dann CPUs auch so gekühlt..?
Weil das ganz andere Gehäuse sind. Die haben z.B. einen Metalldeckel,
der für den nötigen Wärmeübergang sorgt.
Mit freundlichen Grüßen
Thorsten Ostermann
Hallo Martin
Hab beim Hersteller angerufen bei 30 V sollten 75 % vom der Drehzahl aus
dem Datenblatt möglich sein mit meinem Treiber... apropo hat die Firma
fast genau den selben Treiber mit ähnliche Kenndaten wie mein Treiber
für mein Schritt Motor im Programm
http://de.nanotec.com/schrittmotor_steuerungen_smc11.html
Hallo Zusammen
Ich teste grad mein setup mit der Accel Libary für Adruino... mehr als
10 000 Schritte / s is einfach nicht drin... kannd as sein das der
Adruino UNO eh nicht merh Schritt liefern kann wegen seinem 8 MHZ
geschwindigkeit.
? 8 MHZ / 10 000 = 800 Zyklen pro Befehl ???
Sonst muß ich wohl auf mein PIC 32 Board ausweichen.
Besten Gruß
Raphael Lang
Raph schrieb:> Hallo Zusammen>> Ich teste grad mein setup mit der Accel Libary für Adruino... mehr als> 10 000 Schritte / s is einfach nicht drin... kannd as sein das der> Adruino UNO eh nicht merh Schritt liefern kann wegen seinem 8 MHZ> geschwindigkeit.> ? 8 MHZ / 10 000 = 800 Zyklen pro Befehl ???> Sonst muß ich wohl auf mein PIC 32 Board ausweichen.>> Besten Gruß>> Raphael Lang
Direkt am Arduino wirds nicht liegen, eher an der Lib. Schonmal probiert
das ganze selbst zu programmieren?
Hi
>Ich teste grad mein setup mit der Accel Libary für Adruino... mehr als>10 000 Schritte / s is einfach nicht drin...
Na, das passt doch genau zu deinem Motor
Max 100mm/s bei einer Auflösung von 0,01mm/Step. Ergibt bei mir ein
Maximum von 10000Steps/s.
MfG Spess
komisch entweder hab ich das Datenblatt dann nicht verstanden aber es
sollte sich dann doch die Spindel mit einem Vorschub 100 mm / s nach
vorne bewegen ?
Hi
>komisch entweder hab ich das Datenblatt dann nicht verstanden aber es>sollte sich dann doch die Spindel mit einem Vorschub 100 mm / s nach>vorne bewegen ?
Ja. Aber nur wenn keine Schritte verloren gehen.
MfG Spess
Hallo Zusammen
Adruino zu langsam ? mit ACCEL Libary ?
Habe gerade den Ausgang an meinem Adruino mit dem Oszi die Frequenz des
Step Ausgangs gemessen ob wohl ich im Porgamm 10 000 Stepps machan will
kommen am Ausgang nur 1 KHz raus obwohl ich Vollschritt eingestellt
habe. der Adruino Uno ist woll einfach zu langsam (8 Mhz) das deckt sich
dann mit den 0.01 mm Vorschub pro s
= als dann 10 mm/ s
Gruß
Raph
Ich würde auch sagen, dass die Software zu langsam ist. Auf einem
Mega128 (16MHz) habe ich eine 4-Achs Steuerung (2 Achsen simultan)
realisiert, die bis zu 50kHz erreicht und nebenher auch noch das ein
Grafik-LCD aktualisert, per USB kommuniziert usw.
Mit freundlichen Grüßen
Thorsten Ostermann
Hier mein Code..sollte doch eigentlich passen ?
#include <AccelStepper.h>
// Define some steppers and the pins they will use
AccelStepper stepper1(1, 2, 3);
void setup()
{
stepper1.setMaxSpeed(10000.0);
stepper1.setAcceleration(1000.0);
stepper1.moveTo(120000);
}
void loop()
{
// Change direction at the limits
if (stepper1.distanceToGo() == 0)
stepper1.moveTo(-stepper1.currentPosition());
stepper1.run();
}
Gerade Funktionsgenerator ohne PWM Mod an die Traibe rgehäng tjetzt
dreht der Motor mit 1,5 Khz gut 3 mal so schnell...
also liegt def. an der Software.
Hi
>Gerade Funktionsgenerator ohne PWM Mod an die Traibe rgehäng tjetzt>dreht der Motor mit 1,5 Khz gut 3 mal so schnell...>also liegt def. an der Software.
Dann trete den Accel-Treiber in die Tonne und schreib deinen eigenen.
MfG Spess
...mmh dann kann ichs ja auch gelich mit emienm PIC32 Boad machen und
Brauch kein Adruino... mir gings kennt jeamand ne Schrittmotor Libary
für PIC 32 ? mann muß ja das Rad nicht immer neu erfinden
Gruß
Raph
Danke für dein Kommentar Spess "gähn"... Ich glaub du hast den Wind der
Open Source Bewegung und den Spin den Arduino auf die uC Welt gebraucht
ha einfach nicht verstanden...Wenn du lange weile hast kannst mir ja ein
Treiber schreiben (:-)
Hi
>Wenn du lange weile hast kannst mir ja ein Treiber schreiben (:-)
Wäre nicht der erste Schrittmotorentreiber, den ich schreibe. Und für
den A4983, der auf dm Board ist, würde das eher in die Kategorie
'Fingerübung' fallen. Allerdings glaube ich, das du mit Assembler noch
weniger als mit C/C++ anfangen kannst.
MfG Spess
So ich hab mir jetzt den Arduino DUE geholt und bei dem Läuft die Libary
ohne Probleme mit 10 KHZ Schritte und sogar trüber... und meine Stepper
laufen jetzt super. Spess hat schon recht ein Stepper kurz Proggen ist
kein Hexenwerk aber darum geht es ja gar nicht. Im nächsten schritt
meines Projektes gibts dann eine Custom PIC32 Platiene...
Danke für die Hilfe
Raph schrieb:> Danke für dein Kommentar Spess "gähn"... Ich glaub du hast den Wind der> Open Source Bewegung und den Spin den Arduino auf die uC Welt gebraucht> ha einfach nicht verstanden...Wenn du lange weile hast kannst mir ja ein> Treiber schreiben (:-)
Ja, ist immer wieder süß zu sehen wie Leute verzweifeln wenns keine Lib
gibt. Toller Spin :)
Hi
>Ja, ist immer wieder süß zu sehen wie Leute verzweifeln wenns keine Lib>gibt. Toller Spin :)
Nö. Da hat er schon Recht. Die Anzahl der Leute, die glauben
programmieren zu können, hat sich vervielfacht.
MfG Spess
Spess53 schrieb:> Nö. Da hat er schon Recht. Die Anzahl der Leute, die glauben> programmieren zu können, hat sich vervielfacht.>> MfG Spess
Ach, das versteht man unter Spin. Kannte das bis jetzt nur von den
Quantenzahlen :)
Hi
>Ach, das versteht man unter Spin. Kannte das bis jetzt nur von den>Quantenzahlen :)
Die Übersetzung von Spin als 'Drall' öffnet durchaus Raum für
Interpretationen. "Du hast doch einen Drall" kenne ich als
Verbalinjurie. Aber eher tippe ich auf Kinder-Denglisch das keinen Bezug
zum ursprünglichen Wort hat.
MfG Spess
Lieber Spess nichts für ungut, aber es ist sicher kein Ding ein Treiber
in Assembler oder sonst was zu schreiben, notfalls kann ich ja auch ne
analog Reglung mit VCF auf PWM Modultaion machen, aber wenn man in der
Vorrentwicklung eines Start-Ups ist man über jeden Tag froh den man sich
Sparen kann um ein Prototyp zur Deathline fertigzumachen... bin deshalb
froh mir Arbeit zu sparen und mal kurz was mit Arduino zu machen
Stichwort "Lean", warum nicht.. klar es gibt auch Ing. die 30 Jahre bei
Bosch an einem einzigen Treiber schreiben ...
Übrigens Assembler ist doch heute fast nur noch was für Hobbyisten.
Firmen können sich den Entwicklungsaufwand und fehlenden Wartbarkeit gar
nicht mehr leisten da nimmt man einfach ne 80 MHZ uC oder uClinux und
gut ist.
Hi
>Lieber Spess nichts für ungut, aber es ist sicher kein Ding ein Treiber>in Assembler oder sonst was zu schreiben, notfalls kann ich ja auch ne>analog Reglung mit VCF auf PWM Modultaion machen, aber wenn man in der>Vorrentwicklung eines Start-Ups ist man über jeden Tag froh den man sich>Sparen kann um ein Prototyp zur Deathline fertigzumachen... bin deshalb>froh mir Arbeit zu sparen und mal kurz was mit Arduino zu machen
Klar. Du hast 12 Tage gebraucht um einen simplen Schrittmotor zum laufen
zu bringen. Das nenne ich echt Zeit sparen.
>Übrigens Assembler ist doch heute fast nur noch was für Hobbyisten.
Zumindest laufen meine 'Hobbyprogramme' zuverlässig in ein paar tausend
Anlagen rund um die Welt.
>Firmen können sich den Entwicklungsaufwand und fehlenden Wartbarkeit gar>nicht mehr leisten da nimmt man einfach ne 80 MHZ uC oder uClinux und>gut ist.
Wegen dieser Mentalität ist mein Rechner heute gefühlt noch genauso
langsam wie mein erster 12MHz PC von 1990 und die Festplatte ist
prozentual genauso voll wie die 20 MB Festplatte von damals.
MfG Spess
Alles Klar
Das ganze läuft jetzt mit dem Arduino Due Accel Libary und Sheduler/
und es sind Schrittfrequenzen bis 20 Khz mit dem Arduino Due und der
Accel Stepper Libary möglich mit zusätlich 2 anderen Tasks im Sheduler
( Senden Serial Port mit 115200) und (I/O Port Abfrage).
Das Scheint aber dann auch die grenze zu sein was möglich ist...um bei
20 Khz zu drehen
Ganz Interresant im Dattenblatt kann mein Stepper nur 10 Khz aber er
dreht auch mit 20 Khz noch schneller ohen Probleme und mit ausrreichend
Newton.
Besten Gruß
Rl
Raph schrieb:> Ganz Interresant im Dattenblatt kann mein Stepper nur 10 Khz aber er> dreht auch mit 20 Khz noch schneller ohen Probleme und mit ausrreichend> Newton.
Mit 20 kHz meinst du vermutlich die Schrittfrequenz und nicht die
Drehzahl.
Das Datenblatt ist vielleicht etwas kurz gefaßt. Drehmoment und
Schrittfrequenz hängen über eine Kennliniefeld zusammen, in das auch die
Spannung als ein Parameter eingeht. Die Kennlinien selbst brechen
außerdem nicht plötzlich ab, es sei denn, man fährt keine vernünftige
Rampe.