-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Arduino Servoansteuerung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2012
    Beiträge
    10

    Arduino Servoansteuerung

    Anzeige

    Servus Forum,

    ich hab ein sehr merkwürdiges Problem und denke mir fehlen ein paar Grundsätzliche Kenntnisse um dieses zu verstehen. Ich steuer mit meinem Arduino Uno einen kleinen ServoMotor an (RB-65PG) über die mitgelieferten Bibliotheken und dazu noch ein SerialLCD Display.

    Beides kann ich einzeln ganz hervorragend steuern. Ich hab den Code jetzt so weit reduziert bis nur noch das Problem sichtbar sein sollte.
    Wenn ich auch nur irgendeine Zeile von dem gerade auskomentierten Code, mit laufen lasse. Wackelt der Servo auf einmal nur noch dumm rum (aber er zeigt die Temperatur und den Winkel auf dem Display an)

    Code:
    #include <SerialLCD.h>
    #include <SoftwareSerial.h>
    SerialLCD slcd(11,12);
    #include <Servo.h> 
     
    int tempPin=1;
    Servo myservo;  // create servo object to control a servo
    int PotiPin = 0;
    int PotiValue = 0;
    void setup() {
      slcd.begin(); //set up
      myservo.attach(5);  // attaches the servo on pin 5 to the servo object
    }
    void loop() {
     
    
    float temp = analogRead(tempPin);
    temp = (float)(1023 - temp)*10000/temp;
    temp = 1/(log(temp/10000)/3975+1/298.15)-273.15;
     
    /*
      slcd.setCursor(0,0);
      slcd.print(temp,2);
    */
    
    PotiValue = analogRead(PotiPin);
    PotiValue = map(PotiValue,0,1024,0,180);
    myservo.write(PotiValue);
    
    float Potiwert = myservo.read();  //ich hatte kurz die Idee hier den Umweg über die Variable Potiwert zu machen. es geht weder so noch direkt
    /* slcd.setCursor(0,1);
    slcd.print(Potiwert,2);
    */
    }

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Ich werde mal im schlauen Buch nachschauen, dazu gibt es ein gutes Beispiel darinnen das werde ich mal als src code hier reinstellen. siehe mal HIER Quellcode der Bücherbeispiele zum downloaden

    Im Setup-Block , hast Du da "pinMode(servoPin , OUTPUT) " gesetzt ????

    Habe das mal selber probiert läuft bestens. Kannst Du den den Servo direkt mit dem Poti nun steuern ??? das habe ich nicht richtig verstanden hier.
    Gruss
    OL

    PS. Hast Du dann Fragen zum Artikel im Buch, schreibe mich bitte per PN an !
    Geändert von oderlachs (21.11.2012 um 10:58 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2012
    Beiträge
    10
    hi, also den Servopin hab ich nicht als OUTPUT gesetzt. Aber ich hab das noch nie gemacht und irgendwie funktionierts eigentlich immer. Kann es sein, dass das nicht nötig ist wenn man die <Servo.h> nutzt?
    Aber ich werd das morgen gleich probieren.

    Im Prinzip funktioniert die Schaltung solange die rot markierten Texte auskommentiert sind.
    Irgendwie scheint es ein Problem zu geben wenn der Servo und die LCD Anzeige gleichzeitig in Betrieb genommen werden.

    Mal funktioniert der Servo dann gar nicht mehr, und mal zittert er. Obwohl beides einzeln funktioniert.
    Ich hab dann mal eingestellt, dass sich die LCD Anzeige nur so ca alle halbe Sekunde aktualisiert (mit millis() und dann gings ein bisschen besser, hatte ich das Gefühl aber der Servo zittert immer noch mehr, als ohne LCD Anzeige.

    P.S. (ich hab den Servo testweise auch über eine externe Stromquelle aufm Breaboard verbunden. das macht keinen Unterschied)

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Ich hatte fast auf die Spannungsversorgung getippt, aber du schreibst ja das es auch bei externer Spannungsversorgung zittert. Eine Frage sind es getrennte Spannungsquellen je eine Aurduino und je eine fürs Servo ? Ich hatte das auch mal dieses Zittern, da war die Spannung vom ArduBoard nicht so richtig stabil.
    Nun ja es gibt immer Wunder...
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  5. #5
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    30
    Beiträge
    946
    Vorab eine Frage was für ein Board und welche GUI-Version Du im Einsatz hast?

    Evtl. beißen sich die Interrupts der beiden Teile gegenseitig (LCD & Servo).

  6. #6
    Hab da auch mal eine Frage.
    Wenn ich einen Servo ganz normal an Spannung (5V) lege, und an der Steuerleitung einen Potentiometer anbringe (um die Spannung zu regulieren), kann ich die Drehung doch auch steuern.
    Oder muss man einen Servomotor immer Programmieren?
    Kenn mich nur in der Insustriesteuerungstechnik aus. Mit Chips und Boards hab ich nicht so viel am Hut.
    Würde aber gerne einen Servo via Knopfdruck um ca 90° nach oben fahren lassen.
    Sollte ich alles mit einem Programm steuern müssen, wäre ich über eine Stückliste dankbar sein.
    Entweder über C++ oder Arduino. Mit der Programmierung kenn ich mich da bedingt aus, aber was ich alles brauch, Board Shield eca.
    Hoff hier auf nen Profi der mich aus dem Schlamassel holt.
    Dank euch im Voraus.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Vorab mal zum eigentlichem Thema. Ich glaube auch, dass hier das LCD einfach zu viel Zeit verschlingt, weshalb das PWM Signal nicht mehr korrekt erzeugt wird.

    @MechatronikTechniker
    Nein, du brauchst ein PWM-Signal am Servo um es zu Steuern. Sowas kannst du aber normal auch rein mit HW machen. Mit einem NE555 z.b. Den 555 kannst du dann auch mit einem Poti ansteuern.

    mfg

  8. #8
    @Wsk8
    Erst einmal vielen Dank für die Antwort.
    Momentan verfüge ich über einen AT-Mega 168 auf einem Arduinoboard.
    Eigentlich möchte ich einen Servomotor mit einem kleinen Taster so ansteuern damit er sich um 90° nach oben bewegt.
    Was du mit HW meinst kann ich leider nicht deuten.
    Was ich aber machen werde ist, ein Programm in Arduino schreiben und mal schauen ob es funktioniert.
    Ebenso muss ich mir ein weiteres Arduinoboard besorgen, damit ich es in die Maschine einbauen kann.
    Soweit ich weis gibt es fertige Boards bei denen ich das Programm aufspielen kann.
    Danach verdrahte ich alles, schalte den Knopf und ich hoffe es klappt.
    Sollte ich noch Fragen haben, wende ich mich an euch / dich.

    P.s: sollte mir jemand einen Rat geben können, mit welchem Board ich mich kleinstmöglich halten kann, oder mir nen Verbesserungsvorschlag geben kann, wär ich dankbar.
    Bin noch Anfänger und werde das Zeug erst noch in der T-Schule durchkauen. Brauchen tu ich es aber jetzt schon.

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Wenn du für das Servo nur zwei Stellungen brauchst, dann schau dir Conrad 234915 an.
    Statt dem dem einen Poti zwei einbauen und eines davon mit dem Taster überbrücken.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    HW = Hardware.
    Ein Arduinoboard um 1 Servo mit 1 Taster anzusteuern ist wie mit Kanonen auf Spatzen schießen, völlig overpowered.

    mfg

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Servoansteuerung
    Von Gremlin im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 29.09.2011, 22:07
  2. [ERLEDIGT] [ARDUINO] 2 Motoren + Servo mit dem Arduino Uno steuern
    Von Torrentula im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 31.08.2011, 17:31
  3. ARDUINO ARDUINO l293D + MegaservoLib
    Von m1ch15inner im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 2
    Letzter Beitrag: 11.07.2011, 12:50
  4. Servoansteuerung
    Von sp33dy im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 1
    Letzter Beitrag: 07.01.2010, 19:24
  5. Servoansteuerung
    Von Gast6 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 21.01.2005, 09:11

Berechtigungen

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