Hallo zusammen, ich heisse Frank, komme aus der Mechanik und habe mit Elos ehr am Rande etwas zu tun. Ein paar Grundbegriffe kenne ich und habe auch schon mal eine PCB geätzt. Wichtig ist, dass Ihr wisst, dass ich eigentlich bei 0 Anfange. Warum ich hier schreibe: Ich möchte eine Elo aufbauen, welche mittels Joystick Schrittmotoren ansteuert. Die Schwierigkeit besteht darin, dass mein Gerät später ca. 10 Schrittmotoren haben wird und dann mit 1 bis 2 Jojsticks sehr feinfühlig betrieben werden soll. Kann man sich wie eine Maschine zum SMD Bauteile Bestücken vorstellen, mit Handsteuerung und Positionierung nach Augenmass. Ich habe mir gedacht, dass etwas ähnliches bestimmt schon bei Eich gibt. Danke Frank
Frank Hacke schrieb: > Ich möchte eine Elo aufbauen Was auch immer das ist? http://de.wikipedia.org/wiki/Elo
Hallo Frank, ohne dir zu nahe treten zu wollen. Aber wahrscheinlich wird dir niemand außer mir eine Antwort auf deinen Beitrag geben. Mich persönlich interessiert es nicht, aber dein Beitrag hört sich etwas von oben herab an (Elos(das höre ich zum ersten mal), euch). Ich glaube du sitzt einem Irrtum auf wenn du glaubst, es sowas schon gibt. Also ich denke nichtmal im Ansatz. Deine Joystick bewegungen müssen in Motorumdrehungen umgerechnet werden. Diese wiederum in Schritte. Diese müssen ausgegeben, verstärkt und auf deine motoren gegeben werden usw. Ganz zu schweigen von Schrittverlusten, Beschleunigungsprofilen usw.... Also du siehst, es fällt nicht so einfach aus dem Internet raus :) Ich würde fast behaupten, ohne fundiertes Grundlagenwissen kannst du das sowas von vergessen...
Hallo, Es gibt ja fertige Schrittmotorsteuerungen mit Spannungseingang, z.B. -5V...0...+5V für Drehrichtung und Drehzahl. In den meisten Joysticks sind ja Potis drin. Da läßt sich auch ohne viel Grundkenntnis was basteln. Ansonsten die Potis an die ADC-ports vom uC, setzt halt gewisse Kenntnisse voraus... MFG. Thomas
Hallo Danke für die rasend schnelle Antwort. Sorry für meine für Dich ungewöhnlich klingende Anfrage. Bei meinen Kollegen ist der Begriff Elo jedoch absolut gängig und beinhaltet alles eine PCB beinhaltet. Also mit Elo meine ich eine Elektronikeinheit. Die mit einer oder mehreren Motorsteuerungen, welche es ja schon fertig gibt. Höchstwahrscheinlich auch mit PC. Dass es sowas anspruchsvoller ist und es das nicht an jeder Ecke gibt ist mir bewusst, deshalb frage ich ja hier an. Es gibt Messtische, welche mit Joysticks angesteuert werden. Und im Youtube hab ich sogar mal einen gesehen der hat mit einer Spielekonsole eine CNC Fräse bedient (sah mehr als Spassobjekt aus).
Hallo Frank, Habe mehrere Schtittmotor Applikationen für industrielle Anwendungen entwickelt und bin gerade daran eine richtige High-End zu entwickeln Erstmal: gibt unteschiedliche Typen, am gängigsten ist ein 2.Phasen Bipolarer. Der hat nur zwei Wicklungen und können im Vollschritt und Halbschrittverfahren betrieben werden und der arbeitet meist mit 200/400 Schritten pro Umdrehung. Dann ist das Drehmoment das man benötigt ein wichtiges Kriterium. Das geht los bei so ca. 200mA Spulenstrom bis 1,8A. Das sind so die gängisten Werte. Die gibt es aber auch mit 4A. Der Wirkungsgrad spielt eine wichtige Rolle. Sonst verbrät mann in der Ansteuerung enorm viel Energie. Die Beschleunigung des Rotors ist auch wichtig. Mann versucht da mit möglichst hohen Spannungen (z.B. 40V) zu arbeiten, um die Wicklungsinduktivität möglichst rasch zu Überwinden. Dann muß man aber bei erreichen des gewünschten Nennstromes auf den Chop-Betrieb umschalten. Sie dir mal den STM L297 und L298 an. Der eine ist der Controller, der andere die Leistungsendstufe. Der arbeitet Dan auch im Chopperbetrieb (Strommesswiderstand) und idt für einfache Applikationen sehr gut geeignet. An der digitalen Seite hat der L297 einen STEP-Eingang, ein Richtungsbit und ein Bit das vorgibt, ob Halbschritt oder nicht. Der L298 kann dann bis ca. 2A betrieben werden. Das wäre ein guter Anfang für dich. Sei aber vorsichtig, der L298 geht bei einer Falschbeschaltung sofort hoch, der verzeiht nichts. Wenn du was aufbaust, fang erst mal mit niederen VS-Spannungen (so ca. 1oV) an. Hoffe Die weitergehokfen zu haben Walter
Hallo Thomas, genau sowas meine ich. Hallo Walter, Danke für Deine Erklärungen Dein Projekt hört sich sehr Interesant an. Ein Paar Punkte habe ich grob ab geklärt. Motoren stehen von meiner Seite aus fest. Bipolar von Nanotec Auf die Motoren kommt kaum Belastung und auf hohe Geschwindigkeit kommen Sie bei meinem kurzen Weg auch nicht. Steuerung von Nanotech sieht für mich als Laie gut aus. http://de.nanotec.com/schrittmotorsteuerung_smci33.html Ist warscheinlich auch Überspezifiziert. 10 St. davon zu 170€ für jeden Motor eine, das ist auch recht viel Geld. Noch eine Steuerung habe ich gefunden. http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=173 Microstep brauche ich auch da ich extrem genau ansteuern will. Wichtig ist auch, dass meine Mechanik nicht ruckeln kann. Soll sehr sanft und sehr genau laufen für die Positionierung laufen. Das in Endstellung fahren sollte jedoch schneller möglich sein.
Walter F. schrieb: > Der hat nur zwei Wicklungen und können im Vollschritt und > Halbschrittverfahren betrieben Mikroschritt geht mit einem passenden Controller auch, z.B. dem A3967 für kleinere Motoren. Rampensteuerung und Umsetzung der Joystickposition in Sollposition bzw. Sollgeschwindigkeit für den Motor erforderten dann einen µC mit passenden Algorithmen.
Walter F. schrieb: > Habe mehrere Schtittmotor Applikationen für industrielle Anwendungen > entwickelt und bin gerade daran eine richtige High-End zu entwickeln Warst du nicht der der sich ein bisschen beim STM32 Bootloader blamiert hat? High-End na bin ich gespannt ...
Hallo Frank, das Modul wird folgende Eigenschaften haben: -Gehäuse ca. 55x80x15 mm -Eingangsspannung: 15 bis 40V -Anzahl der auch GLEICHZEITIG laufenden Motore: 3 -Max. mögliche Spulenströme 2A/Spule -Max. mögliche Microschritte 256 -Einstellung der Halteströme ist wählbar -Integrierte Rampenfunktionen -Integrierte Optimierungv-Verfahren Die Parameter können für jeden Motor GETRENNT eingestellt werden. Des Weiteren: -Abspeicherung der einzelnen Parameter in ein NV-RAM -Kommunikation nach Außen über Bluetooth (115K Baud) -Leistungsfähige GUI am PC/Laptop (über Bluetooth). -Aufbereitung und Abspeicherung von Maschinensätzen im integriertem NV-RAM (in Planung) Das wäre es im Schnelldurchgang. Ein Datenblatt mit Blochshaltbild und Foto steht demnächst zur Verfügung. Viele Grüße aus München Walter
Hallo Walter, sieht ja soweit recht Interessant aus. 3 Motoren gleichzeitig steuern reicht aus. Die Frage ist was mache ich wenn ich 10 Motoren insgesammt ansteuern will? Was versprichst Du Dir für Vorteile von Bluetooth? Kabel mit USB oder sonstige Schnittstelle müsste doch zuverlässiger und günstiger sein oder? Habe auf jeden Fall schonmal Interesse. Vor allem auch an professioneller Unterstützung für die Umsetzung. Danke Gruss Frank
Hallo Frank, Einen Grund für Bluetooth hast Du selbst genannt. -Ich kann z.B. ein Startkommando an "beliebig" viele Module gleichzeitig absetzten. -Man kann ruhig am Schreibtisch sitzen und muss keine Kabel umstöpseln um ein anderes Modul anzusprechen. -Bei 10m hat man bei USB sicher schon ein Problem. -Die Kosten spielen da für mich überhaupt keine Rolle. Der USB Controller kostet ca. 3 Euro (1+(, der Stecker und das Kabel ist auch nicht umsonst. Dagegen stehen die Kosten von ca. 14 Euro (1+) -Die Datenübertragungs-Sicherheit behaupte ich ist höher als bei USB über Kabel. Wenn Störungen im Funkverkehr vorliegen, dann wird das im Controller bemerkt. Man bekommt mit 100% Sicherheit die richtigen Daten oder gar nichts wenn die Reichweite überschritten wird oder im Grenzbereich liegt. -Dann die Potentialfreiheit in einer "Verseuchten" Leistungs-Elektronik Umgebung -Und außerdem hasse ich Kabel und Stecker! -Und außerdem man kann dann nicht über die "Kabel" stolpern. Und Alleine wenn man sich vorstellt, man hat eine etwas grössere Maschine in der mehrere Module an verschiedenen Stellen verbaut sind und dann das "Gewirr" an Kabeln und dann noch die Zuordnung.. Ich denke wenn man das so betrachtet spricht alles für eine Bluetooth Lösung, oder? Viele Grüße Walter
Hallo Frank! > Microstep brauche ich auch da ich extrem genau ansteuern will. > Wichtig ist auch, dass meine Mechanik nicht ruckeln kann. > Soll sehr sanft und sehr genau laufen für die Positionierung laufen. Einen ruhigen Lauf wirst du mit Mikroschritt realisieren können. Es ist allerdings ein weit verbreiteter Irrglaube, dass Mikroschritt auch zu einer höheren Genauigkeit führt. Mikroschritt erhöht lediglich die Auflösung. Die Genauigkeit ist beim Schrittmotor im gesteuerten Betrieb (also ohne Encoder-Rückführung) rein lastabhängig und im worst case +/- ein Vollschritt! http://www.schrittmotor-blog.de/?p=19 Vielleicht kannst Du mal die genaue Typenbezeichnung des Motors nennen sowie weitere Randbedingungen (Versorgungsspannung, gewünschte max. Geschwindigkeit, Platzverhältnisse usw.). Sonst kann man keine seriösen Empfehlungen geben. Von Funklösungen würde ich abraten, wenn es preiswert UND robust sein soll. Mit freundlichen Grüßen Thorsten Ostermann
Hallo, anbei ein paar Spezificationen Motor http://de.nanotec.com/linearaktuatoren_L2018.html (noch nicht fix) Hub max 40mm. Ansteuerung auf 0,1mm oder genauer Lt. Datenblatt 0,005mm möglich Last nur Führungsreibung. Versorgungsspannung frei wählbar Betrieb wahrscheinlich in Verbindung mit Lap Top oder PC, Joystick Max geschw. geschätzt 1-2cm/sec Platz: Motoren mit Führungen sollten grob auf A3 Blatt passen. Elektronik kann nebenan stationiert werden ohne Platzbeschränkung. Torsten, robust und Störunanfällig ist mir sehr wichtig. Ich schimpfe zwar über alle Kabel bei mir auf dem Schreibtisch, aber dafür funktioniert es immer. Walter hört sich mit der Modulansprechung super an. Wenn ich allerdings einen Wackler im Kritischen Moment hineinbekomme sind bei mir gleich mal 100€ futsch. Sicherer Betrieb ist absolut notwendig.
Ich habe vor eine Jahr her eine Platine entworfen, weil ich meine Proxxon MF70 mit Schrittmotoren steuern wollte. Habe etwa 10 Platinen machen lassen, und auf einer alle Komponenten gelötet. Leider fehlt es mir noch immerhin Zeit zum Quellkoden schrieben. Die Platine könte 3 Schrittmotoren steuern. Steuern kan mit beide JoySticks aber soll auch gehen mit PC wegen USB-anschluss. Aber, wie gesagt, es fehlt mir bis jetzt noch immer genügend Zeit zum Quelkoden schreiben.
Ganz vergessen, es enthalt eine ATMega644 auf die Platine und eine CP2102. Man kan einfach A4988-Module einstecken zum Steuerung der Schrittmotoren, wie auf die Bilder zu sehen ist. Quellkoden schreiben für die JoySticks ist einfach, aber ich wollte gerne auch G-code implementieren. Aber das ist nicht recht einfach.. Also, wenn es Leute gibt der interessiert sind und Zeit haben Quellkoden im Bascom schreiben... bitte meldet euch...
Hm, also 10 Schrittmotoren über 2 Joysticks steuern. Strom <1A. Wie erfolgt die Zuordnung der Motoren zu den 4 Joystick-Achsen? Wenn 170 EUR pro Motor für eine Nanotec-Endstufe schon zu teuer sind, was darf es dann pro Achse kosten? Und wieviele Geräte sollen nachher gebaut werden? Ist das eine industrielle Anwendung oder ein Hobby-Projekt? Mit freundlichen Grüßen Thorsten Ostermann
Thorsten, wenn ich eine PLatine fertige für eine Proxxon MF70, dan handelt is sich um ein Hobbyproject, womit 3 Schrittmotoren angesteuert werden. Die 2 Joysticks : - Einer für X und Y-axis - Einer für Z axis (der freie Axis könte man z.B der Geschwindigkeit einstellen) Es gibt auch eine Drücktaster integriert pro JoyStick. Daneben könten 3 Endstops verbunden werden mit der Platine (optical / machanical), und auch noch eine mini-Platine zur Status-Abgabe (ich habe schön so einer gebaut, mit LEDs darauf) Aber 10 Schrittmotoren damit ansteuern geht leider nicht (einfach), weil man dan dahinten einige QPDT Relais einzetzen sollte, die man separat ansteuert werden. P.S. Entschüldigungen wegen mein schlechter Deutschsprache.
Hallo Bernhard, meine Antwort ging auch nicht an dich, sondern an Frank, der den Thread hier eröffnet hat. Wenn dein Beitrag nicht als mögliche Lösung für Franks Frage gedacht war solltest du besser einen eigenen Thread aufmachen... Mit freundlichen Grüßen Thorsten Ostermann
Also Joystick über Bluetooth ?! Hat jede Schrittmotorsteuerung ein eigenes Bluetoothmodul ? Wie sind die Achsen Synchronisiert ? Wenn Achse 1 Datenpaket empfängt und Achse 2 ein Fehlerhaftes Paket bekommt und Achse 3 ein richtiges ??? Was willst du denn der Steuerung senden die Schrittzahl ??? So geht das ALLES nicht.
Hi fehlerhafte Datenpakete GIBT es bei Bluetooth nicht! Und Luststengel lassen sich auch am PC anschließen. Der PC hat sowiso das Sagen welche Abläufe verfahren werden. Gruß Walter
Das stimmt zwar, aber genauso wenig gibt es Echtzeit... Für eine Steuerung vielleicht brauchbar, für eine Regelung sicher nicht.
Hallo Michael, wenn ich Echzeit höre, muß ich immer grinsen. Da haben sich Kollegen von mir, ein Hardi und ein Softi mal fast die Köpfe eingeschlagen, um jeweils dem Anderen den Begriff "Echtzeit" beizubringen. Nach meiner Ansicht ist der Begriff nicht definierbar oder definiert. Ich habe mir also für mich selbst versucht den Begriff zu definieren: A: Ein System braucht "echt-Zeit" um auf externe Ereignisse zu reagieren. Das sind dann für mich Linux Windows und damit vergleichbare -Systeme. B: Echtzeit: Ein z.B. Embeddet-System das mit einem Echtzeit Betriebssystem. Da sind dann Reaktionszeiten von kleiner 50uS angesagt! C: "Echte" Echtzeit dann, wenn ein dedizierter HW-Controller die Steuerung/Regelung von z.B Schrittmotoren übernimmt. Bei meiner Lösung handelt es sich um ein "Echte-Echtzeit" Applikation, denn ich war mir über die Problematik 3 Motore gleichzeitig zu verfahren, schon im klaren. Also: Am PC werden Datensätze aufbereitet und dann darf es ruhig echt-Zeit benötigen. Das stört weiter nicht. Diese Datensätze werden dem Modul über BTH mitgeteilt. Im Modul sitzt ein uController und der bereitet die Aufgaben auf und übermittelt dem Motorcontroller die notwendigen Parameter, erteilt Start/Stop Kommandos, fragt Kontakte ab usw... Da spreche ich dann von "Echt_Zeit" Der Motorcontroller selbst steuert dann direkt die bis zu 3 Motore und macht sonst nichts anderes. So wie in Hartware gegossene Inteligenz dessen Verhalten von außen durch Parameter modifizierbar ist. Da spreche ich dann von "echter Echtzeit" Viele Grüße Walter
Du übersiehst bei deiner "echten" Echtzeit aber, dass einer der Slaves ein Kommando nicht mitbekommen könnte. Dann fährt ein Motor nicht mit und es kann eine Kollision geben. Wenn echter Simultanbetrieb gefordert ist und nicht nur Punkt-zu-Punkt Positionierung, ist auch die Synchronisation der Bewegungen im Bereich einiger Millisekunden erforderlich. Ich glaube kaum, dass man das via BT mit verteilten Slaves so genau synchronisieren kann, selbst bei optimalen Empfangsbedingungen. Im Zweifelsfall dürfte da die gute alte Kabelverbindung doch deutlich einfacher sein, auch wenn du Stecker nicht magst. Im Übrigen kostet die ganze Entwicklung der Software auch Geld, und zwar nicht zu knapp. Da dürfte bei Kleinserien der Stecker doch die günstigere Lösung sein ;) Mit freundlichen Grüßen Thorsten Ostermann PS: In der Fachliteratur unterscheidet man zwischen harter und weicher Echtzeit. Hauptkriterium ist dabei, wie schlimm ein Verpassen eines Ereignisses ist. Damit ist ein normaler PC ein weichses Echtzeitsystem, eine Motion-Control Anwendung harte Echtzeit. Und zwar selbst dann, wenn die Zeitscheibe im PC um ein Vielfaches kleiner ist.
Thorsten Ostermann schrieb: > PS: In der Fachliteratur unterscheidet man zwischen harter und weicher > Echtzeit. Hauptkriterium ist dabei, wie schlimm ein Verpassen eines > Ereignisses ist. Damit ist ein normaler PC ein weichses Echtzeitsystem, > eine Motion-Control Anwendung harte Echtzeit. Und zwar selbst dann, wenn > die Zeitscheibe im PC um ein Vielfaches kleiner ist. Um da Mißverständnissen vorzubeugen noch eine kleine Anmerkung: auch mit einem "stinknormalen" PC kann man harte Echtzeit haben, z.B. mit einem Echtzeit-Linux. Diese Fähigkeit ist also hier nicht grundsätzlich von der Hardware sondern Software her beschränkt. Allerdings sollte man je nach geforderter Antwortverzögerung (letztendlich also der erreichbaren Geschwindigkeit) auf die richtige Wahl des Boards schauen. Je nach Hardware reagieren die Boards dann unterschiedlich schnell. Es gibt aber auch Steckkarten, die dieses selbst übernehmen. Da spielt der Unterbau-PC dann praktisch keine Rolle mehr und die Geschwindigkeiten sind nochmal deutlich höher. Für den OP könnte das auch interessant sein, denn mit LinuxCNC, das auch auf einem solchen Echtzeitlinux basiert, kann man bis mindestens sechs Achsen gleichzeitig und synchron bedienen. Das funktioniert wirklich gut und kostet wenig Einsatz (gibt es auch als Live-CD zum testen).
Hallo, habe mir jetzt erst mal zum Austesten eine Steuerung + Motor bestellt. Wenn das alles gut funktioniert werde ich für die fehlenden Motorsteuerungen einfach einen Schalter zum Umschalten auf die anderen Motoren integrieren. Das sollte fürs erste ausreichen. Danke für Eure Hilfe. Noch eine Frage. Steuerung ist ab NEMA 17 spezifiziert. Kann man damit problemlos auch kleinere Motoren Ansteuern? Gruss Frank
Hallo Frank! Entscheidend ist vor allem, dass du den Motorstrom passend (also in diesem Fall niedrig genug) einstellen kannst. Mit freundlichen Grüßen Thorsten Ostermann
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.