-         
Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte
Ergebnis 51 bis 60 von 64

Thema: Hilfe zum bau eines Roboterarms

  1. #51
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67
    Anzeige

    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?

  2. #52
    Erfahrener Benutzer Robotik Einstein Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    2.387
    Blog-Einträge
    25
    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

  3. #53
    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.

  4. #54
    Erfahrener Benutzer Robotik Einstein Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    2.387
    Blog-Einträge
    25
    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 13:26 Uhr)

  5. #55
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67
    Step b step sicher... aber erstmal das Bord verbinden... Im Gerätemanager fehlen die 2.0 USB Treiber, ich finde leider noch kein passenden für win10
    Zwar weiß ich viel, doch möcht' ich alles wissen.

  6. #56
    Erfahrener Benutzer Robotik Einstein Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    2.387
    Blog-Einträge
    25
    Die USB-Treiber sollten beim Motherboard dabei sein, auf einer CD. Kann man installieren.

  7. #57
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67
    War keine bei oder hab ich nicht mehr...ist ja fast 2 Jahre her...
    Zwar weiß ich viel, doch möcht' ich alles wissen.

  8. #58
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    32
    Beiträge
    4.965
    Da sollte ein Standardtreiber drauf sein. Bei den Originalen sind FTDI Treiber und bei den Klonen meist CH340 Treiber verbaut.

    Das sind normale USB/UART Wandler.

    PS: Code bitte in Code-Tags schreiben (#-Symbol bzw zwischen [ code ] und [ /code ] ohne Leerzeichen). Dann ist es leichter lesbar und schaut so aus.
    Code:
     Hier steht dein Code
    Edit: Habe mich vertan, dachte es seinen die USB/UART Treiber, es fehlen aber die USB Treiber.

    MfG Hannes

  9. #59
    Erfahrener Benutzer Robotik Einstein Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    2.387
    Blog-Einträge
    25
    Ich habe noch CDs von Boards, die ich schon lange nicht mehr habe.
    Mal im Netz suchen. Computer selbst gebaut? Mainboard-Bezeichnung aufschreiben. Auf Herstellerseite gehen, meist gibt es dort einen Button Support -> Treiber ... und eine Suche. Dort nach dem Mainboard suchen und Treiber herunter laden.
    Wenn es ein gekaufter Computer ist, im Internet nach Modellbezeichnung suchen, um auf diesem Weg irgendwo an die Treiber zu kommen. Evtl. auf dem Computer irgendwo was finden (Hardware ....) wo eine Mainboardbezeichnung steht oder eine genaue Bezeichnung / Typ des Computers. Dann beim Hersteller auf die Webseite gehen und dort danach suchen.

    MfG

  10. #60
    Benutzer Stammmitglied
    Registriert seit
    19.09.2008
    Ort
    Bielefeld
    Alter
    43
    Beiträge
    67
    Zwar weiß ich viel, doch möcht' ich alles wissen.

Seite 6 von 7 ErsteErste ... 4567 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, 14:57
  2. Simulation eines einfachen Roboterarms-Matlab
    Von Hashi im Forum Mechanik
    Antworten: 0
    Letzter Beitrag: 20.12.2012, 13:58
  3. Hilfe beim Bau eines Spannungsreglers.
    Von mhc2004 im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 11.03.2007, 19: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, 12:41
  5. Hilfe! Bau eines Feuerwehrroboters
    Von Rubbel im Forum Software, Algorithmen und KI
    Antworten: 13
    Letzter Beitrag: 19.01.2006, 15:45

Berechtigungen

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