Hi Willa, alles klar, danke. Dann kann ich meiner Firewall bedenkenlos sagen, sie soll die GUI sperren.
Druckbare Version
Hallo Willa,
du hast ja sicher über meinen "Schreibtisch-Unfall" mit dem Tri gelesen :)
Ich habe mal im Code geschmökert und gesehen, dass eigentlich das Umlegen des Schalters nichts bewirken sollte, solange der Throttle-Stick nicht in Null-Position steht. Zumindest gibt es einen entsprechenden Kommentar.
Ist bei mir durch zusammen fallen von unglücklichen Umständen diese Sicherung umschifft worden?
Harry: Mir ist das auch passiert, Sven meinte auch das sei normal.
@Henk:
Genial! Ich hab deine Änderung gerade in meinen Quellcode gehackt und es funktioniert.
Eine Frage habe ich dazu aber noch: Nachdem ich mit den neuen Werten gelandet bin muss ich den Arduino manuell resetten, ist das richtig so? Ich glaube das Next reicht nicht, ich schätze du musst noch einmal das EEProm auslesen um den Reset zu erzwingen.(Willa kannst Du da weiter helfen?)
Bei Dir Henk:
Bei Willa Weiter Unten:Code:
For I = 1 To 33
Writeeeprom Var(i) , I 'Werte ins EEPROM schreiben
Next
Do 'Force RESET. Helps to know when eeprom is modified.
Loop
Offenbar muss man nochmal auslesen...Code:
Writeeeprom Var(i) , I
Next
Waitms 50
Geteeprom
Anscheinend klappt es nicht immer mit dem Abspeichern, laut deiner Beschreibung muss ich das im Acro Mode machen aber wenn ich den Code richtig verstehe klappt das auch mit dem Hovermode und den Trimmreglern an der Funke. Und dann Landen.
Gruß
Nils
Na ja... Normal im Sinne von "das ist so im Code vorgesehen" könnte ich verstehen. Normal im Sinne von "der Code will das verhindern, das klappt aber leider nicht" würde ich als bedenklich einstufen.
Da ich Willa durch hartnäckiges Löchern schon mal auf einen Tippfehler aufmerksam machen konnte, dachte ich, ich frage mal...
Bitte meine Frage nicht als Meckerei verstehen (und ich bin auch nicht grantig, weil mein Tri nach mir geschnappt hat; das Risiko besteht immer und dessen bin ich mir bewusst). Aber vielleicht ist´s doch ein behebbarer Programmierfehler und der nächste Nachbauer hat keine Probleme mehr damit.
Hans hat eine Endllosschleife an das Abspeichern ins EEPROM angehängt, so dass die GUIDE dort erst nach einem manuellen Reset wieder heraus kommt.
Insofern: Ja, manueller Reset ist erforderlich. Und beim Start nach Reset (oder Spannung ein) liest die GUIDE ohnehin die Werte aus dem EEPROM. Ihr habt beide Recht.
Ja, das sehe ich auch so. Klappt (nach dem Code) auch im Hovermode. Ob das in Echt ebenfalls funktioniert muss bitte einer von euch ausprobieren, mein Tri liegt immer noch unbeachtet neben meinem Rechner, Antennenröhrchen traurig abgeknickt, der eine, geraucht habende, Motor dreht sich von Hand schwergängig und ohne deutliches Rastmoment. Ich weiß noch nicht, was alles defekt ist :(
Die Trimmregler an der Funke sind meines Erachtens sowieso die Mittel der Wahl, denn ich stelle es mir ziemlich schwierig vor, den Tri per Knüppel in der Waage zu halten und dann noch den Schalter hin und her zu kippen, ohne die Knüppel zu verreißen... Zumindest an meiner Funke wäre das nahezu aussichtslos.
Hallo
@Javermeiter Reset wird per Hand durchgeführt denn ich will wissen ob es mal vorkommt dass ich keine Offseteinstellung forcieren wollte und Werte (Fehlerweise) ins EEPROM neue geschrieben wurden. Nach Reset startet Programm neue gespeicherte Werte werden abgelesen.
For ... Next: benutzt um Werte zu speichern
Do... Loop: tut nitchs (könnte aber Led blinken lassen, beeps, etc..)
So wie deHarry meint kann man ja auch natürlich schnell direkt von Hover auf GUI schalten und umgekehrt.
Gruß
Hans
Hallo Zusammen!
So, jetzt weiß ich es... zwei der drei Motoren sind hinüber, drehen sich zwar noch, werden dabei aber heiß wie Sau, der eine wackelt nach zögerlichem Anlauf manchmal nur noch ein bisschen hin und her.
Heißt das eventuell, dass auch der zugehörige ESC eine Macke abbekommen hat?
Ich würde mir gerne ersparen, die ESCs auseinander zu frickeln (Schrumpfschlauch aufschneiden) um dann festzustellen, alles in Ordnung. Vielleicht hat ja einer einen Tipp?
Somit konnte ich mit meinem Versuch die Theorie belegen, dass alle elektrischen und elektronischen Bauteile im Innern mit Rauch arbeiten. Kommt der Rauch raus, sind sie kaputt :). QED
Der Heckmotor scheint noch in Ordnung zu sein, der dreht wie er soll.
Ich werde die ESCs also noch mal einzeln direkt an dem Empfänger anschließen und den Heckmotor damit befeuern, dann sollte sich zeigen, ob die ESCs ebenfalls erneuerungsbedürftig sind.
[edit]
Nachtrag: die ESCs sind alle noch in Ordnung. Glück gehabt :-)
Der Copter initialisiert sich nicht wenn Gas nicht auf null ist und Kanal 5 nicht auf Motor aus. Dadurch wird verhindert dass irgendwas passiert wenn man nur den Akku zusammensteckt. Wenn man jetzt allerdings Gas voll aufdreht und dann erst den Kanal 5 umlegt, starten die Motoren mit Vollgas. Finde ich auch nicht so schlimm, denn so kann man auch ganz "effektvoll" abheben.Zitat:
Hallo Willa,
du hast ja sicher über meinen "Schreibtisch-Unfall" mit dem Tri gelesen :)
Ich habe mal im Code geschmökert und gesehen, dass eigentlich das Umlegen des Schalters nichts bewirken sollte, solange der Throttle-Stick nicht in Null-Position steht. Zumindest gibt es einen entsprechenden Kommentar.
Ist bei mir durch zusammen fallen von unglücklichen Umständen diese Sicherung umschifft worden?
Hallo Harry,
so ärgerlich es ja eigentlich ist, aber so schön wie Du das immer schreibst :lol: (Bilder in meinem Kopf...)
Also für die Zukunft schicke ich Dir den hier.:hand wenn die Propeller drauf sind. ;)
Gruß Ingo
Danke! (für das Kompliment) :-)
Und den Aufkleber drucke ich mir aus und klebe ihn auf die Propeller... oder lieber doch nur auf den Grundkörper des Tri, sonst muss ich wieder Auswuchten...
Hallo!
Nachdem der Tricopter so gelungen ist wollt ich auch mal die anderen bauen :-)
Wollt euch mal mein aktuelles Projekt zeigen. Will den Hexa nachbauen. Ist es eigentlich sehr aufwendig den Code zu ändern damit er in + Form fliegt?
Der Quadro ist vom Schwager...
Der Quadrocopter nach Willa fliegt übrigens auch sehr gut! Super gemacht Willa!
Die Copter sind wieder nach meinem bekannten Design. Hier noch paar Fotos...
Gruß Ewald
Hi,
Ewald: Cool, das Design gefällt anch wie vor,
ich lass mir grad ne neue Centerplate Fräsen, welchen Fräser empfiehlst Du da denn? (Das Material ist das selbe)
Gruß
Nils
Hi
heute habe ich mit dem bau meines mm6 hexa begonnen ..
hier mal ein Bild :
Bild hier
Hallo,
oh das sieht ja schon fein aus!
warum lässt du nicht das vierkantrohr durchgehen? und da noch ein paar bohrungen rein! das wäre auf jedenfall leichter als so wie du es nun hast! das hatte ich auch william vorgeschlagen... aber da er es ja schon fertig hatte sollte das nicht mehr geändert werden!
ich arbeite grade an einem display für meinen sender. ich will mir über funk ein paar daten wie spannung des akkus usw. anzeigen lassen.
ich werde genauer berichten wenn ich was handfestes habe ;)
hi
naja ich hab es eben so wie willa gemacht ^^
wobei ich ehrlich sagen muss das deine idee auch nich schlecht ist , noch bin ich nich so weit so das sie das abändern lohnen würde .
mhmm ich denke ich werde deine idee mal an einem ausleger testen ;)
Danke für den Tipp
Hi Bammel,
so leicht kommst du uns nicht davon :)
Das interessiert mich auch. Soll die TriGUIDE die Spannungs- und sonstigen Werte liefern, oder geht dafür eine eigene Intelligenz ans Werk?
Falls TriGUIDE-gestützt: Schau mal den "very unprofessional moving average filter" von Willa genauer an, wenn du dessen Werte verwenden willst.
Mir will scheinen, dass Willa sich da mit genau einem Wert den Wolf rechnet.
Um Vorgängerwerte zu erhalten, müsste meiner Meinung nach mindestens noch eine Laufvariable eingeführt werden, die bestimmt, in welche Variable (Spann, Spann_alt, Spann_alt2 oder Spann_alt3) der momentan gemessene Wert eingeschrieben werden soll.
Das Weiterreichen des neuen Wertes an die Altwert-Vars muss auf jeden Fall umgekehrt (3->2, 2->1, 1->0) erfolgen, da sonst (wie Willa es realisiert hat) der neue Wert in alle anderen Vars abgelegt wird.
Hallo Henk,
ich hab heute nochmal deine Idee live ausprobiert:
GENIAL, jetzt kann ich so fliegen, und danach die GoPro draufstecken ohne an den Laptop zu müssen und hab ein absolut austariertes System!!
Ausserdem:
Heute bin ich die ersten Stunts im Acro geflogen. Looping? Vielleicht blad...
Ok ok ;)
also ich will mir in die triguide-firmware eine neue sub einbauen.
diese soll ca alle 0,5 bis 1 sec aufgerufen werden.
diese rechnet mir dann die werte die ich haben möchte in byte-variablen um.
schickt eine kette der bytes an mein displaymodul und errechnet sich vorher noch eine checksumme die ich dann am displaymodul auswerte.
später möchte ich evtl auch ein paar werte mit dem display zum copter senden können. das display ist ein grafik-lcd mit touschscreen. die touchfunktion funktioniert schon.
später soll das system dann mit der Naviguide comunizieren und mit gps daten und höhe anzeigen. so genau bin ich mir da aber noch nicht im klaren.
erstmal möchte ich die grundfunktion haben mir die spannung und welcher modus geflogen wird anzeigen zu lassen udn zusätzlich wohl noch einen timer integrieren.
ehhhh... bald fliegen sie alle wieder die geisteskranken durch die gegend :D
ich bin nun schon ein paar tage nicht mehr geflogen.
Hallo Bammel,
welchen weg der Übertragung willst Du nutzen?
Xbee, Bluetooth...
ich versuche mich gerade in der Studentenversion von LebView einzuarbeiten, diese lag als CD in einem Buch mit bei.
Darüber möchte ich mir dann auch (erst mal mit Kabel) ein paar werte vom Copter anzeigen lassen.
Zurzeit hänge ich beim auslesen der Bytes. Die normalerweise von der TriGUI ausgewertet werden.
Gruß Ingo
Gruß Ingo
Hallo ingo,
ich benutze mein funkmodul das easyradio.. das habe ich hier! leider eignet sich dieses nciht zum programmieren der triguide :( dafür ist es dann doch zu langsam...
Gruß, Sven
@harry: ich bin im hovermode in einer windstillen ecke über dem Bodeneffekt geflogen und habe geschaut was der Tricopter macht, dann habe ich solange meine Trimregeler an der funke Verschoben, bis ich die Funke loslassen konnte und er nicht weggedriftet ist. dann habe ich den Schalter auf 0 geschaltet (Standby - Willa's sicherheitsfunktion verhindert ja ein Abschalten der Motoren wenn man den Throttle nicht auf Idle stellt) DAbei hat er ja dann die Werte errechnet.(Man muss ihn die Mittelwerte errechnen lassen).
Dann bin ich wieder zurück in den Hovermode und bin normal gelandet, dann hat Henks Programm den EEPROM beschrieben un ist in die Endlosschleife gegangen (LEDs aus) nachdem ich den Arduino Resettet habe und neu gestarte bin hat man gleich gemerkt, dass der Copter in genau die andere Richtung abhaut (wie von mir vermutet)
Also habe ich die Trimmung raus genommen und festgestellt, dass der Copter wie angenagelt in der Luft steht.
Einfach genial!!! Und all das ohne zusätzlichen Kanal...
Gruß
Nils
Hallo Sven,
dann bin ich mal auf weitere Fortschritte gespannt.
Hallo Harry,
ich bekomme Pipi im Auge, wenn ich hier so mitlese *LOL*
Bin beim Surfen bin ich auf dieses Video gestoßen.
http://www.youtube.com/watch?v=MvRTALJp8DM
Wobei das hier auch nicht schlecht ist.
http://www.youtube.com/watch?v=sJbtgKB3nok
Gruß Ingo
Ohje daran habe ich auch gedacht... wir sind alle so gut wie tot.
Nils heißt unsere zukünftigen Roboterherren willkommen...
Harry: Ich habe bei den ersten evrsuchen wohl zu schnell zurück geschaltet, er erechnet einen Mittelwert aus 20 einzelwerten, frag mich nicht wie lange das dauert ;-).
Hi Ingo,
wenn ich dich richtig verstehe, dann unterstellst du mir, dass ich Nils hochnehmen will.
Das entbehrt natürlich jeder Grundlage, ich bin einfach ein Weichei, was bestimmte Dinge angeht, und da gehört der Tri seit meinem letzten Kampf leider dazu.
Du kennst das ja: Wer schon mal gebissen wurde, ist ist in Zukunft vorsichtiger im Umgang mit Hunden :)
Außerdem kann ich im Moment nix selbst testen, mein Tri liegt mit zwei gebrochenen Flügeln in der Werft :(
Ich bin Nils also sehr dankbar, dass er meine Fragerei stoisch hin nimmt.
@Nils:
Wenn ich Willas Aussage noch richtig im Kopf habe, dann errechnet er neue Vorgabewerte für die ESCs mit 300 .. 400 Hz, mithin dauert ein Durchlauf seiner Hauptschleife 2,5 .. 3 ms.
20 Iterationen zur Mittelung sind dann nach 50 bis 60 ms fertig... so schnell kannst du den Schalter gar nicht zurück stellen, wenn du nicht gerade auf Speed bist :-)
Hab mir den Code gerade noch mal reingezogen... Vergiss den Text oben, ist vollkommen anders gelöst.
Wenn der Schalter umgelegt wird, läuft die Mittelung der 20 Werte in Höchstgeschwindigkeit in eine Schleife ab, die durch zurück stellen des Schalters nicht unterbrochen werden kann. Genau genommen kann diese Schleife durch gar nichts unterbrochen werden, auch der Tri wird in dieser Zeit weder vom Sender noch von der TriGUIDE gesteuert, insofern ist es gut, dass dieser Vorgang sehr schnell vorüber ist :)
Dass du Probleme mit zu schnell wieder zurück schalten hattest, verstehe ich also eher nicht.
Allerdings ist dieser Programmteil so geschrieben, dass er immer wieder durchlaufen wird, solange der Schalter (im Flug, also wenn Gas >50 ist und die Motoren mal liefen) auf Off steht.
Das könnte man ggf. noch umschreiben, so dass die Mittelung nach einem On->Off-Übergang nur einmal Statt findet. Genauer wird der Wert durch mehrere Durchläufe direkt hintereinander nämlich nicht, eher ist die Gefahr gegeben, dass der Tri zwischenzeitlich durch äußere Einflüsse weg kippt und die mühsam eingetrimmte Horizontale aufgibt, die Routine sich also Schrott ausrechnet.
@Hans:
Und wenn ich schon am meckern bin... äh, ich meine Vorschläge habe (Hans, verzeih mir! ;))...
Es würde reichen, beim Abspeichern nur die beiden neuen Werte ins Flash zu schreiben, der Rest sollte unverändert sein. Die Schleife über alle Vars ist also unnötig. Oder habe ich was übersehen?:confused:
... später...
Nein, im Gegenteil!
Beim Auslesen der Variablen aus dem EEPROM (Routine Geteeprom) wird bei verschiedenen Variablen was abgezogen, dazu gerechnet, multipliziert oder geteilt.
Da du beim Abspeichern nach der Landung alle 33 Var(x) 1:1 ins EEPROM schreibst (Ausnahme Var(23) und Var(24), die du gerade neu berechnet hast), werden die Vorgabewerte also verfälscht. Das solltest du dir nochmal anschauen.
Na stoisch würde ich das nicht nennen, ich lerne ja selsbt am meisten wenn ich mich damit ebschäftige.
1. mache ich es gerne
2. brauche ich ja auch immer wieder Hilfe
Harry,was meinst Du mit dem verfälschen? wie äußert sich das? Welche Werte?
Am Wochenende habe ich mal den IMU-Würfel mit den neuen Gyro-Board aufgebaut:
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Funktioniert zumindest am Schreibtisch Einwandfrei :)
Die Idee den Offset im Flug neu einzustellen ist einfach genial.
Das werde ich ausprobieren sobald ich die Zeit finde.
Wenn das wirklich so gut klappt wie beschrieben würde das eine Menge Arbeit sparen.
Danke! :-)
Verfälschen... mhmm...
Mist, zu schnell gepostet, oder zu wenig Hirn eingeschaltet :-(
Ich habe den Code nur zur Hälfte verstanden und falsch interpretiert, sorry. Die Var(x) werden von der Routine von Hans NICHT verfälscht. Seine Behandlung der Variablen ist ok.
Ich habe z.B. gelesen: "P_sens_acro = Var(7) / 255"
Habe aber nicht kapiert (also kapiert schon, aber vollkommen überlesen (Hirn ausgeschaltet)), dass die Var(7) zwar geteilt wird, aber nicht sich selbst sondern einer weiteren Variabeln P_sens_acro zugewiesen wird.
In Var(7) steht weiterhin der aus dem EEPROM gelesene Wert drin und wird von Hans dann einfach wieder zurück geschrieben. Das ist vollkommen in Ordnung so!
Mein Vorschlag, er bräuchte nur die beiden veränderten Werte zurück ins EEPROM zu schreiben, gilt aber weiterhin.
Hallo
Freut mich.Zitat:
GENIAL, jetzt kann ich so fliegen, und danach die GoPro draufstecken ohne an den Laptop zu müssen und hab ein absolut austariertes System!!
@deHarry @Javermeister :
Für jede Schalter betätigung und zurücksetzung werden nur einmal 20 Werte errechnet egal wie schnell du mit den Schalter bist.
@deHarry
Wie gesat es wird nur einmal durchgerechnet (siehe variabel switch_validation)
Ich habe mal versucht nur vars 23 und 24 zu schreiben und hat damals nicht geklappt also dann alle Werte. Geht schnell genug.
Nichts außer var(23) und var(24) wird modifiziert. Array Werte (1..30) bleiben immer gleich. (Siehe Convert_Vars wo diese ungerechnet ABER als andere Variabeln benutzt werden z.b. P_sens_acro = Var(7) / 255 Var(7) bleibt unverändert.
Hoffe das erklärt alles.
@deHarry bist schneller als ich beim Antworten gewesen
Gruß
Hans
Man kann besser reinschaun als es auf dem Bild rüber kommt,Zitat:
Schluss nicht mehr so gut reinschauen kann . Aber das macht die Beleuchtung mehr als wett.
die Gyros kann man gut sehen.
Aber das Problem ist immer das die Dämpfe vom Sec.Kleber das Makrolon Trüben.
@Fat tony: Boah geil! Die Stromschinen sind toll, ich wünschte ich würde mich trauen meinen IMU nochmal aufzumachen.
Die neue Form scheint gar kein Problem zu sein.
Gruß
Nils
Ist sie nicht, ich habe die "Lücken einfach mit Makrolon ausgefüllt, so kommt das Blaue Licht dort gut durch. Anderes Material wir es aber sicherlich auch tun ;-)Zitat:
Die neue Form scheint gar kein Problem zu sein.
Es empfiehlt sich denke ich außerdem aufgrund der nicht quadratischen Form eine adere Zusammenbau-Reihenfolge
Moin Moin,
@harry,
mein Kommentar sollte weder Deine noch irgend jemand anderen Beiträge abwerten und war auf keinen Fall bösartig gemeint.
Also bitte nicht falsch verstehen.
@Fat Tony
Der neue Würfel ist Dir echt gelungen.
Die Stromschiene ist eine sehr gute ID.
Von UHU gibt es einen 1K Kleber, der nicht so ausgast, allerdings ist dies dann kein
Sekundenkleber. Genaue Bezeichnung kann ich heute Abend nach reichen, wenn bedarf ist.
Ich habe meine IMU mit 2K von UHU geklebt.
Davon gibt es 2 Sorten, ich benutze den, der nach 2 Min fest ist, die andere Sorte brauch länger zum aushärten.
Gruß Ingo
Das war leicht :)
Ich hänge gerade zu Hause rum und warte, dass der Handwerker im Keller fertig wird. Da kann ich auch was Sinnvolles machen (z.B. vorschnell nicht vollständig verstandenen Code von anderen Leuten auseinander nehmen :oops:)...
Danach bin ich dann weg und normaler Weise nur abends und am WE online.