Samstag, 9. Dezember 2017

Lohnt sich Bitcoin Mining noch Ende 2017?

Vor einiger Zeit wurde mein Interesse an Bitcoin wieder geweckt. Seit dem ich damals 2009 das erste mal mit Bitcoin in Berührung gekommen bin und selbst einige gemined habe, hat sich in dem Gebiet einiges getan. Es gibt neben Bitcoin noch eine ganze Menge alternativer Währungen, von denen einige unglaubliche Werte darstellen. Doch lohnt es sich noch im Dezember 2017 mit auf den Bitcoinhype aufzuspringen und selbst zu minen?

Dazu kann man eine ganz einfache Rechnung aufstellen: Initiales Eigenkapital + Stromkosten gegen Errechnete Crypto-Währung.

Wenn ein kurzer Blick in die eBay Angebote aus Deutschland geben einen aktuellen Preis von ca 35€ pro 5000000 Hashes/Sekunde (H/s) SHA-256 fähiger Mining Hardware. Diese braucht im Durchschnitt ca. 70 W Leistung.

Angenommen wir besitzen 2 dieser Geräte ergibt sich folgende Rechnung:
10 GH/s mit 140 W Stromverbrauch. Ergibt am Tag 3,36 kWh. Bei einem Strompreis von 0,25 €/kWh kommen wir auf ca. 25 € für Strom pro Monat.

Wie müssen also in einem Monat mehr als 25€ errechnen, sonst lohnt sich der Stromverbrauch nicht.

Bei dem aktuellen Kurs von 15.000 $/BTC kann man mit 10 GH/s stolze 0.00004183 BTC bekommen. Das entspricht 0,62 $. Bei so kleinen Anfangswerten sieht man schnell, dass sich ein Mining von Bitcoin nicht lohnt.


Schauen wir besser in eine andere Richting. Wer zuhause einen PC stehen hat, der eine moderne Grafikkarte besitzt, kann GPU-Mining betreiben. Dabei wird die Besonderheit von GPUs verwendet, viele Daten parallel zu berechnen.

Eine bekannte Cryptowährung mit GPU Mining ist Ethereum. Aktuell ist ein ETH 426€ wert. Mit einem normalen PC, der keine spezielle Grafikkarte besitzt kann man ca 11 MH/s errechnen. Ein normaler PC benötigt ca. 220 W. Mit all diesen Faktoren erreicht man einen Ertrag von 0,05 EHT pro Monat.

Wie oben berechnen wir Stromkosten mit 0,25 €/kWh und kommen auf ca. 40€ pro Monat. Wir haben aber nur 21€ an ETH errechnet. Auch hier lohnt sich es nicht wirklich.

Es sieht fast so aus, als würde sich ein Mining der bekannten Crypto-Währungen im kleinen Stil nicht mehr lohnen. Aber was kann man machen, wenn man in der Welt der Crypto-Währungen mitspielen will ohne gleich mehrere 1000€ als Kapital aufzubringen?

"Go big or go home" ist wohl das Prinzip mit dem man noch etwas verdienen kann. Aber wenn man selbst nicht das finanzielle Risiko tragen möchte eine groß angelegt Mining Aktion zu starten, kann man sich als Teilhaber eine großen Miene einsetzen. Einer dieser Anbieter ist Genesis Mining. Die Firma sitzt in Island und hat dort Zugriff auf 1. kostenfreie kühle Luft, 2. Kostengünstige Thermalenergie für die großen Mengen Strom, die eine Miningfarm benötigt und 3. Platz um einen Miningfarm aufzubauen.

Im Angebot von Genesis Mining war bis vor kurzem Bitcoin, Litecoin, Dash, Ethereum, Zcash und Monero. Im Moment haben sie nur noch Kapazitäten für Monero frei. Monero (XMR) ist ähnlich wie die anderen Crypto-Währungen, und im Moment 237€ wert.

Das kleinste Mining Angebot für Monero Mining ist 60H/s für 45€ im Vertrag für 2 Jahre. Mit 60H/s werden zur Zeit ca. 0,0007 pro Tag errechnet. Das sind bei gleichbleibender Rate und gleichbleibendem Kurs 120€ in zwei Jahren. Das ist also eine Währung, die sich zur Zeit lohnt zu errechnen. Größere Verträge ergeben natürlich größere Margen. 1000H/s für ca. 700€ ergeben mit der Rechnung von oben über 2000€!

Probiert es aus, wenn ihr wollt. zusätzlich gibt es nochmal 3% Rabatt, wenn ihr über den Link hier geht:


Dienstag, 5. Dezember 2017

Nokia 3210 Retro Fit Board Teil 8

Ich bin mitten in der Inbetriebnahme des Retro Fit Boards für das Nokia 3210. Dabei sind mir einige Probleme aufgefallen.

Das Board hat einen Fehler im Kupfer der Rückseite. Glücklicherweise ist das Kupfer eine große Struktur und kann relativ einfach aufgekratzt werden um den Fehler zu entfernen.

Die Kupferfläche zum Anbinden der Speicherdrossel der 3V3 Versorgung ist mit der GND Plane kollidiert. Beide Planes besitzen die Priorität 0 und werden daher übereinander liegend generiert. Das ganze ist sehr ärgerlich, wird aber im DRC gezeigt... Den hätte ich besser mal komplett durchgeschaut.

Jetzt bleibt nur die manuelle Nachbearbeitung der Leiterplatte. Wenn die beiden Kupferflächen aufgetrennt sind, funktioniert auch der Buck Regler für das 3V3 Netz. Allerdings nur auf instabilen 2,6V.  Die Instabilität der Versorgungsspannung führt dazu, dass die CPU nicht zuverlässig läuft. Die Kommunikation mit JTAG funktioniert nur sporadisch und es kommt oft zu Abbrüchen der Verbindung. Hier helfen 10µF am Ausgang der Spule L202, aber in manchen Situationen bricht auch so die Spannung zusammen.

Der Boostconverter, der Die Batteriespannung auf 4V hochsetzen soll, passt nicht auf das Footprint, das vorgesehen ist. Hier habe ich vorerst eine Brücke zwischen Dem Eingangs Kondensator und der Spule L202 gelötet. Ich habe ein "Texas_S-PVSON-N8_NoThermalVias" aus der KiCad Bibliothek verwendet. Der Chip der da drauf soll ist allerdings ein WSON Chip mit 2x2mm Kantenlänge der PVSON ist 3x3mm. Da hilft nur manuelles Nacharbeiten.

Für den 3V3 Buck-Konverter habe ich einige Experimente mit dem Layout gemacht. Die stabilste Spannung habe ich bei zwei Spulen je 4,7µH und verteilter Ausgangkapazität > 22µF erhalten.

Zwei Spulen und verteilte Ausgangskapazität
Diese Schaltung werde ich nun auf dem komplett bestückten Board ausprobieren und dann sehen wir weiter.

Sonntag, 19. November 2017

Nokia 3210 Retro Fit Board Teil 7

Die Prototypen Boards sind da. 10 Leiterplatten des 6-lagigen Designs sind letze Woche angekommen und ich habe mit der Bestückung einer Leiterplatte begonnen. Wie in den Videos 1 und 2 gezeigt, ist das manuelle Löten ein zeitaufwändiges Unterfangen.


Die über 150 Komponenten müssen zuerst einmal sortiert und bereitgelegt werden. Dann kann die eigentliche Bestückarbeit beginnen. Für dieses Projekt habe ich mich entschieden alles per Hand zu löten, also keine Schablone mit Lötpaste zu verwenden. Das hätte den Bestückungsprozess zwar beschleunigt, aber macht es für die Inbetriebnahme schwerer. Die kann nämlich jetzt Stück für Stück erfolgen, da nicht alle Komponenten bestückt sind. Für einen zweiten Produktionslauf, würde ich die Lötpasten-Schablone bevorzugen.

Mit etwas Übung und einem professionellen Lötkolben* kann man 0402 Bauteile problemlos löten. Für die ICs habe ich Lötpaste, Flussmittel* und ein Heißluftfön*.

Beim Zusammensetzen sind mir ein paar kleine Fehler aufgefallen. Einige Löcher, die für Befestigungsschrauben oder Kuststoffbolzen im Gehäuse vorgesehen sind, passen nicht genau. Hier muss das Gehäuse angepasst, oder das Loch aufgefeilt werden. Es ist aber nichts dramatisches.

Ebenso passt die Metall-Rückseite nicht mehr drauf, wenn der JTAG Stecker und die Kopfhörerbuchse bestückt sind. Auch hier muss das Gehäuse angepasst werden.

Die Nächten Tage wird es mit der Software weiter gehen.

* Links gehen auf Amazon.de

NRF3210 soldering part 2



NRF3210 soldering part 1

Mittwoch, 1. November 2017

Heizung automatisiert. Mit Home Assistant und MAX!

MAX! Starterkit bei Amazon
 Kurz vor der kalten Jahreszeit, bevor die Heizungen wieder auf Hochtouren laufen habe ich meinem Hausautomatisierungs-System eine steuerbare Heizung verpasst. Das MAX! System von eQ-3 besteht aus meheren Komponenten: Dem Thermostat an der Heizung, einem Sensor, der den Fensterzustand (offen, geschlossen) erkennt und ein Thermostat an der Wand, das die Temperatur anzeigt. Pro Zimmer können diese Geräte miteinander kommunizieren und autark arbeiten. Mit Hilfe des MAX! Cube LAN Gateways können mehrere dieser Gruppen miteinander agieren. Für die Wohnung habe ich also die drei meist genuzten Heizkörper und alle Fenster mit Thermostaten und Sensoren ausgestattet. Das Wohnzimmer hat noch ein Wandthermostat bekommen. Im Bad habe ich ebenfalls ein Thermostat an der Heizung, ein Sensor am Fenster und eine Anzeige an der Wand. Beide Gruppen sind mit dem MAX! Cube verbunden. Home Assistant ist ebenfalls mit dem MAX! Cube verbunden und kann so die Temperaturen der Sensoren auslesen und schreiben.
Fenster Sensoren für MAX! bei Amazon

Jetzt fehlt nur noch die Einbindung in die Automatisierung der Wohnung. Home Assistant bringt eine Schnittstelle für MAX! mit. Daher muss in der configuration.yaml nur noch die IP vom MAX! Cube eintragen. Die bezieht der Cube vom DHCP Server über die Ethernet Schnittstelle.


maxcube:
  host: 192.168.0.10


Sobald Home Assistant verbunden ist, stehen die Werte als Devices zur Verfügung. Die Fenstersensoren sind als binäre Schaltsensoren, die Thermostate als Thermostat mit Temperaturkurve und verschiedenen Einstellmöglichkeiten abgebildet.
Einige der MAX! Sensoren in der Übersicht
Für die Zukunft fehlen hier noch die ganzen Automatisierungen. Diese sind im Moment über den MAX! Cube gesteuert, sollen aber schlussendlich über Home Assistant laufen.

Montag, 18. September 2017

Nokia 3210 Retro Fit Board Teil 6

Es geht voran mit dem Projekt. Nachdem ich den Audio Teil der Schaltung durch ein paar einfacher lötbare Teile getauscht und das Layout angepasst hatte, konnte ich mit den Feinheiten beginnen. Dazu gehören alle DRC Fehler zu betrachten. Jeder dieser Fehler könnte im späteren Produkt also der Leiterplatte zu Kurzschlüssen oder anderen Problemen führen. Nachdem in einem weiteren Review das Design vollständig überprüft ist, kann ich die Leiterplatte bestellen. Es gibt eine vielfältige Auswahl an PCB Herstellern. Viele dieser Hersteller sind aus dem Asiatischen Gebiet und können Leiterplatten zu unglaublich günstigen Preisen zu erstaunlicher Qualität herstellen. Bei einer 6-lagigen Platte ist das allerdings ein wenig anders. Hier muss ein wenig mehr Aufwand getrieben werden um die Leiterplatte zu erzeugen. Dadurch treten auch bei den Asiatischen Herstellern Kosten auf, die an den Kunden weitergegeben werden. Es ist also nicht ungewöhnlich Angebote zu bekommen, die im Bereich der europäischen Konkurrenten liegen.

Hersteller Eurocircuits multicb EasyEDA Smart Prototyping PCBJOINT
Anzahl 5 5 5 5 5
Stückpreis 54,88 38,78 25,81 48,30 50,92
Gesamtpreis 274,41 193,90 129,07 241,52 254,61
Lieferzeit 7 6 14 16 14
Porto 0 20 19,82 19,34 20,69
Summe 274,41 213,90 148,89 260,86 275,30






Anzahl 10 10 10 10 10
Stückpreis 35,38 26,26 13,44 24,76 26,93
Gesamtpreis 353,79 262,60 134,44 247,60 269,30
Lieferzeit 7 6 14 16 14
Porto 0 20 19,82 19,34 20,69
Summe 353,79 282,60 154,26 266,94 289,99

Wie es im Moment aussieht wir des wohl entweder multicb als europäischer Hersteller, oder eben EasyEDA also asiatischer Anbieter.


Das Design sieht im Moment so aus wie oben gezeigt. Für die Fertigung der Leiterplatte muss an den von KiCad erzeugten Gerber Daten allerdings eine Kleinigkeit geändert werden. KiCad bietet nicht die Möglichkeit die Restringe der Vias auf den einzelnen Lagen gesondert zu bearbeiten. In diesem Design musste das Pad des Controllers an Masse angebunden werden, einerseits um einen guten elektrischen Anschluss an die Masseplane zu bekommen, andererseits um Temperatur an das Kupfer der Leiterplatte abgeben zu können. Das Problem dabei ist leider, dass das Pad direkt hinter einer Kontaktfläche für die Knackfrösche der Tastatur liegt. Also müssen wir in dem Isolationsbereich der Kontaktfläche Vias bohren. Dabei bleiben aber auf der Oberseite nur ein sehr kleiner Bereich zwischen Kontaktring und Via übrig.

Wie man sieht ist im linken Bild die Wahrscheinlichkeit eines Kurzschlusses zwischen den Kontaktflächen und der Via sehr hoch. Der Kupferring der Via ist aber für diese Schaltung auf der Top Seite nicht wichtig. Also können wir das überflüssige Kupfer entfernen. Zur Sicherheit machen wir dann noch einen Tropfen Beschriftungslack drauf und gut ist. Das geht mit GerbV ganz einfach.

Montag, 11. September 2017

Nokia 3210 Retro Fit Board Teil 5

Es ging weiter mit dem 3210 Board. Das Layout ist in der ersten Version fertig! Genauere Infos dazu gibt's auf dem Hackaday Post zum heutigen Fortschritt.
Hackaday Post

Sonntag, 3. September 2017

KiCad improved via management

Today I am putting out the first version of my KiCad via improvements. I created this during routing of my Nokia Retro Fit project. The board I wanted to create has this layer stack:


As you can see I want to be able to create micro vias on the layers 1,2,3 and 6,7,8. Using even the nightly builds of KiCad only allows you to place micro vias on the top or bottom to the adjacent layer below. so from 1 to  2 and 7 to 8. This where my additions come into to play.

I enhanced the user vias diameter and drill part of the Design Rules dialog. It now comes with more options.

  • Via Type (Through, Blind/Burried, Micro)
  • Start Layer
  • End Layer

The via class has those additional values as well.



Placing a micro vias during layout does not yet work as intended, but I am working on it. You can change it after placement nonetheless. So placing vias is not yet as comfortable as I would like it to be.
Editing a via after placing now gives you this dialog:


It gives you a list of all the vias created and you can double click to change the values below. It does not let you enter values that are not listed in the user via list. But you can select the "Add user via" checkbox to add your desired values to the list of user vias.

With this modifications to the KiCad source code I think I should be able to finish routing my DDR3 signals.

The issue with measuring the tracks still is on my list of things to do. Placing micro vias in a sensible way was more important to achieve though.

To try out the changes for yourself you can find the source code here

Sonntag, 20. August 2017

KiCad Via Eigenschaften Dialog

Ich habe meine erste Änderung im KiCad Quelltext als Patch in die Mailingliste gegeben. Diese Änderung ermöglicht es den Via Eigenschaften Dialog dazu zu verwenden, den Via Typ, Start- und Endlage, sowie die Bohr- und Kupferdurchmesser festzulegen.

Ändern des Via Typs
Ist der Netzklassen Durchmesser der Via kleiner als der angegebene Wert, wird eine Meldung angezeigt, mit der die Größe der Netzklasse übernommen werden kann. Das ist hilfreich, wenn eine Micro-Via zur Through-Hole werden soll, denn die ist meistens größer als die Micro-Via.


Der Patch befindet sich gerade in der Diskussion und wird eventuell in leicht abgeänderter Form in der nächsten Zeit integriert.

Wer den Dialog selbst mal ausprobieren möchte, findet das Projekt hier.

Samstag, 5. August 2017

KiCad Net Class Constraint Management

Ich bin gerade dabei ein relativ komplexes Design in KiCad zu entwicklen. Es handelt sich dabei um ein i.MX7 Prozessor mit DDR3 Anbindung. Für DDR3 sind einige Designrichtlinien einzuhalten. Diese sind neben der Leitungsimpedanz (50 Ω Transmission Line und 100 Ω Differantial Line) auch die Länge der einzelnen Signalgruppen und des Clock Signals. Darüber ein Überblick zu behalten ist nicht leicht. KiCad hat keine Funktion einfach diese Constraints zu checken und zu verwalten. Zum Glück handelt es sich um ein Open Source Projekt und daher habe ich den Versuch gestartet, pcbnew mit den nötigen Funktionen auszustatten. Ziel ist es einen angenehmen Routing-Vorgang solcher komplexen Schaltungen zu erhalten. Dazu gehören neben der Verwaltung der Constraints auch noch andere Features:

  • Live Tracking der Leitungslängen
  • Reporting der Constraints
  • DRC der Constraints
Der erste Schritt wird sein die Constraint Daten in die Netzklasse mit einzubinden. Dazu habe ich den Design Rule Dialog erweitert. Er hat 8 neue Spalten erhalten.
  1. Max Vias
  2. Topology
  3. Min Length
  4. Max Length
  5. Max Skew
  6. Stub Length
  7. Type
  8. Layer

Max Vias

Ein hochfrequentes Signal wird an jedem Materialeigenschaften-Übergang reflektiert und verliert Energie. Das können beispielsweise Änderungen des Leitungsquerschnitts, Bezugsmasse, Leitungsmaterials, oder anderer Umgebungsparameter sein. Eine Signalübergabe über ein Via in eine andere Lage ist genau so ein Übergang und führt zu Signalfehlern. Daher gibt es für manche Signale eine maximale Anzahl von Vias.

Topology

Die Routing Topologie ist die Art und Weise, wie das Signal von der Quelle zu einer Senke, oder mehrerer Senken übertragen wird. Es werden folgende Topologien erkannt:

  • STAR
    Das Signal geht von der Quelle sternförmig zu jeder Senke mit einer eigenen Leitung.
  • T
    Das Signal teilt sich (auch mehrmals) in jeweils zwei gleichlange Äste auf.
  • FLYBY
    Hier wird das Signal von der Quelle aus an jeder Senke vorbei geführt, ohne sich aufzuteilen. Alle Zwischenstücke sind gleichlang ausgelegt.
  • HORIZONTAL
    Alle Signale sollen horizontal geführt werden.
  • VERTICAL
    Alle Signale sollen vertikal geführt werden.
  • SIMPLE_DAISY_CHAIN
    Das Signal geht von der Quelle zur ersten Senke, von dort zur zweiten und so weiter. Vergleichbar mit der FLYBY Topologie.
  • MIDDRIVEN_DAISY_CHAIN
    Bei dieser Topologie geht das Signal von der Quelle nach beiden Seiten an mindestens zwei Senken. Dies ist eine Kombination aus eine Ebene T und FLYBY.
  • MULTIPOINT_TOPOLOGY
    Das Signal wird an vielen Stellen verbunden. (Niederfrequente Signale oder Spannung/Ground)

Min/Max Length

Signale, die laufzeitbegrenzt sind, oder in Relation mit anderen Signalen stehen, müssen eine gewisse Länge einhalten. Diese beiden Werte geben das Längenfenster an, in dem sich alle Signale der Netzklasse befinden dürfen.

Max Skew

Ähnlich wie die Min/Max Länge ist der Skew eine Toleranzangabe für die Länge aller Signale der Netzklasse. Beispielsweise muss ein Bus mit 8 Signalen maximal nur 60mm lang sein. Die 8 Signale sind aber auf einem Skew von 2mm begrenzt. So kann die Gruppe an sich in der Länge variieren, die einzelnen Signale sind aber strikter reglementiert.

Stub Length

Ein Stub ist eine Abzweigung des Signals. Am Ende der Leitung wird das Signal reflektiert und zurück geworfen. Das kann bei zu langen Stubs zu Problemen führen. Daher werden für diese Fälle maximale Stublängen angegeben.

Type

Hier kann zwischen den Leitungstypen Signal, Power oder Mixed gewählt werden. Diese werden an den globalen Layer Einstellungen gemessen.

Layer

Der Type Wert kann manuell überschrieben werden um die Lage in der die Leitung geführt werden darf weiter zu beschränken, oder weiter aufzulösen. Manchmal dürfen Signale nicht auf die andere Seite der Leiterkarte übertragen werden. Das kann mit dieser Einstellung konfiguriert werden.

Der aktuelle Stand ist, dass die Werte in die Tabelle eingetragen werden und mit dem Projekt abgespeichert werden können. Ich erweitere gerade die Tabelle dahin, dass die Werte schöner angezeigt werden und es für die Topologie, und Type Felder eine Dropdown-Liste gibt. Das Layer Feld soll eine Auswahlliste bekommen, in der die erlaubten Layer markiert werden können.

Live Tracking der Leitungslängen

Ein weiteres großen Feature soll das messen der Leitungslänge in Echtzeit sein. Dazu gehören mehrere Elemente. Einerseits soll auf der rechten Seite des Fensters zwischen Zeichenfeld und Toolbar eine Liste mit den zu messenden Leitungen eingeblendet werden können. Das soll ebenso wie der Layer-Dialog entweder fest am Fenster verankert, oder frei beweglich im Fenster verschoben werden können.
Andererseits soll ein weiteres Element eine Statusbar-Anzeige sein, die in Echtzeit zeigt, ob die Leitung zu lang oder zu kurz ist. Idealerweise kann hier schon eine Prognose eingebaut werden, die versucht zu ermitteln, ob mit der Länge das Ziel überhaupt erreicht werden kann. Hier werde ich am Anfang auf die "Luftlinie" zurückgreifen und den direkten Weg als Grenze nehmen.

Reporting der Constraints

Dieses Feature ist relativ einfach zu realisieren. Alle Netze mit Constraints in der Netzklasse werden in einem Report ausgegeben und stehen als Textdatei zur Verfügung.

DRC der Constraints

Der Design Rule Check soll um die Constraints erweitert werden und mit den Fehlerklassen Report, Warning, Error über die Constraints berichten.

Donnerstag, 27. Juli 2017

KiCad auf Ubuntu selbst kompilieren

Ich möchte einige Änderungen in KiCad einfügen und dazu will ich mir die aktuellste Version aus dem Sourcecode übersetzen. Das ganze werde ich mit Ubuntu 17.4 durchführen. Dazu benötigen wir aber erst mal ein paar zusätzliche Funktionen
sudo apt install build-essential libwxbase3.0-dev libwxgtk3.0-dev libglew-dev libglm-dev libcurl4-gnutls-dev libcairo2-dev libboost-all-dev swig python-wxgtk3.0-dev doxygen libssl-dev git cmake
Mit all diesen Bibliotheken können wir nun anfangen den Code herunterzuladen, für unser System zu konfigurieren und zu übersetzen. Dazu laden wir den aktuellsten Code vom Git Repository herunter:
git clone -b master https://git.launchpad.net/kicad
Danach legen wir einen Ordner an in dem wir die Übersetzung vornehmen möchten und konfigurieren unsere Umgebung:
cd kicad
mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=Debug \
 -DKICAD_SCRIPTING=ON \
 -DKICAD_SCRIPTING_MODULES=ON \
 -DKICAD_SCRIPTING_WXPYTHON=ON ../..
Wenn das dann durchgelaufen ist, können wir die eigentliche Übersetzung starten:
make
Der Prozess kann je nach Systemleistung einige Zeit dauern.  Bei mir waren es ca. 30 Minuten. Nach Fertigstellung der Programme stehen sie in dem aktuellen Ordner zur Verfügung. Installieren kann man dann KiCad mit dem Befehl
sudo make install
Das nächste mal schauen wir dann, wie wir den Quellcode bearbeiten können um ein weiteres Menüfenster hinzuzufügen.

Sonntag, 9. Juli 2017

Neues Familienmitglied: Wanhao D7 Desktop 3D Printer Teil 1

Ich habe mir (mal wieder) einen neuen 3D Drucker gekauft. Diesmal ist es kein FDM Drucker, wie die letzten, sondern ein SLA Drucker. Dieser druckt mit Licht in ein Harz. Es funktioniert also ganz anders als der Druck mit der Plastikschnur durch die CNC-Heisklebepistole.

Der Wanhao D7 (Amazon) ist der im Moment günstigste SLA Drucker und kostet zur Zeit ca. 550€ für die Version 1.3. Die neuste Asuführung, Version 1.4 ist für ca. 600€ bei Amazon zu bekommen. Direkt an die Haustür. 3 Tage Versand, Kein Zoll, kein Porto, keine Gebühren.


Im Set der Version 1.3 befindet sich folgendes: Oben links ist der lichtdichte Deckel, rechts daneben der eigentliche Drucker. Es sind 200ml Harz im Lieferumfang enthalten, ebenso wie ein lichtdichter Becher zum abwaschen des gedruckten Teils von überflüssigem Harz. Ein Schraubenzieher und Spatel gehören ebenso wie USB- und HDMI-Kabel zum Lieferumfang. Das externe Netzteil besitzt 60W und wird mit einem Stecker für britische Steckdosen geliefert. Hier passt aber jeder Kaltegeräte Netzstecker (Amazon). Zum Drucker gehört dann noch das Harzbecken und der Druckstempel. Zum Harzbecken gibt es noch eine Ersatzfolie. Der Stempel ist das Druckbett und misst 118x75mm.
Daneben sind noch zwei Latex Einweghandschuhe im Set, da das Harz alles andere als harmlos ist.

Aufbau

Der Aufbau gestaltet sich im Gegensatz zu anderen 3D Druckern, vor allem den Bausätzen, als sehr einfach. Der Drucker wird mit USB und HDMI an den Computer angeschlossen und das Program "Creation Workshop" gestartet. Das könnt ihr auf der Webseite von Wanhao bekommen. Der Drucker ist in der Software schon vorkonfiguriert und es müssen nur noch Kleinigkeiten angepasst werden. Weitere Dokumente findet man hier und hier. Jetzt noch Strom dran, Harz rein und ab geht die Post. 

Oder auch nicht. Denn zuerst habe ich die Funktion "trocken" testen wollen. Also ohne das Harz und siehe da. Das funktioniert nicht. Grund dafür war, dass der Endschalter nicht angeschlossen war. Da ist wohl das Kabel beim Transport abgefallen.
Also erst mal das Gehäuse aufschrauben. Der Deckel des Gehäuses ist mit 4 kleinen Schäubchen befestigt, für die ich keinen passenden Innenschskant-Schlüssel hatte, der 2mm war etwas zu klein und ist durchgerutscht. Aber ein T8 Torx tuts auch. Mit dem Deckel ab hab ich das lose Kabel auch schnell wieder auf den Endschalter stecken können. Strom dran und siehe da, die kleine LED auf dem Enschalter leuchtet rot. Das hat sie vorher nicht getan.
Das Streulicht der UV-LED ist ziemlich groß, deshalb ist es wichtig, dass das Gehäuse ebenso lichtdicht ist. Alles wieder zusammen bauen und erst mal einen Trockenlauf testen


Doch bevor es ans Drucken geht benötigt man noch einige Betriebsmittel. Um das gedruckte Objekt später von Resten des Harzes befreien zu können muss es mit Alkohol abgewaschen werden. Dazu braucht man Reinigungsalkohol (Amazon) in größeren Mengen. Auch sind immer Handschuhe zu tragen, daher gleich mal ein paar mehr und am Besten welche die nicht aus Latex sind. Latex ist nicht sonderlich resistent gegen Alkohol und das Harz. Daher lieber welche aus Nitril (Amazon), die sind etwas beständiger.

Das Harz wird in die Schale gegeben und der Druckstempel darin versenkt. Dann kann es auch schon los gehen. Der Arbeitsplatz muss unbedingt gut gelüftet sein, während dem Drucken entstehen Dämpfe, die alles andere als angenehm sind. Außerdem sind die Dämpfe nicht gesund.


Der Arbeitsplatz für den ersten Druck ist vorbereitet und der Drucker läuft. Nach 3 Stunden das Ergebnis. Von der Druckplatte gelöst und in Alkohol gereinigt. Dann 10 Minuten im Alkohol in die Sonne gestellt, dadurch härtet das Harz noch weiter aus und schlussendlich An der Luft getrocknet. Das Becken, den Stempel und alles andere, das mit dem Harz in Berührung gekommen ist, habe ich mit Alkohol und Zewa gründlich abgewischt. Die Harzreste können in die lichtundurchlässige Flasche zurückgegossen werden.


Die Detailtiefe ist überragend. Der Prozess ist ziemlich Zeitaufwändig, kostet viel Geld und Unmengen an Zewa, aber es lohnt sich. Demnächst dann mit einer anderen Software (nanoDLP) und einem größeren Objekt und besserer Luftabsaugung. Der Gestank ist sehr unangenehm.

Freitag, 30. Juni 2017

Nokia 3210 Retro Fit Board Teil 4

Ich versuche gerade ein Android Image für den i.MX7 auf meinem Nokia Retro Fit Board zu bauen. Das Buildsystem für Android ist gigantisch. Es besteht aus über 100 Git repositories, die mit Hilfe eine Tools heruntergeladen werden. Dazu benötigt man über 90GB Festplattenspeicher! Zusätzlich zu Android benötigt man auch noch den Linux Kernel und die passenden Patches um das originale Android und Kernel auf die CPU anzupassen auf der das System später laufen soll. Das alles dauert eine ganze Zeit, bis es einmal steht. Anschließend muss das System aus dem Quellcode kompiliert werden. Damit man nicht jede einzelne Datei selbst kompilieren muss, gibt es auch hierfür ein Tool, dass den Prozess automatisiert. Dieses Tool, mit dem Namen 'lunch' geht durch die Verzeichnisstruktur und sammelt alle Informationen, welche Dateien für welches System wann kompiliert werden sollen. Danach wird noch ermittelt, welche Dateien zum System Image hinzugefügt werden sollen und zum Schluss in welchem Format das System Image erzeugt werden soll. Wenn das alles fertig ist, dann kann der Prozess starten, der aus dem Android Open Source Project ein Firmware Image erstellt, dass auf einem Embedded System lauffähig ist.

Ich habe den Prozess, wie man zu der passenden Buildsystem kommt hier dokumentiert:
https://github.com/DasBasti/NokiaRetrofitAplications

Jetzt bin ich dabei herauszufinden, wie man das Android anpasst, sodass es nicht für das Sabre Board baut, sondern für meine Hardware mit meinen Treibern und meiner Boot Konfiguration. Danach werde ich versuchen, das System auf Android Wear umzustellen, da das für so kleine Bildschirme wie ich ihn verwenden möchte optimiert ist. Wie das geht weiß ich noch nicht. Aber ich werde es versuchen.


Hardware

Ich bin im Schaltplan ein wenig weiter gekommen, auch wenn ich noch kein Update in das Repository übertragen habe. Ich bin im Moment dabei die Ladeschaltung für den originalen NiMH Akku zu zeichnen. Zusätzlich wird ein LiPo Akku anschließbar sein. Ich weiß noch nicht, wie viel Strom der i.MX7 benötigt und wie lange dann der original Akku hält. Er ist mit 1200mAh angegeben. Das ist einiges, wenn man bedenkt, dass das kleine Display nur 30mA benötigt, wenn es an ist. Eine detaillierte Stromverbrauchsrechnung ist auch in Arbeit, die wird zeigen, ob die Verwendung der originalen Batterie überhaupt ein gangbarer Weg ist.


Sonntag, 25. Juni 2017

Nokia 3210 Retro Fit Board Teil 3

Android im Simulator
Ok, zugegeben. Das ganze Projekt ist ziemlich lächerlich, aber trotzdem ein interessanter Ansatz. Nicht umsonst gibt es für Android eine Hardware Mindestvoraussetzung, die unter Anderem auch die Displaygröße vorgibt. Das sind für gewöhnliche Android Hardwaren mindestens 426 x 320 pixel. Anders sieht es aber bei Android Wear aus, der Version für smart watches. Ich werde also weiter in Richtung Android Wear schauen, dort ist der Android App Starter besser aufgebaut und mit den Eingabe-Buttons des Nokias kann man sicherlich alle wichtigen Funktionen abbilden. Es sind immerhin mehr als an einer Armbanduhr.

Zum Schluss noch ein kleines Video, dass euch die Hardware ein wenig näher bringen soll.

Sonntag, 11. Juni 2017

Nokia 3210 Retro Fit Board Teil 2

Ich bin dabei ein Mainboard zu designen, dass sich als Nachrüstbausatz in ein Nokia 3210 einbauen lässt. Es wird das Nokia mit Android versorgen und ein OLED Display mitbringen. Anders als in einem früheren Beitrag werde ich kein STM32 Mikrocontroller, sondern einen Applikationsprozessor mit allem was dazugehört verwenden. Ziel dieser Übung ist es ein i.MX7 Board zu designen, zu layouten und mit Software in Betrieb zu nehmen.
In den letzten Tagen habe ich das Github Repository umgestellt, um die Symbole, Footprints und Software nicht im Board Repository zu haben. Ich hoffe so lässt es sich besser verwalten.
DDR3L Schaltung für das Retro Fit Board
Schaltplan für PMIC und DDR3 sind fertig. Alles andere muss noch vom Schaltplan für den STM32 chip konvertiert und neu verdrahtet werden. Diesmal wird das TI-BLE/WIFI Modul WL1807MOD wieder zum Einsatz kommen. Die aktuellen Daten sind bei Github zu finden. Außerdem poste ich Updates auch auf meinem Hackaday.io Profil.

Montag, 15. Mai 2017

Sonoff, S20, POW und SC mit neuer Firmware flashen

Von Itead.cc gibt es seit einiger Zeit verschiedene WiFi Smart Home Geräte. Einige dieser habe ich auch bei mir im Einsatz:
Allerdings läuft bei mir nicht die originale Firmware sondern Espurna. Diese gibt es aktuell in der Version 1.7 und stellt für mich alle gewünschten Funktionen bereit.
  • MQTT Interface für alle Daten
  • Webinterface für die einfache Konfiguration
  • OTA Update
Das Beste daran ist, dass die Firmware ohne Anpassungen mit Home Assistant kompatibel ist.

Hier mein Workflow für den Sonoff POW

Als erstes wird das Sigel gebrochen. Zurückschicken lohnt sich eh nicht.
Auf der Platine sind am Rand vier Punkte zu sehen. Diese sind folgendermaßen belegt:


Ein USB auf Serial Konverter mit 3.3V Signal (Amazon) wird angeschlossen. Wichtig ist, dass die Platine nicht von Außen mit Strom versorgt, oder sogar noch am Netzkabel hängt! Mit gedrücktem Knopf wird die Versorgungsspannung zugeschaltet. Jetzt befindet sich der ESP im Bootloader Modus und kann neu programmiert werden. Das mache ich mit Atom, der PlatformIO IDE.

Nachdem das Firmware Image geladen wurde, wiederhole ich die Prozedur mit Versorgungsspannung stecken, während der Knopf gedrückt ist. Jetzt ist das Dateisystem an der Reihe, das beinhaltet die HTML Applikation zum Steuern der Schalter und anzeigen der Sensordaten.


Wenn dann das Dateisystem geflasht wurde, startet die Software einen WiFi Access Point. Mit dem Passwort "fibonacci" kann man sich dort anmelden. Mit dem Netzwerk verbunden kann man das Gerät unter der Adresse 192.168.4.1 erreichen. Dort muss das Standardpasswort geändert werden und ein neues vergeben. Anschließend kann man unter dem Menüpunkt WiFi das gewünschte WiFi Netzwerk eintragen, in dem sich der Schalter aufhalten soll.

Anschließend befindet sich der Schlater im Netzwerk. Unter MQTT kann dann noch die Adresse des MQTT Brokers eingetragen werden. Dieser übernimmt die Kommunikation zwischen den Geräten und Home Assistant.

Die Konfiguration für Home Assistant wird um folgende Punkte erweitert:
homeassistant:
#[...]
  customize:    
    sensor.sonoffpowa03803_leistung:
      friendly_name: Leistung
    sensor.sonoffpowa03803_spannung:
      friendly_name: Spannung
    sensor.sonoffpowa03803_relay:
      friendly_name: Schalter
#[...]
switch:
  - platform: mqtt
    state_topic: "/Herbert/switch/SONOFF_POW_A03803/relay/0"
    command_topic: "/Herbert/switch/SONOFF_POW_A03803/relay/0"
    name: "sonoffpowa03803_relay"
    qos: 0
    payload_on: "1"
    payload_off: "0"
#[...]
sensor:
  - platform: mqtt
    state_topic: "/Herbert/switch/SONOFF_POW_A03803/voltage"
    name: "sonoffpowa03803_spannung"
    qos: 0
    unit_of_measurement: "V"
  - platform: mqtt
    state_topic: "/Herbert/switch/SONOFF_POW_A03803/power"
    name: "sonoffpowa03803_leistung"
    qos: 0
    unit_of_measurement: "W"

Nach einem Neustart stehen nun drei weitere Elemente Home Assistant zur Verfügung. Viel Spaß beim Nachbauen

Montag, 24. April 2017

Projekt Steinofenpizza

Hier soll der Ofen später mal stehen. Das Gelände ist sehr uneben, es müssen fast 25cm Höhenausgleich von links nach Rechts durchgeführt werden. Der Baum ist auch im Weg und muss umgesetzt werden. Die Schaufel steckt und die Schubkarre steht bereit. Los geht's.

Loch graben, einebnen und Feststampfen. Viereck aus Rasenkanten platzieren, ins Wasser legen und vier Löcher für die Fundamentsäulen graben. Fundamentsäulen mit Eimern und Beton füllen. Stahlarmierung einsetzen und senkrecht ausrichten. Setzen lassen, dann das Viereck mit Split auf 15 cm unter den Rand auffüllen. Den Split abziehen und mit Beton bis 5 cm unter den Rand füllen.

Stahlmatte einlegen und bis unter die Kante mit Beton füllen. Kontinuierlich stochern und klopfen, um so viel Luft wie möglich aus dem Beton zu bekommen. Zum Schluss mit dem Gummihammer noch an den Seiten klopfen. Oberfläche abziehen und mit einer Plane abdecken. Mindestens eine Woche abbinden lassen. Dabei die Oberfläche Feucht halten.

Donnerstag, 20. April 2017

Nokia 3210 Retro Fit Board

Ich hatte früher ein Nokia 3210. Heutzutage ist es allerdings ein wenig außer Mode geraten. Nagut, es ist eigentlich nicht mehr benutzbar. Deshalb habe ich begonnen ein Mainboard zu designen, dass in die Mechanik des alten Nokia Knochens passt.

Frontansicht der Retrofit Platte (es fehlen noch viele Bauteile)
Das ganze Projekt wird auf Github zur Verfügung stehen. Die aktuelle Version umfasst folgende Features:
  • STM32F439 MCU
  • 160x128 OLED Display
  • Audio Codec LM4930
  • Stereo Mikrofon
  • Haptic Feedback Engine
  • A7 GSM/GPRS Mobile Radio Module
  • ESP8266 WiFi Module
  • µSD-Card Interface

Sonntag, 19. März 2017

Tischfuß selbst gebaut

Wir haben eine wunderschöne Tischplatte gekauft. Dafür brauchten wir noch ein Unterbau. Im Internet gibt es viele Anbieter für Tischbeine, -platten und komplette Tische. Aber wir hatten unsere Platte schon und es fehlten die Beine. Wir haben auch ein Modell gefunden, aber für den Preis, der verlangt wurde haben wir uns nicht durchringen können den Fuß zu kaufen. Also haben wir eine eigene Lösung gebaut.
Fertiges Ergebnis zuerst. Das ist der neue Tisch.
Ein CAD Modell war schnell erstellt und die Zeichnungen die abgeleitet wurden waren die nötigen Abmaße für das Stahlgestell. Als Material haben wir S235 Stahlbleche und H-Profile verwendet. Mit einem Preis von ca. 270€ für alles waren wir bei 20% des Kaufpreises für das fertige Gestell.

Mit ein wenig Erfahrung mit Elektroden-schweißen ging es dann an die Konstruktion. Als ersten habe ich die Tischplatten-Auflage geschweißt, da diese aus 3mm Blechstücken besteht. Das Blech ist dick genug um sich nicht sofort zu verflüssigen, wenn man mit der Elektrode in die Nähe kommt und dünn genug um nicht Unmengen an Wärme aufzunehmen. Somit sind diese Schweißnähte die einfachsten gewesen.
Blechstreifen heften, schweißen und dann die Auflagefläche plan schleifen
Nachdem der einfache Teil erledigt war, mussten die H-Profile  (10cmx10cm) an das Bodenblech angeschweißt werden. Das Bodenblech hat eine Stärke von 4mm und damit wesentlich weniger Thermische Masse als das Stahlprofil. Allerdings ist das Stahlprofil im Winkel von 50° geschnitten und besitzt somit eine Kante am Kontaktpunkt. Das Schweißen des Profils war schwerer als Erwartet. die spitze Kante des Profils ist beim schweißen weggelaufen und hat sich nicht mit der Bodenplatte verbunden. Daher brauchte ich ein paar Versuche, bis das Ergebnis akzeptabel war.
Profile auf Bodenplatte und Tischplatten-Auflage an die Profile schweißen
Zum Schluss haben wir den Stahl mit Stahlwolle abgerieben um die losen Rostpartikel zu entfernen, danach dann mit Aceton gereinigt und mit mattem Klarlack lackiert. Das Ergebnis kann sich meiner Meinung nach absolut sehen lassen.