Neues Spielzeug: ERSA i-CON PICO Lötstation (Review)

Postweihnachtlicher Langeweilekauf

Ich saß da so irgendwann am 2. Weihnachtsfeiertag rum und musste irgendwie nach ausgebliebenen Weihnachtsgeschenken größererer Natur mal etwas für mich tun und hab da mal was gekauft:


Das Teil lässt sich über eine SD-Karte sogar noch programmieren 😎
Es lassen sich Temperaturprofile und Standbyzeiten mit einem kleinen Programm verändern, welches dann über eine auf der SD-Karte gespeicherte Datei die Einstellungen in die Lötstation einspeist.

Ganz unnötig war der Kauf nicht, da mein Alter, nun mehr 15 Jahre alter ERSA Tip Lötkolben (ungeregelt, 15 Watt), etwas altersschwach geworden ist und gerade mit bleifreiem Lot garnicht klarkommt. Zudem ist die Anheizzeit des i-CON PICO phenomenal – in ca. 15 Sekunden gehts da von Raumtemperatur auf 350°C
Vergessen kann man den Lötkolben auch nicht, da nach 5 Minuten die Heizung auf eine niedrigere Temperatur abfällt und nach weiteren eingestellten 10 Minuten diese quasi abschaltet. Ich denke im Lötkolben selbst ist ein Neigungssensor o.ä. eingebaut der erkannt, wenn man ihn wieder in die Hand nimmt um wieder anzuheizen auf die eingestellte Zieltemperatur…

Edit: das Auslösen des Standbymodus wird vermutlich an der Aktivität der Heizung festgemacht: wenn man aktiv am Löten ist schwankt die Temperatur mehr als wenn der Kolben in der Halterung ruht. Um den Standby wieder zu verlassen muss eine der Temperaturregeltasten gedrückt werden.

Ich werde dann mal nach einiger Zeit des Gebrauchens mein Fazit hier kunttun, falls es jemanden interessieren sollte 😉

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

C64 RetroPie Umbau

Mehr Sein als Schein 😉

Ein guter Freund kam mit einem Projekt um die Ecke, welches zumindest für mich nicht alltäglich erschien. Es ging darum einen Raspberry Pi gekonnt in ein Commodore C64 Gehäuse einzubauen um diesen später mit dem RetroPie System zu bespielen und in eine Multifunktions-Emulations Spielekonsole zu verwandeln.
Ohne den 3D Drucker wäre das ganze Unterfangen komplizierter geworden, so wurde es zwar nicht zu einem Kinderspiel aber dennoch zu einem anspruchsvollen Werk, was Maßgenauigkeit anbetraf.

Offcamera wurde erstmal obligatorisch die entsprechenden Öffnungen und Schraubenaufnahmen im Gehäuse vermessen und die Daten in Sketchup übernommen, in dem die einzelnen Teile entstanden sind:

Ein erster Test: die 2 großen Öffnungen auf der Rückseite des C64 ausfüllen für die spätere Steckerkonsole

(vom ersten Einpassen habe ich leider kein Bild gemacht)

Die komplette Anschlusskonsole für Die C64 Rückseite

Alle Kappen um die verbleibenden Öffnungen abzudecken

Ok, ran an den Slicer und ab zur Plastik-Schmelzmaschine…

IMG_3825
IMG_3824

IMG_3823

IMG_4146

Die Keyrah V2 Platine – USB zu C64 Tastaturwandler

Die gibts hier zu kaufen

IMG_3828

Die beiden USB Buchsen sind mit kurzen Leitungen versehen und so mit dem Pi verbunden.

IMG_3826 IMG_3827 IMG_3830

DC Buchse für 5 Volt Netzteil

Alles am Platz und passt exakt … gut gemessen 😉

IMG_4145IMG_4144

Finale – alle Kabel verlegt und gebunden. Gehäuse kann geschlossen werden.

Ein paar kleine Details:

  • am Raspberry Pi wurde eine Stiftleiste an den 2 unbestückten Pins für den Powertaster eingelötet und dort der rote Taster auf der Rückseite des Gehäuses angeschlossen
  • Da wir ein gerregeltes 5 Volt Netzteil verwendet haben wurde die DC Buchse direkt mit den Pins auf der GPIO Leiste des Raspberry Pi verbunden
  • Wir haben direkt eine USB Leitung an die Keyrah Platine gelötet

Was bleibt noch zu sagen? Alle Teile passten so ziemlich auf Anhieb ohne große Nachbearbeitung mit Feile und Schmiergelpapier, wie es sonst schon oft der Fall war. Es steht und fällt sehr viel mit der Komplexität der Teile und der Möglichkeit im Vorfeld alles genau auszumessen. Da das gut von der Hand ging, war auch das genaue Erstellen der Teile nicht so schwer.

Anbei noch ein paar weitere Impressionen:

IMG_4135 IMG_4139 IMG_4137 IMG_4138 IMG_4136 IMG_4142 IMG_4141 IMG_4149 IMG_4143 IMG_4147 IMG_4148 IMG_4150
<
>

Alles restlichen Bauteile wie USB Buchsen usw. wurden bei Pollin Elektronik gefunden.

Das Projekt ist hier zu finden. Über Nachbauten würde ich mich freuen (und gerne auch über Feedback!!)
Vielen Dank an Sebastian Scholten, dessen Idee die Sache hier war.

Nachtrag (17.07.2016):

Für die USB „Buchsen-Halteklammer“ habe ich M3 Schrauben verwendet, ca. 1 cm lang (mit Senkkopf). Die anderen Schrauben sind aus meinem „PC-Schrauben Fundus“, sollten aber glaub ich auch M3 gewesen sein, die sehr schön in die Montageaufnahmen im C64 Boden passten.

Nachtrag:

Ich freue mich immer wenn es Leute gibt, die Spaß an ähnlichen Dingen haben und auch mal etwas nachbauen, was hier zum Besten gegegeben wird: https://steffenweise.wordpress.com/2016/07/31/c314-neuer-wein-in-alten-schlaeuchen/

VN:F [1.9.22_1171]
Rating: 4.2/5 (6 votes cast)

3D Drucker Düsenabstreifer (für RF1000)

…Schluss mit Ruß und Kunststoffresten am Druckkopf…

Ich dachte mir nach einiger Zeit des „3D Druckens“, dass es praktisch wäre, wenn man nicht mehr von Hand laufend verrußte Rückstände an der Druckdüse entfernen müsste.
Inspiriert durch die Reinigungsmechanismen in vielen Tintenstrahler kam dann die Idee mit dem Abstreifer. Die passenden Bürsten gab es in einem preiswerten 3er Set (Messing, Edelstahl und Nylon) in 2 Größen. Messing schien mir am geeignetsten, da es gleich „hart“ wie die Düse wäre.

Also schonmal schnell eine passende Halterung konstruiert und angebracht…

(mehr Bilder folgen)

Als nächstes musste das natürlich „angesteuert“ werden. Das ging mit etwas custom-g-code:

;---Reinigungsvorgang vor Druckbeginn
M117 Reinigung ; Displaymeldung
G1 Z9 F500 ; Anheben auf richtige Borstenhoehe
G1 X180 F5000 ; Fahre zur Buerste
G1 Y10 F3000
G1 X240 F4000 ; Abstreifen in X-Richtung
G1 X180 F4000
G1 X240 F4000
G1 X180 F4000
G1 X240 F4000
G1 X180 F4000
G1 X240 F4000
G1 X180 F4000
G1 Y25 F3000 ; Abstreifen in Y-Richtung
G1 X210 F4000
G1 Y0 F3000
G1 Y25 F3000
G1 X225 F4000
G1 Y0 F3000
G1 X210 F4000
G1 Y25 F3000
M117 Reinigung ende ; Displaymeldung
;---Reinigungsvorgang Ende

Der G-Code kann nun in alle Druckprofile von z.B. Slic3r eingebaut werden:

Oder als Skript zum manuellen auslösen:

Die Reinigung klappt am besten wenn der Extruder aufgeheizt ist – also am besten direkt vor dem Druck.

Für den Repetier Server lässt sich ein Befehl anlegen, den man dann über das Menu ansprechen kann:

So schaut das dann in Aktion aus:

Fazit: klappt bis heute ganz passabel und streift ziemlich viel überschüssiges Material vor dem Druck ab und auch die rußigen Rückstände an der Düse. Die „Eintauchhöhe“ von der Düse in die Bürste kann man entweder per G-Code anpassen oder durch Kürzen der Borsten nach Bedarf. Reste lassen sich gut aus der Bürste entfernen. Da ich die Halterung nicht eingeklebt oder verschraubt habe, lässt sie sich leicht von der Grundplatte der Bauplattform abnehmen und anstecken.
Lässt sich sicher noch weiter optimieren – Tips in der Art willkommen. Ich denke momentan selbst darüber nach (zur Schonung und weniger Abrieb an der Düse) die Bürste eventuell gegen hitzebeständige Silikonlamellen auszutauschen. Mal sehen wie es da weitergeht.

Viel Spaß beim Nachbauen!

Hier noch stl und Sketchup Zeichnung des Bürstenhalters. Diesen nach Bedarf modifizieren…

 

Hier der Beitrag im RF1000 Forum: link

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)

Neuer Receiver fürs Wohnzimmer – Yamaha RX-V679

… getönt hat der Alte noch gut, allerdings hat er sich nie gut in die Hausautomation einbinden lassen…

2007 oder 2008 muss es gewesen sein – da habe ich meinen ersten vernüftigen Verstärker von einem Bekannten abgekauft – der Luxman LR-6500. An sich für die damalige Zeit ein Top Verstärker, konnte sogar schon 7.1 und unzählige Surroundformate dekodieren. In einem war er immer schlecht: sich mit möglichst wenig Befehlen ansteuern lassen um ihn geziehlt über die Hausautomation zu starten oder umzuschalten.
Deswegen musste sich was tun – nach längerer Überlegung ob man sich das gönnen sollte usw. 🙂

Produktbeschreibung Yamaha Webseite



Überwunden… und gekauft 😛 Das derzeitige noch sehr neue „mittlere“ Flagschiff unter den Heimkinoreceivern von Yamaha. Leider nicht mehr Made in Japan sondern nur noch Malaysia aber trotzdem immer noch gut genug um es noch als echten „Yamaha“ durchgehen zu lassen. Farbe: Titan um etwas der alten Linie treu zu bleiben.

Das mitgelieferte Zubehör ist überschaubar – aber es fehlt an Nichts: Handbuch, Fernbedienung, UKW und Mittelwellenantenne, YPAO Einmessmikrofon und hinten am Gehäuse eine eingeschraubte WLAN Antenne (die direkt vor dem Aufstellen abgeschraubt wurde – nur Kabel LAN ist wahres LAN).

Ein Überblick über die Anschlüsse:

Leider besitzt er nicht mehr wie frühere Geräte die Euro-Kupplung um z.B. den Subwoofer mit Strom zu versorgen und ihn mit abzuschalten im Standby. Dafür gibt es jetzt einen 12 Volt Trigger, den man sogar programmieren kann, wan er schalten soll. Eventuell wird da mal eine Eigenkonstruktion mit Relais angeschlossen… (siehe oben links)

Der Hauptvorteil im Bezug auf den Gebrauch in Verbindung mit dem Fernseher: der Fernseher kann mich mal mit seiner besch….enen Input Verwaltung (die tatsächlich eine Ladebalken hat wenn man den Fernseher gerade angeschaltet hat): alle HDMI Geräte werden am Receiver angeschlossen. Das macht auch viele der bisher benötigten SPDIF Glasfaserkabel überflüssig (wovon der Yamaha auch einige weniger Anschlüsse besitzt als der Luxman).
Der Fernsehr kennt nun nur noch eins: ein- oder aus 🙂 Gesteuert mit einem Homematic 1 Kanal Aktor!! (Tod dem irtrans!?? Hat er seine Daseinsberechtigung verwirkt?)

Ein Paar letzte Ansichten der alten Besetzung… Klassisch und zeitlos wirkte er schon der Luxman – aber auch irgendwie zu „analog“ für den heutigen Geschmack (war er durch und durch auch nicht wirklich).

Und raus ist er…

Oh da steht ja noch was von Yamaha ^^ Das alte Kassettendeck vom Vater…
Läuft immer noch tadelos und kommt natürlich auch wieder an die neue Kiste mit dran.


Kabel entsprechend neu verlegt: die beiden HDMI Leitungen Richtung Fernseher haben sich bezahlt gemacht: eine geht vom Receiver zum HDMI-1 in den LG TV, die 2. Leitung versetzt mich in die Lage das Apple TV hinter dem Fernseher zu lassen und führt es an HDMI-2 an den neuen Receiver – HDMI-1 wird der Dreambox zugeordnet…


First Boot-UP: Firmwareupdate… Dauert ca. 20 Minuten.

Und Bereit! Lautsprecher mit dem Mikrofon eingemessen und noch einige Parameter (hat ca. 1 Woche gedauert) im OSD Interface am Fernseher eingestellt.

Jetzt kann wieder gescripted werden…

Der Yamaha RX-V679 wird wie seine direkten Vorgänger mit LAN Port über eine XML Syntax angesteuert. Die ist sehr pingelig was Fehlerfreiheit anbetrifft – ist irgendwo ein Zeichen falsch oder vergessen, reagiert der Receiver ganz einfach nicht. Ansonsten bietet die Befehlsstuktur für eigentlich alle Funktionen diskrete Ansteuerung an, z.B. der Standbybefehl: (vereinfachte Darstellung)

<System><Power_Control><Power>On</Power></Power_Control></System>

Egal wie oft man den sendet – der Befehl schaltet NUR ein nichts anders, kein nerviges Toggeln.

<System><Power_Control><Power>Standby</Power></Power_Control></System>

Das Selbe mit dem Ausschaltbefehl.

Ich habe mein althergebrachtes PHP Skript wieder mal erweitert, welches ursprünglich mal nur Befehlsabfolgen für den irtrans enthielt – mittlerweile (irtrans wirklich…. tot!??) ist da garnüschts mehr vom irtrans – er ist wirklich überflüssig geworden!! IR-Befehle spielen keine Rolle mehr bei meiner Installation, schön sowas mal zu erleben 🙂

So… jetzt verlier ich gerade wieder den roten Faden in diesem Beitrag. Diesmal belasse ich es auch mit weiterem Geschwafel und bringe noch den relevanten Ausschnitt der PHP Datei um den Receiver anzusteuern:

Es gibt eine Funktion, die die eben gezeigten vereinfachten Befehle entgegennimmt…

function YamahaNET($command) {
// Yamaha Receiver
$host = '192.168.1.9';
$data = '<YAMAHA_AV cmd="PUT">'.$command.'</YAMAHA_AV>';
$command_lenght = strlen($data );
     
//echo $command_lenght;    //zum prüfen    
$head = "";
$head .= "POST /YamahaRemoteControl/ctrl HTTP/1.1\r\n";
$head .= "Host: ".$host."\r\n";
$head .= "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0\r\n";
$head .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$head .= "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$head .= "Accept-Encoding: gzip, deflate\r\n";
$head .= "Connection: keep-alive\r\n";
$head .= "Content-Type: text/xml; charset=UTF-8\r\n";
$head .= "Referer: http://".$host."/\r\n";
$head .= "Content-Length: ".$command_lenght."\r\n";
$head .= "Pragma: no-cache\r\n";
$head .= "Cache-Control: no-cache\r\n\r\n";
$head .= $data;
//echo $head; //zum prüfen

$fp = fsockopen($host, 80) or die("Unable to open socket");
fputs($fp, $head);

$buf = fgets($fp,128);
fclose($fp);
//echo $buf;   //zum prüfen

$return = substr($buf,13,2);
  if ($return == "OK") {
        return true;
        //return "OK";
}
}

 

Die Befehle werden dann so ausgelöst:

YamahaNET("<System><Power_Control><Power>Standby</Power></Power_Control></System>");

Thats it, funktioniert perfekt und quasi latenzfrei…

Meine Kleine Befehlsreferenz von Funktionen die ich bisher im Einsatz habe:

//Power On
YamahaNET("<System><Power_Control><Power>On</Power></Power_Control></System>");

//Power Off
YamahaNET("<System><Power_Control><Power>Standby</Power></Power_Control></System>");

//HDMI-1 select
YamahaNET("<Main_Zone><Input><Input_Sel>HDMI1</Input_Sel></Input></Main_Zone>");

//Volume up um 2 dB
YamahaNET("<Main_Zone><Volume><Lvl><Val>Up 2 dB</Val><Exp></Exp><Unit></Unit></Lvl></Volume></Main_Zone>");

//Volume down um 2 dB
YamahaNET("<Main_Zone><Volume><Lvl><Val>Down 2 dB</Val><Exp></Exp><Unit></Unit></Lvl></Volume></Main_Zone>");

//B-Zone auf Internetradio schalten
YamahaNET("<Zone_2><Input><Input_Sel>NET RADIO</Input_Sel></Input></Zone_2>");

//B-Zone auf Preset-1 schalten (z.B. mit Internetradio)
YamahaNET("<NET_RADIO><Play_Control><Preset><Preset_Sel>1</Preset_Sel></Preset></Play_Control></NET_RADIO>");

//B-Zone einschalten
YamahaNET("<Zone_2><Power_Control><Power>On</Power></Power_Control></Zone_2>");

//B-Zone ausschalten
YamahaNET("<Zone_2><Power_Control><Power>Standby</Power></Power_Control></Zone_2>");

//B-Zone spielt gleichen Input wie Main-Zone
YamahaNET("<Zone_2><Input><Input_Sel>Main Zone Sync</Input_Sel></Input></Zone_2>");

//Mainzone Mute on
YamahaNET("<Main_Zone><Volume><Mute>On</Mute></Volume></Main_Zone>");

//Mainzone Mute off
YamahaNET("<Main_Zone><Volume><Mute>Off</Mute></Volume></Main_Zone>");

Per Sleep-Befehl lassen sich zwischen aufeinanderfolgenden Befehlen gut Pausen generieren. Das habe ich auch schon immer bei irtrans genutzt.

Die Leserichtung ist auch interessant um z.B. die aktuell eingestellte Lautstärke auszulesen. Dafür gibt es eine weitere Funktion die auch sehr einfach gehalten ist und den gesamten XML String vom Yamaha lädt und ihn dann mit einem preg_match auseinander klamüsert um nach dem gewünschten Wert zu suchen:

//Beispiel: Lautstärke der Main-Zone zurückgeben
$status = YamahaStatus();
preg_match('/\<Volume\>\<Lvl\>\<Val\>([-0-9]+)\<\/Val\>\<Exp\>/', $status, $res);
//echo $res[1];
$vol = intval($res[1]) / 10;
//echo $vol;
echo "<font color=white face=Verdana>".$vol." dB</font>";


function YamahaStatus() {
// Yamaha Receiver
$host = '192.168.1.9';
$data = '<YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>';
$command_lenght = strlen($data );
       
//echo $command_lenght;    //zum prüfen
     
$head = "";
$head .= "POST /YamahaRemoteControl/ctrl HTTP/1.1\r\n";
$head .= "Host: ".$host."\r\n";
$head .= "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0\r\n";
$head .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$head .= "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$head .= "Accept-Encoding: gzip, deflate\r\n";
$head .= "Connection: keep-alive\r\n";
$head .= "Content-Type: text/xml; charset=UTF-8\r\n";
$head .= "Referer: http://".$host."/\r\n";
$head .= "Content-Length: ".$command_lenght."\r\n";
$head .= "Pragma: no-cache\r\n";
$head .= "Cache-Control: no-cache\r\n\r\n";
$head .= $data;
//echo $head; //zum prüfen

$fp = fsockopen($host, 80) or die("Unable to open socket");
fputs($fp, $head);

$buf = stream_get_contents($fp);
fclose($fp);

$buf = explode("\r\n\r\n", $buf)[1];

//echo $buf;   //zum prüfen
return $buf;

}

Vielen Dank an Jonas Schievink für die Unterstützung an der Auslesefunktion!

Die Ausgelesenen Werte lassen sich vielfältig einsetzen um eventuell der Homematic diese als Wert zur Verfügung zu stellen…

So, das solls erstmal gewesen sein – längerer Beitrag nach Monaten des Stillstands hier auf dem Blog – Schande über mich aber zu wenig Zeit und Motivation was zu posten :-/

N8 ihr Leut.

VN:F [1.9.22_1171]
Rating: 5.0/5 (3 votes cast)