Aufwickelmaschine für Spinnenseide mit DC Servomotor und Raspberry PI 3

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Tag alle zusammen,

    hoffe mal, dass ich hier richtig bin.
    Ich habe folgendes Problem:

    Im Rahmen einer Projektarbeit zum Techniker, will (soll) ich ich eine Aufwickelmaschine für Spinnenseide bauen. Mein Plan ist es, einen Servomotor über einen Raspberry Pi zu Steuern. Die Geschwindigkeit des Motors, soll mit einem Poti (den ich 360Grad drehen kann) steuerbar sein, da die Spinnenseide ziemlich empfindlich und daher nur im niedrigen Drehzahlbereich gearbeitet werden darf (10-30RPM). Die RPM des Motors bzw. Die aktuelle Länge an Spinnenseide, will ich mir auf auf einem kleinen Touchmonitor anzeigen lassen.

    Ich habe bereits einen DC-Servomotor mit integriertem Planetengetriebe sowie MotionController und RS232 oder CAN-Schnittstelle der Firma Faulhaber, den sie mir kostengünstiger für das Projekt zur Verfügung gestellt haben

    Ausserdem habe ich einen Raspberry Pi 3 mit Raspbian als Betriebssystem.

    Da ich auf diesem Gebiet totaler Anfänger bin, hoffe ich ihr könnt mir weiterhelfen oder mich zumindest auf den richtigen Weg weisen.

    -Wie verbinde ich den Motor mit meinem Raspberry? Über die GPIO Pins oder über einen RS232 Adapter?
    -Benötige ich noch irgendwas? Z.B Motorcontrollbaustein oder ähnliches?
    -Wie greife ich dann auf den Motor zu?
    -Wie integriere ich den Poti?

    Ich hoffe das reicht erstmal an Infos, ansonsten ergänze ich die Angaben natürlich.

    Ich sag schonmal danke

    Gruss Denis

  • Aufwickelmaschine für Spinnenseide mit DC Servomotor und Raspberry PI 3? Schau mal ob du hier fündig wirst!

  • Willkommen im Forum.

    Ich bin mir nicht sicher, ob die gewählten Komponenten für das Projekt optimal sind. Ich würde eher einen Schrittmotor dafür nehmen. Da Deine Suchmaschine aktuell wohl außer Betrieb ist, habe ich exemplarisch ein paar Links heraus gesucht, die hilfreich sein könnten. Die GPIO des RasPi dürfen nicht stark belastet werden. Ein Wert bis 3mA wird hier im Forum immer wieder genannt. Daher darf ein Motor nie direkt über die GPIO versorgt werden. GPIO dürfen nie mit mehr als 3,3V verbunden werden. Wenn Du Dich an diese Eckdaten hältst, wirst du viel Freude mit dem RasPi haben.

    Um externe Verbraucher zu anzusteuern, gibt es verschiedene Möglichkeiten. Optokoppler, Relais, Transistoren, Mosfets, etc.

    Für Dich wäre ein fertiges Shield vielleicht ein guter Einstieg, um sicher zu gehen, dass zumindest auf der Hardwareseite keine größeren Probleme auftauchen.

    Empfehlen kann ich Dir diesen foreneigenen FAQ-Link, in dem Du jede Menge Tips zu Literatur findest.
    Buchempfehlungen zu Raspberry Pi, Arduino, Elektronik und AVR

    Hier nun die weiteren Treffer der Suchmaschine:

    https://tutorials-raspberrypi.de/raspberry-pi-s…l293d-uln2003a/
    https://www.adafruit.com/product/2348
    https://tutorials-raspberrypi.de/raspberry-pi-s…otor-steuerung/

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Hallo Neueinsteiger,

    vielen Dank, für deine schnelle Antwort und deine Mühe.

    Der Motor besitzt auch eine Schrittmotorfunktion. Ausserdem scheinen die Faulhaber Motoren etwas speziell zu sein, durch den eigens integrierten Motion Controller, den man vorher über einen mitgelieferten Programmieradapter auf einem Windows PC konfigurieren muss (das ist bereits geschehen).
    Gegoogelt habe ich schon ziemlich viel, doch so richtige Lösungen (die ich auch kapiert habe), fand ich leider noch nicht.
    Mein Problem, ist es gerade diesen Motor mit dem Raspberry zu verbinden. Da stellen sich mir zur Zeit eher neue Fragen anstatt mögliche Lösungen.
    Das mit der Stromversorgung und den GPIO Pins ist mir bekannt, daher wollte ich ein externes Netzteil verwenden.

    Ich muss jetzt leider mit diesem Motor arbeiten und versuchen das Beste daraus zu machen. Mir fällt gerade auch auf, dass ich wohl etwas wenig Infos gegeben habe. Ich habe im Anhang mal 2 Datenblätter hinzugefügt (vom Motor und vom MotionControll Adapter), vielleicht hilft das ja weiter.

    Was benötigst du denn noch für Informationen?

    Nochmal vielen Dank für deine Mühe

    Gruss Denis

  • Was fuer ein Kontroller ist es?

    Ich habe oefter mit dem MCBL 3003/06 S - MCDC 3003/06 S zu tun.

    Die werden seriell an einen PC angeschlossen und mit relativ einfachen ASCII-Kommandos gesteuert.

    Wenn es so einer ist, wuerde ich ihn per USB-Seriell Adapter an den Raspi anschliessen.

    - - - - - - -

    Ich hab mal nachgesehen: die gleichen Befehle wie beim MCBL 3003/06 S

    Diesen Kontroller kann man also seriell ansteuern.

    Bei der eingebauten Schnittstelle passt der Pegel nicht und es soll diverse weitere Probleme geben (Variable Baudrate, Consolenausgabe,...). Von daher rate ich zu einem USB-Seriell Adapter.

    Warum ein Poti? Das passt nicht zum Pi, weil der keinen Analog-Eingang hat.

    Wenn's unbedingt ein Drehknopf sein soll, dann besser einer mit einem Encoder den man digital lesen kann.

    Oder einfacher: zwei Taster an den GPIOs die die Geschwindigkeit erhoehen oder erniedrigen.

    - - - - - - -

    Weitere Erkenntnisse nach dem Lesen des Abschnitts "Velocity Mode":

    - Die serielle Betriebsart muesste sehr simpel sein
    APL0 ; Deactivate Position Limits
    EN ; Enable Drive
    V100 ; Speed 100

    - Es ist aber auch moeglich, die Geschwindigkeit ueber eine analoge Spannung von 0 bis 10V vorzugeben
    In diesem Fall kommt das Poti direkt an den Kontroller und der Raspi hat nichts damit zu tun
    Die Frage ist, wie der Raspi in diesem Modus die aktuelle Geschwindigkeit herausfindet...

    Einmal editiert, zuletzt von Tell (17. Mai 2017 um 22:01)

  • Hallo Dennis !

    Der integrierten Motor-Controller (10 V-Signal) kannst Du nur eingeschränkt vom Pi aus ansteuern.

    Sowohl SPI,l Rx/Tx, als auch PWM sind am Pi auf 3,3 V beschränkt und ein Ausgang darf nur sehr eingeschränkt (2 mA, bzw. etwas mehr) belastet werden.
    Du brauchst sowohl einen Pegelwandler (von 3,3 auf 10 V), als auch eine 10 (12) V Stromquelle (Schaltregler von 24 V).

    Fürs Poti einen A/D Wandler (SPI oder I2C je 3,3 V)

    Servus !

    RTFM = Read The Factory Manual, oder so

    Einmal editiert, zuletzt von RTFM (17. Mai 2017 um 21:29)


  • Wie ich gerade sehe, lässt sich das Eingangssignal von 10 V auf 5 V TTL umschalten.
    Das reicht für den Pi aber leider nicht, der kann nur 3,3 V (also trotzdem Pegelwandler)


    Servus !

    Das lässt sich sehr einfach mit einem 4050 machen. Entweder für 2 oder für 6 Kanäle. Oder Du baust eine Lösung nach gemäß Application Note AN97055 von Philipps oder einen Spannungsteiler. Es gibt noch viele weitere Möglichkeiten. Aber diese dürften am häufigsten verwendet werden.

    Unter Servomotor hatte ich übrigens etwas vollkommen anderes verstanden, weshalb ich gedanklich zu den gezeigten Links abgebogen bin.


  • Was fuer ein Kontroller ist es?

    Ich habe oefter mit dem MCBL 3003/06 S - MCDC 3003/06 S zu tun.

    Die werden seriell an einen PC angeschlossen und mit relativ einfachen ASCII-Kommandos gesteuert.

    Wenn es so einer ist, wuerde ich ihn per USB-Seriell Adapter an den Raspi anschliessen.


    Moin,

    vielen Dank für deine detaillierte Beschreibung.
    der Controller ist irgendwie bei der Antriebseinheit integriert, ich weiß nur, dass es ein V2.5 Controller ist.

    Dann werde ich mal deiner Anleitung folge leisten und mir eine RS232 Schnittstelle für meinen Pi zulegen. Der USB-Seriell Adapter ist schon bestellt.
    Das mit dem Poti, habe ich nur als Möglichkeit in betracht gezogen. Ein Rädchen wäre zwar schön,aber es würden zur Not auch Taster tun.

    Ich dachte mit dem Faulhaber Motor, hab ich mir was gutes angetan, aber irgendwie hat das alles nur verkompliziert :(.

    Ich werde dass erstmal ausprobieren und hoffe es funktioniert
    Falls du noch nützliche Tipps hast, bin ich für alles offen

    LG Denis
    Automatisch zusammengefügt:

    Vielen Danke für eure Antworten und Hilfe!

    Dieses Forum und Ihr seid ja echt spitze :thumbs1:

    Ich werde jetzt erstmal versuchen den Motor per USB-Seriell Adapter mit dem Raspberry zu verbinden und darauf zuzugreifen. Ich hoffe das gelingt, ohne irgendwas basteln zu müssen.
    Benötige ich zu 100% einen Pegelwandler und wie Verknüpfe ich dann die Komponenten?
    Ich hab mir das Alles wirklich einfacher vorgestellt, aber es ist wohl die beste Art zu lernen. Als totaler Anfänger auf dem Gebiet, hätte ich mir aber ein etwas leichteres Projekt gewünscht.

    Falls jemanden interessiert, wie die Maschine mal aussehen soll, hab ich eine Skizze als Anhang hinzugefügt

    Vielen Dank nochmal

    Gruß Denis

    Einmal editiert, zuletzt von Mister-DF (3. Juli 2017 um 21:19)

  • [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]> Ich dachte mit dem Faulhaber Motor, hab ich mir was gutes angetan, aber irgendwie hat das alles nur verkompliziert[/font]
    Na sicher. Es waere viel einfacher gewesen, selber einen Encoder auf den Motor zu montieren,
    schnell mal einen PID-Regler zu entwerfen, ihn aufzubauen und sauber auf den Motor abzustimmen. :fies:

  • Ich "spiele" gerade mit "NEMA" Motoren und den "BIG Easy Driver" Platinen aber ich bin noch nicht so weit, dass das alles läuft, da mal wieder diverse Aliexpress Lieferungen ins Nirvana laufen (entweder kommt nix oder es ist hin) ....

    Aber ich denke, wenn das läuft (Chinaware als Prototypen, Endprodukt soll dann mit originaler Hardware laufen).

    Das nur als Denkanstoß.

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Rente) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) / 2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (mal so, mal so) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (BW Lite (Webserver)) / Pi 400 (BW) / 1x Pi 5 (BW) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Moin,

    ich habe den Motor jetzt über den Programmieradapter per USB an den Raspberry Pi angeschlossen. Der Pi hat ihn sofort erkannt (als Device auf USB0) und ich konnte ihm in der Konsole, mit den von Faulhaber vorgegebenen Parametern steuern.

    Tell: Ich nehme alles zurück was ich vorher über den Faulhabermotor geschrieben habe, dass er alles verkompliziert, es ist wirklich eine super Sache. Danke auch für deine Beschreibung (die auch ich Verstanden habe), es war wirklich einfach ihn so in Betrieb zu nehmen.

    Jetzt kommt der nächste Schritt.
    Wie gehe ich am besten vor, um den Motor nun über einen Inkrementalgeber oder 2 Taster (Geschwi.HOCH-----Geschw. RUNTER) zu steuern? Und wie und auf welcher Plattform erstelle ich am Besten den Programmcode? Da ich nicht gerade der Programmierer bin, wäre ich über Hilfe beim Programmcode sehr dankbar

    Mit freundlichen Grüßen

    Denis

  • > Wie gehe ich am besten vor, um den Motor nun über einen Inkrementalgeber
    > oder 2 Taster (Geschwi.HOCH-----Geschw. RUNTER) zu steuern?
    Es ist einfacher mit den zwei Tastern anzufangen.

    > Und wie und auf welcher Plattform erstelle ich am Besten den Programmcode?
    Fuer so ein einfaches Projekt wuerde ich direkt auf dem Raspi arbeiten.
    Welcher Editor oder IDE genutzt werden soll, fuehrt hier immer zu Religionskriegen...

    Ich persoenlich nehme vi(m), aber der ist viel zu kompliziert fuer Anfaenger.

    Einfach mal durch die Raspi-Oberflaeche klicken und einen einfachen Editor
    aussuchen :D

    Als Sprache waere python wohl nicht schlecht geeignet, damit kann man gut
    einsteigen.

    Das Vorgehen:
    * Bei Google nach python-Code suchen der einen GPIO liest,
    moeglichst mit einem Schema wie man den Taster
    anschliessen muss. Das muesste hunderte oder sogar
    tausende von Anleitungen zu Tage bringen.
    * Wenn das klappt, eine Variable fuer die Geschwindigkeit
    einfuehren und auf 0 setzen. Der eine Taster erhoeht die
    Variable, der andere senkt sie
    -> Bei jeder Aenderung Ausgabe auf die Konsole
    * Bei Google nach python-Code fuer die serielle Schnittstelle
    suchen
    * Die Initialisierung APL0 und EN an den Motor ausgeben
    * Die Geschwindigkeit an den Motor schicken

    => FERTIG

    -> Vermutlich waere es gut, gleich noch einen dritten Taster
    fuer den Notstopp einzubauen


  • Hallo Tell,

    wollte mich schon viel früher melden, war mit der Konstruktion des Gehäuses ziemlich beschäftigt.
    Kannst du mir evtl bei dem Programmcode mit den Tastern helfen? Ich hab schon gegoogelt wie ein irrer, aber irgendwie verstehe ich das nicht so und hab kein Plan wie ich das für mein Programm anwenden soll (Programmieren ist wie gesagt, gar nicht meins). Bin da ganz klar eher der Maschinenbauer.
    Wäre über hilfe wirklich sehr sehr dankbar!!! :s

    LG Denis

    Einmal editiert, zuletzt von Mister-DF (6. Juni 2017 um 16:46)

  • > Ich hab schon gegoogelt wie ein irrer,
    Komisch, ich habe schon beim ersten Versuch 73300 Ergebnisse von Google bekommen.

    > Programmieren ist wie gesagt, gar nicht meins

    Sieht ganz so aus.

    Aber wie soll das Projekt so fertig werden? Ich schreibe ganz sicher
    nicht den ganzen Code fuer ein fremdes Projekt.


    > Kannst du mir evtl bei dem Programmcode mit den Tastern helfen?
    Das will ich noch machen:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!