- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Wie ist das Schema zur Ansteuerung dieses Motors?

  1. #11
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Anzeige

    E-Bike
    das hat schon manches klarer gemacht. Ich habe aber noch nichts gefunden über den Eingang STEP.
    Muss da für jeden Schritt ein Signalwechsel erfolgen, also eine Pulsfolge?
    Mit welchem Befehl im Arduino erzeugt man das am einfachsten?

    Gruß
    fredyxx

  2. #12
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    36
    Beiträge
    5.070
    Bei jeden low-high (oder high-low bin mir nicht sicher steht aber im DB) Flankenwechsel erfolgt ein Schritt. Also musst du für 2 Schritte 4 Flankenwechsel ausführen (low-high-low-high)

    MfG Hannes

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Mit welchem Befehl im Arduino erzeugt man das am einfachsten? Geht z.B. ton()?


    Gruß
    fredyxx
    Geändert von fredyxx (15.05.2016 um 11:09 Uhr)

  4. #14
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    36
    Beiträge
    5.070
    Mit Arduino kenne ich mich leider nicht aus, programmiere in C.

    MfG Hannes

  5. #15
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Zitat Zitat von 021aet04 Beitrag anzeigen
    Mit Arduino kenne ich mich leider nicht aus, programmiere in C.

    MfG Hannes
    Welchen würdest du in C benutzen?

    Nebenbei! Wo erzeugt man in diesem Forum eine Signatur?

    Gruß

    fredyxx

  6. #16
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.208
    Arduinos kann man genauso in C programmieren, dazu haben sie ja die ISP-Schnittstelle.
    Und wenn du nicht weisst, wie du ein high-low-high-low Signal erzeugst, wird dir C auch nich weiter helfen. Hier fehlen mal wieder Basics...
    Die aber lernst du mit der Arduino-IDE schneller.
    Nachdenken: wie bring ich eine LED zum blinken? Genauso....
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  7. #17
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    PWM liefert beim Arduino ja leider nur eine feste Frequenz.
    https://www.arduino.cc/en/Reference/AnalogWrite
    Was in einer festen Drehzahl des Steppers resultieren würde.

    Es gibt schon fertige Stepper Libraries, das ist der einfachste Weg.
    Oder mit DigitalWrite in einer ISR die per TimerInterrupt aufgerufen wird. Der Timerwert (die Häufigkeit des ISR Aufrufs) bestimmt dann die Drehzahl.

    Natürlich geht es auch wie beim LED Beispiel mit Delay, aber dann macht das Teil auch nichts mehr anderes als warten und den Pin Status zu ändern.
    https://www.arduino.cc/en/tutorial/blink
    Code:
    void setup() {
      // initialize digital pin 13 as an output.
      pinMode(13, OUTPUT);
    }
    
    // the loop function runs over and over again forever
    void loop() {
      digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(1000);              // wait for a second
      digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
      delay(1000);              // wait for a second
    }
    https://www.arduino.cc/en/Reference/HomePage
    Ist ganz empfehlenswert als Infoquelle.
    Und wenn es darum geht einen PIN zu togglen, dann dort:
    https://www.arduino.cc/en/Reference/Boolean
    Da dann !(not)

    Tip: Boolean Hilfsvariable.
    hilfsvariable = !hilfsvariable
    Ausgang setzten auf Zustand der hilfsvariable.
    Geändert von i_make_it (15.05.2016 um 18:42 Uhr)

  8. #18
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Zitat Zitat von Rabenauge Beitrag anzeigen
    Arduinos kann man genauso in C programmieren, dazu haben sie ja die ISP-Schnittstelle.
    Und wenn du nicht weisst, wie du ein high-low-high-low Signal erzeugst, wird dir C auch nich weiter helfen. Hier fehlen mal wieder Basics...
    Die aber lernst du mit der Arduino-IDE schneller.
    Nachdenken: wie bring ich eine LED zum blinken? Genauso....
    Hallo Rabenauge,

    ganz blöde bin ich ja auch nicht, auch wenn du das offensichtlich so siehst.

    Ich erhoffe mir von den für dich vielleicht simplen Fragen, dass ich aus dem Forum bessere Lösungen erhalte, als sie mir auf die Schnelle einfallen und ich dann später doch auf bessere Lösungen komme.

    Natürlich bekomme ich eine LED zum Blinken, aber dann erhalte ich wieder irgendwo den Hinweis, dass man doch in einem Programm delay möglichst nicht verwenden soll. Die Methode mit millis() kenne ich auch.
    Schöner wäre, wenn du mir die Frage beantworten würdest, ob es was Besseres gibt als ton().
    Dieser Hinweis: Only one tone can be generated at a time
    läßt mich aber vermuten, dass ich damit nicht mehrere Motortreiber gleichzeitig ansteuern kann.

    Also was ist nun dein kluger Rat??

    Der Thread von i_make_it kam während ich das schrieb. Den muss ich mir nun erst mal zu Gemüte führen.

    Gruß

    fredyx
    Geändert von fredyxx (15.05.2016 um 19:19 Uhr)

  9. #19
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Übrigens nutzt Arduino den AVR GCC. Arduino Language ist also schon "C" (ein C Dialekt).
    Und C++ geht wohl auch mit der Arduino IDE.

    Um beim LED Beispiel zu bleiben, gibt es hier die Variante mit Timer Interrupt.
    http://playground.arduino.cc/Deutsch...ndTimerlibrary

    Timer1.initialize(alle_x_sekunden*1000000);
    macht man dann in der Hauptschleife, da man ja gerne auch mal die Drehzahl ändern möchte.

    https://www.arduino.cc/en/Reference/Stepper
    ist aber erst mal der einfachere Weg um was in Bewegung zu setzen.
    Zum Lernen ist der "selbermachen Weg" aber besser.
    Geändert von i_make_it (15.05.2016 um 18:55 Uhr)

  10. #20
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Es gibt schon fertige Stepper Libraries, das ist der einfachste Weg.
    Ich teste gerade den oben so gelobten Treiber DRV8825, der als Ansteuerung eben nur eine Frequenz und ein Richtungssignal benötigt (Vorteil: belegt nur 2 Ausgänge des Arduino statt 4). Wenn ich das richtig sehe, dann hilft da keine Library oder?

    Oder mit DigitalWrite in einer ISR die per TimerInterrupt aufgerufen wird. Der Timerwert (die Häufigkeit des ISR Aufrufs) bestimmt dann die Drehzahl.
    was meinst du mit ISR?

    Gruß

    fredyxx

    - - - Aktualisiert - - -

    Klebwax bezeichnet den L293D ja als "Technologie von vor 30 Jahren". Daher dieser neue Versuch.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Pro Bot 128 - Problem mit Ansteuerung des rechten Motors
    Von erik95 im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 12
    Letzter Beitrag: 05.01.2011, 12:47
  2. Antworten: 3
    Letzter Beitrag: 28.01.2008, 13:47
  3. Ansteuerung eines Motors mit ATmega µC (totaler Noob)
    Von Athlonxp2000 im Forum Motoren
    Antworten: 3
    Letzter Beitrag: 24.12.2006, 17:04
  4. Antworten: 14
    Letzter Beitrag: 30.11.2005, 17:50
  5. Antworten: 3
    Letzter Beitrag: 26.10.2004, 20:01

Berechtigungen

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

LiFePO4 Speicher Test