Hallo ihr Lieben, ich hoffe mein Beitrag ist im richigen Forum, ansonsten würde ich einen der Admins bitten, diesen dorthin zu verschieben :) Den letzten Beitrag, den ich zu dieser Thematik gefunden habe stammt von 2009, daher dachte ich, mache ich einen neues Thema auf, da sich technisch sicherlich einiges getan hat in dieser Zeit. Derzeit absolviere ich die Technikerschule (Elektrotechnik) und soll als Technikerprojekt einen ferngesteuerten Antrieb für Mecanum-Räder entwickeln. Ich habe bereits Motortreiber (Cytron MDD10A Rev2.0), um die in den vier Rädern verbauten 24V DC-Kleingetriebmotoren anzusteuern. Nun war mein Gedanke, die Signale der (drahtlosen) Fernsteuerung mit einem Arduino zu verarbeiten. Dieser müsste dann je Motor ein Signal für die Drehrichtung ausgeben und ein 3,3V - 5V Logiksignal für die Drehzahlsteuerung. Da ich blutiger Anfänger bin, was Mikrocontroller / Arduino angeht meine Frage an euch: Welche Komponenten bräuchte ich für die Realisierung? Arduinos gibt es ja verschiedene mit ganz unterschiedlicher Preisspanne und ich habe leider keine Ahnung, welchen davon ich bräuchte. Für den Empfang der Funksignale bräuchte ich einen 2,4 GHZ-Empfänger, das habe ich schon herausgefunden. Grüße Andy
:
Verschoben durch Moderator
Bzw. DAC, falls dein Motortreiber ein Analogsignal braucht.
Hint schrieb: > PWM Hint schrieb: > Bzw. DAC, falls dein Motortreiber ein Analogsignal braucht. PWM und DIR steht im Manual Andreas W. schrieb: > Da ich blutiger Anfänger bin, was Mikrocontroller / Arduino angeht Warum macht man sowas? Mach doch was womit du dich auskennst. Wie lange hast du Zeit? Andreas W. schrieb: > Welche Komponenten bräuchte ich für die Realisierung? Akku/Spannungsversorgung, Motortreiber, Motoren, uC Board mindestens. Funk würde ich an deiner Stelle auf etwas fertiges oder sehr einfaches setzen. Man könnte sich aus dem Modellbau bedienen. Dann hast du die Fernbedienung schon fertig. Dann noch einen Fahrtenregler oder was es da passendes gibt. Dann muss man mit dem uC nur eine Signalkonvertierung machen. Funkmodule die man erst noch Parametertieren muss würde ich an deiner Stelle vermeiden wegen dem Aufwand und deiner Erfahrung. Andreas W. schrieb: > Für den Empfang der Funksignale bräuchte ich einen 2,4 GHZ-Empfänger, > das habe ich schon herausgefunden. Aha. Warum 2,4GHz? Vielen Modellbauautos laufen auch mit 434/868MHz.
:
Bearbeitet durch User
Hint schrieb: > Analogsignal Hint schrieb: > PWM Man muss nicht raten: https://www.cytron.io/p-10amp-5v-30v-dc-motor-driver-2-channels Andreas W. schrieb: > die Signale der (drahtlosen) Fernsteuerung Welche denn? > Für den Empfang der Funksignale bräuchte ich einen 2,4 GHZ-Empfänger Das kommt ganz auf den Sender an... > Da ich blutiger Anfänger bin, was Mikrocontroller / Arduino angeht Du solltest dein Problem aufteilen: 1. Ansteuerung des Motortreibers 2. Kommunikation mit der unbekannten Fernbedienung > Welche Komponenten bräuchte ich für die Realisierung? Arduinos gibt es > ja verschiedene mit ganz unterschiedlicher Preisspanne und ich habe > leider keine Ahnung, welchen davon ich bräuchte. Bei brauchbarer Programmierung ist es egal, welchen du nimmst. Aber weil das eine Hausaufgabe ist, solltest du einfach mal deine Mitschüler oder den Labortechniker/Betreuer fragen, was bei euch so üblich ist.
:
Bearbeitet durch Moderator
Andreas W. schrieb: > Derzeit absolviere ich die Technikerschule (Elektrotechnik) und soll als > Technikerprojekt einen ferngesteuerten Antrieb für Mecanum-Räder > entwickeln. Was soll der können und wie gesteuert? Hast du eine handelsübliche Modellbausteuerung und sollst dann die Signale der Steuerknüppel in die richtigen Drehrichtungen des Fahrzeugs "übersetzen"? Wie Lothar gesagt hat zerlege dein Problem in Teilprobleme: 1. Wie soll das Fahrzeug angesteuert werden? Vorwärts/rückwärts/seitwärts/drehen/...? 2. Welche Information muss man dazu übertragen (Kanalanzahl, wie darstellen auf der Fernbedienung) 3. Welche Funkfernsteuerung braucht man dazu 4. Welcher Empfänger 5. Wie bekommt man die Empfängersignale in den Controller 6. Wie steuert man die einzelnen Räder vom Controller an 7. Ein Programm das die empfangenen Signale auswertet, in Drehrichtungen der Motore umsetzt und die Motore ansteuert.
Andreas W. schrieb: > Für den Empfang der Funksignale bräuchte ich einen 2,4 GHZ-Empfänger, > das habe ich schon herausgefunden. Immerhin. Falls es sich allerdings um eine handelübliche 2,4GHz Modellbau Fernsteuerung handelt, wird es dir nicht gelingen, die Signale mit irgendetwas anderem als dem mitgelieferten Empfänger zu dekodieren. Mit dem Reverse-Engineering des Binding usw. habe ich mich mal beschäftigt, und das ist nicht so einfach.
Danke für die Antworten. N. M. schrieb: > Warum macht man sowas? Mach doch was womit du dich auskennst. Wie lange > hast du Zeit? Das Projekt wurde mir angeboten und klang interessant. Muss bis Ende Mai fertig sein. Mir ist bewusst, dass das sehr eng wird. Jetzt geht's erst mal darum, das gegebene Fahrgestell vorwärts und rückwärts fahren zu lassen. Die restlichen Funktionen wie seitwärts fahren, auf der Stelle drehen und lenken während des Fahrens sind erst mal zweitrangig. Wenn das nicht mehr klappt, kann auch ein anderer Technikerschüler das Projekt fortsetzen. N. M. schrieb: > Aha. Warum 2,4GHz? Vielen Modellbauautos laufen auch mit 434/868MHz. Die Fernsteuerungen, die ich bisher angeschaut habe, senden alle über 2,4GHz. Mein bisheriger Ansatz war, ein Modellfahrzeug zu nehmen, das über einen solchen Antrieb verfügt und aus diesem die Steuerung auszubauen und die Motortreiber durch stärkere zu ersetzen. Leider hat sich jetzt gezeigt, dass das so nicht funktionieren wird, da in dem Modell alles auf der Empfängerplatine verbaut ist und von dieser die Leitungen direkt auf die Motoren gehen. Ist also nichts mit Motortreiber ersetzen. Von daher muss ich jetzt doch den aufwändigeren / kompliziertern Weg gehen.
Andreas W. schrieb: > Die Fernsteuerungen, die ich bisher angeschaut habe Es hilft dir nicht, wenn du daraus ein Geheimnis machst.
Andreas W. schrieb: > Jetzt geht's erst mal darum, das gegebene Fahrgestell vorwärts und > rückwärts fahren zu lassen. Dann mach das mal und steuere diese Fahrt vorerst noch mit einem Kabel. Und für die Fernsteuerung nimmst du entweder was "Richtiges" aus dem Modellbau (das funktioniert sicher auch über große Entfernungen). Oder du nimmst du nimmst ein Handy, ein BT-Shield und als App z.B. den "Bluetooth RC Controller": https://www.youtube.com/watch?v=FW2fbMqY6j8 Das ist natürlich nur für kleine Aktionsradien geeignet. Nach ein paar Metern ist da Schluss...
:
Bearbeitet durch Moderator
Andreas W. schrieb: > Muss bis Ende Mai fertig sein. Andreas W. schrieb: > Da ich blutiger Anfänger bin Das kannst Du gleich knicken! Sorry isso. Gruss Chregu
Andreas W. schrieb: > Da ich blutiger Anfänger bin, was Mikrocontroller / Arduino angeht Andreas W. schrieb: > Derzeit absolviere ich die Technikerschule Irgendetwas wirst du doch schon gelernt haben, oder? Was denn? Was darf es kosten? Unkonkrete Frage -> unkonkrete Antwort Man nehme irgend eine fertige Fernsteuerung und den passenden Empfänger dazu. Man nehme sich eine Fahrzeug Stromversorgung, irgendeinen Arduino, STM32 Bluepill, ESP32 o.ä. Schreibe zwei Monate die Software dafür und schon bist du fertig.
Also mindestens 2x, besser 3x PPM-Signale vom Fernsteuerungsempfänger erfassen und 4x PWM + DIR für die Motoren erzeugen. Ich würde sagen, mit einem normalen Arduino dürfte es als Anfänger knapp werden. Vielleicht nimmst du einen "fetten" Controller, der kompatibel zur Arduino-Umgebung ist oder sogar ein Python-Board. Auf die Spannungen der Signale achten (3.3 / 5V) und ggf. Pegelwandler einplanen.
Hint schrieb: > Ich würde sagen, mit einem normalen Arduino dürfte es als Anfänger knapp > werden. Das Programm ist doch simpel. Die Hauptschleife sieht so aus: - miss die Pulsdauer am Eingang A - miss die Pulsdauer am Eingang B - rechne aus diesen beiden Pulswerten neue Richtungs- und PWM-Werte aus - gib die Richtungs- und PWM-Werte an die Motorsteuerungen weiter D.h. auch bei ungünstiger Programmierung werden alle 50ms neue PWM-Werte an die Motoren gegeben.
Hint schrieb: > Also mindestens 2x, besser 3x PPM-Signale Lothar M. schrieb: > - miss die Pulsdauer am Eingang A > - miss die Pulsdauer am Eingang B Oder gleich einen Empfänger mit S-Bus o.ä. nehmen.
Es gibt doch auch diverse Beispiele mit dem nRF24L01+ im Zusammenspiel mit Arduinos. Dazwischen hatte ich eins gesehen, das auf der einen Seite ein Poti einliest und auf der anderen ein Servo steuert. Ob da jetzt ein Servo gesteuert wird oder der Motorcontroller dürfte nicht viel Umbauaufwand sein.
Andreas W. schrieb: > Dieser müsste dann je Motor ein Signal für die Drehrichtung ausgeben und > ein 3,3V - 5V Logiksignal für die Drehzahlsteuerung. Wenn das ein Fahrzeug ist, so wie ich Fahrzeuge kenne (Räder die die links und rechts an der Seite in die selbe Richtung zeigen, dann brauchst du nur 2 PWM und 2 Richtungen. Denn ohne gelenkte Räder ist das ja eine Art "Panzer ohne Ketten", der sich in Kurven halt irgendwie um die Ecke "rubbelt".
Andreas W. schrieb: > Ich habe bereits Motortreiber (Cytron MDD10A Rev2.0), um die in den vier > Rädern verbauten 24V DC-Kleingetriebmotoren anzusteuern. Eigentlich sollten die Motoren drehzahlgeregelt werden, da die Zahl der Antriebe (4) größer als die Anzahl der Freiheitsgrade des Fahrzeugs (3) und die Kinematik deswegen überbestimmt ist. Ohne genau definierte Drehzahl der Antriebe werden die Räder ständig auf dem Boden radieren. Für eine Drehzahlregelung müssen die Antriebe aber mit Encodern ausgestattet sein (bzw. werden, falls sie es nicht schon sind). Außerdem musst du die Regelung in der Software implementieren (bspw. in Form eines PI-Reglers). Da du nach eigener Aussage Mikrocontrolleranfänger bist, erscheint mir das angesichts der begrenzten Zeit kaum möglich. Wenn das Fahrzeug klein und leicht ist, wird das Radieren der Räder auf dem Boden wahrscheinlich kaum auffallen, so dass du evtl. auf die Regelung verzichten kannst. Du könntest aber auch die Anzahl der Räder von vier auf drei reduzieren. Dann ist die Kinematik nicht mehr überbestimmt und das Radierproblem beseitigt. Dennoch wird die Bewegung des Fahrzeugs wegen der fehlenden Regelung ungenau sein, so dass dieses bspw. nicht sauber geradeaus fährt, wenn der Bediener dies vorgibt. Das bedeutet, dass der Bediener die Bewegung laufend etwas korrigieren muss, um das Fahrzeug auf der gewünschten Bahn und in der gewünschten Orientierung zu halten. Aber das dürfte für das geplante Projekt akzeptabel sein. Auch für das Dreiradfahrwerk kannst du Mecanum-Räder verwenden, üblicher sind hier aber Allseitenräder (Omniwheels). Sie unterscheiden sich in der Orientierung der passiven Rollen auf den Rädern: https://de.wikipedia.org/wiki/Mecanum-Rad https://de.wikipedia.org/wiki/Allseitenrad Beispiel eines Dreiradfahrwerks mit Allseitenrädern: https://www.youtube.com/watch?v=9GQ0lPGDC1w Beispiel eines Vierradfahrwerks mit Mecanum-Rädern: https://www.youtube.com/watch?v=pXONdyBGoBo Andreas schrieb: > Lothar M. schrieb: >> - miss die Pulsdauer am Eingang A >> - miss die Pulsdauer am Eingang B > > Oder gleich einen Empfänger mit S-Bus o.ä. nehmen. Oder gleich so ein Gamepad inkl. Empfänger, der direkt an einen Arduino angeschlossen werden kann, und für das es eine fertige Arduino-Library gibt: https://www.reichelt.de/de/de/entwicklerboards-gamepad-im-playstation-design-kabellos-debo-ctrlr-ps-p232869.html Die Reichweite ist zwar mit 8 m nicht allzu groß, sollte aber für so ein Demoprojekt ausreichend sein. Mit dem linken zweiachsigen Joystick kannst du die Geschwindigkeit in Längs- und Querrichtung, mit einer Achse des rechten Joysticks die Rotationsgeschwindigkeit um die Vertikalachse des Fahrzeugs vorgeben. Natürlich kannst du die verschiedenen Bewegungen durch gleichzeitige Nutzung beider Joysticks kombinieren, um bspw. – ähnlich einem Rallye-Auto – scheinbar driftend um eine Kurve zu fahren. Die zweite Achse des rechten Joysticks und die vielen Buttons kannst du für lustige Gimmicks nutzen, falls du bis Ende Mai noch etwas Zeit übrig hast :)
:
Bearbeitet durch Moderator
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.