Zum Inhalt wechseln


Foto

Eigenes Copter Programm für den Beecore?

eigenbau modellbau multicopter

  • Bitte melde dich an um zu Antworten
16 Antworten in diesem Thema

#1 Luckeie

Luckeie
  • 59 Beiträge
  • AR.Drone 2.0
    DJI Phantom 2 mit Zenmuse Gimbal und GoPro 3+ Black
    DJI Phantom 3 Prof.
    Inductrix FPV
    Eachine E010
    Eachine E011
    Eachine E012
    Beecore Micro Kopter

Geschrieben 07. Januar 2017 - 08:50

Ein schönes neues Jahr wünsche ich Euch!

 

Mich reizt schon länger die Idee ein eigenes Flight Controller Programm zu erstellen. Ich denke es sollte möglich sein, die Werte eines Beschleunigungssensors (Habe ich zum Beispiel mit einem Adafruit Circuit Playground schon gemacht) auszulesen und dann die Motoren entsprechend anzusteuern (Ja, kann sein, dass ich das sehr naiv sehe!). Wenn ich es richtig interpretiere, dann hat der Autor der nachfolgenden Seite es so ähnlich gemacht:

 

http://www.brokking....3d_v2_main.html

 

Damit bei meinen Versuchen niemand verletzt wird, dachte ich daran, so etwas wie den Eachine E010 dazu zu verwenden. Da kam mir das Angebot von Banggood gerade recht:

 

http://www.banggood....ml?rmmds=search

 

Da sollte alles dabei sein. Außerdem würde es mir vielleicht Freude bereiten, dafür eigene Rahmen zu konstruieren und mit einem 3D-Drucker auszudrucken (Einen Drucker habe ich).

 

Ich weiß, das gibt es alles schon. Aber ich denke es könnte mir Freude bereiten, ein paar von den Dingen selbst zu machen. Andererseits habe ich nicht so viel Zeit und darum finde ich das Banggood-Angebot so interessant. Wenn man diesen Beecore mit so etwas wie einer Arduino IDE programmieren könnte, wäre das für mich ideal!

 

Bei dem Angebot muss man einen von den 3 Receivern angeben (DSM2 FLYSKY FRSKY), welchen müsste ich wählen, das er mit dem beim Eachine E010 mitgelieferten Minisender funktioniert? Oder geht das gar nicht und ich muss mir noch einen Sender kaufen?


Bearbeitet von Luckeie, 07. Januar 2017 - 08:59.


#2 Ach-Mett

Ach-Mett
  • 9.266 Beiträge
  • OrtLübecker Bucht
  • WidowMaker 210
    AkKi 270 6S@1500KV
    Blade 380QX Ratte
    LaserQuad 480
    NightHawk X6 Beast
    Rolfi 3200KV 2S 4"
    710er SlowQuad 17"

Geschrieben 07. Januar 2017 - 21:14

Interessantes Projekt.

 

BeeCore ist ein F3 Target - am besten, Du schaust Dir mal die Konfiguratoren für Base-, Clean- und BetaFlight näher an.

Das sind alles GUIs, um irgendwelche C++ Geschichten aufs Board zu schreiben.

 

Die MicroFunke unterstützt leider keinen der wählbaren Empfänger.

DSM ist Spektrum, FlySky sind diese BilligFunken von HobbyKing und Co und FrSky ist für Taranis und Horus.



#3 Luckeie

Luckeie
  • 59 Beiträge
  • AR.Drone 2.0
    DJI Phantom 2 mit Zenmuse Gimbal und GoPro 3+ Black
    DJI Phantom 3 Prof.
    Inductrix FPV
    Eachine E010
    Eachine E011
    Eachine E012
    Beecore Micro Kopter

Geschrieben 07. Januar 2017 - 22:33

@Ach-Mett: Vielen Dank für die Infos! Das hilft schon einmal weiter. Gerade auch die Zuordnung der Abkürzungen zu den Sendern ist für mich schon einmal eine gute Info!

 

CleanFlight ist eine App für Chrome. Da hatte ich schon einmal einen Blick darauf geworfen und es mir auch in Chrome installiert. BeeCore wird dort aber nicht als Board aufgeführt. Es schient auch so zu sein, dass man damit nur fertige Firmware auf ein Board flashen kann. Es ist keine Entwicklungsumgebung und mir fehlen auch Informationen, wie man ein passendes C++ Kompilat erzeugen kann.

 

Aber trotzdem danke, sind alles Puzzleteilchen auf dem Weg zum Verständnis.


Kennt jemand die Unterschiede zwischen BeeBrain und BeeCore? Nach dieser Seite (https://uav-review.c...beebrain-clone/) ist BeeCore ein Clone von BeeBrain. Ist da der gleiche Prozessor drauf?


Bearbeitet von Luckeie, 07. Januar 2017 - 22:26.


#4 Ach-Mett

Ach-Mett
  • 9.266 Beiträge
  • OrtLübecker Bucht
  • WidowMaker 210
    AkKi 270 6S@1500KV
    Blade 380QX Ratte
    LaserQuad 480
    NightHawk X6 Beast
    Rolfi 3200KV 2S 4"
    710er SlowQuad 17"

Geschrieben 07. Januar 2017 - 22:39

F3 Targets gibts da jede Menge - wahrscheinlich ist die richtige FirmWare SP Racing F3.

Auf meinem F3 Evo Brushed funktioniert diese FirmWare jedenfalls.

 

BeeBrain ist ein F1 Target, BeeCore F3 - halt untrerschiedliche CPUs.

 

Eine EntwicklungsUmgebung gibts nicht direkt, aber die Programme sind ja OpenSource.

Feel free to add and change what you want ;)



#5 Luckeie

Luckeie
  • 59 Beiträge
  • AR.Drone 2.0
    DJI Phantom 2 mit Zenmuse Gimbal und GoPro 3+ Black
    DJI Phantom 3 Prof.
    Inductrix FPV
    Eachine E010
    Eachine E011
    Eachine E012
    Beecore Micro Kopter

Geschrieben 08. Januar 2017 - 15:40

@Ach-Mett: Du schriebst:

 

'Eine EntwicklungsUmgebung gibts nicht direkt, aber die Programme sind ja OpenSource.'

 

Wo findet man den Sourcecode dafür?


So, habe weiter recherchiert. Hier https://github.com/c...ght/cleanflight gibt es scheinbar den Sourcecode eines Flight Controllers. Aber - ganz ehrlich - das ist zu viel Code. Da benötige ich vermutlich länger zum Analysieren, als wenn ich es selbst programmiere. Klar, da ist vermutlich längst alles drin, was sich im Laufe der Zeit als nützlich und wichtig erwiesen hat. Aber so viel Zeit zum Lernen habe ich nicht. Wenn man das im Startbeitrag mit dem Code von der verlinkten Seite vergleicht, ist das vermutlich 100 mal so viel Code. Hat jemand eine Idee, wo man einen rudimentären Flight Controller für den BeeCore finden kann?

 

Alternativ: Kennt jemand ein Tutorial für einen Compiler, der Code für den BeeCore erzeugen kann? Ich stehe momentan noch ziemlich auf dem Schlauch, da ich noch nicht einmal weiß welchen Compiler oder welche Entwicklungsumgebung man nehmen könnte. Wenn man das wüsste, könnte man halt einfach einmal versuchen den Beschleunigungssensor abzufragen und einen Motor anzusteuern. Das würde schon enorm weiter helfen.



#6 Ach-Mett

Ach-Mett
  • 9.266 Beiträge
  • OrtLübecker Bucht
  • WidowMaker 210
    AkKi 270 6S@1500KV
    Blade 380QX Ratte
    LaserQuad 480
    NightHawk X6 Beast
    Rolfi 3200KV 2S 4"
    710er SlowQuad 17"

Geschrieben 08. Januar 2017 - 18:48

Tja, da kann ich leider nicht helfen.

Mit meinen MinimalKenntnissen von php und JavaScript komm ich da auch nicht weiter.

Mir reicht es aber so, wie man es vorgekaut bekommen kann :)

Wenn man dran interessiert ist, muss man sich einarbeiten.

 

Der Code auf dem Controller ist ja nicht der Code des GUI.

Der Code des GUI ist natürlich ziemlich umfangreich.

 

Du könntest zunächst versuchen, Dich mit dem CLI auseinanerzusetzen...



#7 Luckeie

Luckeie
  • 59 Beiträge
  • AR.Drone 2.0
    DJI Phantom 2 mit Zenmuse Gimbal und GoPro 3+ Black
    DJI Phantom 3 Prof.
    Inductrix FPV
    Eachine E010
    Eachine E011
    Eachine E012
    Beecore Micro Kopter

Geschrieben 09. Januar 2017 - 18:49

So, habe mich einmal weiter vorsichtig heran getastet und nachdem ich endlich verstanden habe, dass auf der Banggood-Seite im Angebotstext unter andrem auch ein Prozessor aufgeführt ist, bin ich nach langem Suchen und zahllosen Webseiten auf diese hier gestoßen:

 

http://www.stm32duino.com/

 

Nach Anmelden im Forum habe ich eine Frage gestellt und Roger Clark hat mich dann weiter auf diese hier verwiesen:

 

http://avikde.me/kod...html/index.html

 

Jetzt habe ich auf meinem Rechner immerhin schon eine Arduino IDE (die hatte ich eh schon), mit der man für den STM32F303 kompilieren kann! Juchu!

 

Ich denke, ich werde mir jetzt das Banggood Angebot einmal bestellen und wenn es dann da ist, hier eventuell weiter berichten.


Bearbeitet von Luckeie, 09. Januar 2017 - 19:32.

  • Ach-Mett gefällt das

#8 Luckeie

Luckeie
  • 59 Beiträge
  • AR.Drone 2.0
    DJI Phantom 2 mit Zenmuse Gimbal und GoPro 3+ Black
    DJI Phantom 3 Prof.
    Inductrix FPV
    Eachine E010
    Eachine E011
    Eachine E012
    Beecore Micro Kopter

Geschrieben 11. Januar 2017 - 18:41

Eine Frage habe ich noch zum Thema. Ich habe jetzt das BeeCore-Board mit dem DSM2-Empfänger bestellt. Und ich habe einen Inductrix FPV samt Fernsteuerung, die angeblich DSMX kann. Kann ich mit dieser Fernsteuerung das BeeCore-Board binden, bzw. es ansteuern?


  • Ach-Mett gefällt das

#9 nichtgedacht

nichtgedacht
  • 4 Beiträge

Geschrieben 20. Januar 2017 - 15:00

Mich reizt schon länger die Idee ein eigenes Flight Controller Programm zu erstellen. Ich denke es sollte möglich sein, die Werte eines Beschleunigungssensors (Habe ich zum Beispiel mit einem Adafruit Circuit Playground schon gemacht) auszulesen und dann die Motoren entsprechend anzusteuern (Ja, kann sein, dass ich das sehr naiv sehe!).

 

Moin

 

Ich habe sowas realisiert. Allerdings verwende ich einfach eine kleine Platine mit STM32F103CBT6 MCU drauf (2,6€) und ein weiteres Platinchen mit MPU9250 Sensor (3,5€) und verdrahte die beiden auf einer Lochrasterplatine.

 

Hier findest Du also eine Menge zum abkupfern: https://github.com/n...edacht/mini-sys

Fliegen konnte ich damit schon kurz nach meinen ersten Versuchen im letzten Frühjahr. Da war aber noch alles hardcoded und nicht vom Anwender konfigurierbar. Das Ganze wird noch lange ein "Work in Progress" sein.

Zuletzt habe ich die Beleuchtung mit WS2812 LEDs zugefügt. Das Zeug ist aber noch nicht konfigurierbar, weil ich erst mal rausfinden will, was man wirklich braucht.

 

Ich würde mich freuen wenn jemand mitmacht. 

 

Das Bild zeigt meinen letzten Kopter mit dem DIY Flight Controller.

 

Gruß

Dieter

Angehängte Dateien


  • Ach-Mett gefällt das

#10 Luckeie

Luckeie
  • 59 Beiträge
  • AR.Drone 2.0
    DJI Phantom 2 mit Zenmuse Gimbal und GoPro 3+ Black
    DJI Phantom 3 Prof.
    Inductrix FPV
    Eachine E010
    Eachine E011
    Eachine E012
    Beecore Micro Kopter

Geschrieben 20. Januar 2017 - 17:38

Hallo Dieter,

 

schön von Jemandem zu lesen, der eine ähnliche Vorgehensweise hat! Dein Projekt scheint mir aber viel ambitionierter! Mit was programmierst Du denn den STM32F103CBT6? Auch mit der Arduino IDE?

 

Ich habe mir jetzt das Beecore Board bestellt. Wenn es da ist, werde ich weiter probieren. Aber ich weiß jetzt schon, dass ich Probleme haben werde die richtigen Port-Nummern heraus zu finden. Ich muss ja wissen, wo man die Fernsteuerbefehle und den Beschleunigungssensor anfragen kann. Und natürlich auch wo die Motoren angeschlossen sind. Das wird auf dem Board vermutlich anders sein, als bei Dir. Aber vielleicht hast Du Informationen, welche Ports beim STM32 F303 (Achtung, das ist ein anderer Prozessor wie bei Dir) überhaupt in Frage kommen?

 

Gruß

 

  Thomas



#11 Ach-Mett

Ach-Mett
  • 9.266 Beiträge
  • OrtLübecker Bucht
  • WidowMaker 210
    AkKi 270 6S@1500KV
    Blade 380QX Ratte
    LaserQuad 480
    NightHawk X6 Beast
    Rolfi 3200KV 2S 4"
    710er SlowQuad 17"

Geschrieben 20. Januar 2017 - 17:47

Eine Frage habe ich noch zum Thema. Ich habe jetzt das BeeCore-Board mit dem DSM2-Empfänger bestellt. Und ich habe einen Inductrix FPV samt Fernsteuerung, die angeblich DSMX kann. Kann ich mit dieser Fernsteuerung das BeeCore-Board binden, bzw. es ansteuern?

 

Kommt drauf an - sowohl auf den verbauten EmpfangsChip als auch auf die Funke.

Manche Kombinationen sind abwärtskompatibel zu DSM2 und/oder lassen sich auch mit DSMx 22ms binden.



#12 nichtgedacht

nichtgedacht
  • 4 Beiträge

Geschrieben 20. Januar 2017 - 18:09

Mit was programmierst Du denn den STM32F103CBT6? Auch mit der Arduino IDE?

 

Aber ich weiß jetzt schon, dass ich Probleme haben werde die richtigen Port-Nummern heraus zu finden. Ich muss ja wissen, wo man die Fernsteuerbefehle und den Beschleunigungssensor anfragen kann. Und natürlich auch wo die Motoren angeschlossen sind. Das wird auf dem Board vermutlich anders sein, als bei Dir. Aber vielleicht hast Du Informationen, welche Ports beim STM32 F303 (Achtung, das ist ein anderer Prozessor wie bei Dir) überhaupt in Frage kommen?

 

 

 

Hi

 

Ich benutze zum Programmieren System Workbench for STM32 aka AC6 (http://www.openstm32.org). Das steht aber auch doch im README auf der ersten Seite vom meinem github repository.

 

Es gibt mehrere STM32F303  -> http://www.st.com/en...roductId=LN1531

Um sowas zu realisieren musst Du schnell viel Doku lesen und das was Du nicht brauchst sofort ausblenden.

Für die Zielplatine brauchst Du dann eine Lupe und ein Ohmmeter ;-)

 

Da ich CubeMx und HAL verwende ist mein Code kompatibel soweit die verwendete Peripherie (UART SPI DMA Timer usw.) in der MCU der Zielplatine existiert.

 

Dieter



#13 Luckeie

Luckeie
  • 59 Beiträge
  • AR.Drone 2.0
    DJI Phantom 2 mit Zenmuse Gimbal und GoPro 3+ Black
    DJI Phantom 3 Prof.
    Inductrix FPV
    Eachine E010
    Eachine E011
    Eachine E012
    Beecore Micro Kopter

Geschrieben 25. Januar 2017 - 13:59

Hallo Dieter,

über 'System Workbench' bin ich bei meinen Recherchen auch gestolpert. Wenn ich mich recht erinnere, muss man da aber ein ziemlich großes Paket downloaden und installieren. Ja, da habe ich wohl nicht genug in Deinem README gelesen.

Wie schon geschrieben, kann ich mit der Arduino IDE für eine der Varianten vom STM32F303 Code kompilieren/generieren. Ich werde da erst einmal nichts weiter unternehmen und warten bis der Controller in meinen Händen ist. Dann werde ich versuchen ihn mit der Arduino IDE anzusprechen und Code rüber zu laden.

Vorher werde ich noch versuchen ihn mit der Inductrix FPV Fernsteuerung zu binden. Dann Motoren anstecken und gucken, ob sich da überhaupt irgendetwas steuern lässt.

Wenn das alles klappt, gehts weiter auf Portsuche...
 



#14 nichtgedacht

nichtgedacht
  • 4 Beiträge

Geschrieben 25. Januar 2017 - 16:13

Moin Thomas,

 

System Workbench for STM32 auch AC6 genannt ist nun wirklich ebenso leicht, wenn nicht sogar leichter als die Arduino Umgebung zu installieren.

Man muss nur vorher Eclipse installiert haben, was aber auch nur auf einen Mausklick hinausläuft wenn Java vorhanden ist. Für die AC6 Installation

muss man dann nur einen URL mit cut and paste bei Eclipse reinwerfen und eine Zigarette rauchen, dann ist es fertig.

 

Im Gegensatz zur Arduino kann AC6 mit allen STM32 MCUs umgehen. Die Libraries liegen einem zu Füßen und sind nicht irgendwo unter der Haube

versteckt. Es gibt ohne Ende Beispielcode von st.com in deren Repositories. Man kann die MCUs so verwenden wie man möchte und ist nicht auf

die Implementationen aus den auf bestimmte Typen und Konfigurationen eingeschränkten Arduino Libraries angewiesen. Man kann seine Programme vernünftig debuggen

und bis runter auf Assembler Ebene in Einzelschritten sehen was passiert. Da AC6 auf Eclipse basiert, eine IDE deren Anfänge in den 90er Jahren liegen,

hat man ein wirklich ausgereiftes Werkzeug zur Verfügung. Für Deine Zwecke müsstest Du in Arduino selber Libraries in C++ schreiben oder modifizieren.

Ich glaube nicht, dass Du das vor hast.

 

Gruß

Dieter

 

 



#15 Luckeie

Luckeie
  • 59 Beiträge
  • AR.Drone 2.0
    DJI Phantom 2 mit Zenmuse Gimbal und GoPro 3+ Black
    DJI Phantom 3 Prof.
    Inductrix FPV
    Eachine E010
    Eachine E011
    Eachine E012
    Beecore Micro Kopter

Geschrieben 30. Januar 2017 - 16:11

Hallo Dieter,

 

Eclipse kenne ich seit vielen Jahren, zuletzt habe ich damit Android Apps programmiert. Wäre also schon interessant für mich. Umgekehrt will ich aber erst einmal gar nicht viel machen. Ich stelle mir vor, dass es irgendwelche Ports geben muss, an denen eine Frequenz für die einzelnen Kanäle der Fernsteuerung liegt und 3 andere Ports, an denen die Werte von X, Y und Z des Gyros als Analogwert anliegen. Dann brauche ich noch 4 Ports, um die ESC's für die Motoren anzusteuern.

Das ist alles. Damit möchte ich gerne probieren. Wöfür benötige ich da Bibliotheken?

Ich würde mich sehr freuen, wenn mir jemanden hilft diese Ports für den Beecore heraus zu finden?

Mittlerweile ist der Beecore angekommen und ich kann nach einigen Stunden heftiger Intenetrecherche und der Installation verschiedener Tools mitteilen, dass man die Stock Blade Fernsteuerung MLP4DSM des Inductrix FPV damit binden kann. So muss ich erst einmal nichts für eine Spectrum ausgeben. Ich hatte übrigens ein Beecore Paket mit der TX03 VTX Kamera bestellt und diese kann über das Display des Inductrix FPV empfangen werden! Das hat mich schon einmal sehr gefreut.

Nachdem ich die Hürde mit den den beiden Lötkontakten genommen hatte, konnte ich auch Betaflight auf den kleinen Controller installieren. Ich werde mir jetzt noch einen Akku und ein Anschlusskabel besorgen und dann erst einmal ausprobieren, wie sich das Teil fliegen lässt. Ansonsten bin ich weiter am Recherchieren nach Informationen zur Programmierung.

 

Gruß

 

  Thomas


Bearbeitet von Luckeie, 30. Januar 2017 - 16:12.






Auch mit einem oder mehreren dieser Stichwörter versehen: eigenbau, modellbau, multicopter

Besucher die dieses Thema lesen: 0

Mitglieder: 0, Gäste: 0, unsichtbare Mitglieder: 0