PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboterbau



Puma321
07.01.2016, 20:14
Hallo,

ich bin bisher ein stiller Mitleser gewesen und bin von euren Projekten echt begeistert!!! :):)

Zu mir noch ein bisschen was:
Ich bin eigentlich noch ein Anfänger in Sachen Mikrokontroller.
Ich hab aber auch schon ein paar Projekte mit dem Arduino hinter mir!
Wie z.B. Gewicht messen, Temperatur auslesen, Luftfeuchte messen, GPS-Position ermitteln, über ein GSM-Schild eine Verbindung zu meinem PC herstellen und dann Daten austauschen, Schieberegister für Leds verwenden.

Auserdem hab ich noch ein Handrad für unsere CNC-Portalfräsmaschine (Steuerung: EdingCNC) entwickelt und über ein USB-Kabel mit dem Laptop verbunden. Auf dem Laptop ist dann eine Windows Forms Anwendung von mir geschrieben gelaufen und hat dann die Software EdingCNC über Tastenkombinationen ferngesteuert :cool:
Auserdem hab ich jetzt gerade noch einen Schrittmotor angesteuert.


Warum ich das jetzt alles so ausführlich aufschreibe hat einen Grund!
Und zwar würdet ihr mir das zutrauen einen Armroboter mit 6 Gelenken zu bauen und anzusteuern so wie hier: https://www.roboternetz.de/community/threads/54986-Techniker-Miniprojekt-2011-Modell-Kuka-Roboterarm?
Was ich vielleicht noch sagen muss ist, dass ich Hauptschüler war. Das heißt ich tu mich mit Berechnungen ein bisschen schwer! (Aber Google weis ja zum Glück alles:) )

Wie ich schon oben beschrieben habe möchte ich mir einen Armroboter mit 6 Gelenken bauen der mir dann später Kassetten in einen Kassettenrecorder steckt und diese dann digitalisiert. :cool:

Die Größe sollte ungefähr so sein, dass wenn er ganz ausgestreckt ist eine Länge von ca. 50cm hat.
Das Gewicht das er heben soll sind 500 Gramm.
Somit wirkt hinten eine Kraft von ca. 2,45 N/m. Richtig?
Die Rechnung:
500g = ca. 4,9 Newton
4,9N x 0,5m = 4,9N/m

Wie ist das mit dem Mikroschrittbetrieb?
Ich hab da schon einiges darüber gelesen aber über die Genauigkeit von der Ansteuerung hab ich nichts gefunden!
Schaft man es auf eine Länge von 50cm eine Positionsgenauigkeit von ca. 0,1mm, wenn man einen Schrittmotor mit 200 Schritten (1,8° pro Schritt) nimmt oder muss man da eine Untersetzung einbauen?
Brauch ich da spezielle Schrittmotoren?
Es gibt ja bei Reichelt Schrittmotoren die für den Mikroschrittbetrieb optimiert sind. Soll ich dann solche nehmen oder gehen da auch ganz normale Bipolare Schrittmotoren?

Ich hoffe das waren nicht zu viele Fragen auf einmal. :)

Gruß
Puma321

cavy
08.01.2016, 02:11
Hallo Puma,


ein spannendes Projekt hast du dir da ausgesucht.


Ich denke, deine Erfahungen sind ausreichend um einen Roboterarm zu bauen. Das Problem liegt vermutlich eher im relativ komplexen und präzisen Bewegungsablauf, den so ein Kassettenwechsel voraussetzt.


Zur Präzision hast du dir ja schon einige Gedanken gemacht. Die Weglänge für einen ganzen Schritt beträgt 50cm * tan(1.8°) = 1.57cm. Die 0.1 mm wirst du allerdings auch mit Mikroschrittbetrieb oder einer Übersetzung nicht erreichen, da der Arm über 50 cm nie die nötige Steifigkeit besitzt. Nicht umsonst sind Portalfräsen so massiv aufgebaut.


Trotzdem empfehle ich dir am Projekt dran zu bleiben, weil es sehr lehrreich ist.


Wenn aber lediglich der Kassettenwechsel im Fokus steht, würde ich eher eine Konstruktion vorziehen, wie sie in diesem Video gezeigt wird: https://www.youtube.com/watch?v=IpIFPm5fswY


Grüsse
Thomas

ranke
08.01.2016, 07:27
Die Größe sollte ungefähr so sein, dass wenn er ganz ausgestreckt ist eine Länge von ca. 50cm hat.
Das Gewicht das er heben soll sind 500 Gramm.
Somit wirkt hinten eine Kraft von ca. 2,45 N/m. Richtig?
Die Rechnung:
500g = ca. 4,9 Newton
4,9N x 0,5m = 4,9N/m

Was Du rechnest ist nicht eine Kraft sondern ein Drehmoment. Es hat die Einheit Nm, nicht N/m.
Was Du vergisst ist das Eigengewicht des Arms, wenn er 6 Freiheitsgrade haben soll also noch die Gewichtskraft von 5 weiteren Servos und was eben sonst noch dazwischen ist. Am besten, Du skizzierst Dir mal die einzelnen Komponenten, schätzt das Eigengewicht ab und rechnest nochmal unter Berücksichtigung der Eigengewichte und Schwerpunkte der einzelnen Komponenten. Man kann dann gleich noch die Momente der anderen 5 Gelenke rechnen und feststellen, ob da eventuell noch nachgebessert werden muss. So kommt man dann langsam in Richtung eines Gesamtkonzepts und kann die Grenzen des sinnvoll Machbaren abschätzen.

i_make_it
08.01.2016, 09:24
Hallo,

Die Schulbildung ist nicht das Problem.
Wenn der Wille da ist und man sich mit der Materie auseinandersetzt, kann man sich da einarbeiten.
Als ich mit Robotern angefangen habe, hatte ich auch nur Hauptschule.
Realschule habe ich erst später nachgeholt.

Wie ja schon erklärt wurde, ergibt deine Rechnung zu kleine Werte, da noch einiges fehlt.

Bei der Größenordnung (500mm Armlänge) rate ich zu den 12VDC Motoren mit Quadraturencodern von Pololu.
Mein Scorbot ER5+ hat etwa einen halben Meter und hat Motoren in dieser Größenordnung drin.

Ich empfehle Dir, hol dir 2 von dne Motoren mit die von der Untersetzung etwa für die ersten beiden Achsen passen (Von der Basis aus).
Dann hol dir passende H-Brücken und fang mal mit einem Motor an eine Regelung aufzubauen (PID-Regler).
http://www.maelabs.ucsd.edu/mae156alib/control/PID-Control-Ardunio.pdf
Es gibt da einige Tutorials, bei denen die Regelung auch noch gut verbessert wird.
Wenn das Klappt und Du den Motor vom Stillstand über mehrere Drehzahlen wieder bis zum Stillstand regeln kannst und auch die Drehrichtung umkehren kannst.
Nimm den zweiten Motor hinzu und bau dir einen 2-Achs Plotter.
Wenn Du da eine Bahnregelung hinbekommst (Kreise, geometrien die nicht achsparallel sind) dann bist Du da schon recht weit.

Unabhängig davon kannst Du als zweites Teilprojekt den Greifer für die Kassetten konstruieren.
Mit den gekauften Motoren, hast Du ja schon mal Gewichts und Maßverkörperungen und kannst über den Greifer das Handgelenk und den Unterarm konstruieren.
Damit erhällst Du die jeweiligen Massen und kannst dann immer weiter zur Basis konstruieren, weil die Massen, Kräfte und Drehmomente bekannt sind.
Die mechanische Konstruktion wird höchstwahrscheinlich der einfachste Teil sein.
Inverse Kinematik um die Bahnberechnug und die Fahrprofile für die einzelnen Achsen zu berechnen wird dann das kniffelige.
Deshalb mein Vorschlag von oben sich mit dem Thema schon von Anfang an zu befassen.
So hat man die Möglichkeit wenn es da hängt, sich mit der Konstruktion zu befassen und wenn der Kopf wieder frei ist weiter zu machen ohne das das Projekt in der Zeit steht.

Puma321
08.01.2016, 10:05
Hallo,

Danke für die schnellen Antworten!


Zur Präzision hast du dir ja schon einige Gedanken gemacht. Die Weglänge für einen ganzen Schritt beträgt 50cm * tan(1.8°) = 1.57cm. Die 0.1 mm wirst du allerdings auch mit Mikroschrittbetrieb oder einer Übersetzung nicht erreichen, da der Arm über 50 cm nie die nötige Steifigkeit besitzt. Nicht umsonst sind Portalfräsen so massiv aufgebaut.


Ja das stimmt!
Ich hab mich da vielleicht ein bisschen falsch ausgedrückt. Ich brauch die Genauigkeit ja nicht auf einer Länge von 50cm sondern ich kann ja den Kassettenspieler auch sehr nah an den Roboter stellen. Somit hab ich dann, wenn der Roboterfuß eine Grundfläche von ca. 8cm im Radius hat, eine Länge bis zum Kassettenspieler von ca. 15-20 cm. Somit hab ich dann eine Genauigkeit von 0,87mm (bei 20cm Länge + Radius der Grundfläche von 8cm) pro Schritt.
Im Mikroschrittbetrieb währe es doch dann noch viel genauer oder nicht?
Wie genau wird das denn eigentlich im Mikroschrittbetrieb ungefähr? Hat da noch keiner eine Erfahrung damit gemacht?
Ich hab mal eben geschaut wie viel Luft die Kassette im Kassettenrecorder hat und das sind insgesamt 1mm (also 0,5mm auf jeder Seite).
An die Steifigkeit von der ganzen Konstruktion hab ich noch gar nicht gedacht! Aber meint ihr es währe möglich die Komponenten mit Hilfe von Kegellagern zu verspannen?
So zum Beispiel:
31096

Damit währe es doch dann Spielfrei oder nicht?



Was Du rechnest ist nicht eine Kraft sondern ein Drehmoment. Es hat die Einheit Nm, nicht N/m.
Was Du vergisst ist das Eigengewicht des Arms, wenn er 6 Freiheitsgrade haben soll also noch die Gewichtskraft von 5 weiteren Servos und was eben sonst noch dazwischen ist. Am besten, Du skizzierst Dir mal die einzelnen Komponenten, schätzt das Eigengewicht ab und rechnest nochmal unter Berücksichtigung der Eigengewichte und Schwerpunkte der einzelnen Komponenten. Man kann dann gleich noch die Momente der anderen 5 Gelenke rechnen und feststellen, ob da eventuell noch nachgebessert werden muss. So kommt man dann langsam in Richtung eines Gesamtkonzepts und kann die Grenzen des sinnvoll Machbaren abschätzen.

Mit dem Eigengewicht hast du Recht aber ich hab auch schon gelesen das man das Gewicht des Roboters mit Gummi so kompensieren kann dass auf den Motoren im Ruhezustand (also ohne zusätzliches Gewicht) nahezu keine Last liegt?!? Stimmt das?
Aber ganz vorne stell ich mir das ein bisschen schwierig vor da es dort sehr eng wird!

Die Skizze reich ich dann noch nach. Kann aber noch ein bisschen dauern (Morgen oder so)!

- - - Aktualisiert - - -

Danke für den Tipp i_make_it!

So werde ich es machen!
Wie viel kg hebt dein Roboter und wie viel Nm hat dein Motor?

Hast du den Roboter den du gebaut hast Scorbot ER5+ irgendwo vorgestellt damit ich den Beitrag mal durchlesen kann?

i_make_it
08.01.2016, 18:57
Der Scorbot ER5+ wurde von der israelischen Firma Eshed Robotec entwickelt und hergestellt. (die gibt es heute nicht mehr)
http://digital-circuitry.com/PDF%20Images/Scorbot%20ER-Vplus%20Users%20Manual/ER_Vplus.pdf
5-Achs Vertikal Knickarm.
610mm Radius bis TCP
Handlinggewicht 1kg
Wiederholgenauigkeit am TCP 0,5mm
Steht aber auch alles in dem PDF.

Der wurde als Schulungsroboter und zur Laborautomatisierung angeboten.
Aus dem Handbuch kann man sich auch ein paar Ideen für Leichtbau ziehen.
Der ist aus Blechbiegeteilen Rundstäben mit Einstichen für Wellensicherungsringen und Stirngewindebohrungen und Radialrillenkugellager in aufs Blech geschraubten Lagergehäusen aufgebaut.
So ahnlich: https://www.youtube.com/watch?v=tkDbmWAyHYw

Eine andere Möglichkeit wäre:
https://www.youtube.com/watch?v=cod_SNq-d6c

ranke
08.01.2016, 19:17
Im Mikroschrittbetrieb währe es doch dann noch viel genauer oder nicht?
Mehr als 1/10 Schritt kann man nicht erwarten, das auch nur, wenn man den Strom nach Positionierung nicht absenkt.


An die Steifigkeit von der ganzen Konstruktion hab ich noch gar nicht gedacht! Aber meint ihr es währe möglich die Komponenten mit Hilfe von Kegellagern zu verspannen?
Das Anstellen von Kegelrollenlagern ist eine Möglichkeit das Lagerspiel zu verringern. Allerdings ist auch das Lagerspiel zweier Rillenkugellager im allgemeinen schon recht gering. Problematischer ist die Verbiegung von Bauteilen unter Last, was eine Kombination von hoher Biegesteifigkeit bei gleichzeitigem Leichtbau erfordert, also der klassische Zielkonflikt.


Mit dem Eigengewicht hast du Recht aber ich hab auch schon gelesen das man das Gewicht des Roboters mit Gummi so kompensieren kann dass auf den Motoren im Ruhezustand (also ohne zusätzliches Gewicht) nahezu keine Last liegt
Das funktioniert nur eingeschränkt (man kann auch über andere Federn oder Gegengewichte nachdenken). Man kann zwar den Antrieb in einer Extremstellung entlasten aber in anderen Stellungen muss man dann eben gegen die Feder arbeiten, oder der Antrieb wird im Gleichgewicht zwischen Gewichts- und Federkraft momentenfrei, was unangenehm ist, weil dann die Positionierung besonders ungenau wird.


Die Skizze reich ich dann noch nach. Kann aber noch ein bisschen dauern (Morgen oder so)!
Eilt mir nicht, die Skizze ist für Dich, nicht für mich. Am besten Du machst das im Maßstab 1:1 mit Bleistift auf Transparentpapier. Du wirst häufiger radieren müssen. Fang am Greifer an und arbeite Dich bis zum Standfuß vor und mache bei jedem Gelenk eine Abschätzung der nötigen Stellkräfte / Momente so dass Du einigermaßen dimensionieren kannst.

Puma321
08.01.2016, 23:48
Ich hab mich mal nach Schrittmotoren umgeschaut.
Also mit dem "12VDC Motor mit Quadraturencodern von Pololu" das währe ja dann der da http://www.mikrocontroller-elektronik.de/emg30-getriebemotor-mit-eingebautem-drehgeber/
Also wie ich das verstehe ist das ja kein Schrittmotor sondern ein ganz normaler Gleichstrommotor mit Getriebe und Encoder. Hab ich das richtig verstanden oder lieg ich da falsch?
Der hat ja dann im Ruhezustand, also wenn aller Strom weg ist, keinerlei Kraft mehr und der Roboter sinkt in sich zusammen oder?

Dann hab ich mir jetzt noch einen Schrittmotor herausgesucht:
http://www.omc-stepperonline.com/gear-ratio-271-planetary-gearbox-high-torque-nema-17-stepper-17hs191684spg27-p-43.html
währe dann die starke Variante mit richtig Wums! Schon fast ein bisschen überdimensioniert oder nicht?

Die Alternative währe:
http://www.omc-stepperonline.com/gear-ratio-271-planetary-gearbox-with-nema-11-stepper-motor-11hs200674spg27-p-35.html
Der Nachteil an dieser Variante ist dass er eigentlich genau so viel, ja sogar noch mehr als der andere kostet!
Die Länge von den beiden ist eigentlich gleich.
Die Positioniergenauigkeit ist auch gleich.
Nur beim Gewicht (570g und 310g) und bei der Größe (42mmx42mm und 30mmx30mm) hat der kleinere einen Vorteil!

Aber ich glaub dass das bei den ersten 2 Achsen (vom Standfuß aus gesehen) zu vernachlässigen ist da dort eigentlich keinerlei Hebelkräfte auftreten. Oder was meint ihr?

Wenn ich aber da bestelle bestell ich auch gleich die anderen Motoren mit, da ich ca. 30 Dollar Versandkosten bezahlen muss.
Aber davor muss ich jetzt noch unbedingt die Skizze machen!

Ich hab noch eine Frage an dich ranke:
Warum soll ich beim Greifer anfangen zu zeichnen? Hat das irgend einen Sinn oder ist das egal?
Ich persönlich finde es sehr schwer beim Greifer anzufangen da ich noch nicht weiß wie groß meine anderen Arme sind und ich so das Verhältnis sehr schlecht abschätzten kann.
In Welcher Winkellage soll ich den Roboter zeichnen? Ganz ausgestreckt oder in einem Bogen (So wie der Regenbogen) damit man die Gelenke schön sieht?

Und noch vielen Dank für die tolle Unterstützung die ich hier bekomme!!!:)

Ach was mir gerade noch einfällt:
Soll ich die Steuerung mit einem Arduino Mega machen oder mit einem Atmega644 so wie hier: https://www.roboternetz.de/community/threads/54986-Techniker-Miniprojekt-2011-Modell-Kuka-Roboterarm/page4
Hat der irgendwelche Vorteile? Kann man den auch mit Visual Studio und der Visual Micro Extension programmieren?
Oder mit welchem Programm programmiert man einen Atmega644?
Mir persönlich würde er ja schon gefallen da ich dann auch noch was zum Löten habe :)
Ich bevorzuge die Sprache C/C++ und C#(C# kommt aber in Sachen Mikrocontroller so weit ich weis nie vor außer natürlich mit Windows 10 und dem Raspberry PI :) )

Achja und dann noch der Motortreiber aber da muss ich mich noch mal ein bisschen einlesen (wegen dem Mikroschrittbetrieb) :)

ranke
09.01.2016, 08:01
Also mit dem "12VDC Motor mit Quadraturencodern von Pololu" das währe ja dann der dahttp://www.mikrocontroller-elektroni...tem-drehgeber/ (http://www.mikrocontroller-elektronik.de/emg30-getriebemotor-mit-eingebautem-drehgeber/)
Also wie ich das verstehe ist das ja kein Schrittmotor sondern ein ganz normaler Gleichstrommotor mit Getriebe und Encoder. Hab ich das richtig verstanden oder lieg ich da falsch?
Der hat ja dann im Ruhezustand, also wenn aller Strom weg ist, keinerlei Kraft mehr und der Roboter sinkt in sich zusammen oder?

Ja, richtig verstanden. Allerdings hat der Motor eine gewisse Reibung in den Lagern und besonders durch die Bürsten. Das erzeugt ein gewisses Haltemoment wenn der Motor nicht bestromt wird. Das Haltemoment wird durch das Getriebe nochmal um das 30-fache verstärkt, zusätzlich wirken noch Reibungskräfte im Getriebe. Leider gibt es in den technischen Angaben aber keine Angaben dazu.
Ein Schrittmotor hat dem gegenüber (wenn nicht bestromt) ein noch geringeres Haltemoment als ein DC-Motor weil er keine Bürstenreibung hat. Es gibt beim Schrittmotor zwar ein gewisses Rastmoment, wenn dieses aber überwunden wird gibt es kein Halten mehr.
In der Praxis wird die Situation dadurch entschärft, dass praktisch jeder Elektromotor für ein Armgelenk mit einem Getriebe ausgerüstet wird, weil die Leistungsabgabe beim Elektromotor eher bei höherer Drehzahl und bei geringem Moment geschieht, für die Armverschwenkung braucht man aber hohes Moment und geringe Verstellgeschwindigkeit. Die Getriebe sind heikel, weil sie immer ein gewisses Spiel haben. Deshalb sollte man bei der Anwendung darauf achten, dass das Getriebe immer in der selben Richtung belastet wird.


Warum soll ich beim Greifer anfangen zu zeichnen? Hat das irgend einen Sinn oder ist das egal?
Ich persönlich finde es sehr schwer beim Greifer anzufangen da ich noch nicht weiß wie groß meine anderen Arme sind und ich so das Verhältnis sehr schlecht abschätzten kann.
Vermutlich sind mehrere Skizzen notwendig. Eine erste, um die Zahl und Lage der Gelenke festzustellen, das hängt von der notwendigen Reichweite und den gewünschten Bewegungsmöglichkeiten ab. Diese Skizze kann sehr grob und schematisch sein, z.B. kleine Kreise für die Gelenke, Striche für die Verbindungen der Gelenke. Man kann da auch in verschiedenen Positionen in einer Skizze arbeiten. Diese Skizze kann man durchaus beim Fuß anfangen.
Eine weitere Skizze dient der Detaillierung, hier muss man dann schon etwas rechnen.
Wenn Du beim Greifer anfängst, musst Du Dir ungefähr überlegen wie der aufgebaut ist, welche Motoren Du dort verbaust und wie der Rest der Mechanik aussieht. Dadurch siehst Du auch schon wie groß das wirklich wird (daher meine Empfehlung im Maßstab 1:1 zu zeichnen) und kannst Abschätzen welche Teile wie schwer werden und wie weit weg sie vom nächsten Gelenk sind. Diese Information brauchst Du um das nächste Gelenk vor dem Greifer zu berechnen. Das ergibt dann wieder ein Gewicht, und so fort. Vom Fuß weg geht das nicht, weil Du ja noch gar nicht weißt wie schwer die Bauteile weiter oben sind.

Klebwax
09.01.2016, 10:38
Der hat ja dann im Ruhezustand, also wenn aller Strom weg ist, keinerlei Kraft mehr und der Roboter sinkt in sich zusammen oder?

Das ist bei allen Motoren so, auch bei Schrittmotoren.

Wenn ich aber da bestelle bestell ich auch gleich die anderen Motoren mit, da ich ca. 30 Dollar Versandkosten bezahlen muss.
Die bei Pololu bauen sicher keine Motore, sondern kaufen wie alle in China ein. Das einzige, was sie machen, ist das Produkt gut und ausführlich zu beschreiben. Dafür zahlt man dann den Transport von China nach USA und von USA nach Europa mit all den Gebühren für die Einfuhrabwicklung. Wenn einem das das wert ist, ist's ok. Wenn man aber mehr von einem Teil braucht, kann es sich lohnen, sich selbst über die Teile schlau zu machen und wesentlich billiger (Preis plus Versand) zu kaufen. sowohl über ebay (http://www.ebay.de/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xdc+motor+ encoder.TRS0&_nkw=dc+motor+encoder&_sacat=0) als auch über aliexpress (http://www.aliexpress.com/wholesale?catId=0&initiative_id=AS_20160109013901&SearchText=dc+motor+encoder) gibt es ein riesiges Angebot, dort findet man dann auch die Angebote der gängigen (deutschen wie amerikanischen) Händler wieder.

Achja und dann noch der Motortreiber aber da muss ich mich noch mal ein bisschen einlesen (wegen dem Mikroschrittbetrieb) :)

Einlesen wird nicht reichen. Man muß alles auch erstmal ausprobieren, um ein Gefühl für die Sache zu kriegen. Erst wenn man mal einen Stepper mit den verschiedenen Ansteuerungen probiert hat, ihn mal mit den Fingern festgehalten oder einen Arm hat drehen lassen, gewinnt man auch ein Gefühl für die Sache. Ich hatte mal einen Stepper sehr schön geschmeidig am Laufen. Als ich aber das Papierfähnchen an der Achse durch eine simple Scheibe ersetzt habe, ging garnichts mehr, also noch mal neu ran an die Ansteuerung. Ähnliches gilt auch für DC-Motore.

Und dazu muß man keine teuren Teile kaufen, vieles kann man durch Ausschlachten von kaputten Geräten gewinnen. Bei vielen Projekten, die man im Netz verfolgen kann, kommt gegen Ende die Aussage: "hätte ich alles gewußt, was ich bis jetzt gelernt habe, hätte ich vieles anders gemacht. Ich denke gerade über eine Version 2.0 nach." Auch mir geht das oft so. Wenn man dann aber sein Budget schon beim Prototyp verbrannt hat, siehts für das Projekt schlecht aus. Auf Youtube findet man haufenweise Beispiele, was man für kleines Geld mal probieren kann.

Viel Erfolg

MfG Klebwax

i_make_it
09.01.2016, 11:13
ranke hat zwar eigentlich schon alles geschrieben, aber zum Verdeutlichen noch mal ein Komentar von mir.



Der hat ja dann im Ruhezustand, also wenn aller Strom weg ist, keinerlei Kraft mehr und der Roboter sinkt in sich zusammen oder?

Ein DC Motor mit Permanentmagneten hat ein (sehr) kleines Rastmoment.
Ein Schrittmotor gleicher Leistung hat meist ein etwas Größeres Rastmoment.
Beide Motoren haben unbestromt kein nennenswertes Haltemoment.
Untersetzungsgetriebe übersetzen diese Rastmomente und haben selbst noch Reibung.
Das kann zu einer Selbsthemmung führen, muß aber nicht.
Ein Schneckengetriebe ist selbsthemmen, kann also für einen Antrieb mit Haltemoment verwendet werden.
In der Praxis werden Roboterantriebe mit federbelasteten Magnetbremsen gebaut die beim Ausschalten der Antriebe für das notwendige Haltemoment sorgen.
Bei bestromten Motoren sorgen Motorregler mit 4-Quadranten, Hochsetz- und Tiefsetzsteller Eigenschaften dafür das in allen Betriebszuständen das notwendige Moment aufgebracht werden kann.
Im Profibereich werden Resolver eingesetzt, aber man kann auch einen für die Positionsregelung gedachten Encoder dafür mitverwenden.
Bsp.:
31099



Aber ich glaub dass das bei den ersten 2 Achsen (vom Standfuß aus gesehen) zu vernachlässigen ist da dort eigentlich keinerlei Hebelkräfte auftreten. Oder was meint ihr?

Genau an diesen Achsen treten die größten Hebelkräfte auf.
Nimm mal einen Besenstiel und mach ihn in der Mitte an einem Gelenk fest (Querloch, Schraube durch und ein U-Profil in einem Schraubstock festmachen.
Die eine hälfte stellt den Arm da und die andere Hälfte ist Dein Messaufbau.
Am Messaufbau kommt eine Federwaage zum messen der Kraft.
An die Hälfte die den Arm simmuliert markierst Du mit einem Stift das Ellenbogengelenk, das Handgelenk und den TCP.
Als Simmulation des Gewichts der einzelnen Bauteile und Baugruppen hänge z.B. Getränkeflaschen an die entsprechenden Stellen des Hebelarms.
Du wirst feststellen das je weiter weg das Gewicht ist um so stärker wird die Waage belastet und je näher Du die Waage an den Drehpunkt bewegst um so größer die Belastung der Waage.
Daraus folgt, das im Drehpunkt ddie Kraft am größten ist. Dementsprechend ist deine Überlegung oben leider komplett Falsch.



Warum soll ich beim Greifer anfangen zu zeichnen? Hat das irgend einen Sinn oder ist das egal?

Du fängst ja mit den 500g der Kassette an.
Damit kannst Du die Greifkraft und die Abmessungen des Greifers ermitteln und einen passenden Greifer Bauen.
Vorher weißt Du aber nicht ob dieser Greifer selbst 100g oder 1,5kg wiegen wird.
Erst mit dem Greifer kannst Du berechnen wie stabil dein Handgelenkt werden muß und dementsprechend, wie groß Lager, Tragstruktur und Antriebe werden müssen.
Das setzt sich so immer weiter fort.
Am Ende weist Du ob du die Basis für 10kg (mein Scorbot hat etwa 14kg), 20kg oder vieleicht 50kg auslegen must.
Natürlich kannst Du andersrum vorgehen, aber dann konstruiertst Du den Roboter mindestens zwei mal.
Es hat also einen Sinn. Einige der Basisnormen zur Konstruktion sind:
VDI 2221 Methodik zum Entwickeln und Konstruieren technischer Systeme und Produkte
http://www.optimus-spitzencluster.de/entwicklungsprozessvorgehensmodellnachvdi.pdf
VDI 2222 Konstruktionsmethodik - Methodisches Entwickeln von Lösungsprinzipien
VDI 2223 Methodisches Entwerfen technischer Produkte



Ich persönlich finde es sehr schwer beim Greifer anzufangen da ich noch nicht weiß wie groß meine anderen Arme sind und ich so das Verhältnis sehr schlecht abschätzten kann.

Umgekehrt ist das Abschätzen praktisch unmöglich (siehe Text weiter oben)



In Welcher Winkellage soll ich den Roboter zeichnen? Ganz ausgestreckt oder in einem Bogen (So wie der Regenbogen) damit man die Gelenke schön sieht?

In so vielen Lagen wie nötig.
Normalerweise gibt es bei technischen Zeichnungen:
Gesammtzeichnung
Zusammenbauzeichnung
Fertigungszeichnung

Ich persönlich zeichne in der Regel in CAD in 3D, da habe ich Kollissionserkennung und kann mir alles drehen um es aus allen Richtungen anzusehen.

- - - Aktualisiert - - -



Die bei Pololu bauen sicher keine Motore, sondern kaufen wie alle in China ein. Das einzige, was sie machen, ist das Produkt gut und ausführlich zu beschreiben.


JAIN.
Pololu ist nach eigenen Aussagen ein Elektronik Entwicklungs- und Produktionsunternehmen.
Die kaufen Motoren und bestücken die mit ihren selbst entwickelt und hergestellten Encodern.
https://www.pololu.com/picture/view/0J4946

Klebwax
09.01.2016, 17:31
JAIN.
Pololu ist nach eigenen Aussagen ein Elektronik Entwicklungs- und Produktionsunternehmen.
Die kaufen Motoren und bestücken die mit ihren selbst entwickelt und hergestellten Encodern.


Wenn ich mir mal den Encoder von diesem Motor (https://www.pololu.com/product/2275) so ansehe

31100

und das mit dem Motor aus China (http://www.aliexpress.com/item-img/2pcs-JGA25-371-DC-Gearmotor-with-Encoder-126-RPM-at-12-V/32289011231.html?spm=2114.10010108.100005.12.IGnIx m) vergleiche

31101

fällt mir als wesentlicher Unterschied der Preis auf. 2 Stück aus China kosten inclusive Versand etwa genausoviel wie einer von Polulu ohne Versand. Aber wie gesagt, das muß jeder mit sich selbst ausmachen.

MfG Klebwax

Puma321
09.01.2016, 19:31
Also um mal ein bisschen in die Materie kostengünstig einzusteigen bau ich mir mal einen Plotter aus 2 CD-Laufwerken wie hier beschrieben:

https://www.youtube.com/watch?v=UqOYlB8f48k



Genau an diesen Achsen treten die größten Hebelkräfte auf.
Nimm mal einen Besenstiel und mach ihn in der Mitte an einem Gelenk fest (Querloch, Schraube durch und ein U-Profil in einem Schraubstock festmachen.
Die eine hälfte stellt den Arm da und die andere Hälfte ist Dein Messaufbau.
Am Messaufbau kommt eine Federwaage zum messen der Kraft.
An die Hälfte die den Arm simmuliert markierst Du mit einem Stift das Ellenbogengelenk, das Handgelenk und den TCP.
Als Simmulation des Gewichts der einzelnen Bauteile und Baugruppen hänge z.B. Getränkeflaschen an die entsprechenden Stellen des Hebelarms.
Du wirst feststellen das je weiter weg das Gewicht ist um so stärker wird die Waage belastet und je näher Du die Waage an den Drehpunkt bewegst um so größer die Belastung der Waage.
Daraus folgt, das im Drehpunkt ddie Kraft am größten ist. Dementsprechend ist deine Überlegung oben leider komplett Falsch.


Sorry ich hab mich da leider ein bisschen schlecht ausgedrückt.
Ich meinte dass die beiden Motoren die hinten verbaut sind keine Last auf den Roboterarm bringen. Also die sind nicht vorne am Greifer montiert wo sie am meisten Kraft auf den Arm bringen, sondern hinten am Roboterfuß. Somit ist also das Gewicht der Motoren hinten am Fuß kein Problem!

Würdet ihr mir dann eher zum Schrittmotor oder zum Gleichstrommotor raten?

i_make_it
09.01.2016, 19:34
@ Klebwax: Die Motoren wird es wohl genau so wie Arduinos und andere Sachen als Clone geben.
Wo man sich das schlußendlich holt ist einem ja selbst überlassen.
Die Arduinos die ich mir letzten Monat geholt habe sind ja auch keine Arduinos.
Aber mit einer chinesischen Teilenummer weis ja keiner von was man redet.
Wenn man schreibt "Encodermotoren von Pololu" Weis halt jeder was gemeint ist.
Und nach eigenen Aussagen entwickeln und fertigen die ihre Elektronik selbst.

@Puma 321: Motoren nahe der Basis treten fast nur bei der Massenträgheit in Erscheinung.
Bei der Wahl der Motorart kann man philosophieren, beides geht, beides hat seine Vor- und seine Nachteile.
Ich würde auf jeden Fall davon abraten ohne Enkoder zu arbeiten. Also wenn Stepper dann mit Encodern.
Nur so kann man selbst bei Schrittverlusten eine präzise Positionsregelung erreichen.

Puma321
09.01.2016, 21:21
Ok danke für die Info!

Ich hab mir gerade unsere alten PCs ausgeschlachtet und beide Varianten gefunden!
1x mit Schrittmotor und 1x Mit normalem Gleichstrommotor http://www.suzushoweb.com/pdf_file/1484000000006.pdf den PPN13LB10C
und der Gleichstrommotor hat vorne am Motor einen Encoder (also Scheibe mit Vielen Schlitzen und einer Lichtschranke).
Somit kann ich also gleich alles beide ausprobieren :)

31102
31103

- - - Aktualisiert - - -

Ich bin gerade an der Lichtschranke und weis nicht was das für ein Bauteil ist ich hab es mal Schwarz eingekringelt

31104

Wenn ich die Platine mit Spannung versorge und das Rad für die Lichtschranke ein wenig bewege dann hab ich Schwankungen von ca. 0,4 V aber das ist ja gar nichts oder?
Wenn jemand was weis bitte melden! Danke :) :)

ranke
10.01.2016, 07:46
Das schwarz Eingekringelte dürfte ein PNP-Transistor zur Verstärkung des Signals der Fotodiode sein. Es ist nur eine einfache Lichtschranke, kein Quadratursignal. Man kann also die Drehgeschwindigkeit aber nicht die Drehrichtung feststellen. Das ist sehr sparsam für eine Positionieraufgabe.

i_make_it
10.01.2016, 12:39
Die Schaltung dürfte etwa wie folgt sein.
31108
Aber wie ranke schon geschrieben hat, kann damit nur die Bewegung und Winkelstellung durch Zählen der Impulse ermittelt werden.
Für einen Quadraturencoder benötigt man an der Lochscheibe den Aufbau noch ein zweites mal.
So das wenn eine Lichtschranke genau in Lochmitte ist eine andere genau auf dem Rand eines Lochs ist und 50% abgeschattet ist.
Mit dem momentanen Aufbau kann man die Drehrichtung nicht ermitteln sondern nur aus der Motoransteuerung (direction) entnehmen.
Wenn die Last bei Stillstand die Haltekraft des Motors überwindet kann man also nicht feststellen in welche Richtung der Motor gedreht wird und kann deshalb den Motor nicht in die Gegenrichtung steuern.
Steuert man den Motor an bis zum nächsten Impulswechsel, hat man eine 50% Chance das man den Fehler korrigiert und eine 50% Chance den Fehler zu verdoppeln.

Normalerweise kommt bei Encodern mit analogen Ausgangssignalen noch ein Schmitt Trigger zur Signalkonditionierung ran.
Dadurch wird aus einem "grob" sinusförmigen Signal ein Rechtecksignal mit steilen Flanken das man gut weiterverarbeiten kann.
Bei Systemen die durch Accu-/Batteriebetrieb versorgt werden, spart man sich den Schmitt-Trigger gerne um ein paar mA (für die zusätzliche Schaltung) pro Signal zu sparen (z.B. bei 6 Achsen, 12 Signale).

- - - Aktualisiert - - -

Hier mal mit LT-Spice eine (grob angenäherte) Simmulation wie die Schaltung arbeitet.
31107
Messpunkt 1 (grün) Sinus um das zykliche Abschatten durch die Lochscheibe zu simmulieren.
Messpunkt 2 (blau) Ausgangssignal am Spannungasteiler der aus R1 (47k) und Phototransistor entsteht.
Messpunkt 3 (rot) Ausgangssignal nach der Kollektorschaltung (Hier ist kein Schmitt-Trigger mehr notwendig).

Orange, Signalverdopplerschaltung, die bei jedem Pegelwechsel einen Impuls erzeugt. (Bei einem Controller der per change bei jedem Pegelwechsel reagieren kann ist der Schaltungsteil nicht unbedingt notwendig)

Puma321
10.01.2016, 13:27
So was dummes!
Jetzt ist mir beim Löten der PNP Transistor kaputt gegangen und ich hab nur noch NPN-Transistoren.:(
Mal schauen ob ich es auch ohne hinbekomme.

Puma321
11.01.2016, 20:13
Hi,
ich komme gerade irgendwie nicht mehr weiter. Vielleicht könnt ihr mir da helfen.
Hier mein Schaltungsaufbau:
Mein Treiberbaustein ist ein L293DNE

31113

Ich hab meinen Arduino so programmiert, dass er abwechselnd den Pin 2 (vom L293) auf HIGH und den Pin 7 auf LOW bzw. anders herum, setzt.
Auf dem Bild ab ich die Drähte vom L293 jeweils zur bessern Sicht herausgezogen und eine Led mal angeschlossen. (links Pin7, rechts Pin2).
Wenn ich jetzt den Unterschied von Pin7 und Pin 2 messe bekomme ich abwechselnd zwischen -0,3V und 0,2V.
Wenn ich Pin 7 oder Pin 2 zu GND messe bekomme ich abwechselnd 4,5V und 3,16V (wenn ich eine externe Stromversorgung anschließe dann sind es statt 4,5V genau 5V)
Warum sind das 3,16V und keine 0V :confused: :confused: :confused:
Wenn ich jetzt einen 10k Ohm Widerstand nehme und ihn zwischen Pin 2 und GND setze, dann läuft der Motor.
Wenn ich ihn von Pin2 wegnehme und ihn auf Pin 7 steck (Pin7 und GND), dann läuft der Motor anders herum.
Wenn ich jetzt beide Pins mit einem 10k Ohm auf GND lege, dann läuft der Motor nicht.
Ich schätze, dass der L293 nicht durchschaltet weil die Schwellspannung nicht erreicht ist oder?
Was kann ich machen dass ich ihn bei LOW auf 0V bringe?

Ich hab auch schon einen Arduino Mega probiert geht allerdings auch nicht! Genau der gleiche Effekt!
Ich bin echt am Verzweifeln hab schon Stunden probiert und Gegoogled aber keine Lösung gefunden!

Übrigens hab ich das mit der Lichtschranke doch noch hinbekommen :) ich hab ihn einfach auf einen Analog Eingang gelegt und vergleiche hier die Spannung ist zwar nicht viel (Wertunterschied von 890 und 980) aber es reicht :) sieht man auch am Bild die eine Led neben dem Arduino leuchtet :)

Ich hoffe ihr könnt mir hier helfen und vielen Dank schon mal :)

i_make_it
11.01.2016, 21:17
Wie ist den Pin 1 (enable) beschaltet?
Welche Spannung liegt denn an Pin 8 an?
Der Motor stammt doch aus einem CD-Rom Laufwerk?
Ist das ein 5V Motor?
Sind die Freilauf Dioden vorhanden?
http://www.ti.com/lit/ds/symlink/l293.pdf
Seite 7 (8.2 Functional Block Diagram)
In welcher Frequenz toggelst Du denn die Pins 2 und 7?

Puma321
11.01.2016, 23:52
Also auf Pin1 liegen 5V an.
Der Pin 8 hat 5V allerdings bin ich meistens so auf 3V da der Motor sonst so schnell auf Anschlag ist

Den Motor hab ich oben schon beschrieben: PPN13LB10C
http://www.suzushoweb.com/pdf_file/1484000000006.pdf
Die Freilaufdioden sind im L293DNE (das sagt ja das DNE aus (hab ich im Buch gelesen))

Und wegen der Frequenz, also ich schalte bis jetzt zum besseren messen und testen alle 3 Sekunden die Spannung um.
Später wenn die Schaltung läuft nehm ich dann die PWM

i_make_it
12.01.2016, 09:52
OK,

der Motor ist für 3,5 bis 10V (Nennspannung5V) und 20mA Leerlaufstrom. Das passt also schon mal.
Der L293 ist soweit richtig (stimmt das D steht für die internen Dioden)
Das E steht dafür das er nach RoHS Bleifrei ist.
Das N steht für das Gehäuse, PDIP (plasic dual inline package)

Von Deiner Beschreibung bekommt der Arduino die Ausgänge nur mit externen Pull-down Widerständen sauber nach Low, dafür dann aber nicht mehr sauber nach High.
Wenn die Arduino Pins ohne das der L293 angeschlossen ist, sauber zwichen 5V und GND schalten, dann können sie die Innenbeschaltung des L293 nicht auf die gewünschten Pegel ziehen.
Was aber eigentlich funktionierne sollte.
Eine Möglichkeit wäre erst mal die Stütz- und Siebkondensatoren mit in die Schaltung zu integrieren um ungewollte Seiteneffekte durch die Spannungsversorgung zu minimieren.
Auf dem Schaltplan von einem Arduino Motorschield kann man die gut erkennen.
http://yourduino.com/docs/Multi-MotorShieldSchematic.jpg

Puma321
12.01.2016, 14:46
Also ich hab jetzt alles noch mal runtergerissen und neu aufgebaut hier die Bilder vielleicht hat ja jemand zeit sich das anzuschauen:

31117311183111931120

Die Widerstände sind 47k Ohm
Wenn ich einen von den beiden entferne dann läuft der Motor. Und wenn ich den anderen entferne läuft er anders herum.
Die Kondensatoren hab ich jetzt auch reingebaut.(hab ich nicht da gehabt deshalb hab ich sie von der Laufwerkplatine heruntergelötet)

Ich hoff ihr könnt mir helfen.
Meint ihr dass der Treiberbaustein kaputt ist?

i_make_it
12.01.2016, 15:47
Hast Du den Motor von der Platine getrennt?
(rot und schwarz)
https://www.roboternetz.de/community/attachment.php?attachmentid=31104&d=1452374266

Und nur an braun uns weiß angeschlossen, oder hängt da noch was anderes dran?
Bei den Kondensatoren versucht man normalerweise möglichst kurze Zuleitungen zu haben und die dicht an den Chip zu setzen.

Puma321
12.01.2016, 17:14
Also den Motor hatte ich nicht von der Platine getrennt.
Jetzt hab ich ihn mal von der Platine gelöst aber geht immer noch nicht!

Und nein es hängt nichts mehr dran siehe Bild
31121

Und die Kabel von den Kondensatoren hab ich auch gekürzt und so nah wie möglich an den Chip platziert.
Was ratet ihr das ich jetzt machen soll?:confused:
So wie es aussieht seid ihr auch ratlos oder?:confused:

- - - Aktualisiert - - -

Jetzt geht es!!!
Ich hab einfach mal ein Testprogramm geschrieben und siehe da es geht.
Dann hab ich noch mal in mein Programm geschaut und hab auch den Fehler gefunden aber komisch dass es vorher als die alte Schaltung noch auf dem Brett (die alte die ich vorher aufgebaut hatte (siehe erste Bilder)) war nicht funktioniert hat weil da war der Code korrekt.
Na ja egal Hauptsache es geht :)
Tut mir leid das ich euch wegen so einer nichtigen Sache belästigt habe.
Jetzt kann es dann weiter gehen :) :) :) :)

Vielleicht lag es auch da dran das ich der Motor noch auf der Platine war

i_make_it
13.01.2016, 12:37
Schön zu hören das Dir geholfen werden konnte, ob es an was einzelnem lag oder oder in der Summe aller Störeinflüsse wird sich vermutlich nicht mehr feststellen lassen.
Lange Leitungen sind wenn kein Gleichstrom fließt (Wechselstrom, PWM etc) halt sowohl Induktivitäten wie auch Kapazitäten (und Antennen).
Und unbekannte/tote Schaltungsteile könne ungeahnte Überraschungen bergen.
Also zukünftig, was nicht gebraucht wird ablöten/trennen, Kondensatoren die zur Entstörung von Bauteilen gehören dicht an die Bauteile ran mit möglichst kurzen Anschlüssen.
Lieber einen Entstör-,Stütz-, Siebkondensator mehr als einen zu wenig (Wenn es erst mal geht kann man immer noch optimieren)
Wo es geht kurze Leitungen, wo es nicht geht auf Dämpfung, Rauschen, Nebensprechen achten.

Wenn Du parallel mit der Mechanik des 6-Achs Knickarm weitermachen willst, Wenn die Maschinenausstattung nicht so berauschend ist, versuchen so zu konstruieren, das man z.B. nur mit Bohren, Reiben, Sägen auskommt. Eine Tischbohrmaschine mit einem Kreuztisch und Kantentaster lassen da schon sehr präzise Teile zu die auch größer als der Verfahrweg des Tischs sein können. Ein Plan- und Ausdrehkopf für den Morsekegle der Pinole lassen dann auch größere und sehr genaue Bohrungen z.B. für Lager zu.
Ein Vierbackenfutter mit einzeln verstellbaren Backen das auf den Kreuztisch passt erlaubt dann mit einem Ausdrehkopf auch einfache Drehoperationen ohne Drehbank.
Es ist bei Alu halt schon ziemlich langsam, und bei Stahl ist man im 0,01mm Bereich bei der Zustellung und der Vorschub darf auch nur gemächlich sein, aber es ist möglich.
Ich habe meine eigene 5-Gang Tischbohrmaschine mit einer Phasenanschnitt Steuerung für die Drehzahl nachgerüstet und habe den Tiefenanschalg umgebaut.
Kunststoffplatte an der Pinole gegen Stahlplatte getauscht und Gewindestange des Tiefenanschlag gegen Feingewindestange. So kann ich mit 2 gekonterten Muttern und 0,01mm Langhub Messuhr (100mm) die Z-Achse auf 0,02mm Einstellen.
Von der Lagerung der Pinole her, sollte man eigentlich nur Bohroperationen ausführen, aber mit minimaler Zustellung und sehr langsamen Vorschub kann man da brauchbare Teile mit Passungen herstellen.
Um nicht tagelang zu kurbeln, habe ich damals das Kemo LPT Motorinterface und 2 Stepper interface Module geholt. Programm war in Turbopascal.

Puma321
24.01.2016, 12:35
Also ich habe jetzt meinen Greifer konstruiert und auch schon gefertigt!
Er wiegt 150g.
Auf dem Bild ist er noch nicht ganz fertig aber ich hab auch ein Bild vom 3D-Model gemacht und da sieht man es wie es fertig aussieht :)
Ich hab das Zeichenprogramm Autodesk Fusion 360 verwendet. Ist absolut einfach und für Hobbyisten das erste Jahr kostenlos und soweit ich weis danach auch noch :) Da kann ich dann sogar gleich meine Portalfräse programmieren da in Fusion 360 ein CAM Programm dabei ist :) und was das beste ist da gibt es auch schon einen fertigen Postprozessor für die Steuerung EdingCNC (USBCNC) und wer die Steuerung Mach3 hat braucht sich auch keine sorgen zu machen auch da gibt es einen PP (Mach2, Mach3) und noch einige mehr. Lohnt sich auf jeden fall sich das mal Runterzuladen!

Hier noch die Bilder vom Kassettengreifer:

3121231213

Jetzt bin ich gerade auf der suche nach den Motoren.
Ich hab mich jetzt für DC-Motoren entschieden!

Ich schau gerade auf dieser Seite nach den Motoren:
https://www.pololu.com/category/51/pololu-metal-gearmotors

Da würde ich dann entweder 25D oder 37D Motoren nehmen da dort eine Encoder dabei ist bei den anderen nicht!
Was mir da nicht so gut gefällt ist, dass die kein Winkelgetriebe haben.

Von der Roboterkonstruktion her würde ich mir so etwas vorstellen:
http://www.globalrobots.ae/robot_guide/images/ABBIRB6400M94Amovements.jpg

Die Achse 6: Ist ja kein Problem da bauch ich kein Winkelgetriebe.
Die Achse 5: Da ist doch eigentlich ein Winkelgetriebe nicht schlecht weil der Motor seitlich so weit rausschaut oder?
Ich hab mir auch schon überlegt ob ich den Motor einfach weiter hinter setzt und in den Greifarm innen rein (ist auch besser für die Gewichtverteilung und sieht auch besser aus :) ) und die Achse dann einfach mit einem Zahnriemen verbinde?!?

Die Achse 4: Ist ja auch kein Problem
Die Achse 3: vielleicht auch das Prinzip von der Achse 5
Die Achse 2: ist ja auch kein Problem
Die Achse 1: eigentlich auch nicht.
Aber jetzt will ich mich erst mal auf die Achse 6, 5 und 4 Konzentrieren.

Da ich den Roboter vielleicht auch mal anderweitig einsetzte würde ich ihn schon für 500g eher noch ein bisschen mehr konstruieren!

Dann hab ich mir noch ein paar Gedanken für die spätere Programmierung (Positionierung) gemacht:
Und zwar währe es sehr vorteilhaft wenn ich den Roboter mit der Hand auf die Position ziehen könnte auf die er später fahren soll.

Wenn ich die Variante mit dem Zahnriemen nehme könnte ich doch da auch einen Encoder mit einbauen oder nicht?
Der Sinn und zweck des ganzen ist dann, wenn ich den Roboter ziehe, dann hat er ja auch ein bisschen Spiel und ich kann ihn dadurch auch ein bisschen bewegen. Das fang ich dann mit dem Encoder in der Mitte ab und verrechne dann die Richtung in die der Motor dann langsam fahren soll.
Ich hoffe dass ich das verständlich geschrieben habe. Wenn nicht bitte noch mal nachfragen.
Meint ihr dass das funktioniert?
Habt ihr auch noch irgendwelche anderen Stellen wo man Motoren herbekommt?

i_make_it
24.01.2016, 22:31
Also man kommt auch ohne Winkelgetriebe am Motor aus.
Mal nicht ganz normgerecht gezeichnet, aber ich hoffe verständlich genug.
31214
Die Achsen 4, 5 und 6. wie man sie prinzipiell lösen könnte.
Die Lager sind überwiegend Dünnring vierpunkt Lager, damit kann man Achsial und Radialkräfte aufnehmen ohne daß das ganze groß und schwer baut.
Allerdings sind solche Lager teurer als "normale" Lager.

Durch die Ausführung der Wellen als Rohre, kann man Kabel durchführen und sich ggf. überlegen ob man Schleifringe einbaut wenn man z.B. keine Beschränkung der Drehung der letzten Achse haben möchte.
Der Motor von Achse 4 liegt wie man hoffentlich erkennen kann nicht in der Schnittebene sondern wenn man einen quadratischen Querschnitt zugrunde legt in der Ecke (sonst würde es platzmäßig nicht passen).

Dreht man den A4 Motor um und verlagert ihn so das er über den Ellenbogen hinausragt, dann kann man die Welle von A4 dicker und somit biegesteifer machen. Das käme dann auf die konkrete Konstruktion an. Das Bild soll ja nur ein Prinzip darstellen.

Puma321
26.01.2016, 12:37
Das mit den Schleifringen hab ich mir auch schon überlegt aber bekomme ich da schon ein klares Signal oder ist das stark verrausch?
Und das die beiden Motoren im Bild nebeneinander sind check ich nicht damit kann ich doch keine achse betreiben wenn die Motoren versetzt sind oder hab ich das falsch verstanden?

Ich nehm glaub mal die Motoren D25 mit einer Übersetzung von 34:1
Die genauigkeit müsste ja für vorne locker ausreichen oder?

Weis jemand zufällig ab welcher Übersetzung das Getriebe selbsthemmend ist?

i_make_it
26.01.2016, 13:14
Doch das geht, A5 und A6 funktionieren wie ein Differential.
31224
Werden 5+6a und 5+6b so angesteuert, das beide gleichschnell nach + oder - drehen, wird ausschließlich A5 bewegt.
Werden 5+6a und 5+6b so angesteuert, das beide gleichschnell nach + und - gegenläufig zueinander drehen, wird ausschließlich A6 bewegt.
Bei unterschiedlichen Geschwindigkeiten beider Motoren, kommte es zu überlagernden Bewegungen beider Achsen.
Bei großen Industrierobotern die die Motoren für A4 bis A6 am Ellenbogen sitzen haben, läuft das genauso, nur das die konzentrische Hohlwellen haben, was den Fertigungsaufwand deutlich erhöht und dazu führt das in bestimmten Situationen alle 3 Motoren Ausgleichsbewegungen durchführen.

Stirnradgetriebe sind "nie" selbsthemmend, es gibt mit steigender Untersetzung nur immer mehr Reibung und Hebelarm, so daß das Losbrechen unter Last in Richtung einer höheren Last verschoben wird.
Im professionellen Einsatz werden Motoren mit solchen:
http://de.rs-online.com/web/p/products/2677602/?grossPrice=Y&cm_mmc=DE-PLA-_-google-_-PLA_DE_DE_Pneumatik_And_Hydraulik_Und_Antriebselem ente-_-Antriebselemente_-_Kupplungs-_Und_Bremseinheiten&mkwid=ssovmYtwv_dc|pcrid|94257833119|pkw||pmt||prd |2677602&gclid=CMLk1pzIx8oCFQEFwwodfd4BKg
Bremsen ausgerüstet.
Beim Abschalten der Betriebsspannung kann der Magnet die Bremsklaue nicht mehr gegen die Federkraft halten und die Motorwelle wird blokiert.

Bei den Schleifringen kommt es zum einen auf die Güte der Schleifringe an zum anderen Auf die Signalpegel.
Ich habe die nur beruflich eingesetzt, da haben wir 240V, 30V, 24V und selten auch mal 0-10V Proportionalsignale drüber laufen lassen.
Wir hatten immer Schleifringe die speziell für uns gefertigt wurden, da wir in der ganzen Dreheinheit auch Prozess-, Spühlgas und Kühlwasser durchlaufen lassen musten und innen bis zu 150mm Platz für den Laserstrahl sein musste.
Bei unseren waren 2 um 180° versetze Abnehmerbrücken dran, so das jede Ader von 4 vergoldeten Federbronze Kontakten übertragen wurde.
Kleine Schleigringe können ggf. nur einen Abnehmer pro Ader haben, da kann die Signalgüte bei stoßartiger mechanischer Belastung vermutlich auch mal schlecht werden.

Puma321
26.01.2016, 18:34
Ja also das System gefällt mir sehr gut! Danke schon mal!

Wie ist das mit dem Spiel in dem "Differenzialgetriebe" ist das viel? Ich hab ja beruflich auch schon Kegelräder hergestellt aber ich glaub das Spiel kann man für meine Anwendung Vernachlässigen oder?
Ich würde dann die Kegelräder aus Messing nehmen (muss man nicht schmieren)
Die da:
https://www.conrad.de/de/messing-kegelraeder-235-mm-zaehne-30-236934.html

Die Motoren 5+6A und 5+6B sind mit einem Zahnriemen nach vorne verbunden oder?

Den Motor 4 kann ich doch auch als Direktantrieb verbauen oder warum soll ich da ebenfalls Zahnräder dazwischen schalten?

Wenn die Getriebe nicht selbsthemmend sind dann kann ich doch auch ohne externen Encoder meine Achsen mit der Hand bewegen oder nicht? Somit kann ich dann auch ganz einfach meinen Roboter mit der Hand führen oder nicht?

Und die Schleifringe lass ich glaub ich weg. Ich kann ja meine Kabel ein bisschen länger lassen so dass ich eine 360° Drehung machen kann und mehr brauch ich ja dann auch nicht. Dann hab ich auch keine Probleme mit Rauschen!

Danke für die viele Mühe die du dir da machst :) :)

i_make_it
26.01.2016, 19:35
Die Zahnriemen habe ich nicht mit eingezeichnet. Ich habe alle Achsen mit Zahnriemen versehen, damit ist ein minimal elastisches dämpfendes Element vorhanden.
Bei Industrierobotern sind die Kegelräder üblicherweise nicht Gradeverzahnt, Das gibt größer Laufruhe und reduziert das Spiel.
Bei meinem Scorbot ER5+ sind faserverstärkte Kunststoffräder verbaut.
Messing dürfte auch gut gehen.
Eventuell auch 2 Stahlräder und ein Messingrad das an A6 kommt und dort die Möglichkeit vorsehen das Spiel nachzustellen.
Dann hat man bei Verschleiß nur das eine Rad am Handgelenk zu tauschen und muß nicht den halben Unterarm zerlegen.

An A6 kann man bei entsprechendem Kabel auch problemlos 540° schaffen.

Wenn die Motorspannung aus ist, kann man Ihn von Hand führen, ja.
die CPC Encoder der Motoren sind allerdings inkrementell.
Man muß also ein spezielles Programm schreiben, das die Refferenzfahrt mit definerter Geschwindigkeit macht und dann auch beim Abschalten der Motorspannung alle Encodersignale weiterverarbeiten.
Eventuell am Handgelenk einen Taster vorsehen, so kann man den Arm mit einer Hand am Handgelenk und mit der anderen am Ellenbogen halten und per Tastendruck entweder die Positionsaufzeichnung starten/stoppen oder jeweils auf Tastendruck die aktuelle Position als Pose speichern.
So ist dann auch eine Playback Programmierung möglich.

Puma321
27.01.2016, 16:14
Meinst du dass auch welche aus Stahl mit einmaliger Schmierung (Fett) gehen oder soll ich doch welche aus Kunststoff nehmen?
ich hätte dann solche genommen:
https://www.maedler.de/product/1643/1619/273/2511/kegelradsaetze-aus-stahl-spiralverzahnt-uebersetzung-11

Aus Messing hab ich leider nichts gefunden :(
Werden die gar nicht aus Messing gefertigt oder? Wenn ich mich recht erinnere dann haben wir auch nur geradverzahnte Kegelräder aus Messing gefertigt aus spiralverzahnten nie! Wahrscheinlich wegen der höheren Reibung oder?!?

i_make_it
27.01.2016, 16:51
Ich würde Kunststoff oder Stahl und ein Messingrad nehmen. Das Opferrad ist dann das was sich am leichtesten wechseln lässt.
Bei Kunststoff auf Stahl habe ich schon ein paar böse Überraschungen gesehen. Da das Kunststoffrad da oft regelrecht in Zeitraffer aufgefressen (verschlissen) wird.
Messingräder bzw. Bronzeräder gibt es, aber nicht bei jedem Anbieter.

Ich denke das Ihr keine Spiralverzahnten Kegelräder hergestellt habt, liegt eher an den Kosten der Herstellung.
In den Kuka Robotern sind die Standartmäßig drin.
Bei 3:25 wird in dem Video gezeigt wie die kämmen.
https://www.youtube.com/watch?v=EfmjhfN8D-Q
Wie man sehen kann sind die geschliffen.
Also von der Herstellung nicht ganz billig die Teile.
Wo man drauf verzichten kann, spart man halt das Geld.

Puma321
27.01.2016, 17:10
Doch haben wir schon! Auf einer Klingelnberg Maschine! Wir hatten sogar 3 Maschinen und später dann noch eine ganz große ich glaub bis Modul 8 und die Kleinen haben soweit ich noch weis bis Modul 1,5 gemacht.
Ich hab sogar noch welche daheim rumliegen. Die waren Ausschuss! Aber leider hab ich da immer nur ein Paar (also 2 Stück) sonst könnte ich die nehmen :(

- - - Aktualisiert - - -

Hier noch ein paar Bilder von meinen Beständen :)

312273122831229

Vielleicht schau ich bei denen mal schnell vorbei. Vielleicht haben die ja gerade was :) :)

Puma321
31.01.2016, 17:12
Hi,

Ich hab noch mal eine Frage:

Welchen Motor soll ich für die Achse 5 und 6 nehmen?
Ich hab mir gedacht ich nehme den hier:
https://www.pololu.com/product/3215
Allerdings hab ich jetzt gerade gesehen dass der 5.6A braucht!
Wenn ich da 6 solche Motoren anschieße dann versagt doch jedes Netzteil oder?
oder soll ich lieber zu den LOW-Power-Motoren greifen?
Und wie viel Spannung soll ich denn verwenden 12V oder doch lieber 6V?
Irgendwo oben stand ja dass ich einen 12V Motor nehmen soll aber warum?

Hier noch mein aktueller Stand beim Zeichnen von der Achse 5 und 6!
Die Achse 5 ist noch nicht ganz fertig!
Das braune sind die Lager!

3124631247

i_make_it
31.01.2016, 18:22
P=U*I
Also Leistung gleich Spannung mal Strom.
Es hängt also davon ab was Du brauchst.
Wenn Du allerdings mit den A1 und A2 die gesammte Masse bewegen mußt, macht es Sinn da die 12V 5,6A zu nehmen.
Bei A5 und A6 macht das dann keinen Sinn mehr. Denn die sind dann überdimensioniert (oder halt A1 A2 unterdimensioniert).
Bei den Netzteilen, kann man auch ein 12V 50A Netzteil (600W) nehmen.
Bei gutem Taktieren kommt man da für unter 40€ dran.
Bsp.:
http://www.ebay.de/itm/12V-50A-Netzteil-600W-Servernetzteil-Schaltnetzteil-fur-Lipo-Ladegerate-/161954549820?hash=item25b53e503c:g:~Y0AAOSwk0pVgDu X (http://www.ebay.de/itm/12V-50A-Netzteil-600W-Servernetzteil-Schaltnetzteil-fur-Lipo-Ladegerate-/161954549820?hash=item25b53e503c:g:%7EY0AAOSwk0pVg DuX)

12V kontra 6V Motor
U*I=P
12V*5,6A=76,2W
6V*6,5A=39W

Man sieht also der größte 6V Motor zieht 16% mehr Strom hat aber nur 51% der Leistung des 12V Motor.
Solange man ein Netzteil hat und nicht auf Akku angewiesen ist, machen Motoren mit höherer Spannung mehr Sinn.




(http://www.ebay.de/itm/12V-50A-Netzteil-600W-Servernetzteil-Schaltnetzteil-fur-Lipo-Ladegerate-/161954549820?hash=item25b53e503c:g:~Y0AAOSwk0pVgDu X)

Puma321
31.01.2016, 19:22
Ok danke :)
Aber ich find leider keine kleinere Motoren mit Encoder die den Encoder zwischen Motor und Getriebe haben :(

Wenn ich einen externen Encoder dazwischenschalte bin ich vom Preis her auch so wie wenn ich jetzt so einen Überdimensionierten nehme.
Nur ist der Motor halt schwerer.

Und wenn ich doch einen externen Encoder mit 300CPR nehme dann hab ich ein bisschen Angst das sich dann mein PID Regler vom Motor aufschwingt. Also immer vor und zurück regelt! (Gut kann man Software-Technisch bestimmt bis zu einem bestimmten Grad kompensieren)
Aber der externe Encoder wiegt ja dann auch wieder was und dann hab ich doch auch nicht den großen Gewichtsunterschied oder?

Wenn man vom Preis her noch was machen könnte währe ich natürlich offen da die anderen Teile auch nicht gerade billig sind! :)

Kennt ihr noch irgend einen Laden der billige Motoren mit Encoder verkauft oder soll ich doch einen externen Encoder verwenden?
Ich hab auch noch im Zahnriementrieb eine Untersetzung von 0,625:1 drin!

i_make_it
31.01.2016, 20:43
Wähle die Motoren bei Pololu aus und kopiere dir alle technischen Daten.
Dann, wie Klebwax es schon geschrieben hat z.B. bei
http://www.aliexpress.com/wholesale?catId=0&initiative_id=AS_20160109013901&SearchText=dc+motor+encoder
http://www.ebay.de/sch/i.html?_from=R40&clk_rvr_id=975218004378&_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xdc+motor+ encoder.TRS0&_sacat=0&_nkw=dc+motor+encoder&rmvSB=true
http://german.alibaba.com/trade/search?SearchText=12v+dc+motor+with+encoder&selectedTab=products

mal nachsehen nach kostengünstigen Vergleichstypen.

Puma321
01.02.2016, 09:55
Ich glaube das Projekt ist gescheitert.
Das sind einfach zu hohe kosten :(
Die Preise sind nur für die Achse 5 und 6
Das Netzteil ist für alle Motoren ausgewählt

Motoren inc. Versand: 116,75
Kegelräder + Zahnriemen+scheiben: 83,87
Motortreiber: 15,40
Kugellager: 9,30
Netzteil: 43,00

268,00Euro

Wenn es 150 Euro gewesen wäre dann währe es gerade noch OK aber das ist schon arg viel :(

Hier noch ein Bild von meiner Zeichnung:

3125331254

Danke noch für die tolle Unterstützung!
Mal schauen ob ich ein kostengünstigeres Projekt finde! :)

i_make_it
01.02.2016, 12:53
Und wenn Du es zeitlich über mehrere Monate streckst?
Kegelräder + Zahnriemen+scheiben
und
Kugellager
reichen ja um die mechanische Fertigung durchzuführen.
Für die Motoren stellt man einen oder zwei Dummis als Platzhalter her und um die Zahnriemen zu spannen.
Damit liegst Du bei den Kaufteilen bei unter 94€ und kannst die komplette Mechanik bauen.

Wenn Du dann soweit bist, das Du A4, 5, 6 und ggf. auch schon A3 in Betrieb nehmen könntest, holst Du die Motoren.
Wenn Dann A1 und A2 auch fertig sind Netzteil und Motortreiber.

Ich habe jetzt für meinen 3D-Drucker auch die Kaufteilbestellungen auf 3 Monate verteilt und seit Ende November Eingekauft.
Bis zum 19.2. sollen die letzten Teile kommen.
Nächste Woche will ich dann mit der Detailkonstruktion anfangen, da ich dann alle Teile habe die direkt an die Maschine kommen.
Ich habe das bei unter 130€ pro Monat gehalten und bin jetzt bei 374€.
(Wegen den 19% Einfuhrumsatzsteuer ab 22€ Warenwert, war es nach dem Durchrechnen und Vergleichen bei einigen Bestellungen billiger innerhalb der EU zu bestellen.)

So ein Roboterarm wie Du ihn vorhast, ist ja jetzt auch nicht grade ein kleines Projekt.
Der Bau und dann auch die Elektronik und Programmierung werden nicht in eins - zwei Wochen erledigt sein.
Von daher würde ich das an deiner Stelle nicht so schnell canceln.

Puma321
01.02.2016, 16:00
Die Überlegung war halt ob ich die Mechanik noch vor meinem Englisch Kurs in England schaffe und dann dort das Software technische erledige
Sonst muss ich mir irgend eine andere Beschäftigung aus den Fingern saugen die ich dort am Wochenende machen kann :(

i_make_it
01.02.2016, 18:09
Wenn Du nicht vor hast, die Hardware zum testen mitzunehmen, dann ist es doch egal ob die Hardware komplett ist. Testen kannst Du dann eh nicht.
Da wäre es nur interessant einen Motortreiber und einen Motor sowie ein kleines 12V Netzteil zu haben um für die PID Regler was zum testen zu haben.
Die inverse Kinematik kann man schußendlich sowieso nur mit der realen Hardware oder einer Simulation testen.
Von daher sehe ich da kein Problem.
Man kann sich sogar mit einem zweiten Kontroller eine Simulation der Hardware (Motoren mit Motortreiber und Encoder sowie Endschalter programmieren) und die ganze Programmierung dagegen testen.
Enable Signal, Direction Signal und PWM kann man nehmen um davon abhängig zwei PWM Signale zur Simulation des CPC zu gestalten und da kann man sogar die Endschalter mit simmulieren um sowohl Referenzfahrt als auch Endstopp zu simulieren. Wenn man die aus den CPC Daten und der Refernzposition gewonnen Achspositionsdaten per Terminal an einen Rechner schickt, könnte man dort sogar eine einfache Verktorgrafik Simulation (Strichmännchen) des Arms laufen lassen um die Inverse Kinematik zu überprüfen.
Am Steuercontroller braucht Du ja als Ausgänge entweder einmal oder 6 mal Enable, 6 mal Direction, 6 mal PWM
und als Eingänge 12 mal Endstopp und 12 mal CPC (je einmal A und B pro Encoder).
Dementsprechend umgekehrt halt am Simulator Controller.
Dort wird aus Direction und dem PWM die Phasenlage und Frequenz der beiden CPC Kanäle generiert und für den Start legt man halt fest, das z.B. bei 100 CPC Flanken in die eine Richtung das Signal für den einen Endschalter gesetzt wird. für die andere Richtung setzt man dann halt einen Wert von z.B 2000 und legt den Zustand je Achse in eine Variable, die gegen die const Werte der Endstopps verglichen werden.
Dann gibt man noch Grenzfrequenzen für die Achsen vor damit man sehen kann wie die Regelung reagiert wenn ein Motor am Limit ist und der Sollwert der Regelung nicht erreicht werden kann.

Damit kann man dann auf dem Steuercontroller das eigentliche Programm für die Steuerung schreiben.
Unabhängig vom Bauzustand.
Die finale Parametrierung der Regelung muß man schlußendlich eh am realen Arm machen.
Mit Verschiedenen Lasten und Bewegungsmustern um zu sehen ob alles klappt.
Z.B. falls der Arm über die Pose senkrecht nach oben hinaus fahren kann und sich dadurch der Vektor der Gewichtskraft um 180° dreht.
Man also bis zum Scheitelpunkt mit dem Motor gegen das Gewicht ankämpft und es ab dann bremsen muß.
Wenn aber die eigentliche Steuersoftware schon funktioniert, sind das "nur" noch Ergänzungen.


Das ganze nennt man übrigens Hardware in the Loop (HIL) Simulation.
Das wird öfters genutzt um eingebettete Systeme oder Komponenten zu entwickeln ohne das die ganze Anlage Verfügbar ist (z.B. wenn diese noch gar nicht gebaut ist).