Lageerkennung als MEMS noch teuer war

Durch Zufall ist mir vor kurzem eine ältere kaputte Canon-Kompaktkamera in die Hände gefallen. Eigentlich war ich nur an der Optik interessiert, das Mainboard wanderte aber nicht direkt in die Tonne.

Als ich es heute dann doch mal in die Recycling-Box packen wollte, fiel mir ein Bauteil auf:

Neben Controller, Speicher, Oszillator und weiteren befindet sich ein eher auffälliges Bauteil auf der Leiterkarte

Hoch und Keramikdeckel. So ähnlich sahen auch schon die früheren Beschleunigungssensoren aus Thinkpads aus. Unter dem Aufdruck „1453K“ bzw. „35184“ ließ sich nichts im Netz finden. Da der Deckel etwas übersteht, warum nicht mal daran knibbeln?

Das war etwas unerwartet. Der kleine Metallpuck lässt sich frei bewegen und obwohl er sehr nach Neodym-Magnet aussieht, ist er nicht einmal ferromagnetisch. Die Scheibe oben ist von innen mit Gold beschichtet, der Grundkörper hat 3 Löcher. Bei genauerem Blick entpuppen sich diese als…

…etwas optisches!

Durch etwas mehr Knibbeln lässt sich der Körper entfernen:

Klick macht wie immer groß

Meine beste Vermutung ist: oben eine (IR-)LED, links und rechts Fotodioden. Der Deckel dürfte ein ziemlich guter Reflektor sein. Je nachdem, wo die Metallscheibe liegt, lassen sich alle für die Fotografie grundlegend wichtigen Lagen für Portrait und Landscape erkennen, das sogar binär. Rechts im Bild ist Kamera oben, nennen wir den rechten Sensor (oben) mal 1 und den linken (unten) 2, so erhalten wir folgende Zustände:

Sensor 2Sensor 1Lage ScheibeOrientierung
dunkeldunkellinksPortrait (90° )
dunkelhelluntenLandscape (0°)
helldunkelobenLandscape kopfüber (180°)
hellhellrechtsPortrait (270°)

Genial einfach und „damals“ einfach genial. Leider habe ich die Innereien einer alten Canon DSLR schon weggeworfen, dort befanden sich zwei gedeckelte Optokoppler, im 90° Winkel angeordnet, mit zunächst unbekannter Funktion. Beim Schütteln haben sie geklappert, beim Öffnen kam jeweils eine kleine Plastikkugel entgegen. Die Mechanik ist vermutlich auch der Grund, warum sich meine olle PowerShot eine Zeit lang entschied, alle Bilder im Portrait darzustellen – vermutlich ist Feuchtigkeit in den Sensor gekommen und hat die Kugel/Scheibe „verklebt“.

In meine aktuelle Kamera (von 2016, wie die meisten anderen) hat mittlerweile einen Beschleunigungssensor und schreibt die Informationen sogar in die Bilder:

Accelerometer Z                 : 132
Accelerometer X                 : -8
Accelerometer Y                 : 213
Camera Orientation              : Tilt Downwards
Roll Angle                      : -3.2
Pitch Angle                     : -58.1

Good boy. Leider fehlen bei der Lumix so Informationen wie Temperatur und intrinsische GPS-Koordinaten (GPS-Tagging per Handy ist Mist).

Wer den Lagesensor noch einmal genauer (allerdings nicht ganz so guter Abbildungsleistung) sehen will, here you go:

PSA: HMC5883L vs. QMC5883L

Mittlerweile bestelle ich ja auch ganz gerne bastelfreundliche Module, darunter zuletzt auch ein GY-271, ein Kompassmodul, das einen Honeywell HMC5883L enthalten sollte. Beim I2C-Detect ist schon aufgefallen, dass die Adresse nicht wie erwartet ist – 0x0D (7-bit) statt 0x1E (7-bit).

Im Datenblatt von Honeywell steht leider nichts vom Package-Marking, also mal auf die Suche begeben.

