Shrediquette NQ

Die immer weiter fortschreitende Verkleinerung der Steuerungsplatinen für X-Copter (X steht hier als Variable für Tri, Quadro, Hexa, Octo, Dodeca, Icosahedro, ... ;-) hat Sven, einen Bekannten aus dem RoboterNetz-Forum, auf die Idee gebracht, einen wirklich kleinen Copter selbst zu entwerfen. Da ich in Sachen “kleine Steuerungsplatinen” schon einen gewissen Vorlauf aufweisen kann, hat er mich Anfang Mai 2011 gefragt, ob er die Schaltung meiner IMUguide V3 für seine Shrediquette NQ verwenden darf.

Das steht natürlich außer Frage, und da mich die Idee sofort angesprochen hat, durfte ich mitmachen :-)

Wir haben gemeinsam den technischen Rahmen abgesteckt, mögliche Bauteile und Schaltungsdetails erörtert und allgemein noch ein bisschen gefachsimpelt, dann ging es los.

Ich bin in die Startlöcher gestiegen, ein Layout zu entwickeln, das alle - in Worten: wirklich alle - notwendigen Elemente für einen Quadrocopter an Bord hat und das zusätzlich vergleichsweise winzig ist, Sven macht sich parallel an die Aufgabe, die Software der Shrediquette auf die neue Aufgabe zu trimmen.

Svens Plan sieht vor, Abmessungen in der Gegend von maximal 12 cm zu erreichen, die Ausführung der Platine ist dabei erst mal zweitrangig, kann also durchaus auch doppelseitig ausgeführt werden. Nicht mein Ding, aber mal sehen...

Die Motorisierung soll analog zu den bekannten X-Wing oder Silverlit Flugmodellen mit Gleichstrommotoren erfolgen, die über Transistoren oder FETs direkt vom AtMega328, dem alten Bekannten aus der Shrediquette, angesteuert werden. Befeuert wird der Quad von einer einzelnen LiPo-Zelle, als Fernsteuerung kommt ein normaler Fernsteuersender zum Einsatz.

Das Software-Grundgerüst kommt von Williams Shrediquette und wird von Sven um Routinen erweitert, die anstelle des analog angeschlossenen IMU-Würfels die onboard eingebaute IMU MPU6050 ansprechen, die wir von den IMUguide-Entwürfen her kennen, um die Bewegung des Quadrocopters im Raum zu erfassen.

Dafür werden die Teile der Software entfernt, die für die Steuerung des Lenkservo in der Shrediquette verantwortlich zeichnen. Weiterhin müssen so ziemlich alle Signale auf andere Pins des Mega328 umgelegt werden, zum Einen, um besser zur Anordnung der Peripherie auf der Platine zu passen, zum Anderen, weil Funktionen anders gelöst werden. So wird der I²C-Bus des Mega328 weiterhin benötigt, aber nicht mehr, um die Motoren mit Sollwerten zu versorgen, sondern um die ACC- und Gyro-Werte aus dem IMU-Chip auszulesen. Im gleichen Zug wird die bisher implementierte Software-Variante des I²C auf die vorhandenen Hardware-Pins umgelegt. Diese Änderung auf Hardware-I²C hat William für seine X-Copter (auch hier steht X wieder als Variable für die verschiedenen Layouts) bereits vor einiger Zeit erfolgreich umgesetzt.

Dazu kommt noch die Ansteuerung der Motoren mit PWM-Signalen, eventuell ein Piezo-Piepser für Meldungen an den Piloten und ein paar LEDs für die Lageerkennung im Flug. Diese LEDs erscheinen uns auf Grund der geringen Größe des Fluggeräts wichtig und die Ansteuerung per Microcontroller dient der Stromeinsparung. Bei einem Akku mit 150 mAh machen 20 mA für Dauerlicht oder gemittelt 1-2 mA für Blitzlicht einen gewaltigen Unterschied.

Die verschiedenen Softwarestände sind auf einer eigenen Seite zusammengefasst.

Die Befestigung der Motoren erfolgt durch Klemmung direkt in der Platine. Diese Art der Befestigung habe ich bei einem ähnlichen Projekt gesehen und für gut befunden.

Für Sven kommt als Empfänger der 35 MHz Empfänger Pico 4uP/V4 von ACT in Frage. Meine Idee ist, alternativ ein Infrarot-System wie bei den oben schon erwähnten Silverlit Fluggeräten vorzusehen. Allerdings muss der Sender mindestens fünf Kanäle zur Verfügung stellen und außerdem qualitativ hochwertig sein. Es kommt also nur eine Erweiterung des normalen Funkfernsteuersenders mit einem Infrarot-Sendeteil, zum Beispiel über die Lehrer-Schüler-Buchse, in Frage. Der Infrarot-Empfänger stellt dann idealer Weise bereits das von der Steuerung erwartete, serielle Summensignal zur Verfügung.

Ob und wie das implementiert werden kann, wird an anderer Stelle beschrieben.


Nachdem die technischen Randbedingungen in enger Zusammenarbeit soweit fest geklopft sind, geht es in die erste Runde des Schaltungsdesigns und der Entflechtung.

Ich bin Fan von einseitigen Leiterplatten, solange das ohne Krämpfe machbar ist. Einen nutzbaren Grundstock habe ich in Form meiner IMUguide Varianten zur Verfügung, lediglich die Kantenlängen mussten angepasst werden, damit der Grundkörper quadratisch wird. Ich habe mir verkniffen, die kurze Kante als Referenz zu wählen, sondern bin den Weicheiweg gegangen und habe mich für die lange Kante entschieden. Damit kommen wir auf 36 x 36 mm für den Grundkörper der Steuerung.

Ein nicht unerheblicher und oft unterschätzter Aufwand bei einem Design dieser Art besteht darin, geeignete Bauteile und einen Händler zu finden, der diese Bauteile auch im Sortiment führt. Meist enthalten dann die Bauteilbibliotheken des Layoutprogramms Eagle auch kein entsprechendes Bauteil, so dass hier selbst Hand angelegt werden muss. Das frisst eine Unmenge Zeit. Zum Glück gibt es (zur Zeit) noch keine Deadline für das Projekt :-)

Der erste Wurf in Sachen Layout sieht so aus:

IMUguide V3.1.4

Man sieht hier schon, dass durch die vorwiegende Verwendung von SMD-Bauteilen der Größe 0603 (diese Nummer gibt die Außenabmessungen des Bauteils in mil (1/10 Zoll) an, mithin also ca. 1,5 x 0,7 mm) eine Menge Platz entstanden ist. In Folge habe ich sofort wieder die drei von William ursprünglich vorgesehenen LEDs eingebaut :-)

Mit für den Platzgewinn verantwortlich ist Svens Idee, die notwendigen Stecker im Raster 1,27 mm zu verwenden. Den im Layout eingezeichneten Rahmen - eine Reminiszenz an in den Libs fehlende Bauelemente - lassen wir natürlich weg, der nimmt nur Platz und bringt Gewicht. Statt dessen kommen normale, einreihige Stiftleisten und passende Buchsenleisten zum Einsatz.

Der IMU-Chip soll seinen Platz im Zentrum des Copters finden, was bei der Platzierung der restlichen Bauteile leichte Einschränkungen bringt. Die oben gezeigte Version ist bereits der dritte Ansatz für die Anordnung von IMU-Chip, Levelshifter und Controller zueinander, erwies sich als optimal und konnte für die weiteren Iterationen beibehalten werden.

Der nächste Schritt geht dann schon in Richtung flugfertiges Gerät:

IMUguide V3.1.4 mit Motorhalterungen

Die rechts am Rand der Platine sichtbare Reihe von runden Lötpads ist der SPI-Programmieranschluss, dessen Layout ich so gewählt habe, dass der Programmieradapter für die I²C-PWM-Konverter von William hier ohne Änderung für die Initialprogrammierung des Arduino Bootloaders eingesetzt werden kann.

Einige Kleinigkeiten fehlen hier noch, so sind z.B. noch keine Anschlussmöglichkeiten für die Motoren vorhanden und die Beschriftung fehlt.

Die sind in der nächsten Stufe dazu gekommen, in der auch der Ersatz des monolithischen Levelshifters von MAXIM durch diskrete FETs nach einer Applikationsschrift von NXP (ehemals Philips) vorgenommen wurde:

IMUguide V3.1.5

Auf den Auslegern habe ich Leiterbahnen vorgesehen, die für die Stromversorgung der Positions-LEDs, oder alternativ der Motoren, verwendet werden können. Die runden Ösen an den Enden der Ausleger sind zwischen den beiden Lötpads am äußeren Ende geschlitzt, so dass die beiden Enden elastisch ausweichen können, wenn der Motor eingesetzt wird. Diese Klemmung reicht vermutlich nicht, um die Motoren im Flug sicher zu fixieren, hier sollte mit einem Tropfen Sekundenkleber oder noch besser mit Pattex nachgeholfen werden.

Ebenso darf die Positions-LED nicht auf beiden Seiten direkt auf die Lötpads aufgelötet werden. Eine Seite sollte mit einem weichen oder zumindest biegbaren Draht angeschlossen werden, damit Bewegungen der beiden Enden der Klemmung gegeneinander, z.B. durch Erwärmung, nicht zum Bruch des LED-Körpers führen. Der Durchmesser der Löcher ist mit 5,9 mm so bemessen, dass die 6 mm durchmessenden Motoren “saugend” bis klemmend eingepasst werden können.

Eine kleine Anekdote am Rande: Ich war heilfroh, Eagle die Ausleger mit den Ösen für die Motoren halbwegs vernünftig abgetrotzt zu haben und insgesamt sehr zufrieden mit dem Ergebnis.
Da aber bekanntlich scharfe Kanten an den Übergängen von der Grundplatine zu den Auslegern die Konstruktion schwächen würden, hat Sven vorgeschlagen, hier weiche Übergänge einzubringen. Hier das Ergebnis:

IMUguide V3.1.5, runde Übergänge

Wir haben bei der Betrachtung “Ecken oder Rundungen” wohlwollend außer Acht gelassen, dass bei unserem Projekt bei den gegebenen Abmessungen (und damit vorhandenen Hebeln und Massen) und den Leistungen der Verwendung findenden Motoren eigentlich keine Handstände in Sachen ungewünschte Sollbruchstellen notwendig sein sollten. Aber der Gedanke kam auf und wurde folgerichtig umgesetzt.

Konsequenter Weise werden also die Rundungen auch an den äußeren Ecken eingebaut. Im nachfolgenden Bild ist das bereits umgesetzt, hier ist aber die Variante mit dem monolithischem Levelshifter von MAXIM abgebildet:

IMUguide V3.1.5L, mit Levelshifter von Maxim

Da der Flächenverbrauch des Maxim-Bausteins deutlich kleiner ist als bei der diskret aufgebauten Version mit zwei FETs, konnte ich hier noch einen zweiten Ausgang für die Positions-LEDs (oder was auch immer uns zum Schluss dafür einfällt) und Vorwiderstände einbringen. So kann z.B. die Beleuchtung vorne mit weißen  und hinten mit roten LEDs ausgeführt werden, die ja eine unterschiedliche Brennspannung haben und damit unterschiedliche Vorwiderstände bedingen. Hier das zugehörige Schaltbild. Die kompletten Designunterlagen werden auf einer eigenen Seite zur Verfügung gestellt.


Meinen nächsten Gedanke zum Teilthema Ausleger hat Sven in einen Plan gegossen...

Doppelausleger mit gerundeten Übergängen

Der gedankliche Ansatz hier war, die beiden Varianten (lange bzw. kurze Ausleger um maximale äußere Abmessungen von 14 bzw. 12 cm zu erhalten. Wohlgemerkt, diese Maße beschreiben die Diagonale mit parallel zu den Auslegern stehenden Propellern!) mit einem Platinenlayout zu erschlagen.

Möchte man die Stretch-Variante realisieren, werden die beiden Halbkreisbögen abgesägt, die Short-Variante bekommt man, indem der äußere Kreis entfernt und der Steg durch den inneren Kreis ausgebohrt oder -gefräst wird. Für jeden Geschmack etwas dabei :-)

Die im Bild oben rot angedeuteten Rundungen an den Knicken sowie die beiden Ausleger-Längen hat Sven in liebevoller Kleinarbeit auf die Platine übertragen.

IMUguide V3.1.5 mit variablen Auslegern

Um einen Eindruck der Proportionen zu erhalten hat er auch zwei 3D-Modelle der Varianten erstellt.

Hier die 140er Version:

Shrediquette NQ - 140
Shrediquette NQ - 140

Und hier die 120er Version:

Shrediquette NQ - 120
Shrediquette NQ - 120


Das Schaltbild der oben zuletzt dargestellten Platine sieht folgender Maßen aus:

IMUguide V3.1.5 Schaltbild - Click für volle Auflösung
       Click auf die Zeichnung für volle Auflösung

Die kompletten Designunterlagen aller sNQ-Varianten sind auf einer eigenen Seite zusammen gefasst.

Wie auch schon bei den ersten IMUguides haben wir hier das Problem der unterschiedlichen Versorgungsspannungen für Controller und IMU-Chip zu lösen. Zusätzlich kommt aus Gewichtsgründen nur eine einzelne LiPo-Zelle für die Stromversorgung in Frage. Wir müssen also aus der LiPo-typischen Bordspannung von  3,7..4,2 V zuerst einmal die 5 V Versorgung für den Controller erzeugen und dann daraus die 3,3 V Betriebsspannung für den IMU-Chip ableiten. Den ersten Schritt übernimmt ein LT1615 StepUp Converter von Linear Technologies, die Wandlung auf 3,3 V wird von einem LT1761 erledigt. Beide ICs kommen in einem SOT23-5 Gehäuse daher, sind damit sehr klein und ideal für die gedachte Aufgabe geeignet.

Der AtMega328 ist prinzipiell auch mit kleineren Versorgungsspannungen zufrieden, könnte dann aber nicht mit der notwendigen Frequenz von 16 MHz betrieben werden. Im Schaltbild ist die Quarzfrequenz nicht angegeben.

Als Schalter für die Ansteuerung der Motoren per Pulsweitenmodulation (PWM) hat Sven den IRLML2502 ausgewählt.

Wir haben darauf geachtet, möglichst alle Bauteile bei Reichelt zu bekommen.
Lediglich der IMU-Chip MPU6050 muss zur Zeit (Stand 06/2011) getrennt bei lipoly.de geordert werden.
Die Platine werden wir bei MME fertigen lassen.


Nachtrag:
Invensense hat zwischenzeitlich das Datenblatt des MPU6050 mehrfach nachgebessert, die aktuelle Version ist auf deren Homepage nachzuschlagen..
Wesentlich, weil unsere Schaltung betreffend, ist die Änderung des Kondensators C13 an Pin 20 (CPOUT, Ladungspumpe für die MEMS Oszillatoren) von 10 nF auf 2,2 nF sowie die Verbindung des Signals FSYNC (Pin 11) mit Masse, wenn dessen Funktionalität nicht benötigt wird.


Nach so viel Theorie und Vorüberlegungen waren wir gespannt, wie sich der sNQ dann in Natura ausnimmt.

Die weiteren Arbeiten werden auf einer eigenen Seite dokumentiert.


Ich möchte meinem Dank an Sven Ausdruck geben, ohne dessen Initiative und Ideen dieses schöne und interessante Gemeinschaftsprojekt nicht zu Stande gekommen wäre.

 

Über eine Suchmaschine hier gelandet? Dann bitte mit Click Navigations Schaltflächen anzeigen

[Home] [Modelle] [Eisenbahn TT] [Was ist neu ?] [Elektronik] [Kontakt] [Links] [Tipps+Tricks]