-         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 64

Thema: Hilfe zum bau eines Roboterarms

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67

    Hilfe zum bau eines Roboterarms

    Hi to@ll,

    ich möchte gern klein Anfangen und erst mal ein Roboterarm mit 5 Servos bauen und programmieren in C.
    Die Halterung werde ich aus den 3D Drucker erstellen/drucken.


    So ähnlich
    wollte ichden Arm aufbauen:
    https://www.robotshop.com/en/lynxmotion-al5d-pltw-robotic-arm-kit.html

    Ziele:
    Den Arm über die PC Tastatur per Wlan oder Bluetooth steuern (oder mit einen Android Handy evtl. auch interessant).
    (Falls das für den Anfang zu komplex ist, dann per Kabel steuern und ein eigenen Tasterpanel erstellen).

    Die Kommunikation zwischen Microcontroller und PC zum Programmierenauch kabellos.




    Was benötige ich an Hardware?
    Welche Software?
    Zwar weiß ich viel, doch möcht' ich alles wissen.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.522
    Blog-Einträge
    29
    Ein Vorschlag:

    Aus ähnlichem Anlass habe ich mir mal einen hobby robotic arm von Velleman gekauft. Der ist klein, aber genügt zum Probieren. Die Motoren sind klein und brauchen wenig Strom. Hier ist ein Video dazu: https://www.youtube.com/watch?v=HNpWsKflcMg
    Gibt es noch immer beim C für knappe 30,- Eur. Zusammenbauen muss man selber. Ist nicht alles 100%, aber zum Probieren und Kaputtspielen reicht das aus.

    Später kann man ja zu Größerem und Teurerem oder zum Selbermachen übergehen.

    Ich würde mit einem Arduino anfangen. Später dann vielleicht nur nodeMCU (kann WLAN, Websteuerung wäre möglich bzw. Android Handy).
    Geändert von Moppi (12.09.2018 um 13:49 Uhr)

  3. #3
    HaWe
    Gast
    es gibt zur Fernsteuerung auch Funk-Module, die die PS2-Konsole "drahtlos" verstehen können, die Pins dieses Moduls werden dann einfach mit einem Arduino und die Servos ebenfalls mit diesem Arduino verbunden (dPins):
    http://www.techmonkeybusiness.com/us...o-project.html

    Ich habe so ein Teil vom Chinesen zusammen mit einem Roboterarm gekauft, wüsste aber auch gern, ob man das Funkmodul für die PS2 auch alleine kriegt. (In diem Set ist auch eine alternative Steuerplatine enthalten, die ganz ohne Arduino auskommt.)

    https://www.ebay.de/itm/Assembled-6D...QAAOSwMNxXWm9o

    Funktioniert bestens sogar mit einem Arduino Uno!
    Geändert von HaWe (12.09.2018 um 17:23 Uhr)

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67
    @Moppi
    Danke für link und Vorschlag... ist für den Anfang zum testen eine gute, günstige Wahl.
    Vielleicht kann man die Panelsteuerung später mit einen Arduino einbinden und darüber steuern.



    @HaWe
    Dein Link muss ich mir noch in ruhe durchlesen, sind interessant aus!
    Das Ebayteil ist mir ehrlich gesagt etwas zu teuer für den Anfang.
    Zwar weiß ich viel, doch möcht' ich alles wissen.

  5. #5
    HaWe
    Gast
    Zitat Zitat von crusico Beitrag anzeigen
    @HaWe
    Dein Link muss ich mir noch in ruhe durchlesen, sind interessant aus!
    Das Ebayteil ist mir ehrlich gesagt etwas zu teuer für den Anfang.
    völlig richtig, und es kommen ja nochmal Zoll und MWSt. drauf.
    Einzige Vorteile: fertig aufgebaut und der PS2 WL-Controller samt Empfangsmodul mit dabei, darauf wollte ich eigentlich besonders aufmerksam machen zum Thema Fernsteuerung.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67
    @HaWe
    die Aufmerksamkeit für die Fernsteuerung hab ich .

    Ich baue erst mal den Conrad Arm zusammen und dann schaue ich, welchen Arduino ich für den weitern Schritt benötige
    Zwar weiß ich viel, doch möcht' ich alles wissen.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67
    Wie letztes Post, noch am Anfang.
    Weiter Verkabel und erstmal den Mega 2560 genau anschauen. Die digital Ausgänge 22 bis 53 kann ich nehmen oder für die 18 Signale?

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.522
    Blog-Einträge
    29
    Ich verwende maximal den Arduino UNO. Ich besitze keinen Mega2560. Aber für die Arduinos gilt immer:

    - es gibt I/O-Ports, die können PWM
    - es gibt Ports, die können Digital
    - es gibt Ports, die können Analog
    - es gibt Ports, die können einen Interrupt auslösen, wenn am Eingang ein entsprechendes Signal anliegt

    Welche Ports das sind, steht z.B. auf Arduino.cc. Dort ist, meist bei den Funktionen, eine Liste, welche Pins / Ports der Arduino Boards verwendet werden können und welche Besonderheiten es gibt.

    So zum Beispiel für:

    - analogWrite() / PWM: https://www.arduino.cc/reference/en/...o/analogwrite/
    - attachInterrupt() / interruptfähige Eingänge: https://www.arduino.cc/reference/en/...tachinterrupt/

    Außerdem sind bei den Boards die Pins beschriftet mit ihrer Funktion: Digital, Power, Analog-In, PWM usw. So, wie hier: https://www.circuitstoday.com/arduin...out-schematics

    Da der Mega genügend Pins hat, solltest Du keine Probleme haben, welche auszusuchen. Musst nur auf die Funktion achten.

    MfG

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67
    Also soweit ist das Verstanden habe, kann ich die Digital Ports nehmen beim MEGA 2560. Ich habe mal grob aufgeschrieben welche ich dafür nehmen würde (siehe Bild)Klicke auf die Grafik für eine größere Ansicht

Name:	Pin_Belegung.PNG
Hits:	5
Größe:	8,4 KB
ID:	35324.
    Die In/Out Ports kann ich ja nehmen oder?

    Programm für erstmal ein Motor testen würde so aussehen:
    //Variable deklarieren+++++++++++++++++++++++++++++++++++++++ ++++++++++

    //IC1.............
    //1.Motor
    int 1MotorEin=22;
    int 1MotorOut1=24;
    int 1MotorOut2=26;

    //2.Motor
    int 2MotorOut3=28;
    int 2MotorOut4=30;
    int 2MotorEin=32;


    //IC2.............
    //3.Motor
    int 3MotorEin=34;
    int 3MotorOut1=36;
    int 3MotorOut2=38;

    //4.Motor
    int 4MotorOut3=40;
    int 4MotorOut4=42;
    int 4MotorEin=44;


    //IC3.............
    //5.Motor
    int 5MotorEin=46;
    int 5MotorOut1=48;
    int 5MotorOut2=50;


    //Taster
    //1.Motor
    int Button1MotorRechts=31;
    int Button1MotorLinks=33;


    //Hardware Ein-/Ausgänge setzen++++++++++++++++++++++++++++++++++++++++++
    void setup() {
    pinMode(Button1MotorRechts, INPUT); // Port als Eingang schalten für 1 Motor Rechts Test
    pinMode(Button1MotorLinks, INPUT); // Port als Eingang schalten für 1 Motor Links Test

    pinMode(1MotorEin, OUTPUT); // Port als Ausgang schalten
    pinMode(1MotorOut1, OUTPUT); // Port als Ausgang schalten
    pinMode(1MotorOut2, OUTPUT); // Port als Ausgang schalten

    pinMode(2MotorEin, OUTPUT); // Port als Ausgang schalten
    pinMode(2MotorOut3, OUTPUT); // Port als Ausgang schalten
    pinMode(2MotorOut4, OUTPUT); // Port als Ausgang schalten

    pinMode(3MotorEin, OUTPUT); // Port als Ausgang schalten
    pinMode(3MotorOut1, OUTPUT); // Port als Ausgang schalten
    pinMode(3MotorOut2, OUTPUT); // Port als Ausgang schalten

    pinMode(4MotorEin, OUTPUT); // Port als Ausgang schalten
    pinMode(4MotorOut3, OUTPUT); // Port als Ausgang schalten
    pinMode(4MotorOut4, OUTPUT); // Port als Ausgang schalten

    pinMode(5MotorEin, OUTPUT); // Port als Ausgang schalten
    pinMode(5MotorOut1, OUTPUT); // Port als Ausgang schalten
    pinMode(5MotorOut2, OUTPUT); // Port als Ausgang schalten

    }

    void loop() {
    if ((digitalRead(Button1MotorRechts)==HIGH) && (digitalRead(Button1MotorLinks)==LOW)) {
    //1 Motor Drehrichtung Rechts
    digitalWrite(1MotorEin, HIGH);
    digitalWrite(1MotorOut1, HIGH);
    digitalWrite(1MotorOut2, LOW);
    } else {
    //1Motor steht
    digitalWrite(1MotorOut1, LOW);
    digitalWrite(1MotorOut2, LOW);
    }

    delay(10); // Kleine Pause

    if ((digitalRead(Button1MotorRechts)==LOW) && (digitalRead(Button1MotorLinks)==HIGH)) {
    //1Motor Drehrichtung Links
    digitalWrite(1MotorEin, HIGH);
    digitalWrite(1MotorOut1, LOW);
    digitalWrite(1MotorOut2, HIGH);
    } else {
    //1Motor steht
    digitalWrite(1MotorOut1, LOW);
    digitalWrite(1MotorOut2, LOW);
    }

    delay(10); // Kleine Pause
    }
    Zwar weiß ich viel, doch möcht' ich alles wissen.

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.522
    Blog-Einträge
    29
    Frage: Benutze ich PWM? Mit PWM kann ich Motoren ansteuern (Umdrehungszahl). Einen Motor kann ich auch ohne PWM steuern, nur per Schalter.
    Benutze ich kein PWM, dann stehen mir alle Digitalausgänge inkl. der PWM-Pins zur Verfügung.

    "Die In/Out Ports kann ich ja nehmen oder?"

    Nimm ein Steckbrett, stecke einen 330 Ohm-Widerstand darauf, stecke an den Widerstand eine große LED (~5mm Durchmesser) und das andere Bein gegen GND (ich meine das müsste das kürzere Bein sein). Das noch offene Ende vom Widerstand verbindest Du mit einem I/O-Pin am Arduino-Board. Beschreibe den Port mit "digitalWrite(Pin, HIGH)", nachdem Du "pinMode(Pin, OUTPUT)" ausgeführt hast. Wenn die LED hell aufleuchtet, kannst Du diesen Pin nehmen. Weil a) fungiert er dann als Digital-Pin und b) ist er hardwaretechnisch auch i.O.

    Auf blauen Dunst ein Programm schreiben, würde ich nicht empfehlen. Es sei denn, Du hast schon viel Erfahrung damit. Denn funktioniert der doch schon recht große Programmcode dann nicht, fängt die Sucherei an. Daher würde ich empfehlen, Schritt für Schritt vorzugehen. Nicht einen riesen Schritt vor und 10 Kleine zurück. Also: Pin ausprobieren, wenn funktioniert notieren. Hast Du genügend Pins zusammen, eine Tabelle aufstellen, welcher Pin welche Funktion haben soll. Pin und Port haben beim Arduino übrigens unterschiedliche Bedeutungen. Ein Port (A,B,C,D ...) "beinhaltet" mehrere I/O-Pins. Dann nach den Notizen die Verkabelung durchführen und das Programm schreiben. Beim Verkabeln auch Schritt für Schritt vorgehen. Immer eine Sache anschließen und mit ein paar Codezeilen ausprobieren, wenn funktioniert, nächste Sache anschließen usw.


    MfG

    Geändert von Moppi (26.11.2020 um 12:26 Uhr)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. FPV steuerung eines RC-Cars mit hilfe eines smartphones
    Von nonam im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 1
    Letzter Beitrag: 08.02.2013, 13:57
  2. Simulation eines einfachen Roboterarms-Matlab
    Von Hashi im Forum Mechanik
    Antworten: 0
    Letzter Beitrag: 20.12.2012, 12:58
  3. Hilfe beim Bau eines Spannungsreglers.
    Von mhc2004 im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 11.03.2007, 18:08
  4. hilfe für die wahl eines microprozessors
    Von ichbaehr im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 7
    Letzter Beitrag: 27.03.2006, 11:41
  5. Hilfe! Bau eines Feuerwehrroboters
    Von Rubbel im Forum Software, Algorithmen und KI
    Antworten: 13
    Letzter Beitrag: 19.01.2006, 14:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •