"UltraESC" bald gibt's was Neues

Status
Nicht offen für weitere Antworten.

ronco

Erfahrener Benutzer
@ronco

habe trotz Suche nicht viel über die I2C-Ansteuerung der UESC gefunden.:(
Ist 1KHz Ansteuerung möglich und wie muß das Format genau aussehen?
Also Adressbyte klar, dann 8 bit oder 11 bit oder beides möglich? Reversebit dann wo?

Ich würde gerne mal die UESC einsetzen und mich über eine Antwort freuen.

mfg
Bernd

hi,
also i2c ist nach MK manier (auch wenn der MK die warum auch immer noch net so ganz mag). kannst 8 oder 11 bit machen. für 8 bit einfach den gas wert (0-250) senden. und für 11bit wie bei mk erst die 0-250 und dann die 0-7 für die feineinstellung..

also für 11 bit:
i2c send(gas>>3);
i2c send(gas&0x7);

drehrichtungs umkehr geht per i2c noch net :/

und das gewicht hab ich grade auch nicht im kopf .. ich leg nochmal eins auf die wage :)

gruß

felix
 
Zuletzt bearbeitet:

olex

Der Testpilot
So, habe heute das erste Mal einen fertig gebauten Ausleger von meinem X8 probeweise an Strom angeschlossen, mit der Absicht, per USB die ESCs zu konfigurieren. Soweit bin ich allerdings nicht gekommen - beim Anstecken des Lipo gab es direkt einen Zack!, und aus einem der eingeschrumpften UltraESCs ist ein kleines Rauchwölkchen aufgestiegen -.- Schrumpfschlauch aufgeschnitten (der ESC war dabei gut spürbar warm), siehe da - beide FETs der mittleren Phase (B) sind sichtbar tot, mit je einem Riss im Gehäuse! Der zweite ESC am selben Ausleger lief normal an, bleibt eiskalt und piepst die korrekten Töne für 3S.

Nun bin ich unsicher wie ich hier weiter vorzugehen habe... kann es sein dass der Regler defekt war? Beim Installieren habe ich immer auf statische Ladung geachtet, jede Paar Minuten an die Heizung gepackt, und Kurzschlüsse oder sonstigen Unfug habe ich beim Löten auch keine produziert. Kriege ich den in dem Fall getauscht? Soll ich die anderen 6 die ich noch habe verbauen, in der Hoffnung dass sie alle OK sind?
 

orion8

Neuer Benutzer
Felix,
danke für die schnelle Antwort
drehrichtungs umkehr geht per i2c noch net :/
nicht so schlimm.
Bei mir läuft auch kein MK sondern eine Eigenbau-FC mit STM32F405 eigener Software und 1KHz Regeltakt.
Ich kann auch beliebige ESCs anschließen. Vom I2C-Regler will ich weg, weil bei 12 Motoren (siehe Avatar) auch die I2C Ansteuerung zu lange dauert. Event. wäre OneShot eine Lösung. Muss ich mal testen.

mfg
Bernd
 

Jonek

Erfahrener Benutzer
Auf welche Frequenz muss ich "PWN input speed" stellen, wenn ich die UltraESCs an einem Open Pilot CC3D betreiben will? Ich vermute "50-500Hz", bin mir aber nicht sicher.

Sehe ich das richtig, dass der Modus "ONE_SHOT125" nur mit der NanoWii genutzt werden kann (und nicht beim CC3D)? Was ist der spuerbare Unterschied zwischen "50-500Hz" und "ONE_SHOT125"?

Wie lernt man das UltraESC richtig an? Muss ich da nur "MIN COMMAND" und "MAX COMMAND" auf die Werte einstellen, die vom CC3D gesendet werden, wenn man die Ausgabe-Regler in der GUI bei aktivierter direkter Motoransteuerung auf die min und max Positionen schiebt?

Wie bekomme ich raus, welche "Motor's PWM frequency" fuer meine Motoren richtig ist? (MN3110-17)

Die Erklaerung zum closed loop Modus von http://www.ultraesc.com/index.php?ESC=noe_GUI verstehe ich nicht ganz. Sehe ich das richtig, dass man da den P und I Wert tunen muss? Wie geht man dabei vor? Hat jemand von euch schon mal den closed loop Modus verwendet?
 

ronco

Erfahrener Benutzer
So, habe heute das erste Mal einen fertig gebauten Ausleger von meinem X8 probeweise an Strom angeschlossen, mit der Absicht, per USB die ESCs zu konfigurieren. Soweit bin ich allerdings nicht gekommen - beim Anstecken des Lipo gab es direkt einen Zack!, und aus einem der eingeschrumpften UltraESCs ist ein kleines Rauchwölkchen aufgestiegen -.- Schrumpfschlauch aufgeschnitten (der ESC war dabei gut spürbar warm), siehe da - beide FETs der mittleren Phase (B) sind sichtbar tot, mit je einem Riss im Gehäuse! Der zweite ESC am selben Ausleger lief normal an, bleibt eiskalt und piepst die korrekten Töne für 3S.

Nun bin ich unsicher wie ich hier weiter vorzugehen habe... kann es sein dass der Regler defekt war? Beim Installieren habe ich immer auf statische Ladung geachtet, jede Paar Minuten an die Heizung gepackt, und Kurzschlüsse oder sonstigen Unfug habe ich beim Löten auch keine produziert. Kriege ich den in dem Fall getauscht? Soll ich die anderen 6 die ich noch habe verbauen, in der Hoffnung dass sie alle OK sind?

Hi,

den wirst du ersetzt bekommen (schreib ne mail an [email protected]). und ich kann nur sagen ich selbst fliege die seit nem jahr ohne das mir irgend was abgeraucht ist. klar bei der entwicklung sind welche gestorben.. aber das zählt nicht ;)

wenn das direkt beim anstecken passiert ist und alles gut gelötet war, kann ich nur vermuten das vllt. irgend ein bauteil einen fehler hatte :( die durchlaufen alle einen statischen test (ein software test) aber 100% sicher ist das halt auch nicht.

gruß

Felix
 

ronco

Erfahrener Benutzer
Auf welche Frequenz muss ich "PWN input speed" stellen, wenn ich die UltraESCs an einem Open Pilot CC3D betreiben will? Ich vermute "50-500Hz", bin mir aber nicht sicher.
50-500Hz wird auf jeden fall funktionieren. da das die frequenz ist, mit der auch andere regler (simonk und blheli und so) angesteuert werden.

Sehe ich das richtig, dass der Modus "ONE_SHOT125" nur mit der NanoWii genutzt werden kann (und nicht beim CC3D)? Was ist der spuerbare Unterschied zwischen "50-500Hz" und "ONE_SHOT125"?
bisher scheint es so zu sein. habe auch den OP jungs schon gesagt was der oneshot modus ist. und was für vorteile das bringt. weiss aber nicht ob sie schon so was eingebaut haben.

der unterschied ist das bei oneshot125 das PWM signal in einer zeit von 125-250us übertragen werden kann. im normalen modus (50-500Hz) sinds 1000-2000us. kurz gesagt das signal geht im oneshot modus schneller von der FC zum regler. so kann dieser auch schneller reagieren. raus kommt ein saubereres flugbild.

Wie lernt man das UltraESC richtig an? Muss ich da nur "MIN COMMAND" und "MAX COMMAND" auf die Werte einstellen, die vom CC3D gesendet werden, wenn man die Ausgabe-Regler in der GUI bei aktivierter direkter Motoransteuerung auf die min und max Positionen schiebt?
ja. bei den meissten FC's kann man die mindest und max werte ja einstellen. so halt auch in der GUI beim UESC. aber für die meissten FC's ist 1000-2000 schon gut.

habe selbst kein CC3D aber bei MWC, Naza und AP scheint das so zu passen. im zweifel einfach mal gucken auf welche werte man seine ESC's fürs CC3D eistellen/einlernen soll und diese dann einstellen.

Wie bekomme ich raus, welche "Motor's PWM frequency" fuer meine Motoren richtig ist? (MN3110-17)
32kHz hat sich hier als guter mittelwert bewährt. mache ESC Hersteller meinen das es von der induktivität des motors abhängt welche frequenz gut ist. (wenig induktivität hohe frequenz und anderstrum) in meinen tests hab ich da aber keinen zusammenhang gefunden.

also würde dir raten das erstmal auf 32kHz zu lassen und erst wenn du probleme haben solltest kannst du mal etwas tiefer gehen. das kann helfen.

Die Erklaerung zum closed loop Modus von http://www.ultraesc.com/index.php?ESC=noe_GUI verstehe ich nicht ganz. Sehe ich das richtig, dass man da den P und I Wert tunen muss? Wie geht man dabei vor? Hat jemand von euch schon mal den closed loop Modus verwendet?
der closed loop modusmuss zum einen kalibriert werden:
1. sender so einstellen das er bis oder über 2000 als vollgas geht
2. closed loop aktivieren (CL_MODE)
3. kalibrierung aktivieren (KALIB_CL)
4. motor mit lasst (propeller) sicher befestigen
5. das gas langsam von 0% auf 100% erhöhen. und bei 100% halten bis nach c.a. 2 sekunden das ESC disarmt.
6. jetzt ist der drehzahl weg eingelernt und man kann im closed loop fahren :)

mit P und I muss man dann noch die regelung tunen. hier hängt es von der last und von dem motor drehmomment ab wie hoch P und I sein können. wie beim copter PID regler soll der motor nicht schwingen / falattern bei drehzahlwechseln.

ergebnis ist, das der regler die motor drehzahl immer auf dem gas signal niveau hält. giebst du z.b 50% gas leuft der motor mit % drehzahl, egal ob ergerade im fahrt wind ist oder nicht. auch spannungs drifts der lipos werden so ausgeglichen.

man muss aber sagen das es bisher noch kaum FC#s giebt die dammit gut fliegen. bei MWC z.b stört der closed loop mehr als das er hilft. da es meisstens eine schlechte sache ist 2 PI oder PID regler hintereinander zu schalten. die können sich aufschwingen.

ich meine also das der closed loop nur für copter gut ist deren FC's extra dafür gemacht sind.


gruß

felix
 
Zuletzt bearbeitet:

orion8

Neuer Benutzer
Hallo Felix,

beim ONE_SHOT125, wie hoch ist da die Auflösung des Reglers ?
Geht da auch Reverse? Ist dann 187.5 uS der 0-Wert, wie groß ist dann die Dead-Zone um 0 herum?

Danke schon mal

mfg
Bernd
 

ronco

Erfahrener Benutzer
hi,

die auflösung ist immernoch 11-bit. wird von einem 16bit timer gelesen der mit 16Mhz leuft also in 62,5ns schritten.

und ja reverse geht da auch. mitte ist 187.5us.. die dead zone ist start at/2-1000 (in normalen 1000-2000us) .. also wenn z.b start at auf 1050 steht wäre es 1475-1525 also unter 1475 startet er negativ und über 1525 positiv.

umgerechnet in oneshot 125 signalen wäre das dann 184.375us - 190.625us ... geteilt durch 8 halt ;) da der timer die signale 8 mal schneller nimmt.

in MWC haben wir es auch so gemacht, das die PWM timer einfach 8 mal schneller laufen. aber eben nicht dann mit 4Khz weil das nix brinkt bei ner loop time von 2.xms. das macht eben den oneshot aus das man nur ein schnelles signal nach jedem loop los schikt.

generell sollte das signal nicht wirklich schneller als mit 1kHz wiederholt werden. da es sonst zu einem interrupt overhead kommen kann (beim ESC).

gruß

felix
 

orion8

Neuer Benutzer
Felix,
danke für die schnellen ausführlichen Antworten. :)
Wäre schön, wenn alle diese Informationen in einer Doku zum UESC stehen würden ? Oder hab ich da was übersehen ?
Mich hast Du erstmal überzeugt, ich werde die UESCs testen.
Ich werde nur bei Änderung des Motorwertes gegenüber dem vorherigen einen Shot ausgeben.
Mit den Timern im 32F4 kann ich ja feinaufgelöste PWM erzeugen.
Über meine Ergebnisse kann ich dann gern hier berichten, wenn Du das willst.
Wie mein kleiner Test-Copter bisher mit I2C-Reglern fliegt, kannst Du in dem Video Flow-Test in diesem Beitrag sehen:
http://www.fpv-treff.de/viewtopic.php?f=18&t=3600&sid=0afab2de18c5a2ae2e33536ff9c6d4f6

mfg
Bernd
 
Zuletzt bearbeitet:
Servus,
vll. kann mir ja jemand von euch weiterhelfen. Habe jetzt alles so weit verbaut Ultra Esc multiwii v2.5 mit multiwii 3d sketch. Wenn ich die Motoren direkt am Empfänger ansteuer laufen sie schön sauber in beide Richtungen. Schliesse ich alles an die mw an stottern die Motoren wie verrückt und laufen total hakelig und unsauber. Einer ne Idee was ich falsch mache???
 

ronco

Erfahrener Benutzer
Servus,
vll. kann mir ja jemand von euch weiterhelfen. Habe jetzt alles so weit verbaut Ultra Esc multiwii v2.5 mit multiwii 3d sketch. Wenn ich die Motoren direkt am Empfänger ansteuer laufen sie schön sauber in beide Richtungen. Schliesse ich alles an die mw an stottern die Motoren wie verrückt und laufen total hakelig und unsauber. Einer ne Idee was ich falsch mache???
Hi,

da fällt mir spontan nix ein.. wie ist das denn, wenn du ein normales MWC nimmst? .. bzw ich habe den MWC 3d fork noch nie bennutzt.. hatteja selbst mal ne version geschrieben (http://fpv-community.de/showthread.php?32752-Simple-NanoWii-MWC-Version) aber die leuft nur auf dem nanowii.

habe grade mal geguckt. das:
Code:
  /****************************    Motor maxthrottle    *******************************/
    /* this is the maximum value for the ESCs at full power, this value can be increased up to 2000 */
    //#define MAXTHROTTLE 1850
    #define MAXTHROTTLE 1860 // special ESC (simonk)

  /****************************    Mincommand          *******************************/
    /* this is the value for the ESCs when they are not armed
       in some cases, this value must be lowered down to 900 for some specific ESCs, otherwise they failed to initiate */
    //#define MINCOMMAND  1000
    #define MINCOMMAND  1460  // MultiWii 3D (simonk)

  /****************************    MultiWii 3D         *******************************/
    #define MULTIWII3D
    #define MIN_FWD_THROTTLE 1514
    #define MIN_REV_THROTTLE 1406
sind die werte für simonk 3d FW. beim Uesc ist es statt 1000-1460-1860 1000-1500-2000.

weis aber net warum es so stottern sollte :/

gruß

Felix
 

gnu

Neuer Benutzer
HiHo,

Ich bin neu hier, erstmal Hallo!

Hier scheinen ja doch einige UESC Entwickler unterwegs zu sein, daher gleich mal einige Fragen & Problemchen:

Ich hatte mir 4Stk UESC20 bestellt und mal einen zusammen gelötet. Anbindung über i2c lief ohne Probleme, Motor läuft sehr sauber.

Mich wundert nur, dass beim JAVA Tool i2c Sollwertumschaltung im Code deaktiviert wurde und nur mit der Chrome app die Aktivierung funktioniert?

Nun meine Fragen:
Gibt es eine Übersicht zu den i2c Registern? Throttle war ja relativ einfach, entweder WriteByte oder ein Word auf Register 0. Ein Dump aller Register gibt nur "null_en" zurück?

Ich vermute sonst wurde nichts weiter auf die i2c Register gemapped? Mich würden schon einige Diagnosewerte interessieren (Temp/Spannung/Strom/ESC Status) für entsprechende Sammelstörungen/Überlastwarnungen.

Und noch ein Problem:
Der erste gelötete ESC zeigt „14“ bei Temperatur an. Sobald ich dann Last auf den Propeller gebe schwankt der dann irgendwo bei 65xxx. Ist hier der Sensor beschädigt oder nur ein Kalibierproblem? Die anderen habe ich noch nicht gelötet, daher habe ich keinen Vergleich.

Die Stromanzeige steht auch immer bei 0?

Sind Firmwareupdates nachträglich über die USB-COM Schnittstelle möglich?

PS:
Das Löten der i2c pads war echt eine Zumutung! , hier hätte man das Rastermaß etwas größer wählen können! ;-)

Gruß Gnu
 

ronco

Erfahrener Benutzer
Hi,

also das java tool hat i2c noch nicht aktivierbar, da i2c eben noch beta ist(auch weil es mit dem MK noch net leuft). es geht aber gut mit anderen FC's. strom messen die UESC 20A nicht. das ist für spätere versionen geplant. das ist übrigens auch der grund warum du auf eine i2c anfrage als erstes 0 zurück bekommst. das ist der MK style der zuerst den strom haben will. da dieser aber nicht gemessen wird ist's 0 ;)

wenn du nach weiteren bytes fragst, bekommst du noch:

1 = strom (immer 0)
2 = max gas signal (immer 250)
3 = temperatur
4 = spannung (lipo)
5 = commutierungs zeit high byte
6 = commutierungs zeit low byte

1-4 ist so weils der MK so braucht. auch wenn es leider nicht zu einer wirklichen kompatiblität geführt hat :/ .. aber da werd ich bei zeit nochmal nach gucken.

aus der commutierungs zeit kann man die drehzahl des motors errechnen. zusammengesetzt ist das die timer zeit die zwischen den kommutierungen vergeht (in 16Mhz schritten)..

also ganz grob: Rrpm = (16000000*60)/((commutierungszeit*6)*(motor magnet pole/2)); <- geht auch einfacher .. hab aber garde keinen kopf für mathe ;)

und ja es wird updates per USB geben .. die möglichkeit besteht. aber ich muss mich nochmal in ruhe ran setzen und gucken was wie besser geht und vorallem testen,testen,testen ..

gruß

Felix
 
Hi,

da fällt mir spontan nix ein.. wie ist das denn, wenn du ein normales MWC nimmst? .. bzw ich habe den MWC 3d fork noch nie bennutzt.. hatteja selbst mal ne version geschrieben (http://fpv-community.de/showthread.php?32752-Simple-NanoWii-MWC-Version) aber die leuft nur auf dem nanowii.

habe grade mal geguckt. das:
Code:
  /****************************    Motor maxthrottle    *******************************/
    /* this is the maximum value for the ESCs at full power, this value can be increased up to 2000 */
    //#define MAXTHROTTLE 1850
    #define MAXTHROTTLE 1860 // special ESC (simonk)

  /****************************    Mincommand          *******************************/
    /* this is the value for the ESCs when they are not armed
       in some cases, this value must be lowered down to 900 for some specific ESCs, otherwise they failed to initiate */
    //#define MINCOMMAND  1000
    #define MINCOMMAND  1460  // MultiWii 3D (simonk)

  /****************************    MultiWii 3D         *******************************/
    #define MULTIWII3D
    #define MIN_FWD_THROTTLE 1514
    #define MIN_REV_THROTTLE 1406
sind die werte für simonk 3d FW. beim Uesc ist es statt 1000-1460-1860 1000-1500-2000.

weis aber net warum es so stottern sollte :/

gruß

Felix
Danke Felix,

werde nochmal hingehen ein eeprom clear machen , alles mal mit normaler firmware testen. Danach nochmal mit der 3d firmware. Danke für die Einstellwerte!!!
Wenn alle stricke reissen werde ich mir mal ne nanowii bestellen und mit deiner spezial Sortware versuchen.

Gruß
Wolli
 

gnu

Neuer Benutzer
Hallo Felix,

Danke für die Info.
Leider bekomm ich nur die ersten 3 Bytes … danach wiederholt sich alles.

root@michel:~/quadro/GnuCopter# i2cdump -y -f -r 0-5 11 41 c
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 fa 0e 00 fa 0e .??.??

root@michel:~/quadro/GnuCopter# i2cdump -y -f -r 0-15 11 41 c
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 fa 0e 00 fa 0e 00 fa 0e 00 fa 0e 00 fa 0e 00 .??.??.??.??.??.
Hier noch 2 Fragen:
Wie schnell müssen die i2c Sollwerte übertragen werden damit der Regler nicht auf null geht? Ich hatte die Zykluszeit etwas erhöht und da fing er an plötzlich auszusteigen. Eventuell ist das mit dem 0-Reset sowieso nicht so günstig, da sonst bei EMV Aussetzern der Heli gleich vom Himmel fällt.

Bei den BL Ctrl Teilen liegt das Timeout bei 1000ms! und hält solange die letzte Drehzahl. Wenn dann der Bus wieder läuft springt er sofort auf den Sollwert ohne 0-Reset. Ich mein der 0-Reset ist OK aber vielleicht nur beim 1ten Einschaltvorgang?

Gruß Gnu
 
Ich habe jetzt den ganzen Thread durchgelesen, die Webseite auch und FLyduino auch. Nun weiß ich leider immer noch nicht ob die Kabel allesamt dabei sind oder nicht :(
Es gibt ein Bild da ist der ESC mit Kabeln abgebildet aber im Shop wird nicht drauf hingewiesen ob sie dabei sind oder nicht...
 
Die Kabel, also Stromversorgung, 3- Motorphasen und das PWM Servokabel sowie der Elko waren bei meinen UESC's bei der Lieferung dabei.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten