Verkabelung und erster Motortest des Hexakopters

Angekommen auf dem aufgeräumten Schreibtisch, ;-) ist es an der Zeit mal zu sehen, ob die Ebay No-Name ESCs gut funktionieren. Hierzu wurde für das bekannte STM32F4 Discovery-Board Code geschrieben, der die erforderlichen Signale an den ESC sendet. Die „Befehle“, also die Geschwindigkeit, wird hier über die USB/serielle Schnittstelle und ein Terminmalprogramm vom Mac zum STM32F4-Board gesendet. Dieses gibt dann per PPM (ähnlich PWM) die Signale an den ESC. Der ESC ist die mit gelbem Schrumpfschlauch überzogene Platine unten in der Mitte auf dem Bild.

 

Das Video dazu gibt es auch hier!

Die ESCs wurden zuvor noch mit Goldsteckern versehen. Um diese ordentlich löten zu können (dafür braucht man schon mal 400° an der Lötstation!), ist ein Loch in einer Holzleiste sehr hilfreich. Anfassen möchte man die Stecker beim Löten eher nicht! ;-)

  

Nun alles verkabelt…

Und „Gib ihm!“. Okay, natürlich nur soviel, dass er nicht abhebt. Die „Geschwindigkeit“ der Motoren, werden simpel im Terminal-Programm eingegeben.

 

 

Video gefällig? Bitte sehr!

Und hier noch einmal als Stillleben… (lustig, drei L)

Zwischenschritt: Analyse von Motorverhalten

 Beim Umstellen der seriellen Funktionen auf ASCII-Klartext-Anweisungen anstatt binärer Daten, stellte sich heraus, dass die Motoren nicht immer gleich auf die selben Anweisungen reagierten. Um sicher zu gehen, dass es kein Hardwarefehler ist – und weil ein Programmfehler nicht feststellbar war – wurde kurzerhand ein kleiner Analysestecker gebaut und alle Verbindungen insgesamt aufgetrennt um jedes elektrische Modul für sich sauber zu testen. Und so sah der Test dann aus:

  

Wie mah sieht zeigt die grüne LED den Zustand des betreffenden Portbits des Atmel an. Zum einfacheren Testen wurden einfach ein paar LEDs mit je einem 1,5 k Ohm Vorwiderstand gegen Masse auf den betreffenden Pfostenverbinder gelötet:

  

Das funktionierte offenbar wie gewünscht. Anschließend wurden umgekehrt die Eingänge der Motorcontrol-Boards jeweils per Drahtbrücken auf high gesetzt um zu sehen, ob die Motorcontrol-Boards beide ordentlich funktionieren. Das Wichtigste dabei: Eine ordentliche und aufgeräumte Testumgebung! 

  

Spaß beiseite. Hintergrund dieser wilden Verkabelung ist natürlich, dass das Board "vor Ort" also in der Originalumgebung "im Roboter" getestet werden soll, also mit der gleichen Spannungsversorgung etc. Also wurde die Platinen nur soweit gelöst, dass man an die betreffenden Stecker ordentlich ran kommt und etwas unter die Platinen gelegt, damit es keine Kurzschlüsse gibt.

Nun wurden endlich auch die letzten Stecker und Kabel bei der Gelegenheit beschriftet – wo sowieso schon mal alles auseinander gebaut war:

    

Ergebnis: Interessanterweise wurde kein Fehler gefunden und nach dem Zusammenbau funktionierte alles wie gewünscht – ohne was geändert zu haben. Irgendwie seltsam… 

Meanwhile: checking of the motor behavior

 After changing the serial method to transceive ASCII clear text instructions instead if binary data, I found out that that the motors do not react the same when using identical instructions. To ensure that this is not due to a hardware error – and since it does not look like a software error too – I built a small analysis connector which disconnects all connections at all to test every electrical module  seperately. This is how the test looked like:

 

As you can see the green LED shows the state of the corresponding Atmel port bit. For easier testings I simple connected some series resistors of 1.5 k Ohm in line with some LEDs connected to the common ground – with 7-segmend-LEDs, to be more precise. These were than directly soldered on the board connecter:

 

This stuff worked as expected. After this the input ports from the motor control boards were set to high (one after another) to check of these boards work as expected. The most important thing when testing things like this: a wel organised and tidy working environment! 

 

To be honest the reason for this wild flying wires here are was that I had to test this directly at and close to the robot. Since I wanted to have a realistic test case with the original power supply etc. This is why I unmounted the PCBs only this far that I was able to connect all relevant connectors and not resulting in a short circuit.

Using this opportunity I finally labeld the last connectors and cables with this DYMO stuff – since at least anything was disassembled at this moment:

   

Result so far: No error found. After reassambling everything, all motors worked like they should – allthough nothing was changed. Strange…. 

Ruhe in Frieden – RN-MEGA 2560 Modul…

Was so passiert, wenn man einen Stecker falsch beschriftet und leichtfertig sich auf die (falsche) Beschriftung verlässt sieht man in den nachfolgenden Bildern. Leider wurden hier für einige (Schreck)Sekunden 12V auf das Atmel-Board gegeben, auf welches nur 5V verträgt. Das Ergebnis sieht dann (nach einen kleinen, aber feinen Rauchwolke so aus:

   

Für diejenigen, die den Atmel von so nah noch nie gesehen haben: Der Hügel sollte dort auf dem Bild nicht zu sehen sein…

Ein paar Tests (und Drahtbrücken) später…

…stellte sich erfreulicherweise heraus, dass die beiden nachgelagerten Motorcontrol-Boards keinen Schaden erlitten haben… Glück gehabt.