Servo Position-Halten - Adruino Nano

CubaLibreee
Beiträge: 1947
Registriert: 08.09.2013 15:35:26

#1 Servo Position-Halten - Adruino Nano

Beitrag von CubaLibreee »

Grüße zusammen,

ich hab mal wieder ein Projekt. Bzw. 2. Eines im Maßstab 1:32. und eines 1:14. Das eine gesteuert über Servos, das andere über Hydraulik. Für das kleine möchte ich nun aber einen eigenen Controller bauen mit Hilfe von einem "Adruino Nano". Daran sollen dann 3x Kanäle vom Empfänger eingehen die dann wiederum 3x Servos ansteuern. Die Sender-Knüppel solle die Servos als eine Art Impulsgeber steuern. Sprich fällt der Knüppel auf Neutral zurück bleibt der Servo stehen bis er einen weiteren Impuls ins + oder - bekommt.
Das Adruino simuliert so gesehen eine Hydrauliksteuerung!

Ich hab da mal was im Netz gefunden und frag hier mal ob damit schon einmal jemand gearbeitet hat: https://www.visuino.com/

beim ersten oberflächlichen lesen schaut das für mich so aus als bau ich über eine Benutzeroberfläche digital meine Hardware und das Programm schreibt mir daraus einen Adruino Scetch!?! Versteh ich das richtig???

Mein können mit Adruino beschrängt sich auf den 3D Drucker wo bekannter Weiße das ganze zeug ja schon fertig im Netz existiert. Mit einer von Grund auf Programmierung muss ich mich erst einarbeiten...

Also wer immer Interesse, Erfahrung und Bock hat, herzlich willkommen. Werde über meine Fortschritte berichten...

Grüße
CubaLibreee
Benutzeravatar
telicopter
Beiträge: 1864
Registriert: 09.12.2009 20:04:50
Wohnort: NRW, Krefeld...

#2 Re: Servo Position-Halten - Adruino Nano

Beitrag von telicopter »

Ich bin jetzt auch kein super Profi in Sachen Arduino, aber dein Vorhaben sollte sich eigentlich ganz gut und mit moderatem Aufwand realisieren lassen. Leider habe ich im Moment nicht so wirklich viel Zeit, aber wenn du etwas warten kannst, kann ich dir in den nächsten Tagen/Wochen gerne mal einen Sketch zusamenfrickeln. Wenn sich noch andere melden, lasse ich natürlich gerne denen den Vortritt ;)
Ich glaube, mit dem Visuino wirst du da nicht weit kommen...

Gehe ich recht in der Annahme, dass die Größe des Knüppelausschlages dann die Geschwindigkeit vorgibt, mit der sich das Servo (bis zum Vollausschlag) bewegt?

Grüße Tim
Grüße Tim

Jeder LOGO hat ein "LOGO" Logo, ...ist doch logo!
Never run a changing System!
CubaLibreee
Beiträge: 1947
Registriert: 08.09.2013 15:35:26

#3 Re: Servo Position-Halten - Adruino Nano

Beitrag von CubaLibreee »

HalloTIm,
ja der Knüppelausschlag soll gerne die Servo-Geschwindigkeit mit stellen können. Vor einigen Monaten war das hier schon mal Thema wo mir frankyfly den Ersten Code geschrieben hat: oller Thread

Ich hab darauf heute gleich mal aufgebaut. Habe aber echt wenig Plan von den Befehlen!!! Ich lade mal meinen Ersten Versuch einfach hoch. Darin möchte ich die 3 Servo steuern wie oben erwähnt und eine LED Beleuchtung einfach ON OFF schalten.
Servo_Pos_Hold.rar
Zeit überhaupt kein Problem. Hab noch genug Arbeit mit dem 3D Druck... :cry:
Benutzeravatar
TheManFromMoon
Beiträge: 3235
Registriert: 19.01.2005 11:05:48
Wohnort: Bad Malente
Kontaktdaten:

#4 Re: Servo Position-Halten - Adruino Nano

Beitrag von TheManFromMoon »

Moin,

