Ein kleines Lineal mit Elektronik

(UNDER CONSTRUCTION!!!!!)


Intro:

Schon seit langem wollte ich ein Lineal in der Form einer PCB-Platine entwerfen. Aber es fehlte mir an einer Idee, was auf dem Lineal alles an Komponenten verbaut werden sollen. Es sollte ein Projekt sein, welches man auch im Alltag am Schreibtisch verwenden kann (natürlich nur interessant für einen Technik-Freek).

Es wurde ein Projekt mit einem kleinen LCD-Display, einer Echtzeituhr, einem Thermo- und Hygrometersensor, einer RFID Schnittstelle zum Lesen und Schreiben von Daten, als Herzstück ein STM32 Prozessor mit geringem Stromverbrauch, einer seriellen Schnittstelle (über USB) zum Senden von Daten nach eigenen Vorstellungen oder zum Debuggen der Anwendung.


Das Projekt:

Ja es ist ein kleines Lineal mit 10cm Länge geworden. Wenn man einen 3D Drucker zur Hand hat, kann man sich auch 2 kleine Dreiecke als Platinenhalter für die linke und rechte Seite der PCB drucken. Dann sind diese für die Inbetriebnahme und den Betrieb gleich nützlich.

2 Dreiecke für die Platine als Halterung:


Die Auswahl der Bauteile:

Schon seit Jahren erstelle ich Hardware mit STM32 Prozessoren von ST Microsystems. Dieses Mal sollte es ein Prozessor aus der stromsparenden L oder M0 Reihe werden. Mit ein paar notwendigen I2C Schnittsletten und USB fiel die Auswahl auf den STM32L072.
Die mehreren I2C Ports ermöglichen eine unabhängige Ansteuerung von schnellen Refresh des Displays und der Abfrage der Uhr, Temperatur und Luftfeuchtigkeit. Als Temperatur-/ Hygrometersensor wählte ich den HTS221 von ST und der Uhrenbaustein wurde der M41T6X (ebenfalls von ST). Ein kleiner Goldcap soll die Uhr bei Stromausfall weiter bedienen.
Als Ein- und Ausgabeschnittstelle wählte ich RFID: Mit dem Handy und Standard NFC Apps kann man Daten schreiben (z.B. Datum und Uhrzeit stellen) oder auch Nutzdaten lesen. Der RFID Baustein hat einen Speicher und somit kann man ihn zum Mitloggen von verschiedenen Daten verwenden. Nach Übertragungsnorm ISO 14443 wählte ich den NT3H2111 mit I2C Schnittstelle als RFID Baustein aus.
Zu guter Letzt kam ein LCD-Display von Electronic Assembly zum Einsatz. Es hat bis zu 4 Zeilen, ist klein, verbraucht wenig Strom und ist über die I2C Schnittstelle leicht anzusteuern.

Die Schaltung:



Im Schaltplan sieht man noch weitere Komponenten zu den vorher beschriebenen: Zwei Taster für eine individuelle Menüführung, eine LED für Status-/ Blinkcodes oder ähnliches und natürlich einen Spannungsregler von 5V nach 3,3V.


Das Layout / Die Platine:



Wie man sieht ist die Platine (bis auf das Display) vollständig in SMD.
Dazu möchte ich ein paar Tipps zur Platinenbestückung geben:

  • An meinem Lötplatz habe ich eine kleine LED-Lupenlampe, mit der ich meine Lötarbeiten gut sehen kann. Als Hand-Lötkolben kann man quasi jeden Lötkolben nehmen. Gut ist natürlich einer mit einstellbarer Temperatur (je nach Lötzinn anpassbar) und verschiedene Lötspitzen (feine und gröbere). Ich habe hier eine einfache OLED-Staion von Quicko T12-952 (Preis um 35EUR) und bin sehr zufrieden damit. Für die feineren Lötarbeiten verwende ich eine Heissluft SMD Rework Station von UVISTAR, Modell 858D (Preis um 35EUR). Auch sie funktioniert tadellos.

  • Normale SMD Bausteine wie Kondensatoren, Widerstände und den Spannungsregler bestücke ich so, dass ich zuerst ein Pad des Bauteils auf der Platine leicht verzinne, dann das Bauteil mit einer feinen metallenen Pinzette in der Mitte greife, platziere und das verzinnte Pad nochmal kurz heiss mache. Wenn das Bauteil fixiert ist, löte ich die weiteren Pads. Ein dünnes verbleites Lötzinn finde ich für den privaten Bereich am besten, weil das Zinn glänzt, gut verläuft und die Löttemperatur ist halt doch ein wenig geringer. Die gemachten Lötstellen am besten immer gleich kontrollieren!

  • Jetzt kommen wir zu dem schwierigeren Teil. Der Temperatur / Feuchtigkeitssensor hat ein HLGA-6L Package. Der Baustein ist sehr klein (2mm x 2mm) und seine 6 Pads auf der Unterseite sind nur kleine Flächen. Ich löte diese Art von Bausteinen vielleicht etwas langsamer wie andere, aber es funktioniert. Auf der Platine an der Bauteilposition kommt mit der Spritze ein wenig Flussmittelgel (z.B. FL 22R) hin. Dann verzinne ich mit dem Handlötkolben und einer feinen Lötspitze jedes einzelne Pad des Bausteins auf der Platine (man kann auch mit einer gröberen Spitze flächig das Zinn auftragen).
    Darauf nehme ich mir das Bauteil von unten vor und mit wenig Flussmittel und Lötzinn werden die Pads auch verzinnt. Im nächsten Schritt kommt wieder Flussmittel auf die Platine an der Bauteilposition und das Bauteil wird mit der richtigen Orientierung genau platziert. Jetzt kommt Heissluft senkrecht von oben (z.B. Flow 50 Prozent, 280 Grad): Das Bauteil wird langsam erwärmt und zugleich kreisend im 1-2cm Abstand auch die Platine um das Bauteil. Mit der Pinzette fixiert man das Bauteil damit es nicht verrutscht.
    Irgendwann fängt das Lötzinn an zu fliessen und wenn alles richtig sitz, Hitze weg und fertig!

  • Bedrahtete Bauteile lötet man am Schluss nach dem feinen SMD Löten. In unserem Fall habe ich die Beinchen (des Displays) zuerst soweit abgezwickt, dass sie nicht nach unten durch die Platine schauen. Denn dann ist die Unterseite glatt und das kleine Lineal verkrazt den Tisch nicht :-).


  • Die Hardware-Inbetriebnahme:



    Zum Programmieren der STM32 Familie kommt bei mir ein USB Programmieradapter ST-LINK V2 zum Einsatz (gibt es für ein paar EUR bei ebay). Dieser USB-Adapter liefert bereits eine 3,3V Versorgungsspannung und kann somit ohne externe Versorgungsspannung den Prozessor programmieren. Die Programmiersoftware dazu ist das STM32 ST-LINK Utility von ST Microsystems (im Internet frei ladbar).


    Software:



    ...