Archiv der Kategorie: Allgemeines & Neues

Hier poste ich alles, das keiner speziellen Kategorie entspricht

Restauration / Umbau eines Arcadeautomaten

Zuerst einmal die Frage – was bedeutet eigentlich „Arcade“?  In Wikipedia findet man dazu folgendes:

Arcade-Spiel ist eine Bezeichnung für Videospiele, die seit den 1970er Jahren in öffentlichen Spielhäusern in den USA, so genannten Penny Arcades, bzw. in Europa in Spielhallen kostenpflichtig angeboten werden. In den frühen 1980er Jahren wurden Arcade-Automaten in Deutschland außer in Spielhallen auch in vielen Imbissbuden, Kiosken und Supermarktvorräumen aufgestellt, bis dies gesetzlich verboten wurde. An Arcade-Automaten kann der Nutzer gegen Geldeinwurf spielen. Der Spielpreis betrug in Deutschland in der Regel eine D-Mark, während er im Ausland meist geringer war. Erfolgreiche Spiele wurden später häufig für den PC sowie für verschiedene Videospielkonsolen umgesetzt. (wikipedia)

Aber das erklärt mir noch nicht warum dafür das Wort „Arcade“ verwendet wird. Als Begriffserklärung für „Arcade“ oder „Arkade“ ist zu finden:  die Arkade – der Säulengang oder „eine Arkade ist eine Abfolge von Bögen, von denen jeder gegen den nächsten stößt und der von Säulen oder Pfeilern oder einem überdachten Gang getragen wird.“ Darin würde sich für mich eher der Sinn der Wortwahl ergeben, da die Spielautomaten in den Hallen dicht an dicht aufgestellt wurden und so das Bild eines Ganges ergeben – und so nannte man dann die Spielautomaten einfach Arcade-Automaten… so meine Idee. Wenn jemand die Herkunft genauer oder richtig erklären kann – bitte darum.

Nun aber zu meinem kleinen Projekt. Mein Kollege hat einen alten Scheunenfund – einen Arcade Spielautomaten – mit der Jamma – Spielplatine „COMBAT SCHOOL“  bei Räumungsarbeiten gefunden und vorbeigebracht. JAMMA (Japan Amusement Machinery Manufacturers Association) bezeichnet auch eine 56-polige Schnittstelle, die das Automatenkabinett mit der Spielplatine verbindet. Bevor mit mit der technischen Inspektion begonnen werden konnte, musste einmal reichlich Schmutz entfernt werden. Nach einigem Staubsaugen und Wischen im Inneren des Kabinetts kam die Elektronik wieder zum Vorschein.  Augenscheinlich sah auch alles sehr vollständig aus. Die Bildröhre war auch nicht gebrochen und es fehlten keine Kabel und es war auch nichts abgeschnitten worden. Also wurde die Kiste mutig ans Netz gesteckt und der Hauptschalter betätigt. Ich erwartete alles, vom Knall und Rauch, bis hin zum Zischen der überspringenden Anodenhochspannung der Bildröhre. Doch es verhielt sich ziemlich normal. Der Entmagnetisierungsvorgang der Röhre war kurz zu hören und wenige Augenblicke später war am Monitor ein komplett farbfleckiges, verzerrtes Bild zu sehen. Mit etwas Fantasie konnte man den Schriftzug „Combat School“ erkennen. Und das Erfreuliche daran – trotz dass der Automat einige Minuten eingeschaltet ist, blieb der Zustand stabil. Es gab keine Rauchzeichen, noch irgendwelche Gerüche oder andere Veränderungen. Ausgenommen der modrige Geruch, alter in Kellern gelagerter Geräte. Also alles in allem, ein Projekt mit Erfolgsaussicht. Die folgende Aufzählung zeigt die Schritte, in denen ich die Reparatur bzw. Restaurierung durchführen möchte bzw.  auch durchgeführt habe:

(1) … Gerät reinigen und auf Vollständigkeit prüfen
(2) … kurzer Funktionstest
(3) … Monitor reparieren
(4) … kurzer Funktionstest um die Spielplatine zu testen
(5) … parallel zur Spielplatine einen auf Raspberry PI basierenden Emulator einbauen. Der Emulator soll über ein kleine Jamma Platine wahlweise an das Kabinett angeschlossen werden können.
(5.1) … Jamma Steckerplatine Ätzen
(5.2) … RGB Videoplatine für Raspberry PI zeichnen und ätzen (auf Basis eines R2R Widerstandsnetzwerkes zur D-A-Wandlung)
(5.3) … Raspberry Pi auf Trägerplatte montieren, mit Audioverstärker und Joystickinterface ausstatten und ein geeignetes Emulator-Image installieren
(6.0) … Funktionstest mit dem Raspberry PI Emulator

Zur originalen Spieleplatine vorab: Diese funktioniert nur teilweise. Es wurden einige Sprites nicht korrekt dargestellt. Die Fehlersuche und Reparatur des „Gatterfriedhofs“ habe ich bisher noch nicht durchgeführt. Der Schwerpunkt der Restauration lag vorerst auf der Raspberry Emulator Plattform, die anstelle der Originalplatine das Kabinett versorgen soll.

Monitor Platine mit 50Hz Videomonitor mit RGB Eingang

Im ersten Schritt wurde der Monitor, bzw. die Monitorplatine repariert. Hier waren in erster Linie im Bereich der Kissenentzerrung ein paar kleine Fehler durch defekte Kondensatoren und eine thermisch ausgelötete (kalte Lötstelle) Induktivität das Problem der fehlerhaften Bildgeometrie. Nach einer gründlichen Reinigung, und einem neu justieren der Bildgeometrie mit einem Bildmustergenerator konnte das Board dann wieder an seinen Platz.

Monitor Platine wieder an ihrem Platz

Ein weiteres Problem war die Bildröhre. Sie wies in den Ecken eine Falschfarbendarstellung auf. So wurde eine rote Farbfläche teilweise violett dargestellt. Dieser Effekt ist auf ein Problem mit der, in der Röhre vorhandenen Lochmaske zurückzuführen. Diese wurde entweder lange Zeit stark magnetisiert, oder noch schlimmer, durch eine raue Handhabe des Gerätes verbogen. Jedenfalls treffen die Elektronenstrahlen nicht an jeder Position auf die vorgesehene Leuchtschicht. Dieses Problem konnte ich zum größten Teil durch Entmagnetisieren mit einem mit Wechselstrom betriebenen Elektromagneten realisieren. (Ähnlich, wie es auch die ohnehin vorhandene Degausspule an der Röhre nach dem Einschaltvorgang macht – nur gezielter und wesentlich stärker)

Nachdem der Monitor wieder seinen Dienst verrichtet, ging es an den Bau eines Jamma – Steckverbinders. Dazu übernahm ich einfach die Abmessungen des originalen Steckverbinders in das Layout Tool und zeichnete ein neue Steckerplatine.

der originale Jamma Platinensteckverbinder mit 44 Polen
der gebastelte neue Steckverbinder

Jetzt ging es daran, auf einer kleinen, ca. 20 x 25cm grossen Trägerplatte die Komponenten für die neue Hardware aufzubauen. Das Herzstück ist der viel geliebte Raspberry Pi 3, den ich mit Abstandhaltern auf der Platte befestigte. Für die Eingabe, also alle Joysticks, Buttons, Münzzähler etc. kamen fertige USB-Joystickplatinen zum Einsatz. Diese wurden ebenfalls auf der Platte montiert.

Raspberry PI auf Trägerplatte mit Joystickinterface

Erweitert wurde das Arrangement um einen Audioverstärker, der ebenfalls auf der Platte seinen Platz fand. Alle Leitungen zum und vom Raspberry bzw. auch zu den Joystickinterfaces führen zur Jamma Steckerplatine. Diese wird dann einfach anstelle der originalen Platine angesteckt und der Automat soll dann zur Schonung der alten Hardware mit dem Raspberry Image laufen.

im Bild links, das Raspberry Board, rechts die originale Spieleplatine

Das Bild oben zeigt das Raspberry Board montiert neben der alten Spieleplatine. Die Joysticks sind bereits auch alle funktionstüchtig. Hier ist nur zu erwähnen, dass die originalen Joys und Buttons high-aktiv sind und das USB-Joystickboard low-aktiv. (oder war es umgekehrt?) Dieses Problem ließ sich einfach mit einem Potentialumschalter der Summenleitung der Bedienkonsole des Kabinetts lösen…

Was jetzt noch fehlt, ist die Videoausgabe des Raspberry auf dem originalen 50Hz Röhrenmonitor. Dies könnte man mit einem HDMI – CVBS Converter und einem CVBS – RGB Komponentenkonverter lösen. Aber es ist doch viel cooler, die Möglichkeiten des Raspberry zu nutzen.

Hierzu habe ich eine kleine Platine gebastelt, die über ein R2R Netzwerk aus fünf Widerständen je R G B Kanal aus den Raspberry GPIOs die analoge Ansteuerung des Monitors erzeugt.

Infos und Anregungen dazu findet man auch auf GitHub unter vga666. Um den Raspberry zu motivieren, den HDMI Ausgang abzuschalten um über die GPIOs das Videosignal zu senden, muss lediglich die config.txt im root Verzeichnis der SD-Karte angepasst werden.

 

Das „Hineinhorchen“ mit der Osziprobe in einen der drei Kanäle zeigt ein sauberes Sync- und Videosignal. Also die drei Ausgänge und die Synchronisation über Elkos entkoppelt und über den Jamma Stecker an den originalen alten Monitor geschaltet:

Das Ergebnis ist doch ganz zufriedenstellend… Jetzt ist nur mehr der Fehler an der originalen Platine zu beheben und einige kleinere Schönheitsarbeiten am Holzgehäuse des Kabinetts durchzuführen. Aber das ist eine andere Geschichte…

 

 

 

FPGA CPU für Commodore 16

Meine erste Begegnung mit Computern hatte ich in den frühen 80iger Jahren, als meine Kollegen im Gymnasium ihren ersten VC20 und C64 von Commodore bekamen. Das war damals eine völlig neue Welt für mich – ein Computer – ein Gerät mit Tasten, wie bei einer Schreibmaschine, das man am Fernsehgerät anschließt. Und man kann in einer Sprache, die sich „Basic“ diesem Computer Befehle erteilen, die er dann ausführt.  Man konnte sogar ganze Programme schreiben und diese dann mit dem Befehl „RUN“ starten. Und dieser Computer arbeitete diese Programme dann ab. Das war faszinierend und eröffnete uns damals neue Welten. Erst recht als ich Kassetten bekam, die wie Musikkassetten aussahen, jedoch für den Computer gedacht waren. Darauf befand sich, spielte man sie in einem Kassettenspieler ab, ein Gepiepe, das man später von Faxgeräten oder der Einwahlsequenz von Modems kannte.

Stöpselte man den Kassettenplayer jedoch mit einem Klinkenkabel in den Computer und gab dort den Befehl „LOAD“ ein, so wurde aus dem Gepiepe ein Spiel oder ein Musikprogramm, oder was auch immer auf der Kassette gespeichert war. Jedenfalls war das das Tollste was man als Kind besitzen konnte. Und den jugendlichen Adrenalinschub bekam ich, als unter dem Weihnachtsbaum mein eigener Commodore C16 mit zugehöriger Datasette und der Spielekassette BigMac lag. Der Commodore C16 war also mein erster richtiger Computer. Es dauerte nicht lange, da waren die 16kB (KiloByte) Ram, die der C16 hatte zu wenig für die selbst gebastelten Basic Programme. Und was noch schlimmer war, es gab auch tolle Spiele, die mit 16k nicht liefen. Dazu gehörte der Kampfflugsimulator „ACE“ und das Vector-Grafikgame „MERCENARY“. Also musste der Computer aufgerüstet werden. Das war aus heutiger Sicht sehr einfach – es mussten lediglich zwei DRram Bausteine ausgelötet und gegen andere ersetzt werden. Damals jedoch, im Alter von – ich denke 11-12 Jahren, war das mangels geeignetem Lötwerkzeug und Erfahrung eine Herausforderunge. Doch irgendwie hat es geklappt und der C16 meldete sich mit folgender Statuszeile:

COMMODORE BASIC V3.5 60671 BYTES FREE

READY

Das war im Vergleich zum originalen Speicher, von dem für den Basic Interpreter gerade einmal 12277 Byte frei verfügbar waren, ein Paradies an neuen Möglichkeiten. Leider war die Lebensdauer des Commodore 16 im Dauerbetrieb nicht sehr lange. Ich denke, es hat nicht mal ein Jahr gedauert, da zeigte der Rechner erste Probleme. Entweder reagierte der Cursor nicht mehr, es kamen wirre Zeichen am Bildschirm, oder er startete erst nach häufigem Aus- und wieder Einschalten. Irgendwann blieb der Bildschirm dann ganz schwarz.  Schuld daran war, zumindest vermute ich das heute, der Hitze Tod der CPU und/oder des TED IC´s. Damals konnte man diese Chips in den einschlägigen Elektronikläden noch für kleines Geld bestellen. Heute sieht das aber anders aus. Eine MOS7501 oder MOS8501 CPU findet man, wenn überhaupt, dann nur bei eBay und co und das für Preise von 50 Euro und mehr für gebrauchte Chips.

MOS7501 (MOS8501) CPU der Commodore 264er Reihe

In meiner Sammlung besitze ich einige wenige Exemplare der 264er Serie von Commodore, die mehr oder weniger alle in einem originalen, einwandfreiem Zustand sind (C16, C116, Plus4). Aber eben nicht alle. So habe ich mir in den Kopf gesetzt, die 8501 CPU in einen FPGA zu implementieren, eine kleine Platine zu entwerfen, die die Größe eines DIL40 IC´s hat und direkt in den CPU-Sockel des C16 bzw. Plus4 passt. Es existieren ja bereits einige erfolgreiche Projekte, die sich mit der Implementierung eines 8Bit CPU Core in einen modernen FPGA befassen.  Hier die Links:

Sellmy Retro: https://www.sellmyretro.com/offer/details/mos–7501~~8501-cpu-replacement-for-c16~~116~~%2B4-30475

oder ein universel configurierbarer CPU – FPGA Ersatz: https://hackaday.io/project/165624-mocka65xx-universal-650285xx-cpu-replacement

Ich habe mich aus Kostengründen und auf Empfehlung entschlossen, mit einem Lattice MACHXO FPGA zu arbeiten. Ein Evaluation Board ist für unter 30 Euro zu bekommen und für die Entwicklungsumgebung bekommt man bei Lattice eine gratis Lizenz. Einziger Nachteil – ich hatte bis dato keine Erfahrung mit Lattice Produkten. In meinen beruflichen Projekten wird hauptsächlich mit XILINX gearbeitet. Aber nach der Installation der Lattice-Software und ein bisschen Übung war schnell klar, damit sollte ich zurechtkommen.

LATTICE MACH XO Evaluationboard

 

Ich habe mir also vorgenommen, diesen Beitrag als dynamischen Beitrag zu gestalten und immer wieder zu erweitern. Da meine letzten FPGA Projekte wieder einige Zeit zurückliegen und ich mich auch wieder in die FPGA-Welt eingewöhnen muss, wird es wohl einige Zeit dauern bis (falls) ein brauchbares Ergebnis zustande kommt. Zu Beginn steht die Analyse des Datenblattes des MOS8501 IC und dessen Pins zur Aussenwelt. Der 8501 ist eine abgeänderte Version des 6502 (die CPU aus dem Jahr 1975 die in vielen Rechnern eingesetzt wurde). Dazu zählen unter anderem der VC20, der Atari800, auch der APPLE 1 usw. arbeiteten mit dem 6502 Prozessor. Der 6502 ist auch schon als Verilog und VHDL Modell verfügbar… Diese Cores mit den Anpassungen für den 8501 will ich in den MachXO reinquetschen und mit entsprechender Anpassung der Signallevels direkt statt dem originalen MOS-Chip in das C16 Mainboard stecken…

 

 

 

 

 

 

 

HomeMatic Bilder über Telegram pushen – UPDATE fix

Update 2: scheinbar klappt es bei einigen Usern noch immer nicht, oder nicht mehr, Bilder von IP-Kameras zu speichern und dann per Telegram Nachricht zu versenden. Bei mir hat es auf meiner ziemlich vollgestopften CCU2 immer funktioniert.

Jetzt, da ich ja aufgrund der Covid Ausgangsbeschränkungen, wie viele Österreicher immer zuhause sein muss, habe ich mir die Zeit genommen und mich ein wenig genauer mit der Thematik beschäftigt. Und da niemand lange um den „heißen Brei“ herum lesen möchte, komme ich gleich zur Sache: Dass es auf meiner CCU2 funktioniert hat, liegt daran, dass sie aufgrund des „mit Skripten und Programmen vollgestopften Zustandes“ in ihrer Abarbeitungsgeschwindigkeit ziemlich gebremst war. Darum funktionierte es auch in ein und demselben Skript, die Bilder von den IP Kameras abzuholen und im /tmp/ Ordner zu speichern und sie nur zwei Zeilen weiter im Skript per Telegram API zu versenden.

Die Bilder waren einfach noch nicht fertig im Filesystem gespeichert und die unvollständigen Dateien wurden schon gesendet.

Hier die einfache Lösung:

Das Skript in zwei separate Teile zerlegen und nach einander mit einer Verzögerung von ein bis zwei Sekunden abarbeiten lassen:

anklicken zum Vergrößern

Im ersten Skript werden jetzt lediglich die IP-Cams aufgerufen und die Bilder als Dateien gespeichert. Im zweiten Skript wird, wie schon zuvor die Telegram API aufgerufen. Jedoch wird das zweite Skript 1-2 Sekunden später gestartet. Dann sind schon alle Files gespeichert und kommen auch über Telegram an…

getestet auf CCU2, RaspiMatic (sollte auch auf der CCU3 klappen)

 

Homematic Aktor Schnellreparatur (Dimmaktor RS485)

Zum Thema „Alterung und Homematic Smart Home“ habe ich wieder einen kleinen Beitrag beizusteuern. Vielen Dank an Fritz für die Aufbereitung und Analyse. 

Wie im letzten Post „Homematic Aktor Schnellreparatur“, geht es auch dieses Mal wieder um ein Gerät der Smart Home Serie.  Es handelt sich um den Dimmer Aktor mit der Bezeichnung „HMW-LC-Dim1L-DR“. Das ist ein Phasenanschnitt Dimmer Aktor für Glühlampen und Niedervolt Halogenlampen mit konventionellem Transformator. Auch viele moderne LED-Lampen lassen sich mit diesem Dimmer steuern. Der Aktor gehört der „wired“ Reihe an, was bedeutet, er ist nicht über das BidCos Funkprotokoll mit der CCU verbunden, sondern über den RS485 Bus. Die Stromversorgung für die Datenkommunikation bekommt der Aktor von einem 24V Netzteil. Damit wird auch der µC im Aktor versorgt. Die Netzseite wird mittels Optokoppler von der Niedervoltseite mit Steuerdaten versorgt.  So ist die galvanische Trennung gewährleistet. Auf der Netzseite befindet sich einer Dimmer Controller Baustein, der wiederum den Triac steuert. Dieser Controller muss mit einer Spannung von ca. 15V versorgt werden. Um die zu erzeugen, hat der Hersteller einen Kapazitiven Spannungsteiler eingebaut. Und hier beginnen die Alterungsprobleme….

Das Fehlerbild äußert sich wie folgt: Die angeschlossene Lichtquelle lässt sich nicht dimmen beziehungsweise einschalten. Der Dimmer kommuniziert jedoch korrekt mit dem Bus. Die rote Funktions Led leuchtet korrekt. Die Befehle für „Aus“ und „Ein“ per Taster werden auch in der CCU angezeigt.

Schaltplan der Netzseite auf der „Hauptplatine“
defekter 330nF X2 Kondensator

