-
-
µStep Schrittmotorsteuerung
Hallo liebe Kollegen!
Da die Microschrittsteuerung für bipolare Schrittmotoren heute so aktuell wie noch nie ist, habe ich mir gedacht eigene Schrittmotorenkarte zu bauen.
Deshalb auch eine Frage.
Ich möchte für die Ansteuerung eine Kombination aus einem L6506 und zwei L6203. An die Referenzspannungseingänge von L6506 wird ein 2xDAC 'gehängt', der von einem ATmega8 angesteuert wird.
1. Wie genau muss der DAC sein? (INL 1, 0,5 oder 0,1 LSB)
2. Auflösung des DACs? (8,10,12 Bit)
3. Inteface? (I²C oder SPI)
Ich habe mir schon einige DACs z.B.: MAX519 und MAX515 angeschaut.
Könnt ihr mir einen DAC emfehlen?
Am liebsten wär mir jedoch 2xDAC in einem Gehäuse wie MAX519.
Dieser DAC sollte natürlich leicht erhältlich sein.
Ich habe auch bereits mir die anderen Beiträge zu diesem Thema angeschaut.
eines noch, ich weiß leider noch nicht wie lange das dauern wird bis ich die Arbeit abgeschlossen hab (da ich leider nicht so viel Zeit habe), aber ich werde versuchen schnellst möglich über alles zu berichten.
Besten Dank im Voraus!
-
Super-Moderator
Lebende Robotik Legende
Welche Anforderungen hast Du denn an die Motorbewegung?
Hohe Auflösung?
Vibrationsfreiheit?
Manfred
-
Erfahrener Benutzer
Roboter-Spezialist
hm, wäre ein TMC249 oder so von Trinamic nicht etwas einfacher? Der kann das schon recht gut
-
Hallo Manfred,
ich möchte diese Ansteuerung für meinen CNC-Plotter benutzen.
Ich habe mir diesen Beitrag hier gelesen:
https://roboternetz.de/phpBB2/viewtopic.php?t=15071
dort hat ein user erwähn das er nur 6 Bit PWM vom ATmega benutzt hat.
Ich habe gedacht µstep nur für langsame geschwindigkeiten zu verwenden und mit schteigender Eingansfrequenz am ATmega immer einen Gang hoch zu schalten, Eilfahrt zum Beipiel.
Über die Programierung habe ich mir bisher noch wenig Gedanken gemacht, ich habe bis jetzt mit Bascom programiert aber ich werde mich dann gleichzeitig in AVR-GCC einarbeiten (bin gerade dabei).
Könntest Du mich bei der umsetzung ein bisschen unter die Arme greifen?
Ich meine keinen fertigen code, aber vlt die vorgehensweise, oder besser die Reihenfolge.
-
Super-Moderator
Lebende Robotik Legende
Man sollte die Auflösbarkeit nicht überschätzen. In Richtung Vibrationsfreiheit geht sicher imer noch ein bisschen mehr, aber in Bezug auf Positions-Auflösung sind 4-5 Bit bei weitem ausreichend für die Präzision die der Motor dann auch liefern soll.
Bei 200 Schritten pro Umdrehung eine Steigerung um 20 also auf 4000 Schritte ist wohl etwa die Grenze für die Präzision des Drehwinkels (noch abgesehen von der Belastung).
Bei der Steigung einer Spindel von 2mm wäre das dann ein halber µm.
Wo soll es hin gehen, kommen 8-12 Bit überhaupt in Frage?
Manfred
-
Ich habe Schrittmotoren mit einer Auflösung von 1,8°, also 200 Vollchritte pro Umdrehung mit einer Spindel mit 3mm/U Steigung.
Ich meine von der Auflösung würde ja dann MAX519 wohl reichen oder?
Spielt in diesem Fall auch die genauigkeit (1, 0.5, 0.1 LSB) des DACs eine sehr große Rolle?
Wie ist es mit dem Interface, würde da I²C mit 400kbps, wenn ich den Hardware TWI benutze, ausreichen?
@MrNiemand
Ich habe mir die TMC-Reihe schon angeschaut, aber ich weiß nicht wie ich dann in meinem fall 2-3 Motoren synchronisieren soll?(Interpolation)
-
Erfahrener Benutzer
Roboter-Spezialist
hallo viktor!
die sache mit der 6bit-pwm-mikroschrittsteuerung war damals von mir. bei 6 bit kannst du ohne großen fehler den idealen sinus nachbilden und kommst auf 16-fachen mikroschritt. die 6 bit habe ich deshalb verwendet, um eine möglichst hohe pwm-frequenz zu erreichen. das ist von großer bedeutung, wenn man schnell wechselnde signalformen nachbilden möchte.
zwei dac's sind sicher besser als pwm, zumindest hast du dann zwei vernünftige referenz-spannungen für den l6506. ich würde dir dann einen 8-bit dac empfehlen, auf jeden fall aber mit einem schnellen interface! I2C scheidet demnach aus! selbst bei 400kbps wirds sicher nicht reichen, aber es kommt natürlich nur darauf an, wie schnell dein plotter sein soll. du musst immerhin mindestens 8 datenbits, start- und stoppbits übertragen. das ist nicht wenig... bei mikroschrittbetrieb mit hoher auflösung kommt man schnell an 30khz ansteuerfrequenz und mehr.
bei einem 8-bit dac musst du dir auch keine gedanken um die genauigkeit machen - was ist schon 1 lsb bei 8-bit??
weiterhin viel erfolg! ruppi
-
Guten Abend!
Danke für deine Antwort Ruppi!
Sagen wir, ich will mit einer Schnitt geschwindigkeit von 300m/min Arbeiten das müssten dann 18mm/s, es sind dann mit meiner Spindel(Steigung 3mm/U) 6 volle Umdrehungen des Motors (200Steps/U) => 1200Steps.
Ist es so richtig? Wie viel µSteps (/ Frequenz) wären es denn in diesem Fall?
Könntest Du mir evtl. einen x2 DAC empfehlen?
MAX515 ist ein 1x DAC und mit 10Bits, aber ich schaue mich noch gleich bei MAXIM um.
-
Ich denke, ich habe jetzt einen passenden DAC gefunden!
MAX522, Dual 8-Bit DAC mit 3-Wire SPI Interface @5MHz(max)
Es gibt so viele DACs auf der Seite vlt. könnt ihr mir sagen ob es noch einen besseren gibt, oder reicht dieser schon aus?
Hier ist der Link zur Auswahl aller DACs von Dallas&Maxim Semiconductor.
-
Hallo Viktor,
ich bin zufällig auf dieses Forum gestoßen und habe mich gleich mal angemeldet . Erst mal halloooo an alle!
Vor längerem habe ich mal so eine schnelle Mikroschrittsteuerung für ein Teleskop (bis zu 4 Motoren, RS232 Steuerung) auf Basis des Atmel 2313 erstellt, vielleicht hilfts dir weiter:
http://www.s-line.de/homepages/schwe...smctrldocu.htm
Gesteuerte Grüße
Karl-Heinz
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen