Hallo Zusammen Darf ich euch hier meinen 6 Achsen Knickarm-Roboter vorstellen? Alles aus dem 2D Lasercutter und dem 3D-Drucker. Als Getriebe wurden Zahnriemen genommen. https://www.youtube.com/watch?v=k47auAHhDr4 Die Antriebe sind alles Servomotoren "HDrives" aus meinem aktuellen Kickstarter Projekt: http://kck.st/2gal6IG Die Kinematik wird in C# auf meinem Windows PC berechnet. Der kartesische Bahnplaner läuft mit 1 kHz. Das ganze über TCP/IP und UDP. Nicht zeitdeterministisch, es funktioniert aber sehr gut. Ich bin gespannt auf euer Feedback :). Liebe Grüsse Chris
:
Verschoben durch User
Chris schrieb: > Ich bin gespannt auf euer Feedback :) OK. Dein Robbi sieht ja schnucklig aus, soweit sehr ansehnlich. Aber zu deinem Kickstarter-Projekt: Nicht dein Ernst, oder? Muss man denn unbedingt jeden Scheiss ans Netz anstöpseln? Wofür braucht ein Schrittmotor Internet? Ich seh es schon kommen wie Botnetze von Steppern die Weltherrschaft an sich reissen.
Alexander S. schrieb: > Aber zu deinem Kickstarter-Projekt: Nicht dein Ernst, oder? Muss man > denn unbedingt jeden Scheiss ans Netz anstöpseln? Wofür braucht ein > Schrittmotor Internet? Ich seh es schon kommen wie Botnetze von Steppern > die Weltherrschaft an sich reissen. Ich geb dir 100% recht. Das "IoT" hat aber auch eine Werbefunktion. Wir betreiben keinen Motor im Internet bei uns. Der Vorteil an der Geschichte ist, dass ich keine Gerätetreiber und keine Schnittstellenadapter (CAN, DeviNet, etc.) brauche. Als Beispiel: In Matlab braucht man nur 3 Zeilen Code um einen Motor zu bewegen! In C# oder Java auch nicht viel mehr: 1. TCP Socket erstellen, 2. XML Ticket mit Fahrbefehl generieren, 3. absenden. Man braucht keinerlei zusätzliche Elektronik wie Arduino, Raspberry pi etc.
Chris schrieb: > Das "IoT" hat aber auch eine Werbefunktion. Schade dass man so etwas heutzutage quasi tun muss. Aber noch ne Frage, TCP ist ja auch nicht gerade als Echtzeitprotokoll bekannt. Ist es wirklich sinnig das so zu tun? CAN und Konsorten sind vllt. doch besser geeignet. > keine Schnittstellenadapter Naja, ein Netzwerkadapter ist genau das. Ich wills dir aber nicht madig machen; dürfte ne ganze Menge Arbeit dahinterstehen und scheint ja zu funktionieren. Hoffe dass du dein Finanzierungsziel erreichst, viel Spass noch.
Für 6 Motoren braucht man ja fast schon einen eigenen switch. Kann man die Motoren per multicast ansprechen? So dass man mit einem Paket die Soll-Position aller Motoren setzen kann?
Ciao Alexander, vielen Dank für deine ehrliche Antwort. Wir wissen, wir fahren einen ganz eigenen Weg. Die harte Echtzeitfähigkeit ist bei TCP nicht vorhanden. Deshalb bieten wir auch eine CAN Schnittstelle als auch ein Step/Dir Interface an. Dennoch das TCP funktionier überraschend gut, wir Kommunizieren mit bis zu 2kHz mit den Motoren. Diese senden kontinuierlich ihre Daten welche einen RTC clock beinhalten, so kann man immerhin sehen wenn irgend etwas nicht stimmt. Die Innovation liegt aber wo anders, und ich möchte wissen ob euch das den Preis vom Motor Wert ist: Mit dem "HDrive" können z.B. Prototypen in kürzester Zeit gebaut werden. Macht euch keine Gedanken mehr über Schrittmotor Treiber und Hardware Ansteuerungen. Der HDrive funktioniert sofort und kann wie ein Werkzeug verwendet werden. Als Beispiel ein 3D Scanner, gebaut in einem halben Tag: https://www.youtube.com/watch?v=BzsTlfyQbL4&t=2s Mit Schnittstellenadapter meinte ich CAN zu USB etc. diese zicken oft rum und machen Probleme.
rmu schrieb: > Für 6 Motoren braucht man ja fast schon einen eigenen switch. Ja, das haben wir auch so gemacht :) > Kann man die Motoren per multicast ansprechen? So dass man mit einem > Paket die Soll-Position aller Motoren setzen kann? Noch nicht probiert, könnte man entwickeln. Für die Echtzeit synchronisation wäre aber CAN besser geeignet, und könnte zugleich auch als Bus-System durch den Roboter geführt werden. Die Latenzzeit über TCP ist in unserem Netzwerk aber <10ms (2 Switch, 6 Motoren). es geht schon ziemlich zackig.
Chris schrieb: > Der HDrive funktioniert sofort und kann wie ein Werkzeug > verwendet werden. Wenn das wirklich PROBLEMLOS so funktioniert - ja, könnte man drüber nachdenken. Andererseits ist euer avisierter Preis von 350$ doch schon etwas hoch. Der aus dem Vollen gefräste Aluklotz ist wohl sehr preistreibend. Sag mal, einfacher Thermoplast-Spritzguss (zB PA66, notfalls glasfaserverstärkt) würde nicht funktionieren? Wie sieht es eigtl. mit Kühlung aus, warum ist da kein Lüfter angeflanscht, würde sich doch anbieten.
Das Gehäuse ist vom Prototypen, wir dachten eigentlich an einen Aluminium Spritzguss. Ich habe dein Werkstoff aber auf meine Liste genommen :). Kühler brauchen wir keinen, der Leistungstreiber ist überdimensioniert und hat einen sehr hohen Wirkungsgrad. Wir probieren auch den Motor von der Elektronik und dem Gehäuse thermisch zu isolieren, deshalb würde der Kühler auch für den Motor nur wenig bringen.
Warum läuft bei mir eine CPU auf 100 % wenn ich das Kick-Start-Projekt anklicke?
Hier noch ein parr details: http://www.roboternetz.de/community/threads/69942-6-Achsen-Knickarm-Roboter für die CPU last kann ich nichts :) Grüsse und schöne Adventszeit
Ist also kein Projekt. Da es um schicke Mechanik geht, ist's unter "Mechanik" ja vielleicht besser aufgehoben.
Könntest du das auch in einer richtigen Programmiersprache umsetzen?
Tolles Projekt. Was mir noch nicht so klar ist, ist das Error Handling wenn etwas nicht geht. Wenn man zB mehrere Motore hat und einer hat ein Problem, sollten die anderen auch stoppen, sonst geht etwas kaputt. Dafuer lass ich mir per UDP kontinuierlich den Status senden. Und muss dann darauf reagieren und den laufenden Prozess abbrechen, ueberschreiben. Ein Fehler koennte zB sein, ich gebe ein ganz kleines Drehmoment vor und lasse langsam drehen bis er in einen Anschlag faehrt. Dh der Winkel aendert sich bei gegebenem Drrehmoment nicht mehr. Zu irgend einem Zeitpunkt muss ich einen Referenzpunkt anfahren. Da wuerd man eine eher langsame Rotation vorgeben und fuer den Motor ploetzlich einen Stopbefehl geben. Das waere dann meine Referenzposition, die Winkel-Null. Der Stopbefehl wuerde aufgrund eines externen Ereignisses, zB Position erreicht oder so generiert. Wie geht das so ? Nochwas. Kann man die Position nach einem Powerup auslesen, ohne bewegen zu muessen ? Feedback. Ja. Ausser der seriellen Schnittstelle ist die Ethernet Schnittstelle die einzige Konstante fuer die naechsten paar Jahre. Und man benoetigt fuer beide keine Treiber. Naja so etwa. Fuer erhoehte Anforderungen kann man den PC nicht mehr verwenden, da vor allem dieser die Echtzeitfaehigkeit nicht besitzt. Dann mustte man den Bahnrechner in einem Raspi oder so auslagern. Fuer einfache Anforderungen waere auch eine serielle Schnittstelle genuegend. Der Preis fuer Prototypenbau ist ok, denn selber hab ich viel laenger und nie was so passendes.
:
Bearbeitet durch User
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.