MikroKopter - Forum » BL-Ctrl » Neue Firmware 0.30 für BL2.0

Neue Firmware 0.30 für BL2.0

Seite: 1

Autor Neuer Beitrag
Entwickler, Admin
Registriert seit: Feb 2006
Beiträge: 3883
Ort: Ostfriesland
Hallo,

es gab von einigen Usern einige Beobachtungen, dass unter seltenen Umständen der MK mit BL2.0-Reglern "zuckt"

So sieht das dann aus:
http://mikrocontroller.com/files/err40_.wmv
(Das Piepen ist mein Trigger-Ereignis und tritt normalerweise nicht auf)
Es sieht fast so aus, wie bei einer kurzen Empfangsstörung.

Keine Angst: Der MK bleibt ja in der Luft und nach einigen 1/10 Sekunden steht der wieder gerade
Viele werden diesen Effekt nie haben und vielleicht auch nicht bemerkten.
Wir werden im Koptertool eine Versionsabfrage der BL-Regler einbauen und evtl. eine Meldung bringen.

Ursache:
Es ist ein Effekt in der BL2.0-Software V0.28 Der führt dazu, dass bei einem Motor ganz kurz der interne Sollwert auf Null geht
Der Fall tritt ganz selten auf und zwar immer nur, wenn der Motorsollwert von 32 auf 31 wechselt - und dann auch nur extrem selten.

Die Variable BL-Limit im Koptertool geht dabei ganz kurz auf 40

Hier das gefixte Programm V0.30:

Die genaue Ursache war die folgende:

Im Hauptprogramm des BL-Reglers gibt es eine Anweisung, die den I2C-Setpoint kopiert.
sollwert = I2C_Setpoint; <- das sind 16-Bit-Variablen und werden intern mal 8 gerechnet -> 32 ist also 256

Der Controller kann das nicht in einem Befehl abarbeiten, sondern benötigt zwei dafür, weil High- und Lowbyte getrennt kopiert werden.
Und wenn nun genau zwischen diesen beiden Befehlen per I2C-Interrupt ein Sollwert kommt, der von 256 auf 255 wechselt, kann es sein, dass das Lowbyte schon kopiert wurde (Null) und danach das neue Highbyte (jetzt auch Null)

Zur Wahrscheinlichkeit:
Zwei Befehle, die innerhalb 0,125us abgearbeitet sind, werden von einem Ereignis unterbrochen, das nur alle 2ms eintritt.
Und dann gibt es nur dann ein Problem, wenn ein Wechsel des Sollwerts von 32 auf 31 statt findet.

Das habe ich umgangen, indem direkt vor dem Kopieren der I2C-Interrupt gesperrt wird.

Anleitung zum Update findet man hier:

Gruss,
Holger
Mitglied
Registriert seit: Dec 2008
Beiträge: 380
Ort: Wiesbaden
Blöde Situatiion:
Wie soll ich bei dem 8-fach-Verteiler des Octo an die 4 nach innen
gerichteten Anschlüsse kommen ?? :shock:

LG 2013
Entwickler, Admin
Registriert seit: Feb 2006
Beiträge: 3883
Ort: Ostfriesland
Es reicht, zum Update drei Leitungen (RXD, TXD und GND) vom MKUSB per Kabel anzuschliessen - so mache ich das immer
Mitglied
Registriert seit: Dec 2008
Beiträge: 380
Ort: Wiesbaden
HolgerB meinte
Es reicht, zum Update drei Leitungen (RXD, TXD und GND) vom MKUSB per Kabel anzuschliessen - so mache ich das immer


Danke Holger.
Wenn es nicht zu unverschämt ist, bitte ich Dich um ein Bild.
Ich hab es nicht kapiert, wie Du da wo an die relevanten Pads oben und unten drankommst.
Danke
KH 2013
Wiki-Mod, MK-Betatester
Registriert seit: May 2010
Beiträge: 520
Ort: Ostfriesland
Das wird an den seitlichen Anschlüssen angelötet (wo die 10polige Steckleiste angelötet werden kann). Hier mal ein Link wo was ist (ist zwar nur für die 1.0 ABER der seitliche Anschluss ist bei allen von der Belegung gleich):
http://www.mikrokopter.de/ucwiki/BL-Ctrl_Anleitung#Anschluss
MK-Betatester
Registriert seit: Jan 2010
Beiträge: 237
Ort: Groningen (Netherlands)
Hi,

