- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 4 von 4

Thema: Gleichmäßige Aufteilung von Servobewegungen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    14.11.2005
    Ort
    Ruhrpott
    Alter
    73
    Beiträge
    24

    Gleichmäßige Aufteilung von Servobewegungen

    Anzeige

    Praxistest und DIY Projekte
    Folgendes Problem:
    Der Fahrweg eines Servos soll gleichmäßig über eine bestimmte Zeitspanne erfolgen. Z.B. sollen in 500 Zeitschritten 230 Wegschritte erfolgen. Ich Suche nach einem Algorithmus der mir eine möglichst gleichmäßige Aufteilung der Schritte liefert, also Zeitpunkt 0 erster Schritt,
    .... Zeitpunkt 500 230. Schritt. Da die Division nicht aufgeht müssen unterschiedliche Schrittweiten gewählt werden. Wie berechnet man diese?

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    26.06.2005
    Ort
    Ulm
    Beiträge
    41
    Hi Tichy,

    Wie groß ist denn eine Zeiteinheit bei dir ? 0.5 sec, 1 sec, 2 sec, oder 10 sec ?

    Die Schritte würden sich anhand deiner Zeitspanne berechnen.
    Ohne diesen Divisionsrest wirst du nicht zum Gewünschten Ziel kommen. Vieleicht noch durch Berechnung des Stellwinkels...... Weis aber nicht genau wie das geht.......

    Hmmmm...... wie du das dann realisieren willst weis ich nicht aber es gibt bestimmt jemanden der dir helfen kann

    Gruß,

    CodeWarrior
    Computer sind dazu da um Probleme zu lösen, die wir ohne sie nicht hätten !

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Das geht auch in der Schleife
    500 / 230 --> 2 ein schritt jedes 2
    500 / 40 --> 12 + ein schritt alle 12
    500 / 20 ---> 25 + ein schritt alle 25
    .0
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Hallo tichy!

    Der Sollschritt wäre 230/500 = 0.46, den kann man nicht jedesmal ausführen. Aber man kann ihn mit jedem Zeitintervall aufaddieren und bei Überschreiten von 1 einen Schritt machen und davon wieder 1 abziehen.

    So sieht's dann aus:
    Code:
    0.46
    0.92
    1.38 - 1 = 0.38  -> Schritt
    0.84
    1.3 - 1 = 0.3  -> Schritt
    0.76
    usw.
    Falls gerundet werden soll, dann starte einfach mit 0.5
    Wenn du mit Integer rechnen willst, dann multiplizier alles mit 100.

    Gruß Waste

Berechtigungen

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

12V Akku bauen