Montag, 1. September 2025

Den Rubik's Cube Würfel lösen

Bereits 1980 erschien in der Bild der Wissenschaft ein Artikel, der beschreibt, wie der Rubik's Cube Würfel gelöst werden kann. 


Die möglichen Bewegungen der Teilwürfel bilden eine mathematische Gruppe, die zwar nicht abelsch ist, aber Elemente aufweist die kommutativ sind, weil sie sich nur auf Teilbereiche des Würfels auswirken. Darauf beruht das vorgestellte Lösungsverfahren. Tatsächlich gibt es einige Bewegungsabfolgen die sich nur auf einen Baustein auswirken und den Rest des Würfels unverändert lassen. Im Bild unten sind die wesentlichen Schritte der im Artikel vorgestellten Lösung dargestellt.


\(O\) bedeutet dabei eine Vierteldrehung des oberen Bandes im Uhrzeigersinn, \(U\) eine Drehung des unteren Bandes, \(V\) eine Drehung vorn, \(H\) hinten, \(R\) rechts und \(L\) links. \(O^{-1}\), \(U^{-1}\), \(V^{-1}\), \(H^{-1}\), \(R^{-1}\), \(L^{-1}\) bedeuten Drehungen gegen den Uhrzeigersinn.   
Zuerst bewegen wir die Steine in der Mitte einer Würfelseite so, dass sich die Farben an dem zugrunde liegenden Netzansicht orientieren. 

Das Ordnungsverfahren ist so konzipiert, dass zunächst das untere Band des Würfels gelöst wird. Wir wählen eine, im Bild oben gestrichelt markierte, Kante. Der farblich richtige Baustein wird dann zunächst in die Position \(KL\), \(KO\), \(KR\) oder \(K4\) gebracht.
 

Dabei gilt es zu beachten, dass das Mittenband nicht verdreht werden darf, denn die seitlichen Farben der gesuchten Kante müssen mit den angrenzenden Seitenmitten übereinstimmen. Mit den im Bild genannten Transformationen \((KL): V^{-1}\), \((KO): V^2\), \((KR): V\) oder \((K4): R^{-1}VR\) wird der Baustein aus der entsprechenden Position an den gestrichelt markierten Platz gebracht. 
Nachdem alle 4 Kanten passen, wird eine gesuchte Ecke in die Position rechts vorne gebracht und je nach Lage der Bodenfarbe entweder mit den Zügen \((EV): V^{-1}O^{-1}V\), \((ER): ROR^{-1}\) oder \((EO): V^{-1}OVRO^2R^{-1}\) nach unten befördert.
Nachdem das untere Band gelöst ist, bleibt es fest.


Nun wird das mittlere Band gelöst. Die benötigten Seitenkanten befinden sich entweder im oberen Band oder an der falschen Stelle des mittleren Bandes. Befindet sich die benötigte Seitenkante im oberen Band wird sie entweder direkt in die Position für Bewegung \((B1): ORO^{-1}R^{-1}O{-1}V^{-1}OV\) oder in die Position für \((B2): O^{-1}L^{-1}OLOVO^{-1}V^{-1}\) gebracht. 

Durch die Bewegung \(B1\) wird die Kante nach rechts gedreht, und durch die Bewegung \(B2\) nach links. Die im Artikelausschnitt oben grau eingezeichnete Teilfläche, auf die keine Pfeile verweisen, ist etwas irreführend. Die Bewegungen müssen relativ zur eingezeichneten benachbarten Würfelfläche ausgeführt werden, in deren Ebene die benötigte Seitenkante gedreht werden muss. Befindet sich die benötigte Kante im mittleren Band, wird sie mit Bewegung \(B1\) oder \(B2\) zunächst nach oben befördert, bevor die bereits erwähnten Schritte ausgeführt werden.


Dann muss die Oberseite gelöst werden. Zunächst werden die Kanten der Oberseite an die richtige Position gebracht. Die Orientierung der Teilwürfelstücke kann vorerst vernachlässigt werden. Die Bewegung \((PK1): OVROR^{-1}O^{-1}V{-1}\) tauscht benachbarte Kanten, dreht aber zusätzlich die Ecken der Oberseite. Daher muss die Kantenpositionierung vor der Eckdrehung erfolgen. 


Auch eine zyklische Vertauschung der Kanten der Oberseite ist z.B. mit der Bewegung \((PK2): SOS^{-1}O^2SOS^{-1}\) möglich. Dabei bedeutet \(S\) eine Drehung der senkrechten Mittelscheibe.


Anschließend werden die Ecken in Position gebracht. Mit Bewegung \((PE1): VUV^2U^2V^2U^{-1}V^{-1}\) können die beiden vorderen Ecken vertauscht werden. Dieser Zug ist jedoch ein Zug mit Ordnung 2. Einmal ausgeführt verändert er den unteren Teil des Würfels. Es muss also ein weiteres Eckenpaar nach 'vorne' gedreht, und vertauscht werden, um den unteren Teil wieder richtig zu stellen. Ach die Ecken können, wie im Bild oben gezeigt, mit der Bewegung \((PE2): LO^{-1}R^{1}OL^{-1}O^{-1}RO\) entgegen dem Uhrzeigersinn bzw. mit \((PE3): O^{-1}R^{-1}OLO^{-1}ROL^{-1}\) im Uhrzeigersinn zyklisch vertauscht werden.

Dann müssen die Kanten richtig orientiert werden. Die Kanten lassen sich mit der Bewegung \((OK1): (VB)^4\) drehen. \(B\) bezeichnet hierbei eine Drehung des mittleren horizontalen Bandes. Auch hier gilt es zu beachten, dass die Drehung die Ordnung 2 hat.

Sind alle Kanten richtig orientiert, wird die Orientierung der Ecken in Angriff genommen. Die Bewegung \((OE1): (RV^{-1}R^{-1}V)^2\) bewirkt eine Drehung der Ecke rechts vorn. Diese Drehung hat die Ordnung 3. Sie muss also drei mal ausgeführt werden um den Würfel wieder vollständig herzustellen.

Tatsächlich lässt sich beweisen, dass das vorgestellte Ordnungsverfahren immer zum Ziel führt. Angesichts der vielen Möglichkeiten den Würfel zu konfigurieren ein erstaunliches Ergebnis. Tatsächlich gibt es für die Positionierung der 8 Ecken \(8\cdot 7\cdot 6\cdot 5\cdot 4\cdot 3\cdot 2\cdot 1 = 8!\) Möglichkeiten, für die 12 Kanten entsprechend \(12!\). Für die Orientierung der Ecken gibt es \(3^8\) Möglichkeiten weil die Ecke 3 Farben besitzt, für die Seiten \(2^{12}\) weil sie 2 Farben haben.  Daraus ergeben sich \(3^8\cdot 2^{12}\cdot 12!\cdot 8!\) Möglichkeiten. Es sind jedoch nicht alle Permutationen erlaubt. Positionierungen sind gerade Permutationen, und aus Paritätsgründen sind nur ein Drittel der Eckorientierungen und die Hälfe der Kantenorientierungen möglich. Insgesamt ergibt sich die enorme Zahl von

\[ \frac{12!\cdot 8!}{2}\cdot\frac{3^8}{3}\cdot\frac{2^{12}}{2}= \]

43 252 003 274 489 856 000, also mehr als 43 Trillionen Möglichkeiten.

Im Juli 2010 hat Tomas Rokicki zusammen mit Herbert Kociemba, Morley Davidson und John Dethridge bewiesen, dass mit 'moderneren' Algorithmen nie mehr als 20 Züge notwendig sind um den Würfel in seinen Ausgangszustand zu versetzen. Zwischenzeitlich sind sogar web basierte Tools wie der Online Rubik's Cube Solver vorhanden um den Würfel rasch zu lösen. Diese Tools basieren in der Regel auf  dem Algorithmus von Herbert Kociemba's Cube Explorer, einem bekannten Open-Source-Programm. Das Github Repository findet sich hier.

In der Netzansicht des Online Solvers werden die Farben gemäß der Ausgangskonfiguration des Würfels gesetzt.


Nach einigen Sekunden Rechendauer wird der notwendige Bewegungsablauf dann z.B. auch graphisch dargestellt.

Ein ausführliches YouTube Tutorial wie das Tool bedient wird findet sich hier. Tatsächlich funktioniert der Algorithmus. Das Bild unten zeigt den Würfel abschließend vor und nach der Anwendung.


Viel Spaß beim selber Knobeln...



Donnerstag, 5. Juni 2025

Den Stromzähler auslesen

Vor einigen Wochen hat unser Netzbetreiber einen 'intelligenten' Stromzähler, auch SMART Meter genannt, von Landis Gyr bei uns installiert. Laut Herstellerangaben verfügt er über ein optisches Interface, das Nachrichten in der Smart Message Language (SML) ausgeben kann. Dieses Kommunikationsprotokoll wurde für Firmwareupgrades oder dem Austausch von Messdaten entwickelt. Zum Auslesen der Daten genügt eigentlich ein IR Phototransitor, ich habe mich jedoch für den Kauf eines fertigen Lesekopfs mit UART Schnittstelle entschieden. Die Signale Rx und Tx werden mit TTL Pegel von 3 bis 5 Volt übertragen, so dass der Lesekopf direkt an einen Rasperry Pi Zero 2W angeschlossen werden kann.


Auch softwareseitig gibt es bereits fertige Lösungen. Volkszaehler.org stellt einen Datenlogger namens 'vzlogger', sowie als middleware eine PHP Datenbank zum Speichern der ausgelesenen Daten zur Verfügung. Darüber hinaus gibt es ein web frontend zur graphischen Darstellung der ausgelesenen Werte. Wie die Volkszähler Software auf einem Raspberry Pi mit fertigem Image installiert wird, ist hier beschrieben.

Um sich in einem ersten Schritt die Daten anzuschauen, die vom Lesekopf geliefert werden, kann man z.B. das Terminal Programm minicom installieren. Das geht mit  'sudo apt-get install minicom'. Anschließend kann der port mit 'minicom -s' konfiguriert werden. Laut Landis Gyr Benutzhandbuch werden folgenden Einstellungen benötigt.


Der Befehl 'minicom -H -C hex.log' gibt die empfangenen Daten in hexadezimaler Darstellung aus und speichert sie in 'hex.log'.


Laut Wikipedia kennzeichnen die empfangenen '1B 1B 1B 1B' eine Escape Sequenz, und die '01 01 01 01' markieren den Beginn einer SML Nachricht.

Alternativ können zur Darstellung der vom Messkopf empfangenen Daten auch die Programme picocom oder xxd verwenden werden. Mit xxd gelingt die Darstellung besonders einfach.

Um die SML Daten interpretieren zu können, müssen wir die 'Volkszähler' Software bemühen. Zunächst müssen wir den Datenlogger vzlogger konfigurieren. Dazu kann der vzlogger.conf-Editor benutzt werden. Der screenshot unten zeigt eine so erzeugte Konfigurationsdatei namens 'vzlogger.conf'. Achtung, der log Pfad muss  z.B. mit dem nano Editor händisch auf '/var/log/vzlogger/vzlogger.log' geändert werden, sonst startet vzlogger nicht richtig.

Nach 'sudo reboot' oder 'sudo systemctl restart vzlogger', kann mit 'systemctl status vzlogger' überprüft werden, ob der Datenlogger sauber läuft.


Wenn Alles passt, finden sich in 'vzlogger.log' 'readings' mit OBIS code '1.8.0' für den Bezug von Strom in Wh, und mit '2.8.0.' für die Einspeisung in Wh. Im Auslieferungszustand des  SMART Meters erfolgt die Änderung der Werte allerdings nur in kW Sprüngen.

Laut Landis Gyr Benutzhandbuch lässt sich neben der bezogenen oder eingespeisten Energie auch die aktuell verbrauchte Leistung auslesen. Dies ist allerdings nur nach Eingabe einer PIN möglich, die vom Netzbetreiber erfragt werden kann. Zur dauerhaften Ausgabe muss der PIN des Zählers deaktiviert werden. 

Mit Hilfe einer modifizierten Taschenlampe, deren Beleuchtungsstärke mindesten 400 Lux betragen muss, kann man durch das Menü des Zählers navigieren. 

Für die Eingaben muss die optische Schnittstelle entweder mit kurzen Pulsen weniger als 2 Sekunden , oder mit langen Pulsen mehr als 2 Sekunden beleuchtet werden.


Wird der 'erweiterter Datensatz' im Menuepunkt 'InF' aktiviert, erfolgt die Ausgabe der Energie zudem mit einer Genauigkeit von Wattstunden (Wh).


Um die Daten graphisch darstellen zu können, müssen im web frontend Kanäle angelegt werden. Dazu muss man im Webbrowser 'http://<IP des pi>/' eingeben, und dann den gewünschten Kanal 'hinzufügen'.


Über das (i) der Kanäle lässt sich der 'Universally Unique Identifier' UUID herausfinden, der beim Anlegen der Kanäle erzeugt wurde. Anschließend müssen dieses Kanäle zusammen mit der UUID in der 'vzlogger.conf' hinterlegt werden. Ich habe folgende Einträge gemacht.


Nach  'sudo systemctl restart vzlogger' sollte die graphische Darstellung dann klappen. Das Bild unten zeigt den typischer Verbrauch und die typische Einspeisung an einem sonnigen Frühlingstag.



Obwohl in den ersten beiden Kanälen ein Energiemeter gewählt wurde, werden praktischerweise nicht die Zählerstände sondern eine errechnete Leistung angezeigt.

Im letzten Schritt habe ich mir ein Gehäuse aus dem Thingiverse ausgedruckt, und zum besseren Halt am metallischen Verteilerkasten einen Magneten aufgeklebt.


Im Eingebauten Zustand sieht das Ganze dann wie folgt aus.



Jetzt lässt sich im Browser eines beliebigen Smartphones der aktuelle Stromverbrauch überwachen. 

Viel Spaß beim selber Basteln...



Samstag, 24. Mai 2025

Einen Gardena Versenkregner reparieren

Nachdem mein Gardena Versenkregner Aqua Contour nun schon 4 Jahre im Einsatz ist, läuft er nach der diesjährigen Winterpause nur noch mit sehr kleiner Beregnungsweite. Das deutet auf einen defekten Akku hin. Der Versenkregner lässt sich wie hier beschrieben mit etwas Aufwand auch ohne Ausgraben öffnen. Dazu müssen die rot markierten Schrauben entfernt werden.

Zum Lösen der tiefsitzenden Schrauben 


habe ich mir einen langen Schraubenzieher aus Bithalterverlängerungen sowie ein Stückchen Blech zum sicheren Entfernen der der Schrauben gebastelt.


Das so entnommene Innenleben lässt sich weiter zerlegen.



Zunächst habe ich das Solarpanel abgeklemmt. Auch bei Beleuchtung mit einem Baustrahler liefert das Panel nur noch 0,4 V Spannung. Der Deckel zum Akku lässt sich mit sanfter Gewalt unter Zuhilfenahme einer Gripzange aufdrehen. Eine Messung der Klemmspannung des Akkus von 1,1V bestätigt, dass sich der Akku über den Winter tiefentladen hat. Ein neuer original Akku wird für ca. 50 EUR angeboten. 


Neue Solarzellen und ein u.U. notwendiger Step Up Wandler dürften ebenfalls mit mindestens 10 EUR zu Buche schlagen. Da der Defekt vermutlich immer wieder auftritt, habe ich mir überlegt den Regner mit vier externen 1,5V Alkalie Batterien bei ca. 6 V zu betreiben. Ich habe daher den Lithium Ionen Akku entfernt, und ein zweiadriges Gummikabel in das Batteriegehäuse gelegt. Die Öffnung habe ich von außen mit Hybrid Dichtmasse verschlossen.

Die vier Babyzellen mit 8Ah Kapazität habe ich in einer wasserdichten Verteilerdose untergebracht, die ich zusätzlich auch noch mit Dichtmasse versiegelt habe.

Die Dose habe ich nahe dem Rasensprenger kurz unter der Grasnarbe vergraben, so dass sich der Deckel zum Batteriewechsel einfach öffnen lässt.

Nachdem ich den Rasensprenger neu eingestellt habe, und Alles mit etwas Erde verfüllt ist, verrichtet der Rasensprenger wieder seinen Dienst.

Viel Spaß beim selber Reparieren...

Samstag, 10. Mai 2025

Ein Staketenzaunelement binden

Meine Frau hat sich ein Staketenzaunelement gewünscht um daran Blumentöpfe aufhängen zu können.

Mit Ästen aus dem Garten lässt sich so ein Zaunelement einfach selbst herstellen. Ich habe einige Äste auf eine Länge von ca. 70 cm gekürzt, und mir 1 mm starken Stahldraht besorgt.


Als Vorrichtung zum Binden dient ein Brett in das vier Nägel geschlagen sind, und das am Arbeitstisch befestigt ist. Dadurch können die Äste beim Verdrillen des Drahtes an den Nägeln anliegen, und der Draht wird zwischen den Nägeln geführt. Der Draht soll doppellagig jeweils über und unter den Ästen geführt werden. 
Dazu wird der Draht vor dem eigentlichen Binden jeweils doppelt zu vier kleinen Spulen gewickelt. Diese werden mit je zwei kleinen Stückchen Klettband zusammengehalten wie im Bild unten zu erkennen ist. 


Um das Verdrillen des Drahtes zu erleichtern empfiehlt sich die Verwendung einer leicht eingestellten Crimpzange. Den festen Abstand der Äste von 6cm habe ich mir auf einem Zollstock markiert.

Viel Spaß beim selber Basteln...



Montag, 7. April 2025

Eine Esse für die Werkstatt

Zum Geburtstag habe ich eine kleine Gasesse geschenkt bekommen. Die Esse ist mit 2 Brennern ausgestattet. Drosseln regeln den Luftstrom für die Brenner, die auf dem Venturi-Prinzip basieren. Mit einer Propangasflasche, und blau eingestellter Flamme, lassen sich damit in kurzer Zeit im Innern der Kammer bis zu 1370°C erzielen.


Um die Esse auch im Außenbereich nutzen zu können, habe ich ein kleines Gestell aus Vierkantrohren und Winkeleisen zusammengeschraubt und zusätzlich punktverschweißt.


Für einen 30 kg Amboss habe ich aus 12 Holzpfosten einen 70 cm hohen Bock gebaut. Die einzelnen 80 mm x 80 mm starken Pfosten habe ich mit Gewindestangen und Flacheisen eingefasst, und zusätzlich mit Silikon verklebt. Eine Lage Teerpappe dient zur Dämpfung des Amboss und gewährleistet beim Schmieden eine dumpfen Ton.  


Ich habe auch einen kleinen Bock angefertigt um längere Werkstücke sicher ins Feuer legen zu können.


So ausgerüstet habe ich mich an die ersten Schmiedeprojekte gewagt.

Aus 54 mm Hufeisennägeln habe ich zunächst begonnen kleine Haken zu schmieden.


Black Bear Forge erklärt in seinem Video wie das geht. Die Haken können hier auf Etsy erworben werden.

Inspiriert durch Harald von Einfach Schmieden! habe ich auch versucht einen Knoten in Baustahl zu schmieden.

Ich habe mir hierfür wie empfohlen eine Biegegabel für das rechteckige Gesenkeloch im Amboss geschweißt.


Letztlich ist daraus ist diese schöne Lampe entstanden.


Auch sie kann hier bei Etsy erstanden werden. Als Sockel dient ein großer Stein, den ich mit einem Diamantbohrer  ca. 3 cm tief angebohrt, und dann das 10 mm starke Eisen darin verklebt habe. 


Für einen ebenen Stand sorgen 3 kleine Scheiben, die ich aus TPU gedruckt, und mit Sekundenkleber an der Unterseite befestigt habe. 


Zum Abschluss sei noch auf ein paar Videos verwiesen die grundlegende Schmiedetechniken erläutern, oder Anregungen für eigene Projekte geben.

Schitzen und Weiten
Beidseitig absetzen
Abschroten
Eine kurze Spitze schmieden
Eine Zange schmieden
Stahl um eine Lehre biegen
Feuerschweißen eines Schürhakens
Schmieden eines Zaunpfostens
Warm- und Kaltschroten
Nägel schmieden
Ein Flaschenöffner mit Holzgriff
Eine Gürtelschnalle schmieden

Viel Spaß beim selber Schmieden und Basteln...