-
        

Ergebnis 1 bis 10 von 10

Thema: Softstart für Motor

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von debegr92
    Registriert seit
    16.10.2011
    Alter
    25
    Beiträge
    104
    Blog-Einträge
    3

    Frage Softstart für Motor

    Anzeige

    Hallo,

    Für meinen neuen Roboter brauche ich einen sanften Anlauf der Gleichstrommotoren. Jetzt habe ich mir überlegt, dass ich jede Millisekunde eine Funktion aufrufe, um den Istwert dem Sollwert anzunähern. Doch wie sollte dies aussehen, damit das nicht unprofessionell wirkt? Einfach den Istwert inkrementieren oder dekrementieren scheint mir nicht wirklich sinnvoll oder?

    Vielleicht hat einer von euch das schonmal programmiert.

    Danke,
    Dennis
    Besucht doch auch meinen Blog über unser gemeinsames Hobby www.greguhn.de
    Roboter über das Smartphone steuern? Na klar! µBt Communication

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Hallo
    Ich habs bei meinem Robo so gemacht dass ich ne Funktion habe der ich den Endwert und die Anlaufdauer übergebe, die rechnet sich dann aus dem Ist- und Soll-Wert die Differenz aus, legt somit die Schleifendurchgänge aus und führt di Schleife inkrementierend bzw dekrementierend aus - ich eröhe das Ganze im 5ms Takt

    Die Werte rechnen sich folgendermaßen aus:
    Durchgänge = Zeit/5ms
    In-/Dekrementalwert=Differenz/Durchgänge

    Ist jedoch die Zeitspanne zu groß und die Ist-Soll Differenz zu klein wird das Ganze ein wenig ruckelig - PWM Schritte: 256, Bsp: PWM von 0 auf 20 in 3sec merklich ruckelig...

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von debegr92
    Registriert seit
    16.10.2011
    Alter
    25
    Beiträge
    104
    Blog-Einträge
    3
    Okay, also ich hab 1000 Pwm Schritte. Die Funktion ist ja soweit klar, doch sollte für ein flüssiges aussehen die Änderungsdauer immer gleich bleiben oder eben nur so lange wie wirklich nötig ist. Also 0 auf 1000 in zwei Sekunden beispielsweise und dann in einer Sekunde von 500 auf 0.
    Ich glaube ich probiere hier mit einigen werten herum um dann das ganze richtig anzupassen.
    Besucht doch auch meinen Blog über unser gemeinsames Hobby www.greguhn.de
    Roboter über das Smartphone steuern? Na klar! µBt Communication

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Ja, ich schätze ein Programm bei dem auch die Verzögerungszeit dynamsch ist wäre am Besten - doch wie löst man so was?

    Ideen:
    -) Steuerung per Interrupt - somit kann auch eine andere Arbeit gleichzeitig erledigt werden und die Umrechnung von Zahlenwerten in Wartezeiten ist besser möglich als bei reinen _delay(**) Anweisungen
    -) Wenn große Zeitspanne und kleine Differenz -> Anders berechnen als bei kleiner Zeitspanne und großer Differenz
    -) Parameter: Soll-Wert, Zeit - Ist Wert aus Register berechnen

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied Avatar von debegr92
    Registriert seit
    16.10.2011
    Alter
    25
    Beiträge
    104
    Blog-Einträge
    3
    Naja über den systick des stm32 bin ich relativ flexibel..ich hab einen Interrupt jede ms und inkrementiere oder dekrementiere den Wert. Je nach dem ob dies schneller oder langsamer geschehen soll setze ich einen prescaler vor die Funktion.

    Ich berichte.
    Besucht doch auch meinen Blog über unser gemeinsames Hobby www.greguhn.de
    Roboter über das Smartphone steuern? Na klar! µBt Communication

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Das is gut...

    Aber was machst du wegn dem Ruckeln?

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied Avatar von debegr92
    Registriert seit
    16.10.2011
    Alter
    25
    Beiträge
    104
    Blog-Einträge
    3
    Naja das ruckeln sollte bei dieser Frequenz und diesem Teiler nicht auftreten. Ich verwende als motortreiber den tba1266 wenn ich mich nicht irre.
    Aber kann erst morgen die Software testen.
    Besucht doch auch meinen Blog über unser gemeinsames Hobby www.greguhn.de
    Roboter über das Smartphone steuern? Na klar! µBt Communication

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.557
    Zitat Zitat von debegr92 Beitrag anzeigen
    ... brauche ... sanften Anlauf der Gleichstrommotoren ... wie ... damit das nicht unprofessionell wirkt ...
    Dennis, wenns ein bisschen nach Professionalität riechen sollte, müsste man /müsstest Du/ doch etwas über die Dynamik des Systems wissen, oder? Wieviel weißt Du über die Antriebsdynamik Deines Systems?

    Ich hatte für mein MiniD0 (klick für Video) eine Unmenge an Regelun gstechnik-Übungen gemacht. Es war alles dabei, vor Allem vieles, das ich falsch gemacht hatte. Der Beginn eines guten Betriebes fing an mit der Aufnahme der Sprungantwort; die hatte ich schon früher aufgenommen, aber mit mehr Daten war einfach mehr zu erkennen (klick hier). Ich hatte die Datenaufnahme später noch ausgeweitet, klick hier oder Postings danach. Das brachte mir einen ziemlich guten Einblick in die antriebstechnische Dynamik des Gesamtsystems MiniD0. Ich bekam zu SEHEN, dass die Motoren z.B. nicht gleichzeitig anliefen etc. (klick).

    Dieser letzte Link kann für Dich besonders wichtig sein - man kann aus diesem Diagramm sehr schön die Zeitkonstante der Motoren unter der Last des Gesamtsystems sehen (Fahrt auf einer relativ glatten Platte). Und diese Zeitkonstante der Motoren ist für einen Sanftanlauf das Maß aller Dinge - schneller gehts eh nicht - und wenn es nicht diese harte Beschleunigung beim Anfahren ist wie in der präsentierten Messfahrt - dann ist es eben sanft. UND wenn Du diese Messung einmal stehen hast, kannst Du mit mehreren Anfahrtroutinen spielen *ggg* - simpel nicht wahr?

    Bei meinem Projekt MiniD0 hatte ich danach noch weitergemacht mit verschiedenen Bremsverfahren - und es ist für meine Planung/Programmierung eben eine schöne Basis, die verschiedenen Systemantworten auf verschiedene Antriebsroutinen (bzw. Bremszyklen) zu kennen.

    Fazit: Messen bringt besseren Durchblick als Herumpröbeln.

    Anmerkung: in meinen Programmen ist häufig die Geschwindigkeit dargestellt, daraus/damit kannst Du ja einfach die Beschleunigung rechnen - und darstellen (trivial ich weiß, aber ich wollte explizit darauf hinweisen).

    Viel Erfolg.
    Ciao sagt der JoeamBerg

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied Avatar von debegr92
    Registriert seit
    16.10.2011
    Alter
    25
    Beiträge
    104
    Blog-Einträge
    3
    Hallo oberallgeier, danke für deinen ausführlichen Post. Ich denke das ganze wird ziemlich kompliziert, doch das ist ja genau der Sinn eines solchen Hobbys. Damit man anhand eines Beispiels die Theorie besser versteht.
    Werde mir den ganzen Beitrag einmal näher ansehen!
    Danke
    Besucht doch auch meinen Blog über unser gemeinsames Hobby www.greguhn.de
    Roboter über das Smartphone steuern? Na klar! µBt Communication

  10. #10
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.557
    ... denke das ganze wird ziemlich kompliziert ... anhand eines Beispiels die Theorie besser versteht ...
    Nix zu danken, gern geschehen. Na ja, ich wollte anfangs auch nicht so richtig in diese Theorie einsteigen. Aber es ist wie die berüchtigte Katze, die sich in den Schwanz beißt. Wenn man es nicht versteht ist es kompliziert, versteht man es, dann wirds übersichtlicher und einfacher. Nicht wirklich unkompliziert. Es lag/liegt mir viel daran, einen Überblick zu gewinnen. Schon allein die ganze Regelungsschleife hatte ich erst einigermassen/besser verstanden, als ich sie mir aufgezeichnet hatte:


    ......

    siehe auch hier. Erst als ich genau SAH wo welche Größe ist und welchen Job sie erledigt, bin ich besser in das Thema eingestiegen. Fazit war dann, dass mein Dottie/R2D03 bei einem Meter gerade Fahrstrecke maximal 1 mm von der Geraden abgewichen ist. Dass Du ein anderes Ziel verfolgst ändert aber sicher nichts daran, dass an einer ähnlichen Stelle erstmal die individuellen Eigenschaften festgestellt werden müssen.

    Viel Erfolg
    Geändert von oberallgeier (03.06.2012 um 15:23 Uhr)
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. sichtbarer Softstart für ledleisten
    Von martinheidelberg im Forum Elektronik
    Antworten: 22
    Letzter Beitrag: 23.06.2009, 18:29
  2. RN-Motor I2C Kommunikation klappt, am Motor tut sich nichts
    Von hspecht74 im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 1
    Letzter Beitrag: 24.11.2008, 14:04
  3. Antworten: 0
    Letzter Beitrag: 15.03.2008, 18:28
  4. Softstart
    Von Christoph2 im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 09.07.2006, 22:56

Berechtigungen

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