Crazy 1.5" Nanocopter

#1
Hallo,

durch das Crazyflie-Projekt inspiriert hab ich mit mit einem Kollegen daran gemacht selber einen kleinen Nanocopter zu bauen. Wir sind beide nicht so die Überchecker in Elektronik, aber ein paar Grundlagen haben wir uns durch Tun lernt man ja bekanntlich.

Nach längerem Suchen haben wir als Motoren Silverlit X-Twin Motoren (amazon) gewählt bzw. später die Crazyflie Ersatzmotoren bei seeedi.com in Shenchen bestellt. Wie vermutet scheinen das dieselben Motoren zu sein. Einer wiegt ca. 2g und bringt um die 9g Schub (bin mir grad nicht mehr so sicher ob wir die 2g in die Messung miteinbezogen haben) direkt an 4.5V.

Als Flight Control haben wir eine Acro Naze gewählt, weil ich damit auf meinem großen Quad gute Erfahrungen hab, sie unschlagbar günstig ist und die MCU Raum für rechenintensive Experimente lässt (Kalman-Filter etwa). Sie ist zwar klein aber dick und bringt doch eher schwere 6g auf die Waage.

Das Hauptproblem war und ist immer noch die Entwicklung einer geeigneten Motorsteuerung. Wir haben uns an der des Crazyflie orientiert und, genau wie die anscheinend auch, auf Glättungskondensatoren für das PWM-Signal verzichtet. So sieht der Original-Schematic von Bitcraze aus:



Das haben wir daraus gemacht:





Allerdings hat das Crazyflie-System eine eigene Spannungsregelung, ich hab nicht ganz verstanden ob die nur für die Elektronik (MCU, etc.) ist oder auch die Spannung für die Motoren stabilisiert, darauf komm ich gleich zurück.

Jedenfalls, sieht der derzeitige Prototyp (jaja, es gab noch missratenere davor...) so aus. Wir haben einfach die das Naze Board und die Motorsteuerungsplatine mit Nylonschrauben geschient und die beiden mit spiegelverkehrten male-famale Headern zusammengesteckt:









Zur Programmierung schreib ich vielleicht morgen ein bisschen mehr. Erstmal nur so viel: Man muss die Firmware ändern, und zwar muss man die Wertebereiche für PWM-Frequenz und obere/untere Grenzen für das max/min Signal auf die Regler ändern, da man ja direkt die MOSFETs ansteuert und nicht codiert irgendeinen Mikrocontroller auf den Brushless-ESCs. Die entsprechenden Werte kann man dann im CLI anpassen. Ich habe mehere PWM-Frequenzen getestet. Der Einfachheit halber hab ich die Clock auf 1MHz gelassen, die PWM-Frequenz für die Motoren auf 500 (=500 pro 1 Million Clockzyklen) gestellt und die minimalen Ansteuerwerte auf 0 (bzw. 1000) und 2000 (Clockzyklen). Ich hoffe ich habe nichts durcheinander gebracht, ist ne weile her und ich hab es gerade aus dem Kopf rekapituliert. Das Signal sieht am Oszilloskop dann so aus, wie ich es erwartet hatte. 3.3V PWM zwischen 0 und 100% bei 2ms Periodendauer.



Es ist jetzt nicht so, dass der Prototyp gar nicht funktionieren würde, allerdings funktioniert er nur unter nicht erwarteten Umständen und dann nicht ganz so wie er sollte. Mit allen Motoren angeschlossen (und Minimalansteuerung 50%) springt das Board erst richtig an bei 7.5V ausm Netzteil. Gibt man an der Funke Vollgas würde der kleine auch (gerade so) abheben (bei satten 28g ohne Akku...), allerdings nur unter turbulenten Bedingungen. Die Regelung funktioniert nicht. Was auch erstmal verständlich ist, schaut man sich die crazy Sensorenausschläge an. Also haben wir den Lowpass erhöht und den P-Wert für Roll erniedrigt. Allerdings macht er dann immer noch Probleme.

Was uns dann auffiel war, dass das Eingangssignal von der Funke im MultiWiiConf auch keineswegs so konstant und ruhig ist wie eigentlich (z.B. bei meinem großen Copter). Das Signal wird ruhiger je weniger Motoren angeschlossen sind. Dass das Magnetfeld der Motoren der Verursacher ist schließen wir aus, da der Abstand zum Empfänger oder Board keine Rolle spielt. Achja, schließt man alle Motoren an, ist die gesamte Stromaufnahme maximal 1.6A, schließt man nur einen an, ist sie bei 0.9A, was auch viel eher den Spezifikationen entspricht (0.8A, sind keine Motoren dran, zieht das Board trotzdem 0.1A)

Allerdings kann man mit dem Multimeter an der Versorgungsspannung brutale Schwankungen (Einbrüche) beobachten, die soweit ich das verstehe nicht nur die Funktion der Motoren beeinflusst, sondern auch die des Naze Boards.

Mein erster Gedanke: Kondensatoren. Nur wo? Laut Simulation in Spice könnte man zumindest Spannungsspitzen an den Motoren stark einschränken, wenn parallel zu Motor bzw. Freilaufdiode eine Kapazität zwischen 100 und 1000µF hätte. (Letztere hatte ich eigtl. eingeplant, doch im Katalog sahen die nicht so groß und schwer aus wie dann am Ende auf dem Tisch...). 100 µF gibts SMD-Kondensatoren mit afaik 16V Spannungsfestigkeit.

Aber das ist wieder rein spekulativ. Hat dazu jemand eine fundierte Meinung? Ich denke dass das Projekt durchaus noch zu retten ist, auch wenn wir nochmal eine neue Platine ätzen müssen. Allerdings würden wir zumindest diesmal gerne vorher klären was genau am Design zu ändern ist ^^

Ich kann vermutlich erst morgen wieder hier vorbeischauen. Falls weitere Informationen gewünscht sind, bitte fragen. Ich bin nicht wirklich gut darin alle wichtigen Informationen aus dem Kopf zu rezitieren.
 

Anhänge

FPV1

Banggood

Oben Unten