RC-Einstell-Tool zum Vermessen von Ruderausschlägen und zur Ansteuerung eines Servos

kalle123

User
Funktioniert hier, Jochen.

WIN 10 in Vbox unter DEBIAN.

Hier den COM Port wählen

ySktCU8l.png


Hier die bin Datei einfügen und dann im ersten Fenster 'FLASH'

Rz58kRjl.png


Gruß KH
 

JueBie

User
Bin total "geflasht"

Bin total "geflasht"

Hallo Jochen,

so etwas habe ich noch nie erlebt: Vom Download der Software (Flasher + .bin) bis zur Anzeige der Homepage in 3 Minuten.
Bin hin und weg.
Vielen Dank für Deine Arbeit!!!!
Besonderen Dank noch für die umfassende und extrem Bedienerfreundliche Benutzeroberfläche!

Grüße
Jürgen

p.s. durchgeführt auf Mac, Anzeige auf iPhone
 

kalle123

User
Noch einige Fragen bzw. Kommentare zu dem Projekt hier. Ich hoffe, ich darf ... :D

WARNUNG: Bibliothek MPU6050 behauptet auf avr, samd Architektur(en) ausgeführt werden zu können und ist möglicherweise inkompatibel mit Ihrem derzeitigen Board, welches auf esp8266 Architektur(en) ausgeführt wird.

Die Meldung hier in der Arduino IDE hat sich geklärt. Ist einfach nur 'peanuts'.

Die oben angefügte *.bin Datei ist die in der Arduino IDE generierte zu flashende Datei. Wie die *.hex Dateien bei den Atmel Chips. Wieder was gelernt, hab bisher nicht viel mit den ESP8266 gemacht.

Hier mal die Sequenz bei mir (Linux) ...

/home/kalle/.arduino15/packages/esp8266/tools/python3/3.7.2-post1/python3 /home/kalle/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/upload.py --chip esp8266 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash 0x0 /tmp/arduino_build_191719/RcSetupTool.ino.bin

So, jetzt aber meine eigentlichen Fragen. Ich hab zwar 'provisorisch' einen MPU6050 dran, hab aber hier MMA 8451 auf Adaptern fertig liegen und würde die gerne mal alternativ anschliessen.

Die *.ino scheint ja soweit vorbereitet zu sein, wie ich beim Überfliegen meine gesehen zu haben.

Habe also hier die Kommentierung entfernt

// #define SUPPORT_MMA8451

und mal die 'Adafruit_MMA8451_Library' mit drauf gepackt.

Und dann geht es los ...

Mehrere Bibliotheken wurden für "Servo.h" gefunden
Benutzt: /home/kalle/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/Servo
In file included from /tmp/arduino_modified_sketch_231418/RcSetupTool.ino:22:0:
Nicht benutzt: /mnt/DATA/Anwendungen/arduino-1.8.11/libraries/Servo
/home/kalle/Anwendungen/Arduino/libraries/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:33:29: fatal error: Adafruit_Sensor.h: No such file or directory
#include <Adafruit_Sensor.h>
^
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

Also die 'Adafruit_Sensor-master.zip' rein genommen

/home/kalle/RcSetupTool/RcSetupTool.ino: In function 'void initMMA8451()':
RcSetupTool:1956:51: error: no matching function for call to 'Adafruit_MMA8451::begin(uint8_t&, uint8_t&, uint8_t&)'
if (mma.begin(ourSDA_Pin, ourSCL_Pin, ourI2CAddr)) {
^
/home/kalle/RcSetupTool/RcSetupTool.ino:1956:51: note: candidate is:
In file included from /home/kalle/RcSetupTool/RcSetupTool.ino:22:0:
/home/kalle/Anwendungen/Arduino/libraries/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:98:8: note: bool Adafruit_MMA8451::begin(uint8_t)
bool begin(uint8_t addr = MMA8451_DEFAULT_ADDRESS);
^
/home/kalle/Anwendungen/Arduino/libraries/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:98:8: note: candidate expects 1 argument, 3 provided
Mehrere Bibliotheken wurden für "Servo.h" gefunden
Benutzt: /home/kalle/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/Servo
Nicht benutzt: /mnt/DATA/Anwendungen/arduino-1.8.11/libraries/Servo
exit status 1
no matching function for call to 'Adafruit_MMA8451::begin(uint8_t&, uint8_t&, uint8_t&)'

An der Stelle hab ich erst mal gestoppt. Das geht doch denn zu sehr in den Code rein.

Eine Bemerkung. Ich hab mein Arduino IDE 1.8.10 ins backup geschoben, da dass mit Projekten und Libs ziemlich zugemüllt war und ich mit 1.8.11 mal 'sauber' wieder anfangen wollte.

Hier mal ein Bild, wie der prov. Aufbau momentan aussieht.

nca82iDl.png


Grüße KH
 
Hallo Jochen

Cooles Projekt ! Hast du dir schon Gedanken für eine 3D Winkelmessung gemacht ? Für Seitenleitwerke und V-Leitwerke, oder bei der Querrudermessung wenn der Flügel V-Form hat, wäre dies sicher sehr hilfreich. Ich dachte da an den MPU9250, der hat noch einen Kompass mit an Board, mit dem sollte es möglich sein.

Cool wäre noch wenn man ein Display am ESP hätte, auf dem der aktuelle Winkel angezeigt wird. Hier gibts ein ESP Board, das wie geschaffen für die Anwendung ist: https://www.aliexpress.com/item/400...chweb0_0,searchweb201602_4,searchweb201603_53

Das Board hat noch ein Akku Anschluss, und evtl. könnte man die PRG Taste (GPIO1) zum "Nullen" verwenden ;)

Gruss Michael
 
Hallo zusammen,
@ Kalle: im Prinzip hast Du alles richtig gemacht ;) Sieht so aus wie wenn er bei Dir manche Dateien an mehreren Stellen vorfindet und da etwas durcheinander kommt. Meisten hilft es mit einem leeren Verzeichnis zu starten und dieses in den IDE-Einstellunegn als Speicherort zu definieren. Dann alle Bibliotheken neu hinzufügen.
Hab Dir mal eine *.bin für den 8451 angehängt; sollte eigentlich direkt funktionieren.

@ all: vielen Dank für die postiven Rückmeldungen. Denke das erleichtert den Einstieg in die Thematik schon erheblich.
@ Michael: ich besprech das mal mit Rainer ;); Du kennst ihn ja bereits von Deinem genialen Vario-Projekt

Viele Grüße
Jochen

Nachtrag: Kalle, Dir fehlt vermutlich noch diese Bibliothek: https://github.com/adafruit/Adafruit_Sensor

Anhang anzeigen RcSetupTool8451.ino.bin.txt
 

kalle123

User
Dank dir Jochen.

Aber schau bitte noch mal hier

Bildschirmfoto_2020-02-09_09-30-31.png

Ich hab die Lib drin und dann fängt die 'Meckerei' zum Code an.

Könnte es sein, dass du da ne andere Version hast als die eingestellte ... ?

Gruß KH
 
Könnte es sein, dass du da ne andere Version hast als die eingestellte ... ?

Gruß KH

Volltreffer Kalle :rolleyes:,

wir verwenden den 8451 nicht mehr da ich während der Versuchszeit einen gehimmelt habe und eigentlich kein Ersatz mehr zu bekommen war. Wir hatten im Vorprojekt RuderWegMessSensor da was angepasst, zu finden hier:

https://github.com/Pulsar07/Adafruit_MMA8451_Library

Funktioniert denn die fertige *.bin die ich Dir gemacht habe?

@ Nightflyer: in diesem Vorprojekt (RuderWegMessSensor) haben wir auch noch die Anzeige über ein OLED mit drin; haben wir dann aber nicht weiter fortgeführt

Gruß Jochen
 
@ Kalle:
....
An der Stelle hab ich erst mal gestoppt. Das geht doch denn zu sehr in den Code rein.

Eine Bemerkung. Ich hab mein Arduino IDE 1.8.10 ins backup geschoben, da dass mit Projekten und Libs ziemlich zugemüllt war und ich mit 1.8.11 mal 'sauber' wieder anfangen wollte.

sorry Kalle,

du hast alles richtig gemacht, mit dem 8451. Die benutzte Adafruit_MMA8451_Library hat eine kleine Schwäche. Man kann die I2C Pins nicht selektieren, was wir aber machen müssen, damit man das Board, schön auf die Pinleiste löten kann.
Habe deshalb habe ich die Library etwas gepatched.
Habe unter GitHub nun meine gepatchte Version (libs-Verzeichnis) eingecheckt. Wenn du die 8451 bauen möchtest. Einfach das Adafruit_MMA8451_Library-Verzeichnis in dein Arduino-Library-Verzeichnis kopieren (evtl. ist das schon vorhanden, dann eben überschreiben). Dann sollte es tun.


@Michael:
Cooles Projekt ! Hast du dir schon Gedanken für eine 3D Winkelmessung gemacht ? Für Seitenleitwerke und V-Leitwerke, oder bei der Querrudermessung wenn der Flügel V-Form hat, wäre dies sicher sehr hilfreich. Ich dachte da an den MPU9250, der hat noch einen Kompass mit an Board, mit dem sollte es möglich sein.

Cool wäre noch wenn man ein Display am ESP hätte, auf dem der aktuelle Winkel angezeigt wird. Hier gibts ein ESP Board, das wie geschaffen für die Anwendung ist: https://www.aliexpress.com/item/4000...chweb201603_53

Das Board hat noch ein Akku Anschluss, und evtl. könnte man die PRG Taste (GPIO1) zum "Nullen" verwenden
1. Cooles Board, besonders die deutsche Übersetzung inklusive des Codes ist vorzüglich ;-)))
2. MPU9250: Denke der 6050 ist ausreichend. Der hat eine exzellente MotionProcessingUnit mit DMP on Board. Wir haben damit experimentiert (Code ist noch da und sollte funktionieren #ifdef USE_MPU6050_MPU), aber die Messgenauigkeit, die wir uns wünschen ist nur bei der Messung zur Erdbeschleunigung genau genug. Zudem wird es das gleich richtig kompliziert. Man muss dem 6050 binäre Firmware hochladen und die dahinter steckende Mathematik ist sehr aufwändig.
Unsere Versuche mit dem Seitenruder waren aber einfach zu ungenau, da die Winkel als Integration von kleinen Beschleunigungswerte "gerechnet" wird. Ob das ein 9250 besser ist, wer weiss? Vielleicht habe ich auch nur nicht wirklich kapiert wie die DMP funktioniert, aber es gibt dazu kaum Dokumentation. Aber die I2CDev lib von J.Rowberg (https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050) gibt dazu einiges her.
3. Unser Ansatz war eben, dass wir kein Display wollen, da ich dann wieder beim Einstellen/Vermessen eines Modells ständig mit dem Sender um das Modell rennen muss (jeder der mal versucht hat ein 6m Modell in seiner Werkstatt zu vermessen, weiss was ich meine). Jetzt klemme ich den Sensor an ein Ruder setzte mich auf meinen Stuhl habe den Sender in der Hand und dem Monitor im Auge. Kann ganz entspannt alles Einstellungen machen, die Ruderwege kontrollieren, Flugphasen umschalten, Mischer setzten, Butterfly ....
Es ist ein Gedicht ;-)
Und wer jetzt sagt, er hat noch keinen Rechner in der Werkstatt, dem sage ich "du hast wohl den Knall noch nicht gehört ;-)))" (Spass).
Ein Display noch rein zu nehmen wäre, technisch sehr leicht möglich. Wenn mehrere Anfragen kommen, würde ich es für euch machen.

Gruß

Rainer
 

kalle123

User
Hallo Leute :D

Kann passieren bei dem riesigen Projekt.

Danke für die schnelle Rückmeldung. Zum Probieren komm ich erst nachher.