Also on the Hexa-distributionboard the connector for programming is unreachable because it's on the inside...
Therefor i need to know which pins from the X3-connector on the MK-USB are the GND, RX and the TX.
Where can i find a schematic?


Gruss,

Joop
« Bearbeitet von Joop am 02.09.2010 21:41. »
MK-Betatester
Registriert seit: Jan 2009
Beiträge: 2800
Ort: Regensburg
http://www.mikrokopter.de/ucwiki/SerCon_Anleitung#ISP1
MK-Betatester
Registriert seit: Jan 2010
Beiträge: 237
Ort: Groningen (Netherlands)
Danke mk-Thor for the pin layout of the ISP-connector!
Ist da ueberhaubt ein Schalplan von MK-USB?

Soll ich fuer das programmieren die Jumper anbringen an die MK-USB oder nicht und muss ich die BL-regler selbst Spannung anbieten via die normale Anschlus (distr.board).

Joop
Mitglied
Registriert seit: Dec 2008
Beiträge: 380
Ort: Wiesbaden
Hallo, dass ich da nix in die Luft jage:

Ich löte also eine Verbindung zwischen den relevanten Pads des USB (seitl. Anschluß)
User image




und den Pads auf den Reglern her,... und update dann auf 3.0
... und das 8x hintereinander ?
User image
Mitglied
Registriert seit: Jun 2010
Beiträge: 3750
Ort: 48268 Greven
Ja, acht mal. Aber drei Leitungen (RXD, TXD und GND) vom MKUSB reichen aus. Die Anschlußbelegungen sind ja oben schon verlinkt.

# Jumper des MKUSB entfernen.
# Die BL-Ctrl wird über ein 10-poliges (ISP1) mit der MKUSB verbunden. (Hier eben die drei Leitungen.
# Die BL-Ctrl muss mit Spannung versorgt werden. Es wird empfohlen, die Flight-Ctrl während des Updates auszuschalten.
# Auf 'Update' klicken und aktuelles Hex-File der BL-Ctrl auswählen.

Leider muß der Verteiler wohl komplett ausgebaut werden. Du mußt von beiden Seiten an die Regler.
Mitglied
Registriert seit: Sep 2009
Beiträge: 343
Ort: Nesslau
Salut...

Alternativ nimmt man dünne Leitungen, z.B. CU-Lackdraht (wie in http://www.reichelt.de/?ACTION=3;ARTICLE=57176;PROVID=2402 zu sehen) .. verzinnt den vor (einfach Lötkolben dran, der Lack schmilzt,
das Zinn haftet) und lötet einen Draht an Pin 30 und einen an Pin 31 des immer oben liegenden Prozessors.
Ground holt man sich, wo man's bekommt.. Spannung nicht vergessen..

http://www.btinternet.com/~family.entwisle/personal-blog/img/project-wearwulf-geekport-ATmega8L.jpg ist der
erste Google-Bilder-Eintrag, den ich fürs MCU-Layout parat hätte .. da sieht man, wo Pin 30+31 ist. (An sich spricht
wenig dagegen, an einen der VCC Pins 5V anzulegen..)

Nun kann jeder selbst entscheiden, ob man lieber den BLC ausbaut, um mehr Lötfläche zu haben, oder ob man
das Feingefühl für den CUL-Draht hat.

Gruss,
Tim
Mitglied
Registriert seit: Jun 2010
Beiträge: 3750
Ort: 48268 Greven
Ob das etwas für Anfänger ist?

Ich würde mir mal die Frage stellen ob dieses Update den Aufwand lohnt?
Mitglied
Registriert seit: Jun 2010
Beiträge: 158
Ort: Amsterdam
Just blowup one BLC :evil: :evil: :evil: :evil: :evil: :'( on updating
Mitglied
Registriert seit: Jun 2010
Beiträge: 3750
Ort: 48268 Greven
Wieso? Was ist passiert?
Mitglied
Registriert seit: Jun 2010
Beiträge: 158
Ort: Amsterdam
Soldered the three wires on the BLC and powered it on, Error in the MK-tool :? .
By close inspection there was a tiny, tiny, tiny piece of solder between two legs of the processor :twisted: .

So be very careful for tiny spatters and check your board before power it.