Ich bin seit gut 1,5 Jahren am programmieren mit der Arduinos IDE.
Ich habe sehr gute Erfahrungen im arduino.cc Forum gemacht. Im deutschen Unterforum wird sehr kompetent und schnell geholfen.
Allerdings ist viel Mitarbeit gefragt, sonst hilft dir keiner. Die Verfahren dort unter dem Motto "Hilfe zur Selbsthilfe". Ich muss sagen dass das auch sinnvoll ist, denn niemand wird dir die Lösung oder das Können in dein Hirn brennen.

Du solltest genau beschreiben können was dein Ziel ist. Das heisst du brauchst einen Ablaufplan. Dann solltest du nach So was im Netz suchen, auch zu Teilaufgaben des Sketches. Und du solltest schon angefangen haben deinen Code zu schreiben und diesen dort in Code Tags Posten. Dann wird man dir sehr gerne und sehr kompetent helfen.

Lieben Gruß,
Chris
Benutzeravatar
telicopter
Beiträge: 1864
Registriert: 09.12.2009 20:04:50
Wohnort: NRW, Krefeld...

#5 Re: Servo Position-Halten - Adruino Nano

Beitrag von telicopter »

Hi,
dein Code für die Ansteuerung von mehreren Servos ist klug gedacht, wird so aber leider nicht funktionieren. :wink: Die einzelnen Servofunktionen müssen leider unter Verwendung verschiedener Variablen und Präprozessorkonstanten in eine einziege Hauptfunktion geschrieben werden. Meiner Meinung nach ist dabei das Problem, dass mit zunehmender Anzahl der Servos ( und Eingängen) die Standard Servo Library immer mehr an ihre Grenzen kommt und sich die ganzen Timer-Interrupts gegenseitig in die Quere kommen. Das führt dann zu einem merkwürdigem Verhalten der Servos wie Zittern oder Zucken. An der Stelle würde sich wahrscheinlich die Verwendung der RCArduinoFastLib anbieten, da diese die ganze Synchronisation besser auf die Reihe kriegt. Darüber hinaus könnte man sich noch Gedanken über eine eventuelle Totzone in der Knüppelmitte, maximale Servogeschwindigkeiten oder vordefinierte Positionen beim Einschalten machen.
Ich bin leider momentan nicht zuhause und habe keinen Arduino hier liegen, sonst hätte ich schon mal ein bisschen rumgespielt.


Grüße Tim
Grüße Tim

Jeder LOGO hat ein "LOGO" Logo, ...ist doch logo!
Never run a changing System!
CubaLibreee
Beiträge: 1947
Registriert: 08.09.2013 15:35:26

#6 Re: Servo Position-Halten - Adruino Nano

Beitrag von CubaLibreee »

Danke schon mal soweit auch für euer Interesse. Ich habe ja bereits einen Prototyp fertig und dort fertige Module gekauft welche einfach zwischen Servo und Empfänger gesteckt werden. Das Problem dabei ist das ich die Geschwindigkeit und den Fahrweg über zwei Potis einstellen muss. Am Sender kannst gar nix machen und auch wie stark der Knüppelausschlag ist spielt keine Rolle! Daher mein Versuch mit "Arduino Nano" wo ich erst gestern bestellt habe. Kann also auch noch nichts testen... :shock:

Löten verkabeln ist kein Ding das bekomm ich hin. Den Sketch schreiben werde ich nicht hin bekommen da bin ich auf Hilfe angewiesen. Hab gestern auch Stunden damit verbracht etwas zu finden aber mein Vorhaben ist wohl doch etwas zu speziell. Ich kann Octoprint und die Relaissteuerung auf meinem Raspberry Pi für meine Beiden 3D Drucker auf die SD Karte bügeln mit den zick Befehlen, aber das kann ich nur weil diese Codes im Netz herum schwirren und ich mir bei sowas immer eine Step by Step Word schreibe wenn ich das nach Monaten mal wieder machen muss. So war mein Upgrade von Octoprint 0.13 auf 0.15 auch relativ schnell erledigt samt Steuerung für Drucker Hauptstrom ON/OFF und LED on ON/OFF. Auch kann ich an einer fertigen Firmware von den 3D Drucker etwas herum pfuschen aber ist halt alles was anderes als von Grund auf etwas zu schreiben!