@Jochen, die *.bin hab ich ohne Probleme geflashed, nur noch nicht probiert.

Schönen Tag noch, trotz des Sturms.

Grüße KH
 

JueBie

User
Hallo Jochen,

kleiner Hinweis noch:

Bei mir funktioniert die Anzeige sehr gut auf PC und MAC mit Firefox Browser. Winkeländerungen werden sehr schön und reproduzierbar angezeigt.
Anzeige auf MAC Safari und auf iPhone und iPad geht nicht: es wir immer nur 0.0 angezeigt bei allen Werten, das Bewegen des Sensors wird nicht übertragen.

Grüße
Jürgen
 
Hallo Jochen,

kleiner Hinweis noch:

Bei mir funktioniert die Anzeige sehr gut auf PC und MAC mit Firefox Browser. Winkeländerungen werden sehr schön und reproduzierbar angezeigt.
Anzeige auf MAC Safari und auf iPhone und iPad geht nicht: es wir immer nur 0.0 angezeigt bei allen Werten, das Bewegen des Sensors wird nicht übertragen.

Grüße
Jürgen

Hallo Jürgen,
kann das leider bestätigen :D Anzeige am PC funktioniert, am iPhone grad nicht. Wir checken das mal

@ Rainer: im RuderWegMessSensor geht die Anzeige am iPhone noch, im RCSetupTool aktuell nicht. Falls Du mein iPhone brauchst .... ;)
 

kalle123

User
Ich seh in der github, das Rainer Änderungen vorgenommen hat.

Das ist jetzt der Hinweis und die Zeile zur Aktivierung vom MMA8451.

Code:
// !!!!!!!!!!!!!!!!!!
// if you enable this define, the lib sligthly patched lib
// Adafruit_MMA8451_Library in the provided libs directory
// has to be added to the arduino library folder
// #define SUPPORT_MMA8451

Wenn ich jetzt nochmal den master von guithub lade, ist der Ordner

/home/kalle/RcSetupTool_master/libs/Adafruit_MMA8451_Library/

leer.

Kommt da noch was? Oder muss die github erst nen update durchlaufen?

Gruß KH
 

Feigao

User
WAS HAST DU DENN GENAU IM CODE AKTIVIERT??

cu KH

Hallo Kalle,

Code:
// I2Cdev and MPU6050 must be installed as libraries, or else the .cpp/.h files
// for both classes must be in the include path of your project
#include "I2Cdev.h"
// #define USE_MPU6050_MPU
#ifdef USE_MPU6050_MPU
#include "MPU6050_6Axis_MotionApps20.h"
#else
#include "MPU6050.h"
#endif


// #define USE_MPU6050_MPU ist kommentiert und wenn ich es aktiviere um V-Leitwerke etc messen zu können klappt das Kompilieren nicht mehr. Aber wie Rainer schreibt war es ein Versuch und ist nicht fertig programmiert. Für mich kein Problem und mein Beitrag sollte nur als Hinweis aufgefasst werden.

Gruß Heinz
 
@Heinz:
Hallo Rainer,

wenn ich das aktiviere, dann hagelt es Fehlermeldungen.

Gruß Heinz
habe neue neue Version V0.15 eingecheckt, die sich nun mit enabeltem MPU Support (USE_MPU6050_MPU) bauen läßt, aber der Code ist wirklich nicht sauber getestet und übernehme keine Garantie ;-). Du darfst damit gerne herum experimentieren.


@Kalle:
Wenn du für den MMA8451 bauen möchtest, nimm doch bitte die Lib aus von https://github.com/Pulsar07/Adafruit_MMA8451_Library. Das ist eh, die primäre Quelle. Habe das libs-Verzeichnis wieder aus dem RcSetupTool entfernt.


Bzgl. Mac/Safari muss ich mir was einfallen lassen, da ich diese Platform nicht da habe. Werde es aber die Tage zum Laufen bringen ;-)

Gruß Rainer
 
Ansicht hell / dunkel umschalten
Oben Unten