Wie sich herausstellt, werden mittlerweile auch ganz gerne die nahezu pinkompatiblen und komplett softwareinkompatiblen QMC5883 der Firma qst verbaut. Zum Hersteller konnte ich nichts in Erfahrung bringen. Auch nicht auf baidu.com. Etwas irritierend auch, dass in den Meta-Infos des Datenblatts als Verfasser „Honeywell“ steht. Da war wohl eher der Wunsch Vater des Gedanken.

Wie auch immer, hier mal ein Foto der ICs bzw. Module im Vergleich:


Hier sieht man auch, dass die Beschaltung wohl leicht anders ist.

Auf Datenblätter verlinke ich mal nicht, die findet man sehr einfach im Internet.

Kein Funk ist auch keine Lösung

Die nRF24L01P sind beliebt und günstig, weshalb hier seit längerem auch ein paar Module mit den Chips herumliegen.

Getrieben durch das Vorhaben eine Wetterstation zu bauen habe ich zwei jeweils an einen Mikrocontroller gehängt.

Nachdem die Übertragung (endlich) funktionierte, ging es daran die Reichweite zu testen. Im ersten Einfach-Programm ließ ich im Sender jede Sekunde ein Paket mit Counter und den Werten des bereits angedengelten Luftfeuchte- und Temperatursensor senden.

Auf der Gegenseite lediglich eine LED, die bei jedem empfangenen Paket toggelt. Bei 1 Mbit/s und 0 dBm war schon im Treppenhaus schluss, ich hoffte aber noch, dass es im Garten noch bzw. wieder klappt, da quasi Sichtkontakt besteht. Nichts. Grmpf.

Laut Datenblatt gewinnt man mit 250 kbit/s gegenüber 1 Mbit/s 9 dB an Sensitivity, was ein wenig Quell der Hoffnung war. Leider hat das auch nicht so wirklich geklappt.

Um zumindest einen Erkenntnisgewinn zu haben, ging es in den Park nebenan um dort auszuloten, wie weit es überhaupt geht. Im ersten Versuch schaffte ich knapp 190 Meter im freien Feld und bei gut aufeinander ausgerichteten Antennen. Ohne Ausrichtung war bei etwa 70 Meter gerade noch zuverlässiger Empfang möglich.

Allerdings hatte ich keine Information, wie oft tatsächlich übertragen werden musste, um Daten von A nach B zu bekommen. Schließlich verwenden die Module Handshaking mit Retransmission. Eine Anzeige musste her. Also schnell das alte und zerkratzte Nokia-Display ausgegraben und angeschlossen. Der eingestaubte Code funktionierte auch fast auf Anhieb.

Da der Empfänger von sich aus nicht wissen kann, wie viele erfolglose Übertragungen es gab werden die Werte im Sender kumuliert in den Sendepuffer geschrieben und nach einer erfolgreichen Übertragung wieder zurückgesetzt. Auf dem Display sieht es dann wie folgt aus:

Ob es wirklich sinnvoll ist, die Temperatur und Luftfeuchtigkeit darzustellen, sei mal dahingestellt, aber warum wegwerfen, was der Sensor hergibt?

Neuer Tag, neues Glück? Mitnichten. Vielleicht lag es am Wetter, vielleicht an der Verdeckung durch Parkbesucher oder am Display – die Reichweite war niedriger. Zuverlässige Datenübertragung ohne Antennenausrichtung war bis knapp 55 Meter möglich, mit (und mit etwas Glück) etwa 85 Meter.

Die Verbindung zwischen geplanten Aufstellorten von Sender und Empfänger war nach wie vor nicht möglich.

Nächste Schritte? Am liebsten würde ich die nRF-Module verwenden. Die Software läuft und die Hardware ist schon da. Interessant wäre, wie sich die Antennen verbessern ließen. Ohne eine vernünftige Möglichkeit, die abgestrahlte Leistung oder das Stehwellenverhältnis zu messen wird es schwierig. Durch den Park laufen tut zwar gut ist aber nicht so richtig vergleichbar. Messequipment für solch einen Zweck zu kaufen steht in keiner Relation. Vielleicht muss ich mal mit ein paar bekannten HAMs reden.