LCD Sparkfun am Arduino - keine Anzeige

izapper

- The Experience -
#1
Hallo zusammen,

bin auch relatin neu hier. Da ich viele Probleme habe, meinen neuen MultiWii-Copter (X) zu konfigurieren, ohne dass wieder die ESC's abrauchen, wollte ich nun mal das Standard LCD-Board von Sparkfun 5V RX,GND,VDD am Arduino anschließen.
Problem: Obwohl ich es beginnend am zweiten FTDI-Pin des Arduinos angeschlossen habe (GND, VCC, RXI) via 3-pol Kabel zum LCD-Board Rot, kommt nach dem Einschalten ganz kurz die Sparkfun Versionsmeldung und dann nur zwei kleine senkrechte Balken an der 1.Stelle links oben. Nach 1x Reset drücken am Arduino-Board (16Mhz,5V,ProMini) werden weitere zwei kleine senkrechte Balken im 2.Zeichen angezeigt, mehr nicht. Auch habe ich schon probiert, durch die Knüppelbewegung: Throttle (Bottom), Nick nach vorne, Gier nach rechts, ändert aber nichts (sollte doch das LCD starten und in den Konfig-Modus gehen). Muss ich in der config.h (MultiWii_1_9) irgendwas vom Standard ändern ?

Irgendwas mache ich doch da falsch, das gar nichts angezeigt wird, oder liegt es evt. an irgendeiner Einstellung (Geschwindigkeit..),

bitte um Hilfe, da mein X-Copter nach dem Einschalten nur schnell hintereinader piept (ESC's = Throttle stick is not in bottom (lowest) position). Ist er aber und wenn ich einen der ESC's direkt via Throttle-Signal vom Empfänger ansteuere, funktioniert er prima, nur nicht vom Arduino (z.B. links vorne Pin3) nicht. Lt. GUI ist das Throttle Signal aber knapp unter 1000 und ich habe ThrottleMin auf 1100 bzw. 1150 eingestellt. Bei anderen ESC's ging es schon einmal kurzzeitig.

Ich möchte jetzt erst mal das Display zur Anzeige bringen, um aktuelle Werte anzeigen zu lassen.
Ich habe so das Gefühl, daß evt. der Arduino defekt ist. Wie kann ich testen, ob der noch funktioniert, bzw. gibt es z.B. ein Testprogramm (.pde) zum uploaden. Es leuchtet nur noch die einen kleine LED am Arduino zwischen dem Atmel und dem 5pol-Chip.
 

kalle123

Jugend forscht ....
#2
Warum willst du denn eine neue Baustelle mit dem seriellen LCD aufmachen?

Schau doch erst mal, was mit dem pro mini ist! In der arduino IDE ist z.B. ein sketck BLINK als einfacher Test. LED soll 1 x pro Sekunde blinken.

Wenn ich nen neuen pro mini rein krieg, spiel ich den auf, um zu sehen, ob das board OK ist.

Und dann konzentriere dich auf arduino IDE, multiwii GUI und schau, dass das funktioniert. LCD seriell kommt später, viel später ....
 

izapper

- The Experience -
#3
Hallo,

vielen Dank für den super Tipp !

Ich habe das Blink-Sketch einmal raufgeladen und zuerst dachte ich, es ändert sich nichts, da nur die rote LED weiterhin ständig leuchtet, die PIN13-LED bliebt dunkel. Ich habe jetzt das gesamte ProMini328 Board einfach einmal ausgesteckt und lose nur noch am FTDI-USB Port des Laptop hängen - und siehe da, zum Glück blinkt jetzt die LED13 auf dem 328-Board, schon mal eine Erleichterung denke ich.

Wie kann ich prüfen, auf welcher Wert der Arduino-Pin für Throttle(Gas) gerade hat ?

Nach dem neuen Aufspielen der Multiwii_1_9 pde 0023 leuchtet die Pin13-LED ständig (Board hängt nur am FTDI, ist noch nicht nicht eingesteckt auf dem Warthox-Board). Jetzt stecke ich FTDI ab und setze das Board wieder ein und diese Pin13-LED geht aus. Ist das normal oder muss hier ein anderer Fehler vorliegen ?
 

izapper

- The Experience -
#4
Wenn ich das FTDI-USB anschließe und zusätzlich eine externe 5V Spannungsquelle (+/-) da wo die ganzen Servostecker vom Empfänger stecken (Warthox Board), dann wird im GUI nur die Knüppel richtig angezeigt und nur das Gyro funktioniert einwandfrei. Ich weiß nicht, warum oder wann der ACC (NK am WMP angeschlossen) überhaupt Werte liefern soll. Die internen Pullups (in der config.h) sind mit // deaktiviert und an auf dem Warthox-Board habe ich zwei 4,7kOhm Widerstände von den beiden I2C-Anschlüssen: SCL und SDA nach +5V verbunden, sollte doch so richtig sein. Es hängt am I2C Bus auch noch ein BMP085 Drucksensor-Breakoutboard v. Sparkfun dran. Aber auch wenn ich dieses Baro-Board mit den vier Anschlüssen ausstecke, ändert sich nichts. Baro-Board BMP085-Breakout Sparkfun (SDA,SCL,+3,3V vom Warthox-Board, GND). Dieses Luftdrucksensor-Board habe ich gem. Schaltplan über die Spannungswandler-Platine (Sparkfun Level-Converter v10) HV 5V/LV 3,3V am I2C-Bus hängen.
Im Moment hängt nur am Pin3 3polig ein einziger ESC (vorne links). Wenn man den LiPo an +/- dieses ESC (vo-li) anschließt, piepst dieser nur sehr schnell im ca. 0,25sek Takt - lt. ESC-Fehlercode: ==> Throttle-Stick is not in lowest(bottom) position. Ich verwende im Moment folgende ESC's: Turnigy 30A von Hobbyking-DE-Warehouse mit 5V BEC. Das Signal am Pin3 muss wohl irgendwie fehlerhaft sein, sonst würde der ESC es ja als i.O. erkennen und korrekt piepsen.

Wo könnte der Fehler liegen, habe ich evt. meinen ACC (Nunchuk) geschossen.

Vielen Dank im voraus für Eure Hilfe !
 

Desaster

Erfahrener Benutzer
#5
Moin
wegen den Piepen der Esc stell ma den Min.command runter, in der config .h
is normal auf 1000

/* 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 */
#define MINCOMMAND 930
 

izapper

- The Experience -
#6
Hallo Desaster,

Klasse !!! Danke für den super Tipp !
Hab ich heute gleich ausprobiert und siehe da: der ESC piepst normal, d.h 3x für die 3 Zellen und dann einmal.
Habe danach gleich mal alle 4 ESC's am Warthox-Board angeschlossen und weiter getestet:
Auch habe ich mir zwischenzeitlich einen Adapter zwischen Arduino-Board und FTDI-Programmieradapter
ohne den dritten Pin (+Vcc 5V), sodaß ich nicht mehr in Verlegenheit komme, gleichzeitig das FTDI-Kabel und eine
externe Stromquelle anzuschließen. Das hat auch schon wahr Wunder bewirkt: Der ACC (3Achs-NK) meldete sich
in der GUI wieder, inklusive Gyro und sogar der Baro (BMP-085 Luftdrucksensor) lieferte Werte um die 600 +/-.

Für reine GUI-Tests habe ich mir aus einem Blei-Gel-Akku + Spannungsreglerplatine mit Ausgang 5V stabilisiert
per 2-Pin-Buchse eine einfache Versorgung für die Elektronik gebastelt. Ich hatte dann noch ein paar Probleme, da ich durch herumprobieren dummerweise in der Fernbedienung (TH-9X) den Mittelwert und Expo-Werte der Knüppel verstellt hatte. Nach Mittelpunkt-Justage sind diese wieder einwandfrei bei rd. 1500 sowie oben bei knapp 2000 und unten bei knapp unter 1000. GUI zeigt das ja auch schön an. Jetzt noch kurz auf ACC calibrate geklickt, nach 3sek waren die Werte bei 0 und nach ~20-30 sek Wartezeit bis der ACC wieder reagiert dann mal folgenden Test gemacht (linke Hand Copter nach oben halten, rechte Hand Fernbedienung - Augen auf GUI):

TEST: THR-Knüppel nach rechts (X-Copter) Motoren starten und sind im rlauf, bis auf einen Motor: Links hinten, der spring fast nicht an bzw. bei mehr Gas/THR lief er nur sehr langsam - vermutlich MIN/MAX im Regler nicht mehr gespeichert.
Was mir allerdings dann auffielt: wenn ich dann ein bisschen mehr Gas gebe (THR) und so lasse, wird der Propeller vorne rechts immer schneller und schneller obwohl ich den Copter gerade halte und sich nichts ändert (ca. bei 1170), muss dann gleich Gas ganz weg nehmen. Bei ein bisschen Gas reagieren die Propeller grundsätzlich schon und versuchen gegenzusteuern. Aber irgendwie sind die Drehzahlen zueinander noch nicht ganz gleich. Vielleicht bringt es was, wenn ich die PID-Werte mal poste. Sind aber die Standardwerte, nach Installation (habe noch nichts geändert).
Super ist aber schon einmal, daß die ESC's funktionieren, Signale vom Arduino bekommen, nichts defekt ist, puhh.
... jetzt erst mal wieder alles aufladen ... bis zu den nächsten ..Trocken-Tests.....
 

Desaster

Erfahrener Benutzer
#7
Hallo

der Motor links hinten ,macht der die Stromversorgung fürs Board ?Wenn ja wird er sehr Warm gl. nach einschalten 20-30 sec. ?
Sonst nochma Min command 10-30 rauf.
Alle 4 esc richtig programmieren.
Und für Gasweg einlernen,alle 4 esc auf einma (Stiftleiste löten) aber nur von ein esc strom für Empfänger.

Bin mir nicht sicher ob du nicht 2k2 pull ups brauchst auf der 3,3v schiene.
Bild von der Gui , und bild des boards und Sensoren is besser als Pid -werte erstma .

Und für die x9 Kalibration der knüppel, krieg die Datei nicht hochgeladen.

Turnigy 9x v2 Calibration :

Push and hold the right stick horizontal (lower) trim tab to the left, and the left stick vertical (side)
trim tab up.

While holding, turn the TX power switch on.

You will get a screen that shows the version number of the firmware, with four zeroes (0000) at the
top of the screen.

Center both sticks in their range in all axis, and press the menu button until it beeps and release. The
screen number will change to 0001.

Move the right stick to the upper right corner, and press menu, and you should get a beep, and the
number on the screen will change to 0002.

Put the right stick in the lower left corner, and press menu, and get a beep, and the number will
change to 0003.

Release the right stick, and put the left stick in the upper right corner, and press menu until the
number changes to 0004.

Put the left stick in the lower left corner, and press menu again until the number changes to 0005.

Center both sticks, and press menu until you hear a beep.

Press Exit.

You are done calibrating the sticks.
Confirm calibration by entering Menu>Settings>Display


So das wars erstma und Wech
 

izapper

- The Experience -
#8
Hallo Desaster,

der Controller vorne links macht die Stromversorgung für's Board. Im Vergleich zu den anderen, die ja keinen Strom liefern, wird er nur geringfügig wärmer, vielleicht lauwarm, aber das ist glaube ich ok, es hängen ja doch ein paar Platinen dran (Arduino, 3,3V-Spannungsregler am Warthox-Board, WMP, NK, BMP085-Baro + LLC sowie der Empfänger.

Alle 4 ESC's habe ich nochmals korrekt eingelernt (Range MAX Throttle / MIN Throttle), habe mir eine kleine Platine mit 4x3 Stiftchen gelötet - danke für den super Tipp ! - und nur die Massen und die Signale verbunden sowie von dem ersten eingesteckten Regler +5V dann zum Empfänger geführt. Die 4 ESC's konnte ich damit prima auf einmal einlernen.

Habe dann nach Zurückstecken aller Stecker auf's Board einen Test mit LiPo-Akku gemacht und GUI (FTDI-Kabel ohne +Vcc) mitlaufen lassen - Ergebnis:
Beim Anlassen der Motoren (LI-Knüppel unten, 1x kurz nach rechts, wieder unten-mitte zurück) liefen wieder, wie zuvor, nur die drei Motoren an (vorne-links, vorne-rechts, hinten-rechts) der hinten-links Motor drehte wieder nur sehr langsam. Wenn ich dann so auf 1100 Gas gab, drehte auch der hinten-links genauso schnell mit und dann auch gleich, wenn ich wieder zurück auf rlauf ging (ca.1000). Nach mehrmaligen aus- und wieder Motoren an, habe ich wenige Male gesehen, daß auch gleich der hinten-links richtig anlief, ich denke ich muss noch einen MIN-Throttle-Wert etwas höher stellen.
Ach ja, habe spaßeshalber mal die Propellerdrehzahlen gemessen mit meinem Laser-Drehzahlmessgerät, musste dazu unter die Propeller einen Reflexiosstreifen anbringen und von oben "durch" den Propeller hab ich dann mal die einzelnen Props gemessen: wenn alle gleich drehten im rlauf kam ich auf rund 3100 U/min. Hab mal kurz höher gedreht und schon war ich bei rd. 4000 U/min, soweit so gut.

Was mir allerdings noch nicht gefällt ist, daß bei ein bisschen Gas geben der Motor vorne-rechts selbständig einfach immer höher dreht, ich muss dann gleich nach ca. 1-2 sek. Gas wegnehmen sonst zieht er vorne-rechts hoch. Kann das alleinig nur an den (vielleicht noch) falschen PID-Werten liegen ?

Da es schon 22:45 Uhr ist, will ich nicht mehr so viel Krach hier im Keller machen und werde meine weiteren Test am Donnerstag fortsetzen. ... Spannende Sache mit der Abstimmung ..... iZapper aus Kaufbeuren/Allgäu
 

Anhänge

FPV1

Banggood

Oben Unten