/Frank
Mitglied
Registriert seit: May 2007
Beiträge: 4740
Ort: Chemnitz
hmmm,

früher ging das damit http://www.fc00.de/zubehoer/adap_koenig.jpg :(
Da müsste man doch glatt TX und RX nachrüsten... ;)

Specky
Mitglied
Registriert seit: Jun 2010
Beiträge: 158
Ort: Amsterdam
*** TIP ***

Because updating the BLC when soldered on a power distribution board like the Okto you have to take it out to reach one pin (RX) at the bottom (PAD) for of the middle facing BLC boards. :evil:

Because the rest of the pin’s PAD's TX and GND (“-“ in the corner) are on top and fairly accessible I solder a little wire on the RX pin, that I hot glued on top so I can reach it. ;)

So next time I don’t have to take the Okto apart. :lol:

The front facing BLC can be updated by using “Alternativen zu den Stiftleisten beim Updaten“ found here: http://www.mikrokopter.de/ucwiki/BrushlessCtrl

/Frank
« Bearbeitet von Jdohe am 03.09.2010 08:41. »
Mitglied
Registriert seit: Dec 2008
Beiträge: 380
Ort: Wiesbaden
Kenaschon meinte
Ob das etwas für Anfänger ist?

Ich würde mir mal die Frage stellen ob dieses Update den Aufwand lohnt?


Du sprichst mir aus dem Herzen.
Als bekennender DAU bin ich mir noch nicht mal sicher, an welchem Pin des USB und welchem Pad des Reglers
die erforderlichen Signale anliegen.
Der Hinweis auf den Schaltplan ist für mich vergebliche Liebesmüh.

Ich lass da mal die Finger davon.

Diese Methode ist für mich nachvollziehbar: "Alternativen zu den Stiftleisten beim Updaten“ http://www.mikrokopter.de/ucwiki/BrushlessCtrl

Das mach ich mal, wenn ohnehin ein Rebuild der Verteilerplatte anliegt.

Frage: Macht es Sinn, das Update bei den 4 außenliegenden Reglern zu machen.
Reduziere ich damit das "Ausfallrisiko" um 50%,... oder bewirken Regler mit unterschiedlicher Firmware Probleme ??

LG
2013
Mitglied
Registriert seit: Jun 2010
Beiträge: 3750
Ort: 48268 Greven
Leute,
denkt doch mal über nach was der Holger oben geschrieben hat.

"Zur Wahrscheinlichkeit:
Zwei Befehle, die innerhalb 0,125us abgearbeitet sind, werden von einem Ereignis unterbrochen, das nur alle 2ms eintritt.
Und dann gibt es nur dann ein Problem, wenn ein Wechsel des Sollwerts von 32 auf 31 statt findet."

Für dieses doch sehr, sehr seltene "zucken" wollt ihr euch den Streß machen? Direkt am Prozessor rumfummeln? Einer (Frank) hat seinen schon abgeschossen.


@Frank
Unterschiedliche Firmware? Mein Bauchgefühl sagt nein, aber ich glaube das da der Holger mehr zu schreiben kann.


.
MK-Betatester
Registriert seit: Apr 2007
Beiträge: 4049
2013 meinte
Ich lass da mal die Finger davon.


H&I schrieb doch, dass die meisten User gar nichts merken dürften und damit kein Handlungsbedarf eines Updates besteht. Ich würde das Update nur machen, wenn man a) die Regler gerade draußen hat oder b) unter ständigem Zucken leidet.
Ich fliege schon lange mit der beklagten SW und habe bis jetzt keinerlei Unregelmäßigkeiten bemerkt.

50% updaten wird dich vielleicht 50% beruhigen, aber Neuigkeiten beim Fliegen wird's nicht geben. Schaden wird's nicht, man kann sogar alte und neue Regler mischen...
MK-Betatester
Registriert seit: Jun 2008
Beiträge: 954
Ort: Essen NRW
Hallo zusammen,

ich habe gerade das Update gemacht. Einen Unterschied zur alten Version kann ich, wie erwartet, nicht feststellen. Ich hatte auch vorher keine Probleme.
Wenn man an die Regler gut drankommt, ist es in weinigen Minuten gemacht und man hat ein gutes Gefühl. :)

Gruss Peter

Seite: 1

MikroKopter - Forum » BL-Ctrl » Neue Firmware 0.30 für BL2.0