- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: Rampengenerierung für Schrittmotoren

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    02.03.2005
    Ort
    OWL
    Beiträge
    216

    Rampengenerierung für Schrittmotoren

    Anzeige

    E-Bike
    Hallo,
    kennt jemand eine einfache Möglichkeit, lineare und exponentielle Rampen zum Anfahren bzw. Bremsen zu erzeugen? Das Ganze soll auf einem ATMega8 unter Bascom laufen und sollte sich sehr schnell berechnen lassen. Mir fällt derzeit nichts wirklich gutes ein, daher wäre ich für jeden Rat dankbar!

    Gruß, Ruppi

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Wenn die Geschwindigkeit v ist, dann machst du den nächsten Schritt um eine Zeit t(v) später. Für lineare Geschwindigkeit ist
    t(v) ~ 1/v
    und bei exponentiell
    t(v) ~ 1/(b^v)

    ~ = proportional
    ^ = hoch (Exponentiation)
    Als Basis b eignet sich wahrscheinlich 2 oder eine n-te Wurzel von 2.

    Wenn's fix gehen soll legst du ne Wertetabelle ins Flash. Die Tabelle erzeugst du z.B. mit einem Programm aufm PC (etwa JavaScript, Browser hast du ja *grins*). Mit Tabell geht natürlich auch jede andere Kurve, etwa 4. Ordnung mit parabelförmigem Beschleinigungsprofil.
    Disclaimer: none. Sue me.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2005
    Ort
    Tann / ZH
    Alter
    68
    Beiträge
    264
    Wichtig ist dass:
    1. Die Startfrequenz nicht zu hoch ist (schrittverluste)
    2. Die Endfrequenz nicht zu hoch ist (Rückgang des Drehmomentes)
    3. Die Beschlunigung nicht zu hoch ist (Schrittverluste)

    Ist am einfachsten wenn Du diese werte empirisch ermittelst..
    MfG
    Ruedi

  4. #4
    Gast
    Moin,
    vieln Dank für die Antworten!
    Trotzdem noch mal an Sprinter: kann das noch nicht so ganz nachvollziehen. verstehe noch nicht, wie ich das vernünftig programmieren kann. Kannst Du mir dabei nochmal helfen? Speziell die Sache mit der Wertetabelle.

    Ruppi

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Mit Bascom kann ich dir leider nicht weiterhelfen.

    Du nimmst nen Timer und setzt einen Timeout (also ne Eieruhr). Ist der abgelaufen, lässt du nen Interrupt auslösen und machst den nächsten Schritt. Das ganze ist wohl nicht statisch, sondern das Ding steht irgendwo und soll irgendwo hin, also ist des eher ein Regelproblem.

    Falls du eine Tabelle brauchst, ist es am angenehmsten, den entsprechenden Quellcode (was auch immer) erzeugen zu lassen (wie auch immer). JavaScript ist nur eine Möglichkeit. Nehm ich genz gerne, wenn mir Java zu "fett" ist. Ausserdem geht's überall

    In vivo könnte es so aussehen: JavaScript-Rechner. Einfach auf Platte speichern und abändern wie du's brauchst bzw. die entsprechenden Bascom-Befehle für Array-Definitionen etc bei der Erzeugung einfügen (function get_values), neue Formeln programmieren (formel1, formel2, ...) , mehr Parameter einführen, etc.

    HTML- und JavaScript-Hilfe/Objekt-Referenz hat's bei http://www.selfhtml.net

    Oder du nimmst C, C++, Java, Basic, Ada, Python, Ruby, Pascal, ...
    Disclaimer: none. Sue me.

Berechtigungen

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

12V Akku bauen