Die Ursache: Der IC U2008, ein Dimmer-Control Baustein wird laut Datenblatt mit einer Spannung von DC 15V versorgt. Die Versorgungsspannung war in diesem Fall aber deutlich kleiner (bei ca. 5,8V) Diese Versorgungsspannung wird den 330nF / 275V X2 Kondensator C4 gemacht. Optisch ist der Kondensator in einwandfreiem Zustand, jedoch eine einfache Kapazitätsmessung zeigt schnell, dass hier nichts mehr passt. Der Kondensator C4 hatte nur mehr eine Kapazität von ca. 30-40nF. Es ist also wie so oft -> Der Kondensator war´s  😀

Dimmermodul Seitenansicht

Nach Austausch war die Spannung am U2008 wieder ok und der Dimmer verrichtet wieder seinen Dienst. Präventiv wurden auch noch die zwei weiteren auf dem Board befindlichen X2 Kondensatoren (C1 47nF/275V und C2 100nF/275) erneuert.

Einbauorte von C1 und C2

 

 

 

 

 

 

Homematic Nachrichten per Telegram UPDATE

Update: bei mir war auch die Pfadangabe zum „curl“ Befehl das Problem. Mit Angabe des „pseudo“ absoluten Pfades zum Befehl wurde er nicht mehr gefunden. Siehe unten:

 es genügt, den curl Befehl direkt aufzurufen, also anstelle von : ….State(„extra/curl -s -k https://api.telegram.org/bot“#botAPI#“/sendMessage…..

die Pfadangabe „extra/“ entfernen, je nach CCU Variante und Cuxd Version, also:  …… State(„curl -s -k https://api.telegram.org/bot“#botAPI#“/sendMessage …..

Wer sich nicht sicher ist, wo das Commando liegt, am besten im cuxd oder über SSH nachsehen…

Update Ende.

In den Kommentaren zum Beitrag „Nachrichten pushen mit Telegram“ wurde mehrfach darauf hingewiesen, dass die Pushnachrichten nicht mehr gesendet werden. Zuerst dachte ich es gibt irgendwelche grundlegende Änderungen bei der Telegram Api. Aber dem war nicht so. Also habe ich noch einmal ein Skript zusammengebastelt. Um zu debuggen, habe ich einen gesamten String aus einzelnen Teilen zusammengebaut. Das ist zwar alles andere als schön, aber es lässt sich leichter nachvollziehen was funktioniert oder eben nicht. Auch den Pfad zum curl-Kommando habe ich vollständig angegeben. Mit dem folgenden Beispiel Skript funktioniert bei mir die Textausgabe wieder:

 string msg = "Hallo Telegram";  
 string chatid = "123456789";                     
 string botAPI = "987654321:AABBCCDDEEFFGGGHHIIJJKKLLMMNNOOPPQQ";   
 string request;  
 string command1 = "/usr/local/addons/cuxd/curl -s -k https://api.telegram.org/bot"; !#botAPI#   
 string command2 = "/sendMessage -F text="; !#msg#   
 string command3 = " -F chat_id="; !#chatid#  
 request = command1+botAPI+command2+msg+command3+chatid;  
 dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(request);  

 

Dann sollte alles wieder klappen….

Smartes Licht mit Philips und Ikea

Von der Firma Philips wird das smarte Lichtsystem mit der Bezeichnung „hue“ angeboten. Es handelt sich dabei um Lampen und Leuchten, die über integriertes Funkmodul von einem Zentralgerät, oder auch Gateway genannt („hue bridge“) gesteuert werden können. Steuern bedeutet, dass die Lampen (solange sie mit Netzspannung versorgt sind) in Ihrer Helligkeit gedimmt, aus- und eingeschaltet und je nach Ausstattung auch in ihrer Lichtfarbe geändert werden können. Das Zentralgerät (die „hue-bridge“) ist dabei über eine LAN Schnittstelle mit dem im Haus befindlichen Internetrouter verbunden. Es ist sozusagen der Server für die Lampen. Die Kommunikation zwischen der Bridge und den Lampen findet über das Funkmodul statt. Hier hat Philips den ZigBee Standard implementiert. ZigBee wird übrigens auch bei vielen anderen Herstellern eingesetzt.

Um nun eine smarte Lampe mit der Bridge zu verbinden, benötigt man ein Terminal um auf die Bridge zugreifen zu können. Da ja heutzutage fast jeder auch ein Smartphone besitzt, ist es ein Einfaches, dieses als Konfiguration- und Steuerterminal zu verwenden. Die Hersteller haben, passend zu ihren Bridges, eine „App“ zur Verfügung gestellt, über die die Einrichtungsvorgänge einfachst zu realisieren sind. So muss eine neue Lampe nur eingeschaltet sein und in der App unter „Einstellungen -> Lampeneinstellungen -> Leuchte hinzufügen“, gewartet werden, bis die Lampen in Funkreichweite gefunden werden. Dann können sie im Netzwerk verbunden, benannt und in Gruppen arrangiert werden.

Auch die Homematic CCU bietet mit den aktuellen Firmware-versionen einen Zugriff auf Bridges zweier Hersteller. (Es werden die Bridges von Philips HUE und Osram Lightify unterstützt). So können die smarten Lampen auch über Homematic-Skripten und Programme gesteuert werden.

Jede Firma bringt also zu seinen smarten Lampen und Leuchten ein passendes Gateway mit.

Aber wie sieht es aus, wenn man in ein Hue-System eine Ikea – Trådfri Lampe integriert, oder es zumindest versuchen möchte? Ganz einfach – es klappt.  Voraussetzung ist nur, die Ikea Lampen in den Werkszustand zu versetzen. Auch das ist ganz einfach. Das Leuchtmittel in eine passende Fassung drehen und den Strom zur Lampe einschalten.  Jetzt die Lampe AUS – und wieder Einschalten. Und das insgesamt 6x in kurzen Abständen (ca. 500ms). Nach dem letzten „Aus – Ein“ sollte die Lampe langsam in der Helligkeit schwanken.  Jetzt kann sie im Hue-Gateway angelernt werden.

Somit stehen alle Smarten Leuchtmittel, die im Hue-System angelernt sind, auch im Homematic System zur verfügung.

 

 

 

 

Weihnachten 2019

Bildquelle: simardfrancois auf pixabay.com

Das fünfte Bloggerjahr ist vollendet. Bisher ist es mir gelungen mindestens einmal im Monat einen Beitrag zu verfassen. Die Ideen für Beiträge gehen natürlich auch nicht aus.

Die Zugriffe von realen Personen, also Ihr, die Ihr den Blog lest oder reinschaut, steigen gemächlich an. (Das zeigt zumindest die Google Statistik) Auch die kleine Umfrage auf der Startseite beweist, dass Ihr hier rein seht. VIELEN DANK für eure Teilnahme.

Parallel zu dem Blog habe ich mir vor einiger Zeit eingebildet, auch auf den Social-Media-Zug aufzuspringen und einen Instagram-Kanal erstellt. (@ingmarsretro) Dort poste ich Fotos von technischen Dingen, die mir so unterkommen und auch Content vom Blog.  Interessanter Weise haben den Kanal auch schon knapp 920 User abonniert.

In diesem Sinn…

Fröhliche Weihnachten und schöne Feiertage!

 

IR-Thermokamera an Raspberry PI

Lepton Camera Module

Ein vielleicht interessantes kleines Projekt ist, ein Lepton Kameramodul mit einem Raspberry zu betreiben.  In meinem Fall verwende ich ein Lepton Modul mit 80×60 Pixeln bei einer Pixelgröße von 17µm und einer spektralen Empfindlichkeit im langwelligen Infrarot Bereich von 8µm bis 14µm. Die Framerate beträgt maximal 8,6 Hz. Das Kameramodul wird in ein Breakout-Board gesteckt und dieses mit dem Raspberry PI verbunden. Die Infos dazu gibt‘s weiter unten. Es gibt auch im Entwicklerbereich der Website flir.lepton.com eine Anleitung wie das Breakoutboard mit dem Raspi betrieben wird.

Camera Module mit Breakout Board V1.4

Benötigt wird ein Raspberry PI (in diesem Beispiel habe ich einen Raspberry PI4 verwendet), ein Lepton Thermal Kamera Breakout Board V1.4 und ein wenig Drahtwerk für die Verbindungsleitungen. Die genaue Teileliste (um auch alles Aufbauen und in Betrieb nehmen zu können) ist unten angeführt:

  • Raspberry PI (Modell 2,3 oder 4)
  • Micro SD-Karte (ab 8GB)
  • USB-Steckernetzteil mit Micro USB (oder USB-C) Kabel (je nach Raspberry PI Modell)
  • LAN-Kabel und Zugang zu einem Switch oder Router mit bestehender Internetverbindung
  • Idealerweise einen Rechner mit (SD-Karten-Slot) um das Image für den Raspberry vorzubereiten
  • Ein Monitor für den Raspberry PI mit HDMI oder MINI-HDMI-Kabel
  • USB-Tastatur, Maus
  • Lepton Thermal Kamera Breakout Board

Ist alles vorhanden, dann ist die Verdrahtung des Kamera Moduls mit dem PI herzustellen. Am einfachsten verwendet man die Jumper-Kabel (Female-Female) die in der Modulbastelwelt sehr beliebt sind. Ein Lötkolben ist für viele Demo- und Testaufbauten nicht mehr notwendig… Die folgende Skizze zeigt die herzustellende Verdrahtung:

Klicken zum Vergrössern

Das Pinning ist hier nochmals angeführt:

  • Raspi GPIO PIN01 (3V3)     –>    Lepton Pin VIN
  • Raspi GPIO PIN03 (SDA)    –>     Lepton Pin SDA
  • Raspi GPIO PIN05 (SCL)      –>    Lepton Pin SCL
  • Raspi GPIO PIN06 (GND)   –>     Lepton Pin GND
  • Raspi GPIO PIN19(MOSI)  –>     Lepton Pin MOSI
  • Raspi GPIO PIN21(MISO)  –>     Lepton Pin MISO
  • Raspi GPIO PIN23(CLK)      –>     Lepton Pin CLK
  • Raspi GPIO PIN24(CEO)     –>     Lepton Pin CS

Als Betriebssystem für den Raspberry Pi habe ich Raspbian installiert. Das geht entweder über den Download des RASPBIAN Images von der Webseite https://www.raspberrypi.org/downloads/raspbian oder auch über den NOOBS Installer. Mit dem Tool „etcher“ oder „win32diskimager“ kann die Image Datei auf die SD-Karte geschrieben werden. Wer mit NOOBS arbeitet braucht nur die zip-Datei auf die FAT32 formatierte SD-Karte zu entpacken. Ist das erledigt, dann einfach die SD-Karte in den Raspberry stecken, Monitor, Keyboard und Maus an den PI anstecken und zum Schluss die Stromversorgung aktivieren. Wenn NOOBS auf der Karte ist, dann wird nach dem Start eine Auswahl an zu installierenden Betriebssystemen angezeigt. Hier am besten auch RASPIAN auswählen und die Installation starten. Ist das abgeschlossen, dann ist je nach gewähltem Image entweder nur eine Konsole oder eben ein Desktop zu sehen. Im letzten Fall ist dann ein Terminal zu öffnen, damit in der Konsole weitergearbeitet werden kann.

Mit sudo raspi-config ist nach dem login in die Konsole das Raspberry PI Config – Tool zu öffnen. Darin sind folgende Services zu aktivieren:

  • SPI (unter Advanced Options)
  • SSH (unter Advanced Options)
  • I2C (unter Advanced Options)
  • Enable Camera (im Hauptmenu des raspi-config tools)

Danach ist der Raspberry zu rebooten. Nach dem erneuten Start und login (als User pi mit default Passwort raspberry) muss das Paket openCV installiert werden. Mit sudo apt-get install python-opencv ist das erledigt.

Auf GitHub habe ich eine Python Library von brandoncurtis und kekiefer für das Lepton Board gefunden. Die Library nennt sich pylepton und ist auf https://github.com/groupgets/pylepton zu finden.

Mit git clone https://github.com/kekiefer/pylepton.git legen wir das Repository  an und wechseln danach in das Verzeichnis cd pylepton. Jetzt kann das Setup Skript ausgeführt werden: sudo python setup.py install.

Mit dem folgenden kleinen Codebeispiel wird die Lepton Kamera ausgelesen, das 80×60 Pixel große Bild auf 800% skaliert und angezeigt.

 

 import numpy as np  
 import cv2  
 from pylepton import Lepton  
 with Lepton() as lepi:  
  a,_ = lepi.capture()  
 cv2.normalize(a, a, 0, 65535, cv2.NORM_MINMAX) # extend contrast  
 np.right_shift(a, 8, a) #daten in 8bit anpassen 
 cv2.imwrite("thermobild.jpg", np.uint8(a)) #bild schreiben 
 img=cv2.imread('thermobild.jpg')  
 cv2.imshow('Thermobild', img)  
 print('Originalabmessungen: ',img.shape)  
 scale_percent = 800  
 width = int(img.shape[1] * scale_percent / 100)  
 height = int(img.shape[0] * scale_percent / 100)  
 dim = (width, height)  
 resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)  
 print('Achtfach vergroessert: ',resized.shape)  
 cv2.imshow("Thermobild 8x", resized)  
 cv2.waitKey(0)  
 cv2.destroyAllWindows()  
 exit()  

Das Ergebnis sieht dann zum Beispiel so aus:


 

 

Homematic Aktor Schnellreparatur (Dimmaktor Funk)

Das bekannte und beliebte Smarthome System HomeMatic von eQ-3 ist mittlerweile auch schon in die Jahre gekommen und bei vielen Usern schon lange im Einsatz. Viele Komponenten sind, wie der im Bild dargestellte Aktor, meist in Unterputzdosen unter Schaltern oder umgeben von reichlich Drahtwerk eingebaut. Damit die sie auch jederzeit einsatzbereit sind, müssen sie natürlich permanent mit Energie versorgt werden. So kann es schon vorkommen, dass die in dem Aktor verbauten Komponenten aufgrund der Alterung auch einmal den Geist aufgeben. Ist der Aktor beispielsweise seit drei Jahren in Betrieb, so bedeutet das, er hat schon 26280 Betriebsstunden hinter sich. (24h * 365Tage * 3Jahre). Und welche Komponenten hier am anfälligsten sind, kann sich der geübtere Elektroniker sicher schon vorstellen.

Eigentlich wollte ich diesen Aktor eines Kollegen nur schnell begutachten und wenn rentabel reparieren, aber dann dachte ich mir, dass ja sehr viele von diesen Teilen im Umlauf und verbaut sind. Selbst in meinen vier Wänden laufen seit Jahren einige dieser Module. Und irgendwann werden auch diese ihre Probleme bekommen. Also macht es sicher Sinn, die Erfahrungen der Reparatur hier zu posten.

Im konkreten Fall handelt es sich um einen Dimm Aktor HM-LC-Dim1T-FM. Ein Ein-Kanal Aktor für den Einbau in Unterputzdosen. Das Fehlerbild: Die LED am Aktor beginnt nach Anlegen der Spannung zu Blinken – sonst keinerlei Funktion. Er lässt sich weder in den Anlernmodus versetzen noch auf Werkseinstellung zurücksetzen. Die Blinkfrequenz ist in etwa 2x pro Sekunde.

HM-LC-Dim1T-FM mit gelöstem Deckel

Zuerst ist der Deckel des Aktors zu lösen. Er wird mit vier Rastnasen gehalten und lässt sich recht einfach heraus Klicksen. Jetzt sind zwei übereinander liegende Platinen zu erkennen. Zwischen den Platinen liegt eine Kunststoffplatte. Die elektrische Verbindung zwischen den beiden Platinen wird durch Drahtbrücken hergestellt. Das „Platinen Paket“ lässt sich einfach aus dem Kunststoffgehäuse herausziehen. Jetzt sind alle Drahtbrücken entlang der Kanten zu entlöten. Es genügt natürlich, die Brücken nur an einer Platine zu lösen ;).

In den beiden, oben dargestellten Bildern ist die Controller-Platine zu erkennen. (Das ist die mit dem BidCos-Modul) auf dieser befindet sich auch der Atmel Mikrocontroller. Dieser Platine benötigt jetzt ein wenig Zuwendung. Man muss vielleicht noch wissen, wie die Spannungsversorgung für die Niedervoltelektronik des Aktors erzeugt wird. Aus der Netzspannung wird mit Hilfe eines Spannungsteilers aus Kondensator und Widerstand und einer Diode eine Zenerdioden-Stabilisierung erzeugt und mit Hilfe eines Kondensators geglättet. Diese daraus gewonnene Gleichspannung ist die Quelle für die Niedervoltelektronik. Diese ist natürlich nur in einem sehr schmalen Band belastbar. Und genau in dieser Schaltung liegt das altbekannte Problem. Der Elko. Er verliert durch Alterung und Austrocknung seine Kapazität. Eine saubere Gleichspannung am Controller ist dann nicht mehr möglich. Die Elektronik geht in einen undefinierten Zustand.

In diesem Fall habe ich gleich vier Elkos erneuert. Um diese zu erreichen muss zuerst das Funkmodul von der Stiftleiste abgelötet werden. Mit ein wenig Löterfahrung sollte das kein Problem darstellen. Die Lötaugen lassen sich dann mit einer Entlötlitze einfach wieder reinigen. Jetzt sind die vier Elkos mit den folgenden Positionsnummern zu erneuern. (Es sind zwar nicht alle defekt, aber es kann nicht schaden, sie zu tauschen, wenn das Funkmodul schon einmal herunten ist)

  • C3 mit 10µF 16V  105°
  • C7 mit 10µF 16V  105°
  • C10 mit 100µF 16V  105°
  • C21 mit 100µF 16V  105°

Bei den Bauformen sollte man sich unbedingt an die Größe der originalen Kondensatoren halten, da das Platinen Paket sonst nicht mehr in das Gehäuse passen könnte. Sind die Kondensatoren erneuert, dann war es das (in diesem Fall) auch schon. Das Platinen Paket zusammengelötet – und ein schneller Test – und siehe da, der Aktor bootet wieder wie gewohnt. Der Zeitaufwand für die Reparatur ist mit ca. 30min und für die Kondensatoren mit etwa einem Euro zu rechnen…

Ergebnisse zur Blogstatistik

Vor einigen Monaten habe ich das kleine Umfragetool zur Erfassung der Altersgruppen der Besucher meiner Blogseite eingerichtet. Da jeden Tag ein paar Mails mit Umfrageergebnissen eintrudeln, dachte ich, es ist an der Zeit, einmal einen Status zu veröffentlichen. In der Umfrage gibt es vier Altersgruppen (unter 20, 21 bis35, 36 bis 50 und größer 50 Jahre), sowie die Möglichkeit das Geschlecht bekanntzugeben.

Das Ergebnis sieht mit heutigem Tag, wie folgt aus:

An der Umfrage haben insgesamt 378 Personen teilgenommen. Im Detail verteilen sich die Altersgruppen wie folgt:

  • Gruppe „kleiner 20 Jahre“       41 Personen
  • Gruppe „21 bis 35 Jahre“      129 Personen
  • Gruppe „36 bis 50 Jahre“         99 Personen
  • Gruppe „größer 50 Jahre“    109 Personen

Der Anteil der weiblichen Blogleser sieht wie folgt aus:

  • Gruppe „kleiner 20 Jahre“       36%  (15 Personen)
  • Gruppe „21 bis 35 Jahre“           0%   (  0  Personen)
  • Gruppe „36 bis 50 Jahre“        10%   (10 Personen)
  • Gruppe „größer 50 Jahre“      18%   (18 Personen)

Anzumerken ist noch, dass das Statistiktool auch von einigen Spammern benutzt wurde um im Kommentar Feld Spam-Links zu posten. Diese wurden jedoch von den Filtern entfernt und scheinen in der Statistik nicht auf.