Von daher. Wenn einer Bock hat, und mir da helfen mag, die Funktionen in einen Sketch zu packen, dem küsse ich auf der Messe Friedrichshafen die Füße und wir gehen danach ein paar Bier trinken!!! Vorausgesetzt mein Kollege kommt mal aus dem Arsch damit wir das Ding im Maßstab 1:14 bis November fertig bekommen... :roll:
CubaLibreee
Beiträge: 1947
Registriert: 08.09.2013 15:35:26

#7 Re: Servo Position-Halten - Adruino Nano

Beitrag von CubaLibreee »

Ach ja. Hier mal der aller Erste Versuch des Ganzen bereits mit den Kauf Modulen:



Der Nachfolger ??? steht bereits. 100% neu Konstruktion mit etwas mehr Details, fragt nicht wie viel Std. dafür im Herbst/Winter 17/18 drauf gegangen sind! :roll: Aber der Datensatz ist bisher meine absolute Doktorarbeit. :mrgreen: V1 existiert bereits und aktuell werden 2xStk. V2 gedruckt. Dazu muss ich 212 Kettenglieder drucken die je aus 2 Teile bestehen. Diese muss ich dann verkleben, etwas auffeilen, aufbohren und mit Stifte verbinden. Das ist so eine sch...s Arbeit sag ich euch. :evil:

Hier mal paar Bilder:
DSCN3514.jpg
DSCN3524.jpg
DSCN3526.jpg
Benutzeravatar
TheManFromMoon
Beiträge: 3235
Registriert: 19.01.2005 11:05:48
Wohnort: Bad Malente
Kontaktdaten:

#8 Re: Servo Position-Halten - Adruino Nano

Beitrag von TheManFromMoon »

Moin,

Ich sehe da gar kein Problem.

Also du hast 3 Proportionalkanäle vom Sender.
Je nach Ausschlag des Knüppels soll das Servo hoch oder runter fahren. Je größer der Ausschlag desto schneller soll das Servo laufen.
Das einzige Problem, dass ich sehe ist der Start.
Der geht nur auf einer vordefinierten Position, denn es gibt ja kein Feedback vom Servo zum Controller.
Startposition also Mitte, links oder rechts oder irgendwas dazwischen. Das bedeutet, wenn der Servo im Endanschlag ausgeschaltet wurde, und die Startposition in der Mitte ist, fährt das Servo beim Einschalten mit Maximalgeschwindigkeit auf die Mitte.
Ist das so richtig verstanden?

Der Rest ist ganz einfaches hoch und runterzählen -> Kinderspiel.

Lieben Gruß,
Chris
CubaLibreee
Beiträge: 1947
Registriert: 08.09.2013 15:35:26

#9 Re: Servo Position-Halten - Adruino Nano

Beitrag von CubaLibreee »

Ihr seit sooo geil Leute! :P

Das ist bei den jetztigen Modulen auch so. Sie fahren beim einschalten die Mitte an. Vielleicht wäre es nur möglich das man das nicht gerade mit 100% hin bekommt. Wenn das möglich wäre wenn er beim Start die Nullpunkt Mitte mit 30-50% anfährt?!?

Zu den Funktionen nochmal:
3x Servos mit Position halten
1x LED ON/OFF schalten (wobei ich das zur Not bereits mit einer ausgedienten Servoelektronik und 2 Widerständen gelöst hätte)
Benutzeravatar
TheManFromMoon
Beiträge: 3235
Registriert: 19.01.2005 11:05:48
Wohnort: Bad Malente
Kontaktdaten:

#10 Re: Servo Position-Halten - Adruino Nano

Beitrag von TheManFromMoon »

Wenn das möglich wäre wenn er beim Start die Nullpunkt Mitte mit 30-50% anfährt?!? 
Nee geht nicht.
Der Controller weiss nie wo der Servo steht.
Der Controller gibt nur stur die Sollposition an den Servo weiter.
Im Servo ist eine Elektronik drin, die Ist-Position und Soll-Position vergleicht.
Sind die Positionen innerhalb eines kleinen Totbandes gleich rührt sich nichts.
Ist das Totband zu klein fängt der Servo an zu brummen, da hast du aber bei nicht programmierbaren Servos keinen Einfluss drauf.
Sind Ist-Position und Soll-Position unterschiedlich fährt das Servo selbstständig mit Maximalgeschwindigkeit auf die Soll-Position.
Davon weiss der Controller nix. Der sagt nur wie die Soll-Position ist, hat aber keine Ahnung wie die Ist-Position ist.
Es gibt allerdings programmierbare Servos, bei denen man die Maximalgeschwindigkeit reduzieren kann.
Das ist dann aber völlig unabhängig von der Ansteuerung die du suchst.
Eine LED ist auch kein Problem.

Das ist wirklich nicht schwer zu programmieren. Du musst das nur Step by Step machen und vorher genau wissen was das Ziel ist.

Lieben Gruß,
Chris
CubaLibreee
Beiträge: 1947
Registriert: 08.09.2013 15:35:26

#11 Re: Servo Position-Halten - Adruino Nano

Beitrag von CubaLibreee »

das mit der Anfahrgeschwindigkeit ist egal. Wie gesagt ist jetzt auch so ist kein Problem am Bagger.

Hier das wäre mal meine primitive Verkabelung wonach man den Sketch machen kann.
Kabeln.jpg
Mein Problem ist ich bin Elektronisch und programmier technisch ne Nulpe. :roll:
Benutzeravatar
TheManFromMoon
Beiträge: 3235
Registriert: 19.01.2005 11:05:48
Wohnort: Bad Malente
Kontaktdaten:

#12 Re: Servo Position-Halten - Adruino Nano

Beitrag von TheManFromMoon »

Was soll die LED machen?
Wie viel Strom braucht die LED?
CubaLibreee
Beiträge: 1947
Registriert: 08.09.2013 15:35:26

#13 Re: Servo Position-Halten - Adruino Nano

Beitrag von CubaLibreee »

TheManFromMoon hat geschrieben:Was soll die LED machen?
Wie viel Strom braucht die LED?
Die 2x LED´s soll nur an und aus geschaltet werden können über Kanal 4 über den Sender. Bekommen einen Widerstand...

hier meine Abenteuerlich 0815 Variante: :mrgreen: :mrgreen:
DSCN3527.jpg
Benutzeravatar
TheManFromMoon
Beiträge: 3235
Registriert: 19.01.2005 11:05:48
Wohnort: Bad Malente
Kontaktdaten:

#14 Re: Servo Position-Halten - Adruino Nano

Beitrag von TheManFromMoon »

Ich fragte nämlich, weil die Ausgänge von allen möglichen Microcontrollern ja nur 15 oder 20mA schalten können. Wenn man allerdings starke Beöeuchtungs LEDs oder Blitzer oder so haben will braucht man noch irgendwelche Treiber (z.B. Transistoren). Aber auch das wäre kein Problem und noch etwas kleiner als die ganze Servoelektronik.

Was soll die LED tun?
Wann soll die an / aus gehen?
Einfach nur per Schalter an / aus?
CubaLibreee
Beiträge: 1947
Registriert: 08.09.2013 15:35:26

#15 Re: Servo Position-Halten - Adruino Nano

Beitrag von CubaLibreee »

TheManFromMoon hat geschrieben:Ich fragte nämlich, weil die Ausgänge von allen möglichen Microcontrollern ja nur 15 oder 20mA schalten können. Wenn man allerdings starke Beöeuchtungs LEDs oder Blitzer oder so haben will braucht man noch irgendwelche Treiber (z.B. Transistoren). Aber auch das wäre kein Problem und noch etwas kleiner als die ganze Servoelektronik.

Was soll die LED tun?
Wann soll die an / aus gehen?
Einfach nur per Schalter an / aus?
Soll nur über einen Schalter am Sender on/off zu bedienen sein mehr nicht!!!
Antworten

Zurück zu „Servos“