- Labornetzteil AliExpress         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Quattrocopter, erste funktionierende Teile...

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    44
    Beiträge
    269

    Quattrocopter, erste funktionierende Teile...

    Anzeige

    Praxistest und DIY Projekte
    Moin moin,

    Ich hatte eine Wippe gebaut (siehe Bild), um damit Lageregelungen testen zu koennen. Es ist gewissermassen ein Querschnitt eines Quattrocopters (also nur die eine Achse) und sollte dazu dienen, die Lageregelung zu testen.
    Dummerweise habe ich aber noch keine Bezugsquelle (mit zivilen Preisen) fuer die ADXRS150EB, die ich eigentlich verwenden wollte. Den ADXL202 hatte ich aber rumliegen, also hab ich trotzdem schon mal losgebastelt. Hab halt gerade Urlaub Statt des geplanten Kaskadenreglers mit der Lage (Winkel) als Regelgroesse und der Drehrate als unterlagerte Regelgroesse habe ich also einen ganz normalen PID-Regler programmiert. Dieser verwendet jetzt erstmal nur den ADXL, also die Lage.

    Mit diesen Parametern

    Code:
    #define F	0.3								// PWM-Verhaeltnis fuer den Schub, "1" waere 100%
    #define KP	0.05							// Proportionalverstaerkung
    #define TN	5								// Nachstellzeit (I-Anteil)
    #define TV	1.5								// Vorhaltzeit (D-Anteil)
    #define TA	0.02							// Abtastzeit in Sekunden
    regelt er jetzt endlich stabil, allerdings viel zu langsam fuer einen Quattrocopter. Bei groesserem KP faengt er tierisch an zu schwingen. Die Zeitkonstante dieser Schwingung ist ungefaehr 2 sec, aber wenn ich damit und nach den Einstellregeln von Takahashi (fuer die Regelungstechniker...) die Parameter einstelle, schwingt er trotzdem noch. Ich vermute, es liegt daran, dass der Motor auf der einen Seite nicht so schnell beschleunigen kann wie der auf der anderen Seite abbremst. Man muesste also einen Maximalgradienten fuer den Reglerausgang festlegen, der dem Beschleunigen entspricht.
    Oder hat sonst jemand Ideen dazu?

    Nils

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    13.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hallo Nils,

    Bild siehe unten??, ich kann keines finden.
    Also gleich zu Anfang eine bessere Idee habe ich auch nicht, habe sehr viel Zeit mit dem Bau eine Quattro´s verbracht


    Bild hier  

    Bild hier  

    Bild hier  

    Das sind so meine Hardware Teile ich in einigen Versuchen strapaziert habe. Also die Elektronik und Mechanik habe ich, so weit im Griff, aber die Software!!!. Anfangs dachte ich ist nicht leicht aber bestimmt hinzubekommen. War ein schwerer Denkfehler, bin keine echter Programmierer und das muss mann bei dem Ding echt sein, also bis zu dem Stand habe ich es geschafft, und leider ist für mich hier Schluss.
    Solche Regler wie du sie beschreibst, da brauche ich nicht mal drüber nachdenken, keine Chance für mich. Ich hoffe du bekommst deinen Flyer mal in die Luft, stabil!!!!

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    44
    Beiträge
    269
    Sorry, das ist so ne Spezialitaet von mir, bei Emails und postings die Anhaenge zu vergessen. Musste vorhin auch schnell weg ins Kino

    Ich denke das mit der Software krieg ich schon hin, wie gesagt, am Regler muss ich noch etwas optimieren. Und mehr als ne grobe Voreinstellung fuer den eigentlichen Quattrocopter wird's auch nicht sein, schaetze ich. Aber immerhin...
    Bei mir haperts ausser an den ADXRS noch an den Motoren bzw Luftschrauben. Der Pro400 zieht mir zuviel Strom bei zuwenig Schub, sowohl mit Guenniprop als auch mit groesseren Propellern. Ich bin schon fast soweit, die Motoren und Props des Intellicopters zu bestellen, aber dann bin ich mal eben 360 Euro los

    Was fuer Motoren sind das denn bei dir, die guenstigen von Conrad? Das Getriebe ist ein Eigenbau? Wie laut ist das ganze bei dir, und wieviel Schub gibt es bei wieviel Strom? ..? ..?
    Und was benutzt du als Propeller? Auf den Bildern sieht das so aus wie der Teigspachtel aus Mutti's Kueche

    Nils
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken wippe.jpg  

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.05.2005
    Alter
    32
    Beiträge
    601
    Siet toll aus !! was benutzt du als Steuerung.
    Grüße Furtion

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967
    ein mega 16/32 wies auf dem bild zu erkennen ist , oder?
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    44
    Beiträge
    269
    ein mega 16/32 wies auf dem bild zu erkennen ist , oder?
    Ist die Aufloesung doch so gut?
    Stimmt, es ist ein ATmega16 mit 16MHz-Quartz. Sitzt auf der Platine unten, die auf der kleinen Balsaholzkiste steht. Von da gehen dann die vier PWM-Signale (obwohl hier nur zwei benutzt werden) an die Motortreiberplatine, die ich so professionell mit Gummiband an die Wippe geklemmt habe. Da drauf sitzen die vier BUZ71, die das PWM-Signal an den Motor weitergeben. Auf der AVR-Platine ist auch noch ein 6pin-ISP-Stecker und ein 10pin-Stecker fuers LCD-Display (8 pins von PORTC+Vcc+GND). Das LCD benutze ich zum "printf-debugging", und momentan lasse ich da die drei Anteile des Reglerausgangs anzeigen (P, I, D). Ausserdem sind natuerlich auf der AVR-Platine noch Stecker fuer 8 Analogeingaenge. Im Moment wird einer benutzt, fuer den einen Kanal des ADXL202, der oben auf der Wippe montiert ist.
    Nils

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    13.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hallo zusammen,

    sieht doch schon sehr gut aus!!, als Programmieraufbau mehr als ausreichend. Ja, der Motorträger und das Zahnriemengetriebe habe ich selbst gemacht (6:1), läuft sehr leise. Die Stromversorgung kommt noch von einem Netzteil, steht auf 11,1Volt und der eine Arm von meinem Prog.-Aufbau ist bei 600mAh stabil in der Luft. Als Steuerung nehme ich zurzeit einen maga8 und die FET´s sind IRLR024N, haben sich als sehr gut bei mir rausgestellt. Motoren habe ich so um die 20 Stück versucht, aber alles nicht das wahre. Die ich jetzt dran habe sind von Mabuchi 310L
    glaube ich heißen die. Kosten so um die 15.-€ das Stück. Nicht gerade die billigsten aber die Leistung rechtfertigt den Preis.

    Gruss Frank

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    Hallo Nils!

    Respekt für deine Vorgehensweise. Ich finde sie richtig. Bei so einer schwierigen Aufgabe ist es meiner Meinung nach unabdingbar Schritt für Schritt die Probleme nach und nach zu lösen und am Anfang möglichst viele Freiheitsgrade einzuschränken.

    Ich habe zwar noch keinen Quattrocopter gebaut, aber schon einige Regelkreise realisiert, allerdings nur elektronisch. Zusätzliche Mechanik im Regelkreis erschwert die Sache für mich. Will es aber trotzdem mal versuchen, dir weiter zu helfen.
    Scheinbar hast du dich schon tief in die Regeltechnik eingearbeitet. Ich bin mir aber nicht sicher, ob du die mechanischen Grössen wie z.B. Trägheitsmasse berücksichtigt hast. Die zu berücksichtigenden Trägheitsmassen sind in deinem Fall nicht nur die Masse (Gewicht), sondern auch die rotierenden Teile wie Rotor des Motors und Propeller. Erschwerend kommt dann noch dazu, dass wahrscheinlich der Schub nicht proportional zur Ansteuerung (PWM) ist, sondern eher quadratisch. Aber vielleicht kann man das vernachlässigen, wenn man nur einen kleinen Teil der Kennlinie ausnützt.

    Wie simulierst du die Regelschleife? Denn eine Berechnung von Hand dürfte doch etwas zu beschwerlich sein.

    Gruss Waste

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    44
    Beiträge
    269
    Moin,

    Voellig richtig, linear ist in dem System nur wenig... Deswegen will ich mich auch vorwiegend auf vorher gemessene Kennlinien stuetzen. Zum Beispiel ist (im echten Regelkreis, nicht in meiner Testversion) der Reglerausgang nicht das PWM-Signal, sondern ein Schub-Stellwert. Der Zusammenhang zwischen Schub und PWM wird vorher gemessen und in einer Kennlinie hinterlegt, ausserdem mit einem Faktor korrigiert, der die aktuell gemessene Akkuspannung beruecksichtigt. Das heisst, wenn der Akku halb leer ist oder ich gerade im schnellen Steigen bin (groesserer Gesamtschub), wird das gleich fuer den PWM-Ausgang mit beruecksichtigt und veraendert nicht die Reglereigenschaften. Auf die Weise ist schon mal der Regler nicht mehr nur in einem begrenzten Arbeitspunkt, sondern im gesamten durchgemessenen Bereich des Antriebssystems brauchbar. Da die Hebelarme beim Quattrocopter konstant sind, ist der Schub ja ein Mass fuer das Drehmoment, was mir eine brauchbare Stellgroesse zu sein scheint.
    Ausserdem muss, wie gesagt, der Gradient des Reglerausgangs begrenzt werden. Der Schub an einem Propeller darf nur in dem Masse verringert werden, wie der gegenueberliegende Propeller den Schub erhoehen kann, sonst gibt's ein Ungleichgewicht. Bremsen geht naemlich deutlich schneller als Beschleunigen...
    Auch bei der Messung der Istwerte benutze ich Kennlinien. Der ADXL gibt ja zum Beispiel den Sinus des Winkels aus. Statt daraus rueckwaerts den Winkel zu berechnen, hab ich einfach einmal den ADXL durchgemessen und dann eine Kennlinie hinterlegt, zu welchem Output welcher Winkel gehoert. Ob's beim AVR auch so ist, weiss ich eigentlich gar nicht, aber beim 8086 war's frueher immer so, dass jede trigonometrische Funktion (wie z.B. arcsin) massig Rechenzeit gebraucht hat. Mit der Kennlinie ist es nur die kleine Interpolation zwischen den Stuetzpunkten, die ist recht fix.

    Was meinst du mit Simulation der Regelschleife? Die ist eigentlich schon geschlossen. Ich messe ueber den ADXL202 die Lage, die PID-Regelung wird mit der vorgegebenen Abtastzeit (0,02sec) aufgerufen und gibt das Stellsignal ueber PWM an die Motoren/Propeller, die dann die Wippe bewegen. Bloss das mit der Schub/PWM-Kennlinie ist noch nicht drin, weil die Antriebe noch nicht die endgueltigen sind und ich bisher zu faul war, eine aufzunehmen
    Und wie oben schon mal erwaehnt, wird der eigentliche Regler spaeter ein Kaskadenregler, was mangels ADXRS noch nicht ging.

    Danke fuer die bisherigen Kommentare, bin froh ueber jede Anregung...
    Nils

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    Mit Simulation meine ich ein Programm wie z.B. MatLab oder LabView, mit dem die Regelschleife simuliert werden kann. In der Elektrotechnik wird das üblicherweise so gemacht. Ich denke, dass das auch bei gemischten Sytemen (Elektro, Mechanik) so gemacht wird. Damit kann man die Stabilität und andere Kennwerte wie Schnelligkeit der Ausregelung bestimmen und natürlich durch Verändern von Parametern sehen was passiert. Früher hat man das von Hand mit Hilfe von Bodediagrammen gemacht, aber das war sehr umständlich.

    Da sehe ich schon ein grösseres Problem auf dich zukommen. Die Masse kann nicht beliebig schnell verändert werden. Das System hat damit eine Verzögerung und die musst du mit berücksichtigen. Wenn dir das nicht gelingt, dann ist das Finden deiner Parameter (KP, usw.) so ähnlich wie das Suchen einer Nadel im Heuhaufen.

    Ich würde an deiner Stelle jetzt folgendermassen vorgehen:
    Reduzier deine Regelcharakteristik auf einen reinen Proportionalregler, damit wird die Sache schon mal einfacher. In dem Fall musst du dann von Hand die waagerechte Lage nachstellen oder justieren. Mit der Verstärkung KP kannst du dann rumprobieren. Wenn das soweit funktioniert, kannst du dann immer noch auf kompliziertere Regeltypen umsteigen.

    In dem System ist durch die beschleunigten Massen bereits ein Integrator (I-Anteil) vorhanden (wenn ich mich nicht irre). Hinzu kommt noch eine Verzögerung durch die Abtastzeit. Wenn du dann in der Regelung auch noch einen Integrator einbaust, dann ist eine Schwingneigung eigentlich vorprogrammiert.

    Ich hoffe das hilft dir etwas weiter.
    Waste

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test