Der erste Versuch, einen winzigen Quadrocopter mit dem frisch auf den Markt gekommenen 6-Achsen Lagesensor MPU6050 von Invensense zu bauen ist erfolgreich über die Bühne gegangen. Die Abmessungen dieses Erstlings - mein Arbeitstitel ist Stretcho - sind mit 14 cm Maximalspannweite schon beeindruckend klein, aber der Wunsch, einen Quadrocopter mit nur 12 cm Spannweite zu bauen - und zum Fliegen zu bekommen - lauerte schon bei der Grundsteinlegung des Projektes im Hintergrund.
Spannweite, das kurz zur Erklärung, bezeichnet hier den Abstand der äußersten Spitzen der Rotoren, wenn die Rotorblätter parallel zu den Auslegern ausgerichtet sind - also genau 90° gedreht gegenüber der Darstellung auf dem Foto unten. Da unsere Quadrocopter in X-Layout geflogen werden, ist diese Nomenklatur eigentlich falsch, so gesehen ist die Spannweite (mit quer zur Flugrichtung stehenden Rotorblättern) nur 11,4 cm beim Stretcho und 9,8 cm beim Shorty (ebenfalls nur der Arbeitstitel).
Die beiden Varianten gegenüber gestellt:
Die Oberseite des sNQ Shorty sieht deutlich aufgeräumter aus als bei seinem großen Bruder, hier schlägt die mit dem Erstlingswerk gemachte Erfahrung zu. Die Leitungen zwischen Steuerung und LEDs und den Motoren sind jetzt auf der Unterseite der Platine verlegt und durch Löcher an die dafür vorgesehenen Pads geführt. Der Resetschalter ist deutlich kleiner ausgeführt und konnte ohne Strippen direkt auf der Platine an vorhandenen Leiterbahnen angeschlossen werden.
Größter Unterschied - neben den Außenabmessungen - ist der Wegfall des StepUp-Wandlers, der beim Stretcho aus der Akkuspannung 5 V für den Atmel µC erzeugt hat. Beim Shorty wollte ich untersuchen, ob der ATMega328p, in der gegebenen Schaltung, die Taktfrequenz von 16 MHz auch bei nur 3,3 V Betriebsspannung “aushält” und dabei fehlerfrei arbeitet.
Durch den Betrieb des µC und des MPU6050 mit der gleichen Spannung entfällt natürlich auch die Notwendigkeit, einen Levelshifter auf den I²C-Leitungen vorzusehen.
Nach ersten Flugversuchen kann ich die Funktion des Mega328 mit 16 MHz bei 3,3 V Betriebsspannung bestätigen. Man muss sich natürlich darüber im Klaren sein, dass der Chip dabei außerhalb seiner Spezifikation betrieben wird und niemand eine Garantie dafür geben kann, dass die Zusammenarbeit der beiden Chips und die Funktion des µC bei allen denkbaren Randbedingungen gegeben ist. Es kann durchaus sein, dass der Shorty im Wohnzimmer bei 20° prima fliegt, macht man dann die Tür auf und es kommt kalte Luft ins Zimmer, der Copter einfach abstürzt.
Nachtrag
Nach wenigen Hüpfern - zu mehr hat es beim Shorty bislang leider nicht gereicht - stellte
sich heraus, dass die Versorgung des µC mit 3,3 V doch keinen stabilen Betrieb gewährleistet. Sobald die Motoren durch Belastung Stromspitzen auf der Versorgung
erzeugt haben, hat sich der µC aufgehängt. Das äußerte sich meist so, das der sNQ mit Vollgas unter einen Schrank oder die Couch verschwunden ist und nicht mehr auf die
Steuerung reagiert hat. Dieses Verhalten verschwand erst, als ich den StepUp-Converter und den Levelshifter nachgerüstet habe.
Resummé: Der Mega328p läuft bei 16 MHz mit 3,3 V nicht stabil
.
Ein weiterer Punkt der beim Betrieb des µC mit 3,3 V Beachtung verdient, ist die Kommunikation zwischen sNQ und Rechner über die TTL Level-Seriellschnittstelle. Die Signale aus dem USB-Seriell-Adpater werden mit 5 V-Pegel auf die Leitungen gelegt. Egal mit welcher Betriebsspannung man den Mega328 versorgt, es dürfen keine Signale an die Pins des Chip gelangen, die höher als die Versorgungsspannung sind um LatchUp zu vermeiden.
Eine direkte Kopplung des Seriell-Adpaters an den sNQ kommt also nicht in Frage, die Signale vom Rechner zum sNQ müssen auf kleiner 3 V begrenzt werden.
Nun hatte ich keine Z-Dioden mit dieser Spannung in der Krabbelkiste, aber blaue LEDs. Deren Brennspannung liegt im Allgemeinen um die 3 V, also habe ich einen Zwischenstecker gebaut, der zwei Vorwiderstände und die beiden LEDs enthält um beide Signalleitungen (RXD, TXD) auf sichere Werte zu begrenzen. Die Begrenzung erfordert natürlich Vorwiderstände in Reihe mit den Signalleitungen vor den LEDs, die ich auf 390 Ω dimensioniert habe. Mit 2 V Spannungsdifferenz ergibt sich damit ein LED-Strom von ca. 5 mA. Die Datenrichtung muss beachtet werden, der Vorwiderstand muss zwischen Ausgang und LED sitzen. Für die Richtung sNQ -> Rechner müsste keine Spannungsbegrenzung eingebaut werden, der Seriell-Adapter hat keine Probleme mit zu hoher Eingangsspannung (die ist ja nur 3,3 V), aber um der Symmetrie willen habe ich beide Zweige identisch ausgelegt. Die Schaltung tut ihren Dienst wie gewünscht und die LEDs zeigen schön an, wenn Daten über die Leitung flitzen :-)
Die gleiche Problematik ergibt sich übrigens auch bei der Akkuspannungsüberwachung. Beim Stretcho wird der µC mit 5 V versorgt, die Akkuspannung konnte also ohne Probleme direkt auf den Analogeingang des µC gelegt werden, mit dem die Akkuspannung überwacht wird. Der LiPo-Akku hat maximal 4,2 V, also kein Problem. Zur Sicherheit habe ich hier aber einen Serienwiderstand eingebaut.
Beim Shorty muss hier unbedingt ein Spannungsteiler verwendet werden. Ich habe mit zwei 10 kΩ Widerständen symmetrisch auf die Hälfte geteilt. Die Bestückplätze auf der Platine sind vorgesehen.
Hier ein paar Aufnahmen der alternativen Platine.
Die Positions-LEDs fehlen noch, der Rest ist bereits funktionsfähig verdrahtet:
Der Reset-Taster verdeckt ein Pad des Beeper-Anschlusses, aber der Beeper ist sowieso fast genauso groß wie der ganze sNQ, fällt also weg :-)
Die Leitungen zu den LEDs und den Motoren werden durch Löcher nach oben geführt und angelötet:
Auf den drei Bildern oben sieht man, dass die Motorhalterungen nicht mehr, wie beim sNQ Stretcho außen geschlitzt sind um die Elastizität zum Klemmen zu erhalten, sondern innen, also vom Loch für den Motor Richtung Grundboard. Auf diese Weise bleiben die beiden Anschlusspunkte für die Positions-LED immer im gleichen Abstand, die LED kann direkt an der Platine angelötet werden und muss nicht mittels Drähten mechanisch von der Platine entkoppelt werden. Eine nicht unerhebliche Arbeitserleichterung beim Aufbau.
Der Ersatz für den Levelshifter (die beiden schwarzen Drähte) und die Verbindung zwischen 5 V- und 3,3 V-Schiene (der V-förmige Lötklecks oberhalb des blauen Drahtes).
Am linken Ende dieses Drahtes, zwischen Draht und dem Widerstand, kann man undeutlich die Trennstelle erahnen, wo mit dem Cutter die ursprüngliche 5 V-Leitung unterbrochen wurde.
Links vom linken Ende des blauen Drahtes ist die Akkuspannung mit einem Stück Draht auf den oberen Anschluss des Kondensators geführt, auch leider nur undeutlich zu sehen:
Jede der Positions-LEDs hat jetzt ihren eigenen Vorwiderstand direkt am Auslegerfuß.
Da LEDs fertigungsbedingt nie die exakt gleiche Kennlinie haben, verteilt sich bei
Parallelschaltung der LEDs, wie das beim sNQ Stretcho gemacht wurde, der Strom ungleichmäßig auf die LEDs, wenn beide an einem gemeinsamen Vorwiderstand
betrieben werden. Dieser Effekt wird durch je einen eigenen Vorwiderstand vermieden.
Um das harte Aufsetzen des sNQ zu verhindern, habe ich mit der Lochzange runde, ca. 5 mm durchmessende Pads aus dem Flügel eines alten Silverlit X-Wing ausgestanzt und mit Pattex an die Lagerschilde der Motoren geklebt:
Beim sNQ Stretcho haben wir die Motoren so weit wie möglich nach unten durch die Halterungen geschoben, weil dadurch Vibrationen durch den Motorlauf besser gedämpft oder sogar unterdrückt werden und Störungen des IMU-Chip weitgehend weg fallen. Beim sNQ Shorty kann das nur bedingt umgesetzt werden, da der Propeller links vorne durch die kurzen Ausleger den Stecker für den Empfänger tangiert. Deshalb sitzen die Motoren beim Shorty deutlich weiter oben.
Aus transparentem Schrumpfschlauch wird eine Akkuhalterung auf die Unterseite geklebt:
Der Schrumpfschlauch wurde vorsichtig um einen Akku geschrumpft, allerdings nicht bis zur vollständigen Schrumpfung, sondern so, dass der Akku noch leicht eingesteckt und rausgezogen werden kann. Dadurch sieht er etwas unförmig aus:
Die Aufnahme täuscht durch perspektivische Verzeichnung. Die Breite des sNQ Shorty beträgt mit dieser Rotorstellung unter 9 cm, Achsabstand horizontal 5,4 cm, diagonal 7,5 cm: