- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 3542

Thema: Willas Shrediquette Tricopter / Quadrocopter / Hexacopter

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    45
    Beiträge
    1.273
    @SvenSellere: Du sagst du hast 8 Kanäle, jeweils mit 0.4ms high davor und einem low-signal von 1-2 ms. Wie lang ist bei dir die Pause nach dem Summensignal? Der Timer braucht eine Pause von mindestens 3.984ms (d.h. keine steigende Flanke in dieser Zeit) damit er überläuft und bei Kanal 1 wieder richtig einsteigt. Kann es sein, dass die Pause bei dir evtl. zu kurz ist?
    Wenn das der Fall wäre, könnte man bei Kanälen > 5 einfach die Überlaufzeit des Timers verkürzen. Dann würden auch kürzere Pausen detektiert werden. Wäre schön wenn du mal den Code testen könntest (Propeller besser abmontieren, das war jetzt auf die Schnelle geschrieben), vielleicht hilft das ja schon?

    Code:
    '===READ RX=====================================================================
    Getreceiver:    
    If Channel > 0 And Channel < 6 Then                         'fill empf(1-5)
      Empf(channel) = Timer0
      Timer0 = 6                                                  'preload for 3.984ms
    else                                                             'Channel > 5
      Timer0 = 150                                               'preload for 1.68ms
    End If
    
    If Channel = 5 Then                                         'when all relevant channels were read, enable the servo interrupt
      Enable Timer1
    End If
    Incr Channel                                                'if no falling edge was detected for a longer period, channel will increase above 11
    
    Return
    Alternativ könnte man auch statt "Timer0 = 6" ein "Timer0 = 100" für alle Kanäle versuchen (dann aber muss der Offset von "Sempf" angepasst werden). Damit würde der Timer nach 2.48ms überlaufen, das würde in deinem Fall reichen um die Kanäle auszulesen (0.4ms + 1 bis 2ms). Aber ob das für andere Empfänger auch funktioniert bleibt unklar. Und ich bin an einer Lösung interessiert die für die ca. 100000 möglichen Sender/Empfänger/Summensignalerzeuger Kombinationen funktioniert.
    Viele Grüße, William
    -> http://william.thielicke.org/

  2. #2
    Neuer Benutzer Öfters hier Avatar von ssellere
    Registriert seit
    15.05.2008
    Ort
    Westerrönfeld
    Alter
    46
    Beiträge
    26
    @ Willa:

    An den 4ms, die Timer0 braucht zum Überlaufen kann es nicht liegen. Ich hatte vorher nen 6Kanal-Empfänger angeschlossen. Der Summensignalerzeuger gibt dann auch nur 6 Kanäle raus. Das Summensignal eines Kanals setzt sich aus 0,4ms High und 0,6 bis 1,6ms Low-Signal zusammen = 1-2ms. In Summe bei 6Kanälen sind das dann bei maximalen Ausschlägen 6x2ms und am Ende noch mal 0,4ms High = 12,4ms. Nach 20ms startet das neue Summensignal. Also genug Zeit zum Überlaufen.
    Bei dem 8 Kanal-Empfänger passt es auch noch, da Kanal8 fest auf 1,5ms eingestellt ist (bei mir): 7x2ms + 1,5ms + 0,4ms = 15,9ms. Wobei das schon knapp ist. Werde deine Idee mal aufgreifen und die Vorlaufzeit von Timer0 verkürzen, sobald alle 8 Kanäle gelesen wurden.
    Wahrscheinlich gibt es keine Generallösung für sämtliche Kombinationen, aber ich halte es für sinnvoll abzufragen, ob auch wirklich soviele Kanäle gelesen wurden, wie auch gesendet werden. Wenn nicht, dürfen die neuen Receiverwerte nicht übernommen werden. So hab ich jetzt eingebaut und werde mal fleißig testen und berichten, ob noch Zuckungen auftreten.

    MfG Sven

    PS: wie werden eigentlich die Summensignale bei anderen Projekten eingelesen und ausgewertet, z.B. bei MikroKopter? Hat da jemand Erfahrung. Hatte bisher beim Googlen exakt die Umsetzung von Willa gefunden
    ...der aus Westerrönfeld

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von deHarry
    Registriert seit
    17.08.2010
    Beiträge
    597
    Hallo Zusammen!

    Getrieben durch die Fragen von Sven? (ssellere) habe ich gestern abend meinen Tri auf den Schreibtisch platziert um ein paar Oszillogramme meines Empfängerausgangs anzufertigen.

    Hat auch anfangs ganz gut geklappt, bis ich anfing, die einzelnen Impulse und deren Auslenkung zu untersuchen. Zu diesem Behufe habe ich die Knüppel ein paar mal durchgerührt und dann, um abschließend den Kanal 5 zu checken, den Kippschalter betätigt... WUUSCHHH und autsch (ich war schnell!! und habe den mit Vollgas startenden Tri noch auf dem Tisch in den Schwitzkasten genommen).
    Er hat um sich gebissen, wir sind fest umklammert unter den Schreibtisch gerutscht, wo ich (ganz) kurz überlegt habe, ob ich den qualmenden Motor loslassen soll um den Akku zu trennen, oder lieber doch den Motor festhalte. Ich habe mich für ein paar weitere Kratzer entschieden und den Stecker auseinander gerissen. Zum Glück hat der letzte laufende Motor nur noch müde hin und her gezuckt, die beiden anderen Propeller wurden wohl vom Fußboden gestoppt.
    Auf dem Schreibtisch sah es aus wie bei Hempels unterm Sofa. Lauter zerfetzte Kabel (Programmieradapter für den Atmel, Serielle Schnitte für TriGUI, ein Testboard für kleine I²C-Wandler, ein paar USB-Kabel für Kamera usw.), alles im Zimmer verteilt, ebenso die Papiere mit Notizen, die sich im Laufe der Zeit angesammelt hatten.
    Ein Kabel Suche ich immer noch...

    Dann bin ich ganz schnell ins Bad und habe mich verarztet. Drei mittelgroße Pflaster haben für die tieferen Schnitte genügt, die restlichen Kratzer und blaue Flecken konnten unbehandelt bleiben.

    In meinem speziellen Fall kam noch erschwerend hinzu, dass meine Propeller abgeschnitten und somit scharfkantig sind.

    Insgesamt habe ich echt Glück gehabt, dass mir die Kiste nicht ins Gesicht gesprungen ist, alle Löcher sind an den Unterarmen, den Händen und am Bauch (durch T-Shirt und Unterhemd hindurch).

    Lerne: Tricopter unter Spannung am Schreibtisch IMMER ohne Propeller!!! (Wie Willa mehrfach an allen möglichen Stellen ausgeführt hat)

    Und nein, ich habe nicht alles sofort wieder heile gemacht, sondern ihn erst mal mit Verachtung gestraft und mich weiter um meinen Rechner gekümmert
    Geändert von deHarry (22.03.2011 um 18:11 Uhr)
    Gruß
    Harald
    __________________
    Modellbau&Elektronik
    www.harald-sattler.de

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    21.10.2008
    Beiträge
    39
    Hallo

    @deHarry mein Zeigefinger hat auch mal was bekommen und zu Hause immer Props weg und draußen I2C Stecker raus wenn ich was schnell reparieren muss.

    @deHarry während des Fluges würde ich nicht versuchen Werte in eeprom zu speichern da Interrups abgeschaltet werden... also besser auf dem Boden.

    Code Variante nur zum einstellen der Offsetwerte benutzen da Ch6 und Ch7 nicht gefiltert werden und ist es nicht unmöglich dass sich mal ein Impuls 'einschleicht'. Bislang hat es geklappt und mir sind keine ungewünschte Impulse registriert worden.

    Offset wird korrigiert wenn in Hover modus (von hinten/Heck betrachtet):
    kippt nach links (roll Yacc) muss Offset dekrementiert werden
    kippt nach vorne (nick Xacc) muss Offset dekrementiert werden

    Ich hoffe dass ich keine Modifikation falsch gemacht habe (und Willa nichts dagegen hat):

    Tricopter_m328p_11_Offsets.bas

    Zur Zeit ist meine Bauform etwas 'spartanisch' (und traue mich noch nicht es vorzustellen) aber wie Javermeister werde ich warten und umbauen bzw. erleichtern wenn ich etwas mehr als nur schweben schaffe.

    Gruß
    Hans

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von deHarry
    Registriert seit
    17.08.2010
    Beiträge
    597
    Hi Hans,

    danke für die Bereitstellung des Code.
    Zitat Zitat von 3003henk Beitrag anzeigen
    @deHarry während des Fluges würde ich nicht versuchen Werte in eeprom zu speichern da Interrups abgeschaltet werden... also besser auf dem Boden.
    Ich denke, du beziehst dich auf meinen Vorschlag, die Werte "per Knopfdruck" zu speichern.
    Ich meinte nicht, sofort ins EEPROM zu speichern, sondern nur "merken" (irgendwo in Variablen) und dann wie du es momentan mit deiner Version machst, erst nach der Landung ins EEPROM.
    Erst dann kann man ja auch ungestört die Trimmung wieder auf Null stellen und die neuen Parameter in der TriGUIDE verwenden, die per Reset übernommen werden.

    Zitat Zitat von 3003henk Beitrag anzeigen
    Code Variante nur zum einstellen der Offsetwerte benutzen da Ch6 und Ch7 nicht gefiltert werden und ist es nicht unmöglich dass sich mal ein Impuls 'einschleicht'. Bislang hat es geklappt und mir sind keine ungewünschte Impulse registriert worden.
    Klingt vernünftig.
    Gruß
    Harald
    __________________
    Modellbau&Elektronik
    www.harald-sattler.de

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    21.10.2008
    Beiträge
    39
    Hallo

    @deHarry
    Ich meinte nicht, sofort ins EEPROM zu speichern, sondern nur "merken" (irgendwo in Variablen) und dann wie du es momentan mit deiner Version machst, erst nach der Landung ins EEPROM.
    So wird es ja gemacht. Ich benutze direkt die Variable die am Anfang aus der EEPROM gelesen wurde und inkrementiere bzw. dekrementiere mittels CH6 und Ch7 um diese später wieder ins EEROM zu speichern.


    Gruß
    Hans

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von deHarry
    Registriert seit
    17.08.2010
    Beiträge
    597
    Hallo Hans, ja, weiß ich ja.
    Wie soll ich´s sagen...? Andere Worte...? Mir geht es nicht um die Art und Weise des Abspeicherns, sondern um die Methode die Offsetwerte zu ermitteln. Das ins EEPROM speichern geht nur so, wie du es schon machst, meine volle Zustimmung.

    Meine Idee ist, nicht von Hand am Sender über die Kanäle 6 und 7 nacheinander alle Offsets trimmen zu müssen, sondern die momentanen Sensorwerte gleichzeitig per Knopfdruck am Sender (z.B. Kanal 6) als Offsetwerte zu übernehmen, wenn per Sendertrimmung der Tri horizontal ausgerichtet ist.
    Wahrscheinlich muss man die Sensorwerte (für den momentanen Zustand "ich fliege jetzt horizontal") noch umrechnen um die Offsets zu erhalten, aber eigentlich müsste sich das doch errechnen lassen, oder?
    Gruß
    Harald
    __________________
    Modellbau&Elektronik
    www.harald-sattler.de

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von Scotch
    Registriert seit
    15.10.2004
    Ort
    Bei Braunschweig
    Alter
    53
    Beiträge
    305
    Hallo Hans,
    von mir auch erst mal ein Dankeschön für den Code.
    Heute sind die Ersatzwellen gekommen. Jetzt kann ich den Copter weder zusammenbauen.
    Habe mir ein Buch über LabView gekauft wo eine Version mit mit RegKey bei ist.
    Mal schauen ob ich eine Grafische anzeige hin bekomme um die Gyrodaten anzuzeigen.
    @Harry,
    Das hört sich ja nach einem Großen Kampf an.
    Habe auch schon mal ein Propeller am Unterarm abbekommen, ist nicht sehr angenehm.
    Hoffentlich ist nicht so viel Kaputt gegangen.-
    Gruß Ingo

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test