Perry Rhodan - Marco Polo (Revell)

Heute habe ich wieder mal ein Langzeitprojekt abgeschlossen. "Langzeit", weil dieses Modell jetzt schon Monate auf meinem Arbeitstisch lag und ich nur hin und wieder was daran gemacht hatte:
Raumschiff Marco Polo
Die "Marco Polo", ein Raumschiff aus den SciFi-Romanen um Perry Rhodan
In den Romanen ist die Marco Polo, Baujahr 3437, das erste Ultraschlachtschiff seiner Art mit 2500m Durchmesser und zahlreichen Hangars für Beiboote. Ein leichter Hang zur Gigantomanie zieht sich angeblich ja durch die ganze Romanserie... Dem Bausatz von Revell hätte es vielleicht auch ganz gut getan, etwas größer und damit auch exakter auszufallen. Offen gesagt habe ich bislang noch kein derart nervig zeitraubendes Modell von Revell gebaut.
Passgenauigkeit mangelhaft
Viel Spachtel- und Schleifarbeit wartet auf den Modellbauer
Dabei machte der Bausatzinhalt zunächst eigentlich einen ganz guten Ersteindruck. Das Raumschiff wird aus zwei Halbschalen gebaut, welche ihrerseits aus mehreren Segmenten zusammengeklebt werden. Abgerundet wird das Ganze durch mehr als hundert Decals. Allerdings ließ bei meinem Modell die Passgenauigkeit doch sehr zu wünschen übrig, so dass der Bau in einer wüsten Spachtel- und Schleiforgie ausartete. Und die Decals haben leider einen extremen Hang zum Silvering, was ich jedoch erst nach dem Klarlackfinish bemerkte :-(
Trotz all der Zeit und Nerven für den Bau der Hülle habe ich mir es dann trotzdem noch extra schwer gemacht und beschlossen das Modell zu beleuchten. Den Anfang machten 20 orangefarbene 3mm-LEDs für die unteren Antriebswerke, welche ich dauerhaft leuchten lasse:
LEDs in den Antriebstrichtern
Für die Fenster in der oberen Halbkugel bohrte ich mit einem 0.5mm-Bohrer unzählige Löcher. Angesichts des Modellmaßstabs hätten die Fenster dann zwar einen stattlichen Durchmesser von gut 8 Metern, aber ein dünnerer Bohrer würde vermutlich doch nur abbrechen.
Beleuchtung im Nordpoldeckel
Ein Arduino Nano sorgt für ein Lauflicht am Nordpol. Die Fenster werden mit einem LED-Ring beleuchtet.
Beleuchtete Fenster
Die Fensterbeleuchtung funktioniert eigentlich ganz ausreichend, ist aber blickwinkelabhängig.
Und weil es dann immer noch nicht aufwendig genug war, habe ich noch eine Diorama-Bodenplatte für das Modell gestaltet:
Bodenplatte
Kleine Mondlandschaft aus Holzplatte, Gips und Styrodurbrocken.
Und als kleines i-Tüpfelchen noch "schnell" ein Beiboot und ein pyramidenförmiges Gebäude auf die Oberfläche gesetzt. Natürlich auch beleuchtet:
Details
Zwei der Landebeine des Beibootes sind Drähte, welche durch die Bodenplatte hindurch führen und in einer SMD-LED in der 3D-gedruckten Kugel (ca. 6mm Durchmesser) enden. Die Kugel ist aus transparentem PLA und mit der Airbrush lackiert. Durch vorsichtiges Abkratzen der Farbe mit einer Nadel entstehen winzige beleuchtete Fenster. Bei der Pyramide wurde das gleiche Verfahren angewendet.
Geöffnete Hangars
War die Mühe wert: offene, beleuchtete Hangars im Äquatorring.
Angesichts der vermurksten Passgenauigkeit der beiden Halbschalen und der silbrigen Decals ist der Beste Eindruck des Modells aber definitiv im Halbdunkeln; dann kommt auch die Beleuchtung am besten zur Geltung:
Bei Nacht
Ein Beiboot der Marco Polo landet vor einem sonderbarem Aliengebäude auf einem abgelegenen Mond.

Kurz berichtet: 1. Löwenzahntag des CCC-Freiburg

Dem dieses Jahr leider verstorbenen Peter Lustig zu Ehren haben wir im CCC-Freiburg heute den ersten CCCFr-Löwenzahntag für Kinder veranstaltet. Als Memo für's nächste Mal:
  • Alte Geräte auseinanderschrauben, um zu entdecken, was drin ist und wie es funktioniert, kommt sehr gut an bei den Kids.
  • Experimente mit Haushaltsmitteln finden ebenfalls reges Interesse (unten im Bild beispielsweise der Eingenbau-CO²-Feuerlöscher aus Natron und Essig).
  • Die Kleineren sind mit Basteln mit Papier und Pappe schon zufrieden.
  • Nächstes Mal vorab mehr Werbung für das Event machen!
Löwenzahntag CCCFr
Impressionen vom Löwenzahntag

PC-Lüfter: Tachosignal mit Kondensator

PC-Lüfter machen umso mehr Lärm, umso schneller sie laufen. Wenn man sie aber nur mit reduzierter Drehzahl laufen lässt, dann kühlen sie natürlich leider auch entsprechend weniger. Für meinen Desktop-PC habe ich mir darum einen 220mm-Lüfter besorgt, mit dem Gedanken, dass dieser auch bei halber Drehzahl noch soviel Luftstrom produziert wie zwei laute 80mm-Lüfter. Allerdings habe ich beim Kauf nicht darauf geachtet, dass er nur einen 4-pin-Molexstecker hat und mit diesem konstant auf 12V läuft. Darum habe ich einen alten 60mm-CPU-Lüfter um dessen Kabel erleichtert und an den neuen Fan gelötet:
camper mover
Hat sogar einen Signalausgang (an gelbem Kabel) und einen Hall-Sensor - leider fehlt ein Teil der Elektronik

So sollte er sich an die Lüfterregelung anschließen und regeln lassen. Hm, geht aber nicht, das Tachosignal fehlt. Und warum? Weil der Hersteller bei diesem Modell (AK-F2230SM-CB) 5 Cent gespart hat indem er einen Transistor und zwei Widerstände weggelassen hat. Toll. Den Hall-Sensor hingegen haben sie eingebaut. Na gut, was tut man dann als schnellen Workaround? → man lötet einen Kondensator zwischen Plus und Signal, dann ist auch die Lüfterregelung wieder glücklich:
camper mover
Mit dem Dremel etwas Platz gemacht, damit der Aufkleber danach wieder glatt aufliegt

Ich hatte einen 100nF-Kondensator zu Hand; ein etwas anderer Wert ist aber vermutlich auch nicht kritisch.

Qt: bloß keine Waisenkinder instantiieren

Wenn man in Qt eine Klasse implementiert, sollte man tunlichst darauf achten, dass alle instantiierten Attribute this als parent haben. Andernfalls kann es nämlich sein, dass irgendwann der Garbage-Kollektor auf das offenbar elternlose Kind-Objekt stößt und es im Sinne von "ist das Kunst oder kann das weg" in die Tonne wirft. Und dann hat man den Salat. Ist mir hiermit passiert:
  1. class Measurement : public Object
  2. {
  3. Q_OBJECT
  4. public:
  5.   Measurement(QObject* parent = 0);
  6.   ~Measurement();
  7. };
  8. class XYPlot : public QQuickPaintedItem
  9. {
  10. Q_OBJECT
  11. public:
  12.   XYPlot(QQuickPaintedItem* parent = 0);
  13. private:
  14.   Measurement m_Measurement;
  15. };
Das Elternelement hier ist XYPlot, welches ein Attribut der Klasse Measurement besitzt. Bei mir gab es unreproduzierbare SIGSEGV segmentation faults, was immer auf irgendein Problem mit ungültigem Pointer hinweist. Beim Debuggen habe ich dann festgestellt, dass kurz zuvor der Dekonstruktor von Measurement aufgerufen wurde - obwohl das zugehörige XYPlot-Objekt noch existierte. Woran lag es? ⇒ Ich hatte vergessen, dem Kind-Objekt zu sagen wer sein parent ist. Im Konstruktor der Elternklasse XYPlot also m_Measurement mit this instantiieren:
  1. XYPlot::XYPlot( QQuickPaintedItem* parent) : QQuickPaintedItem(parent), m_Measurement(this)
  2. {
  3. }
Also besser gut aufpassen bei so was, sonst kann das Debugging richtig ätzend werden.