Ohhh ,
na da schließe ich mich doch mal gleich an.
Druckbare Version
Auch von mir die besten Wünsche William
Anhang 19128Alles Gute zum Geburtstag
Grüße Sven Anhang 19127
Hi Nils,
4,9 Volt ist noch ok. Warum zwei identische Spannungsregler unterschiedliche Ausgangspannungen liefern. Das könnte daran liegen, dass die Bauelemente Abweichungen haben und das sie unterschiedlich stark belastet werden. So könnte ich mir das erklären.
Hat es einen Grund warum du ein 5 Volt Regler für das Servo genommen hast?
Laut William seinen Plan ist da doch ein 6 Volt vorgesehen.
Aber wenn du vorher schon mit 5 Volt Regler fürs Servo geflogen bist, und da war alles o.k., dann brauch man wohl weiter keine Beachtung darauf schenken.
Grüße Sven
Hi,
@Yak: Ssellere und ich waren seinerzeit der Meinung, dass es besser sei wenn ein Servo im AP arbeitet, die betriebsangaben liegen ja bei 5V, bisher war das nie ein Problem.
Womit wir beim Thema wären: Ich habe auf Willa's Vorschalg hin 3 Tests gemacht:
Für alle Propeller ab: Tri im Arbeitsrahmen IMU angeschlossen.
1. Kein Einfluss durch Funke: Parameter Yaw Stick Sensitivity = 0 (vorher 153): Heckservo zittert deutlich weniger
2. Kein Einfluss durch IMU: Stick Sensitivity = 153 und im Code, wie von Willa vorgeschlagen, yaw_gyro genullt: Zittern ist vielleicht etwas weniger.
3. Keinerlei Einflluss: Yaw_gyro=0 und Stick sensitivity = 0 : Servo steht absolut still:
Mein Fazit daraus ist: Das Problem kommt aus dem Empfänger, da durch dessen neutralisierung wesentlich weniger Gezappel auftrat.
Jetzt gilt es rauszukriegen was kaputt ist... oder habe ich was bei der Übernahme der Servowerte vergnaddelt...
Ich teste nochmal mit 40MHz.
Nils
Ich habe nochmal mit dem Receivercheck nachgeschaut und da wackelt der Wert für Yawchannel immer zwischen 0 und 1, daraus resultierend wackelt der wert für yaww diff nach der übernahme durch die funke um 9. Das habe ich durch serienlle ausgabe im Code nochmal geprüft.
aber so kleine signalschwankungen sind doch normal oder??
Hallo Nils,
da ich auch gerade am umrüsten auf 2,4GHz bin, habe ich vor zwei Tagen
das Receivercheckprogramm am laufen gehabt.
dort habe ich auch auf den einzelnen Kanälen eine Schwankung von +-1.
Das ist, denke ich mal, i.O. so.
Gruß Ingo
Moin,
also ich hab gestern nochmal einiges geprüft:
- TriGUIDE ohne angeschlossene I²C Umsetzer und Ohne IMU wackelt immer noch, ich habe die Software so manipuiliert, dass die Motoren ausbleiben wenn ich in den Hover gehe, trotzdem wackelt der servo wie blöde.
- auch andere Servos wackeln
- auch die 40MHz Funke bringt keine Verbesserung
Folgendes Zittern tritt auf (Das ist doch nicht normal oder?)
http://www.youtube.com/watch?v=mxw9DxTVgbw
Anfangs hatte ich ja mal erwähnt, dass ein Servo direkt am Empfänger auch zittert, sofern dieser über die TriGUIDE mit Strom versorgt wird.
Versorge ich den Empfänger über einen ESC mit 5V dann bleibt der servo ruhig.
Auch bei Bewegungen ruckelt der servo ziemlich, außer wenn er in den jeweiligen Richtungen im Anschlag ist. (Da greift ja die min/max Fallunterscheidung).
Die Tatsache mit dem Empfänger deutet doch auf ein Masseproblem hin oder?
Nils
Halo Nils,
Betrifft das nur das Servo direkt am Empfänger oder hast Du mal das Servo vom hinteren Ausleger auch so angeschlossen?
Alternativ könntest Du ja auch mal einen 7805 mit Zubehör, direkt an den Akku klemmen und damit den Servo versorgen,
evtl. noch den Empfänger.
Gruß Ingo
Hi Nils,
hast Du die Masse Leitung mal Messtechnisch überprüft?
Sind die Leiterzüge Ok, oder sind da vieleicht Risse haben sich Lötflächen gelöst? Schau mal mit einer Lupe drüber.
Aber ich denke du kommst langsam nicht mehr um andere Messmittel Drumherum. Oder Du tauscht alles aus und hoffst, dass es dann geht.
Im Moment fällt mir leider nicht mehr ein.
Grüße Sven
Hi,
Das habe ich sowohl mit dem Heckservo (Den ich ja getauscht habe, und einem externen gemacht: selbes BildZitat:
Betrifft das nur das Servo direkt am Empfänger oder hast Du mal das Servo vom hinteren Ausleger auch so angeschlossen?
Alternativ könntest Du ja auch mal einen 7805 mit Zubehör, direkt an den Akku klemmen und damit den Servo versorgen,
evtl. noch den Empfänger.
Ich hab noch nicht alles durch, aber ich baue heute eine neue Platine auf, ich hab ja alles da, muss nur den Arduino heile da runter kriegen.Zitat:
hast Du die Masse Leitung mal Messtechnisch überprüft?
Sind die Leiterzüge Ok, oder sind da vieleicht Risse haben sich Lötflächen gelöst? Schau mal mit einer Lupe drüber.
Aber ich denke du kommst langsam nicht mehr um andere Messmittel Drumherum. Oder Du tauscht alles aus und hoffst, dass es dann geht.
Im Moment fällt mir leider nicht mehr ein.
Ich hätte gerne gewusst woran es liegt - Wahrscheinlich sit irgendein beschissener Widerstand oder ein Kondensator verreckt...
Das Problem muss ja nach dem ganzen Ausschlussverfahren: http://vip3rcopter.blogspot.com/2011...icht-mehr.html in der TriGUIDE liegen.
Wie gesagt, ich wüsste halt sehr sehr gerne die genaue Ursache, damit wir alle was davon haben :-/
Ich werd auf jeden Fall weiter berichten..
Nils
Hi Nils,
nur ein spontaner Einfall vieleicht wurde er auch schon besprochen.
Wen die Signalleitung vom Servo nicht richtig verbunden ist, fängt das Servo auch an zu zittern.
Habe gerade mal 5 Volt an ein Servo angeschlossen und an der Signalleitung ein Langen Draht gesteckt (wie eine Antenne) und es wackelt wie blöde wenn ich mit der Hand in die Nähe komme. Messe doch mal die Verbindung der Signalleitung nach Schaltplan durch.
Ich weiß nicht ob es hilft aber vieleicht kommen neue Ideen.
Grüße Sven
Hi,
@Yak: Der Servo ist direkt mit 10cm Leitung an der Platine.
So kleines Update:
Sämtliche Widerstände scheinen in Ordnung zu sein.
@Willa: Wozu sind denn die beiden Widerstände an A0:33k und 51k R3 und R4? Die konnte ich nicht auf der Platine Messen, da die Parallel zu den Elkos sind.
Ich habe die Platine jetz direkt an einem Akku, ohne ESC und IMU und I²C: Geaqckel sit noch da.
Ich habe mal die Widerstände zwischen 12V und Masse gemessen, die scheinen überall groß genug zu sein.
Dann habe ich mit einem Oszilloskop den 12V PEgel gemessen und der war in Ordnung.
Danah habe ich mich dem servosignal gewidmet:
Der Wert von servopwm schwankt zwischen 62415 und 62383 das sind 32 (2000 ist die ganze range)
das ergibt sich offenbar aus der Schwankung des Empfängers um +/-1.
Mit dem Oszilloskop ergibt sich am Servoausgang (keine ESC, kein IMU, keine Motoren, nur rx und Servo):
http://www.youtube.com/watch?v=JGiCm_00toc
Diese Verdopplungen sind doch seltsam...
Ausserdem zeiht die Triguide im Normalbetrieb im idle 3 bis 6mA. Scheint auch ok.. (oder Willa?)
Hi Nils,
so sieht bei mir das Servosignal aus.
Servo steht dabei in der Mitte.
Anhang 19156
Wenn ich an der Funke den Stick bewege verändert sich der "Abstand" (Frequenz) der Impulse.
Ich habe die TriGuIDE _mini_V2 da ist die Verbindung zum Servo ein 3,3 K Wiederstand vorgesehen und geht dann an Pin 6Arduino.
Ist das bei dir auch so? Im Zweifel ein Widerstand vorsehen (oder tauschen).
Grüße Sven
@Jevermeister
Versuche mal bei Bascom das Häckchen bei "optimize code" raus zu machen. Ich hatte damit mal Probleme das Interuppts nicht immer zuverlässig ausgelöst wurden. Das würde deine Verdoppelung erklären.
Mfg
MatthiasAnhang 19157
Hi,
Danke für die Tipps
Der Haken war schon immer raus, daran liegt es also nicht.Zitat:
@Jevermeister
Versuche mal bei Bascom das Häckchen bei "optimize code" raus zu machen. Ich hatte damit mal Probleme das Interuppts nicht immer zuverlässig ausgelöst wurden. Das würde deine Verdoppelung erklären.
Ich habe in einem anderen Thread gesagt bekommen, dass das timing des oscilloscopes nicht stimmt un daher diese verdoppelungen kommen.
Ich habe jetzt diverse bauteile gewechselt aber der Servo zuckt immernoch obwohl er still stehen sollte. Heute nachmittag habe ich einen kurzen Testflug gemacht, es sit schond eutlich ruhiger, da ich nun neue motoren und so habe, aber man merkt definitiv das zittern im kamerabild. Das ist also was, was vorher nicht da war...
Ich werde heute abend eine neue triguide fertig machen, ich hätte nur gerne gewusst was da kaputt war...
@yak: ich hab die gleiche triguide wie du, und der widerstand ist ok
Kann sein das ich es überlesen haben aber hast du schon mal versucht die Original FW von Willa wieder auszuspielen? Nur um zu Testen ob es wirklich an der Hardware liegt.
Mfg
Matthias
Sorry habs eben gelesen, Willas FW haste schonmal aufgespielt
Hi Nils,
dann drücke ich dir die Daumen, dass mit einer neuen Platine (triguide) wieder alles ok ist.
Grüße Sven
Das mit den Signalverdoppelungen sieht verdächtig aus, und ich würde das nicht sofort aufs Oszi schieben. Vielleicht lohtn es sich den Code nochmal genauer anzuschauen. In der aktuellen Firmware wird das Servosignal mit dem Empfängersignal "synchronisiert".
Im Empfänger IRQ steht:
If Channel = 5 Then 'when all relevant channels were read, enable the servo interrupt
Enable Timer1
End If
im servo IRQ steht:
If Portd.6 = 0 Then
Timer1 = Servopwm
Portd.6 = 1
Else
Portd.6 = 0
Disable Timer1
Timer1 = 65400
End If
Du könntest also mal die disable/enable Zeilen rausnehmen, und im ServoIRQ den Wert für Timer1 auf 31535 setzen (=17ms pause). Vielleicht löst das dein problem.
Außerdem könntest du mal versuchen das Servo abzuschrauben. Dein motor hat ne ziemlich hohe masse, dadurch könnte sich die Regelung innerhalb des Servos aufschwingen. Das ist bei günstigeren Servos relativ schnell mal der Fall.
Danke auch für die Glückwünsche! :D
Hi,
Ich habe das gleiche Problem bei einem Nackten servo der auf dem Tisch steht - der zappelt auch die ganze Zeit.Zitat:
Das mit den Signalverdoppelungen sieht verdächtig aus, und ich würde das nicht sofort aufs Oszi schieben. Vielleicht lohtn es sich den Code nochmal genauer anzuschauen. In der aktuellen Firmware wird das Servosignal mit dem Empfängersignal "synchronisiert".
Im Empfänger IRQ steht:
If Channel = 5 Then 'when all relevant channels were read, enable the servo interrupt
Enable Timer1
End If
im servo IRQ steht:
If Portd.6 = 0 Then
Timer1 = Servopwm
Portd.6 = 1
Else
Portd.6 = 0
Disable Timer1
Timer1 = 65400
End If
Du könntest also mal die disable/enable Zeilen rausnehmen, und im ServoIRQ den Wert für Timer1 auf 31535 setzen (=17ms pause). Vielleicht löst das dein problem.
Außerdem könntest du mal versuchen das Servo abzuschrauben. Dein motor hat ne ziemlich hohe masse, dadurch könnte sich die Regelung innerhalb des Servos aufschwingen. Das ist bei günstigeren Servos relativ schnell mal der Fall.
Danke auch für die Glückwünsche! :-)
Ich habe auch vermutet das irgendwas in der Software schief läuft, aber ich kann mir nicht erklären warum das auf einmal auffällt, ich hatte zwar das Failsave und die Signalglättung auf 6 Kanäle geändert aber auch ohne diese Sache geht es nicht, zumal das ja mit meiner 40MHz funke auch passiert. Das schließt ja aus, dass es am Code liegt, ich habe es schiesslich auch mit der Original Firmware geprüft.
Der servo bewegt sich ja auch sehr hackelig, lediglich wenn er an die Grenzen fährt und die Min/Max Abfrage greift ist er ruhig, oder wenn du ihm ein konstantes Signal (wie zB im Idle Mode) gibst. Sobald er (auch ohne Motoren) in Hover oder Acro kommt zuckt er...
Ich wollte heute mal eine Rampe zum rauf und runter fahren Probieren, wenn er da immer noch zittert dann ist das mal ne Aussage.
Ausserdem werde ich noch einmal dein Servoprogramm aus dem RN Wissen ohne Funke probieren.
Aber ich werde trotzdem eine neue Platine Löten und mir einen neuen Arduino bestellen.
Ich vermute ganz stark einen Hardwaredefekt an der Platine oder dem Arduino - alles andere hab ich gewechselt oder das Problem ohne diese Komponenten auch gehabt.
Und wenn der Mist dann endlich wieder fliegt, dann können wir hier auch wieder über was anderes Reden :-/
Nils
EDIT: Ich habe diese Disable Zeile garnicht mehr drin (seltsam). Das sieht bei mir so aus:
Code:Servoirq: 'generate servo PWM pulseIf Servo_nr_by = 0 Then
If Portd.6 = 0 Then 'wenn port low
Timer1 = Servopwm 'dann timer auf entsprechende verzögerung
Portd.6 = 1 'und port anschalten
Else 'das hier passiert erst bei dem darauf folgenden interrupt
Portd.6 = 0 'dann port wieder ausschalten
Incr Servo_nr_by 'und den nächsten kanal bearbeiten
End If
End If
If Servo_nr_by = 1 Then
If Portb.2 = 0 Then
Timer1 = Servo_roll_pwm
Portb.2 = 1
Else
Portb.2 = 0
Incr Servo_nr_by
End If
End If
If Servo_nr_by = 2 Then
If Portb.3 = 0 Then
Timer1 = Servo_nick_pwm
Portb.3 = 1
Else
Portb.3 = 0
Incr Servo_nr_by
End If
End If
If Servo_nr_by = 3 Then
Timer1 = 40000 'eine pause von ca. 12ms bis zum nächsten interrupt. Bei guten Servos oder Brushlessreglern kann man hier bis auf 65530 gehen ==> ansteuerfrequenz von ~ 200Hz
Servo_nr_by = 0
End If
Sehe ich das richtig das du den Timer wert für das Servo überschreibst???
Kann mich da ein Bascom Profi bestätigen??Code:Servoirq: 'Interrupt wird ausgelöst soweit OK
If Portd.6 = 0 Then 'Port ist Low OK
Timer1 = Servopwm 'Timervorwahl laden OK
Portd.6 = 1 'Port High Setzen auch OK
In der Ersten Interrupt Runde wird nix weiter gemacht, Alles was folgt wird übersprungen weil die Bedingungen noch nicht verfüllt sind.
Timerinterrupt läuft das erste mal über und hier gehts dann weiter.
Else 'Else bedingung wird erfüllt
Portd.6 = 0 'Servo Port wird auf Low gezogen
Incr Servo_nr_by 'Zähler Variable wird hochgezählt (ist jetzt 1)
End If
End If
If Servo_nr_by = 1 Then 'Zähler Variable ist jetzt 1 und der Zweite Servoport wird auf High-Pegel gezogen.
If Portb.2 = 0 Then
Timer1 = Servo_roll_pwm ' Timer1 wird mit der Vorwahl für Portb.2 geladen.
Portb.2 = 1
'Timer läuft wieder über, Interrupt wird ausgelöst.
Servoirq:
If Portd.6 = 0 Then 'Port ist wieder 0 also
Timer1 = Servopwm 'Timer laden
Portd.6 = 1 'port auf 1 Setzen
Else 'Else wird nicht erfüllt also überspringen
Portd.6 = 0
Incr Servo_nr_by
End If
End If 'Wofür ist eigendlich das zweite Endif??
If Servo_nr_by = 1 Then 'hier gehts dann weiter
If Portb.2 = 0 Then 'Port ist noch 1 also überspringen bis Else
Timer1 = Servo_roll_pwm
Portb.2 = 1
Else
Portb.2 = 0 'Port wird auf 0 gesetzt
Incr Servo_nr_by 'Servozähler hochsetzen ist jetzt 2
End If
End If
If Servo_nr_by = 2 Then 'Servozähler passt also weiter machen
If Portb.3 = 0 Then ' Port ist 0 also weiter
Timer1 = Servo_nick_pwm 'Da ist der Bock! Timer 1 wird überschrieben!! Wurde vorher mit Timerwert für Steuerservo gefüllt.
Portb.3 = 1
Else
Portb.3 = 0
Incr Servo_nr_by
End If
End If
Mfg
Matthias
Mir schoss es grade durch den Kopf beim Putzen :p
Dir fehlt da was im code und zwar machte das zweite endif mich etwas stutzig.
Servoirq:
If Portd.6 = 0 Then
Timer1 = Servopwm
Portd.6 = 1
Else
Portd.6 = 0
Incr Servo_nr_by
End If
End If <--- Das da!
Kann es sein das du aus versehen eine Zeile gelöscht hast?
Servoirq:
If Servo_nr_by = 0 Then <-- Das fehlt dir glaube ich
If Portd.6 = 0 Then
Timer1 = Servopwm
Portd.6 = 1
Else
Portd.6 = 0
Incr Servo_nr_by
End If
End If
das fehlt nicht! das hat er irgendwie oben ans ende der Zeile gehängt: Sieht so aus wenn man es richtig einfügt :-/
Code:'===SERVO CONTROL===============================================================
Servoirq: 'generate servo PWM pulse
If Servo_nr_by = 0 Then
If Portd.6 = 0 Then 'wenn port low
Timer1 = Servopwm 'dann timer auf entsprechende verzögerung
Portd.6 = 1 'und port anschalten
Else 'das hier passiert erst bei dem darauf folgenden interrupt
Portd.6 = 0 'dann port wieder ausschalten
Incr Servo_nr_by 'und den nächsten kanal bearbeiten
End If
End If
If Servo_nr_by = 1 Then
If Portb.2 = 0 Then
Timer1 = Servo_roll_pwm
Portb.2 = 1
Else
Portb.2 = 0
Incr Servo_nr_by
End If
End If
If Servo_nr_by = 2 Then
If Portb.3 = 0 Then
Timer1 = Servo_nick_pwm
Portb.3 = 1
Else
Portb.3 = 0
Incr Servo_nr_by
End If
End If
If Servo_nr_by = 3 Then
Timer1 = 40000 'eine pause von ca. 12ms bis zum nächsten interrupt. Bei guten Servos oder Brushlessreglern kann man hier bis auf 65530 gehen ==> ansteuerfrequenz von ~ 200Hz
Servo_nr_by = 0
End If
Dann sehe ich da auch kein Fehler, sorry
Hi,
Ich brauche mal einen Tipp zu den Parametern.
Heute bin ich nur kurz geflogen da mein Tricopter bei leichtem Wind von der Seite sich aufgeschüttelt hat und ist dann abgestürzt.
Nach Reparatur habe ich es noch einmal probiert und dasselbe Problem zu viel Wind auf einer Seite und der Motor wird langsamer. ( sehr langsam)
Aber danach sieht es nicht so aus als schafft es die Regelstrecke das auszugleichen, und es kommt zu Absturz. Im Hoovermod hatte ich das Gefühl es ist noch empfindlicher und es kommt gleich zu Absturz. Gestern bin ich auch geflogen da hatte sich das Problem so noch nicht gezeigt.
Einziger Unterschied heute ist wärmer und etwas windiger.
Was könnte ich Probieren, dass ich das Problem gelöst bekomme
Grüße Sven
Hi,
ich bin ebbend nochmal geflogen, und konnte folgendes beobachten. Wenn ich mit dem Stick an der Funke schnell links rechts gehe (roll) macht der Tricopter eine Weile das mit, bis ein Motor kurz "ausgeht“. In den meisten Fällen ist es der rechte Motor, und er kippt weg.
Dieses konnte ich schon früher beobachten wo der Tricopter noch "neu" war. Ich habe es auf die Parameter geschoben PID kann es daran liegen?
Und welchen Parameter sollte ich dazu verändern?
Dann noch eine Frage im Hoovermod muss ich die ganze zeit immer an der Funke den Stick nach vorne drücken (Nick), damit er mir nicht abhaut.
Das kann man doch auch in den Parametern einstellen. Welchen ACC Offset x oder y muss ich verändern und wonach(Wert großer oder kleiner).
Danke Grüße
Sven
Hi,
@ya: Hast du die ESCs so umprogrammiert das brake aus ist?
@all:
Ich hab mit dem Oszilloskop nochmal das Servosignal mit Standardparametern und Originalsoftware gemessen. Danach habe ich das signal direkt am Empfänger gemessen.
Folgendes Ergebnis:
1. Messung am Empfänger:
Wenn ich den Stick bewege ändert sich die Breite des HIGH Impulses. Die positive Flanke des nächsten Impulses bleibt an ort und stelle, so wie ich das erwarte.
2. Messung am TriGUIDE:
Hier ändert sich auch die Breite des Impulses, ABER: Die positive Flanke des nächstes Impulses wird vor oder zurückgeschoben je nachdem wie ich den Stick bewege. Somit ändert sich ja die Wellenlänge und irgendwann habe ich garantiert einen Impuls doppelt oder verschluckt...
Man sieht deutlich das je weiter ich von der getriggerten Flanke nach hinten gehe die verschiebung natürlich immer deutlich wird, da ja jede flanke um die vorherige impulslänge weiter geschoben wird.
Man sieht auch das sich die Frequenz im Oszi ändert: von 56,2 bis 59,58Hz
Ist das richtig?
Ich hoffe ich habs einigermaßen verständlich ausgedrückt, ansonsten poste ich gerne Videos...
Jetzt ist die Frage woher das jetzt kommt...
nils
Hi Nils,
Bremse ist raus.
Hier ist ein Bild zwecks Servo wie die Ansteuerung sein soll mit Impulslänge.
Anhang 19195
Grüße Sven
hi,
dass sich die frequenz ändert ist richtig. Denn die Pause zwischen zwei high-pulsen ist fix. wenn die high-pulse nun länger dauern, wird auch die frequenz geringer. man kann das mit relativ einfachen mitteln auch so programmieren, dass die frequenz immer gleich bleibt. aber nach meinen experimenten ist das egal. das servo oder der esc misst keine frequenz, die ist im sogar in gewissen rahmen total egal. was servo und esc messen ist nur die länge des high-pulses. Ich halte es für relativ unwahrscheinlich, dass dein Servo damit Probleme hat, aber du kannst es ja mal versuchen.
Hi,
Ok, PWM /PPM, mach Sinn. Das Argument verstehe ich.Zitat:
hi,
dass sich die frequenz ändert ist richtig. Denn die Pause zwischen zwei high-pulsen ist fix. wenn die high-pulse nun länger dauern, wird auch die frequenz geringer. man kann das mit relativ einfachen mitteln auch so programmieren, dass die frequenz immer gleich bleibt. aber nach meinen experimenten ist das egal. das servo oder der esc misst keine frequenz, die ist im sogar in gewissen rahmen total egal. was servo und esc messen ist nur die länge des high-pulses. Ich halte es für relativ unwahrscheinlich, dass dein Servo damit Probleme hat, aber du kannst es ja mal versuchen.
Ich habe beim rumspielen aber gestern am Oszilloskop festgestellt, das tatsächlich am Ausgang das signal ziemlich tanzt. und zwar nur durch den Receiver beeinflusst.
Ich hatte ja geschrieben, dass die Werte von Sempf(yawchannel) ständig um 1 wechseln, also ein paar zyklen liegt 0 and un ein paar 1 an.
Durch die Skalierung der Parameter und die Verstärkungen im laufe der Servosignalvorbereitung wird das aber sehr verstärkt. Allerdings habe ich dieses Gezappel subjektiv ja erst seit einer Woche und dieses unruhige Eingangssignal um 1 ist ja wohl kein Problem oder? Darüber hinaus macht die 40MHz Funke das gleiche.
Latein: ENDE!!
Anbei ein Video vom Gezappel des Ausgangs.
Die I²C umsetzer sind abgeklemmt, die Motoren bleiben also aus. Es sit kein servo angeschlossen sondern nur das Oszilloskop. Ich bin zunächst im IdleMode, somit bleibt servopwm in Mittelstellung bei 32000irgendwas, dann schalte ich in den Hovermode und das Signal beginnt zu zucken.
http://www.youtube.com/watch?v=ulrK_Hb1jnY
Da mir die Erfahrung fehlt stellt sich nun die Frage ist das im Rahmen und ich stelle mich zu sehr an oder ist hier n Problem.
Man müsste mal errechnen wie die Änderung von servopwm im Verhältnis zur Gesamtauslenkung stehen und das mit der Veränderung der Pulsweite vergleichen, ob da ein Zusammenhang besteht. Dann wüsste man ob das ein Softwareproblem oder ein Hardwareproblem ist. Aber es ist schon bemerkenswert, dass ein konstantes servopwm einen ruhigen Servo zur fogle hat, also schein eine Bewegung das Problem zu verursachen. Ich hab die Rampe gestern nicht mehr geschafft zu programmieren.
Nils
Das könnte schon dein Problem sein. Bei 0:11 sieht man wie das Signal springt. Bei den Oszi Einstellungen müste der Sprung ca 40µs sein also umgerechnet ca 5° Stellweg am Servo. Aber bei mir schwankt das Empfängersignal auch hin und wieder um 1. Ich hatte anfangs auch öfters Probleme mit Störungen. Ich hab dann das PPM Kabel vom Empfänger zum Triguide so kurz wie möglich gemacht, Ein Feritring eingewickelt und die Stecker entfernt und die Kabel fest gelötet.
Mess doch mal im Idle und Hover Modus (Motoren/I2C abklemmen) das PPM Signal was zum Triguide geht. Das sollte ganz ruhig sein.
Mfg
Matthias
Guten Morgen,
ich bin immer noch nicht weiter.
Ich habe gestern nochmal die Spannung am servo überprüft und dort kam folgendes ERgebnis:
http://www.youtube.com/watch?v=JG9HQjJUZqo&feature=player_embedded
Das ist ja nicht wirklich tragisch.
Gerade habe ich nochmal den Weg des Servosignals durch den Quellcode nachvollzogen:
Wenn ich den IMU Einfluss eliminiere ergibt sich folgendes:Code:timer1 = 62535 + [(Empf(yawchannel)-100)*Var(19)/17-Getadc(1)]*var[12]/21 + [yaw_gyro_i + (Empf(yawchannel)-100)*Var(19)/17-Getadc(1)] * var[13]/2550
Bei Willa's ParameterwertenCode:timer1 = 62535 + [(Empf(yawchannel)-100)*Var(19)/17]*var[12]/21 + [yaw_gyro_i + (Empf(yawchannel)-100)*Var(19)/17] * var[13]/2550
var[12]=100 (Yaw_P)
var[13]=70 (Yaw_I)
Var(19)=153 (Yaw_sensitivity)
ergibt sich:
Wenn ich jetzt annehme mein Empfänger springt ständig um einen wert ergibt sich fürCode:timer1 = 62535 + [(Empf(yawchannel)-100)*9]*4,76 + [yaw_gyro_i + (Empf(yawchannel)-100)*9] * 0,03
Emp(Yawchannel) = 100 :
Emp(Yawchannel) = 101Code:timer1 = 62535 + [0*9]*4,76 + [yaw_gyro_i + 0*9] * 0,03
timer1 = 62535
Das bedeutet das das Servosignal um ca 40 alterniert.Code:timer1 = 62535 + 9*4,76 + 9 * 0,03
timer1 = 62535 + 42,84 + 0,27
timer1 = 62535 + 43
timer1 = 62578
40 von 2000 schritten entspricht ca, 3,6° und das deckt sich ja ungefähr mit dem, was das Oszilloskop anzeigt (Yak du hast ja die 40µs erwähnt)
(Na hoffentlich hab ich mich nicht verrechnet...)
Also ich folgere daraus, dass die Unruhe meines Empfängers für das hier verantwortlich ist.
Komisch ist doch jetzt, dass dieses Zittern um eine Stelle angeblich normal sein soll. Und warum ist das erst seit kurzem so...
Wie sehen bei euch die Empfängerwerte im Receivercheck aus?
Nils
ps.: FPV ist da! Wird aber erstmal WPV: Wait per View
Hallo,
ich kann jetzt nicht nachvollziehen ob deine Rechnung richtig ist aber das kann meiner Meinung nach trotzdem nicht die Ursache sein.
Wenn nämlich die Änderung des Empfängersignals um 1 eine Winkeländerung von 3.6° zur Folge hätte würde sich das Servo ja auch auf gewollte Änderungen des Signals (Knüppelbewegung) in 3.6° Schritten bewegen. Das ist doch wohl nicht der Fall oder?
gruß,
kounst
ps: ich glaub fpv heißt first person view..
Also ich kann mir das sehr gut vorstellen mit den 3,6°. Wenn ich den Code richtig verstehe wird die Stick-Position in -37/+37 umgesetzt. Also eine Auflösung von 74 Schritten. Bei mir schwanken die Empfängerwerte auch um 1 Punkt. Mir ist auch aufgefallen das mein Servo auch etwas am zappel ist. Aber nicht so stark.
Mfg
Matthias
Ich selbe fliege ja nicht lese diesen Thread aber durchaus interessiert mit. Aus einem total andern Bereich, die BZ Einstellung eines Diabetikers wo sehr sehr viele Parameter Einfluss haben, ist mir aber bekannt das es keinen Sinn macht gleichzeitig an verschiedenen Baustellen zu "Drehen". Das erschwert b.z.w. macht eine Zuordnung quasi unmöglich. Auch zu schnelles Reagieren/ändern/probieren ist kontraproduktiv zu werten, Mit etwas "Ruhe" im System werden Störungen besser ausgewertet außerdem hält das den Kopf frei für wesentliches.
Viel Glück bei der Suche, ich bin gespannt woran es letztendlich festgemacht werden kann.
Gruß Richard
@Nils
Ich hab mir dein Video nochmal genau angeschaut. Dein "Grundrauschen" auf der Servostrippe ist gewaltig. Das sind in der Spitze fast 100mV! Überprüfe nocheinmal die Lötstellen vom Servostecker. Hast du Kältespray oder sowas?? Damit könntest du Haarrisse in den Leiterbahnen finden.
Mein "Rauschen" sieht so aus.
Anhang 19213
Mein Klumpen kommt zwar nicht an deine 50ns Zeitbasis ran aber man kann trotzdem sehen das, dass Rauschen nicht so stark ausgeprägt ist.
Mfg
Matthias
PS: Hab jetzt Bluetooth Module da, nur noch Willas Protokoll entschlüsseln :p
Hi Nils,
das Rauschen auf der Versorgungspannung finde ich auch etwas viel. Ich bin der Meinung , das das Rauschen auf der Versorgungspannung nicht das Zucken des Servos verursacht sollte. Hast du schon mal eine andere Last an Stelle des Servos angeschlossen z. B. kleine Lampe als Last?
Bleibt die Versorgungspannung stabil?
Was passiert wen du ein Kondensator sagen wir mal ca. 100 nF (was du gerade hast 50nF bis 300nF) über Plus und Minus machst. Werden die Störungen weniger? Ansonsten wie schon gesagt Lötstellen und Leiterplatte anschauen. Wenn du kein Kältespray hast, pack die Platine in einen Gefrierbeutel mit so wenig wie möglicher Luft drin für 10 min in den Tiefkühler. Vieleicht kann man so schon Unterschiede ausmachen.
Aber du könntest auch die Platine gegen eine helle Lampe halten, dabei dir die Leiterzüge anschauen. Und dann mit einer Lupe müssten auch so Fehler zu finden sein.Ist die Leiterplatte selbst hergestellt oder industriell? Es gib noch die Möglichkeit die betreffenden Leiterzüge zu verzinnen um kleine Risse zu schließen.
Hast die mögliche Ursache Programm schon 100 % ausschließen können?
Grüße Sven
Hallo,
die Platine hab ich bei www.platinenbelichter.de herstellen lassen. Kann nicht einer der Elkos wieder kaputt sein?
Ich werde morgen mal eure Tipps ausprobieren.
Da ich wieder Willa's Originalsoftware mit Originalparametern drauf habe, schließe ich Software aus - die hat ja vorher auch funktioniert.
Ich habe heute noch einige MEssungen mit dem Oszi gemacht, ich stelle die Ergebnisse morgen mal rein.
Gruß
Nils
Hi,
ich habe mein Problem heute finden können, warum mir beim schnellen links rechts schwenken nach einer Weile der rechte Motor ausging.
Und somit mein Tricopter runtergekommen ist. Nach langem Suchen und Probieren habe ich gefunden, das der rechte Motor einfach nicht genug Leistung entwickelt gegenüber den anderen Motoren. Ich verwände die ROXXY BL OUTRUNNER 2827-34 Motoren. Ich habe den Motor auseinander genommen, und mir sind die viel zu straff verdrillten Drähte aufgefallen. Wo drei Drähte gerissen waren also nicht alle Spulen erhielten Strom. Nach einer längeren fummeligen Aktion konnte ich den Motor flicken. Und nun macht der Tricopter auch wieder seine Runden. Habe zur Sicherheit noch ein neuen Motor bestellt.
Welche Motoren könnt Ihr mir noch Empfehlen?
Grüße Sven
Hi,
meine Platine macht beim "Durchleuchten" einen heilen Eindruck. Keine defekten Leiterbahnen zu erkennen, inwiefern hilft mir denn Kälte beim Finden von kalten Lötstellen?
Langsam habe iche cht keine Lust mehr, mir viel gestern noch ein den Lautsprecher runter zu bauen, aber das hat auch nichts gebracht :-(.
Ich hab noch einige andere Messungen durchgeführt dazu später mehr.
@yak: DAs ist aber mal ein ungewöhnlich Gehler, aber hattest Du keine Tauschmotoren? Dann hättest Du das schneller gefunden. Ich fliege zu Zeit nur billige Motoren, wenn ichd ann Fliegen kann kaufge ich mir Roxxies. DeHarry erwähnte mehrmals schon die Dymond Motoren, die sind wohl ähnlich teuer und die Qualität soll auch sehr gut sein.
Nils