<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Elektrowolle</title>
	<atom:link href="http://blog.elektrowolle.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.elektrowolle.de</link>
	<description>Another blog about DIY-electronics</description>
	<lastBuildDate>Tue, 26 Jul 2011 10:24:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>S0-Messwerterfassung von Stromzählern</title>
		<link>http://blog.elektrowolle.de/2011/07/26/s0-messwerterfassung-von-stromzahlern/</link>
		<comments>http://blog.elektrowolle.de/2011/07/26/s0-messwerterfassung-von-stromzahlern/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 09:30:48 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[arduino]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=166</guid>
		<description><![CDATA[Neuere Stromzähler sind zum Teil mit einem Optokoppler ausgestattet, der für jede verbrauchte Wattstunde einen Impuls liefert (1000 Impulse = 1 kWh). Der Anschluss an einen Arduino gestaltet sich dem entsprechend einfach: D+ Ausgang des Zählers auf 5V legen und den D- Ausgang an einen digitalen Eingang des Arduino anschließen, dieser muss noch mit ...]]></description>
			<content:encoded><![CDATA[<p>Neuere Stromzähler sind zum Teil mit einem Optokoppler ausgestattet, der für jede verbrauchte Wattstunde einen Impuls liefert (1000 Impulse = 1 kWh). Der Anschluss an einen Arduino gestaltet sich dem entsprechend einfach: D+ Ausgang des Zählers auf 5V legen und den D- Ausgang an einen digitalen Eingang des Arduino anschließen, dieser muss noch mit einem 4k7 Widerstand gegen Masse gezogen werden um ein klares Signal zu erhalten.</p>
<p><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9883.jpg"><img src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9883-300x199.jpg" alt="" title="Wechselstromzähler mit S0-Ausgang" width="300" height="199" class="alignnone size-medium wp-image-177" /></a><br />
<span id="more-166"></span><br />
Zur Darstellung des aktuellen Wattzahlen werden dabei im Arduino die Millisekunden zwischen zwei Flanken auf dem Eingang gezählt. Bei 1000 Impulsen pro kWh entsprechen 3600 Millisekunden zwischen den Flanken einem angeschlossenen Verbraucher mit 1000 Watt.</p>
<pre class="cpp:collapse">/** Hilfsprogramm zur Auswertung der Zähler
* Maximal 8 SO-Zähler können angeschlossen werden, die mit folgendem Protokoll
* an die serielle Schnittstelle ausgegeben werden:
*
* byte0  byte1     byte2     byte3      ...
* A-H    0-9       0-9       0-9        \n
* Kanal  Millis                         Newline
*
* Die Millis sind dabei die Millisekunden zwischen den letzten beiden Low-High-Flanken
* auf dem angegebenen Kanal.
*/
const byte counterPins[8] = { 2,3,4,5,6,7,8,9 };
unsigned long millisBetween[8];
unsigned long lastMillis[8];
byte lastState[8];

void setup() {
  for (byte i = 0; i &lt; sizeof(counterPins); i++) {
     pinMode(counterPins[i], INPUT);
     digitalWrite(counterPins[i], LOW);
     millisBetween[i] = 0;
     lastMillis[i] = 0;
     lastState[i] = 0;
  }
  Serial.begin(9600);
}

void loop() {
  unsigned char bitMaskToSend = 0;
  unsigned long time = millis();
  for (byte i = 0; i &lt; 8; i++) {
     byte val = digitalRead(counterPins[i]);
     if (val == HIGH &amp;&amp; lastState[i] == LOW) {
       millisBetween[i] = time-lastMillis[i];
       lastMillis[i] = time;
       bitSet(bitMaskToSend, i);
     }
     lastState[i] = val;
  }
  for (byte i = 0; i &lt; 8; i++) {
     unsigned long dataToWrite = millisBetween[i];
     if (bitRead(bitMaskToSend,i)) {
       Serial.print((char)('A'+i));
       Serial.println(dataToWrite);
     }
  }
}</pre>
<p class="wp-flattr-button"></p> <p><a href="http://blog.elektrowolle.de/?flattrss_redirect&amp;id=166&amp;md5=8b8d1493b61dab0651a510e6f7214f37" title="Flattr" target="_blank"><img src="http://blog.elektrowolle.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2011/07/26/s0-messwerterfassung-von-stromzahlern/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>INA219 Leistungssensor</title>
		<link>http://blog.elektrowolle.de/2011/07/24/ina219-leistungssensor/</link>
		<comments>http://blog.elektrowolle.de/2011/07/24/ina219-leistungssensor/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 09:00:25 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[Chip of the week]]></category>
		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=158</guid>
		<description><![CDATA[Für die einfache Überwachung von Stromverbrauchern (Gleichstrom) eignet sich der INA219 hervorragend. Über I2C liefert dieser bis zu 15-Bit genaue Werte über die aktuelle Spannung, den Strom und die daraus berechnete Leistung.

Als externe Komponente ist neben dem obligatorischen Abblockkondensator nur noch der Shunt notwendig. Bis zu 16 Sensoren lassen sich gemeinsam an einem I2C-Bus ...]]></description>
			<content:encoded><![CDATA[<p>Für die einfache Überwachung von Stromverbrauchern (Gleichstrom) eignet sich der <a href="http://focus.ti.com/docs/prod/folders/print/ina219.html">INA219</a> hervorragend. Über I2C liefert dieser bis zu 15-Bit genaue Werte über die aktuelle Spannung, den Strom und die daraus berechnete Leistung.</p>
<p>Als externe Komponente ist neben dem obligatorischen Abblockkondensator nur noch der Shunt notwendig. Bis zu 16 Sensoren lassen sich gemeinsam an einem I2C-Bus betreiben: Zwei Adresseingänge, die an Vcc, Gnd, SDA oder SCL gelegt werden legen die Adresse des im kompakten SO-8 Gehäuse daherkommenden Chips fest:</p>
<div id="attachment_159" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/Bildschirmfoto-2011-07-23-um-16.02.38.png"><img class="size-medium wp-image-159" title="Layout" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/Bildschirmfoto-2011-07-23-um-16.02.38-300x182.png" alt="" width="300" height="182" /></a><p class="wp-caption-text">Messwertaufnehmer für 4 Verbraucher mit jeweils bis zu 30A bei 12V, die über M6-Schrauben direkt an den Shunts befestigt werden</p></div>
<p>Als Shunt kommt die <a href="http://www.vishay.com/resistors-discrete/list/product-30135/">WSMS5515</a>-Serie von Vishay Dale mit 500μΩ zum Einsatz, die bei 30A Last einen Spannungsabfall von 15mV liefern. Durch die Auflösung des INA219 kann diese Kombination  Ströme von 1mA messen und die Leistung auf 20mW genau bei einem Maximum von 524W bestimmen.</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.elektrowolle.de/?flattrss_redirect&amp;id=158&amp;md5=3047effca8053c7614303f81540be193" title="Flattr" target="_blank"><img src="http://blog.elektrowolle.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2011/07/24/ina219-leistungssensor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vom Prototyp zur Kleinserie</title>
		<link>http://blog.elektrowolle.de/2011/07/23/vom-prototyp-zur-kleinserie/</link>
		<comments>http://blog.elektrowolle.de/2011/07/23/vom-prototyp-zur-kleinserie/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 13:11:34 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=136</guid>
		<description><![CDATA[In den letzten Monaten wurde der Prototyp eines Universalladegeräts für Mobiltelefone mit Statusanzeige (nicht angeschlossen, lädt, geladen, Überlast) in einer Kleinserie für "The Electric Hotel" vervielfältigt:



Hier eine kleine Liste der Dinge, die bei der Serienfertigung zu beachten sind:

	Ausreichend Rand um den Nutzen für den Bestückungsautomaten
	Passermarken oder gegenüberliegende Bohrungen auf jeder Platine im Nutzen
	Koordinaten aller ...]]></description>
			<content:encoded><![CDATA[<p>In den letzten Monaten wurde der <a title="Platinenherstellung" href="http://blog.elektrowolle.de/2011/02/26/platinenherstellung/">Prototyp</a> eines Universalladegeräts für Mobiltelefone mit Statusanzeige (nicht angeschlossen, lädt, geladen, Überlast) in einer Kleinserie für &#8220;<a href="http://the-electric-hotel.com/">The Electric Hotel</a>&#8221; vervielfältigt:</p>
<p><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9324.jpg"><img class="size-medium wp-image-142" title="DSC_9324" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9324-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>Hier eine kleine Liste der Dinge, die bei der Serienfertigung zu beachten sind:</p>
<ul>
<li>Ausreichend Rand um den Nutzen für den Bestückungsautomaten</li>
<li>Passermarken oder gegenüberliegende Bohrungen auf <strong>jeder</strong> Platine im Nutzen</li>
<li>Koordinaten aller Bausteine immer auf die Mitte des Gehäuses beziehen</li>
<li>Klare Kennzeichnung der Einheiten (mm, cm, inch, mil)</li>
<li>Gerberfiles des Nutzens, Drillfile, Stückliste und Koordinaten der Bauteile für den Bestücker bereitstellen</li>
<li>Eindeutige Beschriftung aller beigestellten Bauteile, bei kleinen Bauteilen (0805 und kleiner) durchaus 10% mehr bereitstellen, da der Automat auf dem Weg die Bauteile verlieren kann</li>
<li>Falls Bauteile nicht bestückt werden sollen, diese trotzdem in die Stückliste als &#8220;nicht zu bestücken&#8221; aufnehmen</li>
</ul>
<p><span id="more-136"></span><br />
Bei der Bestückung gab es zwar noch einige Rückfragen (Nicht zu bestückende Pads, Koordinaten der Bohrlöcher für die Positionierung) aber nach zwei Wochen kamen die bestückten Platinen wieder in der Werkstatt an:</p>
<p><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_8601.jpg"><img class="size-medium wp-image-138" title="DSC_8601" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_8601-300x199.jpg" alt="" width="300" height="199" /></a><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_8606.jpg"><img class="size-medium wp-image-139" title="DSC_8606" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_8606-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>Die Endmontage (THT-Bauteile einlöten) wurde per Hand vorgenommen, da sich die zusätzlichen Prozessschritte bei einer so kleinen Serie nicht gerechnet hätten:</p>
<p><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_8610.jpg"><img class="size-medium wp-image-140" title="DSC_8610" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_8610-300x199.jpg" alt="" width="300" height="199" /></a><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_8611.jpg"><img class="size-medium wp-image-141" title="DSC_8611" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_8611-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>Zuletzt erfolgte die Montage in den dafür vorgesehenen Schließfächern:</p>
<p><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9755.jpg"><img class="size-medium wp-image-143" title="DSC_9755" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9755-300x199.jpg" alt="" width="300" height="199" /></a><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9757.jpg"><img class="size-medium wp-image-144" title="DSC_9757" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9757-300x199.jpg" alt="" width="300" height="199" /></a><a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9758.jpg"><img class="size-medium wp-image-145" title="DSC_9758" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9758-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>Alle Tests waren erfolgreich und das Projekt konnte seine Feuertaufe auf dem Melt!-Festival bestehen:<br />
<a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9864.jpg"><img class="size-medium wp-image-146" title="DSC_9864" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9864-300x199.jpg" alt="" width="300" height="199" /></a><br />
<a href="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9868.jpg"><img class="size-medium wp-image-147" title="DSC_9868" src="http://blog.elektrowolle.de/wp-content/uploads/2011/07/DSC_9868-199x300.jpg" alt="" width="199" height="300" /></a></p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.elektrowolle.de/?flattrss_redirect&amp;id=136&amp;md5=4cc20ead91ab0802053928354bd2140d" title="Flattr" target="_blank"><img src="http://blog.elektrowolle.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2011/07/23/vom-prototyp-zur-kleinserie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Platinenherstellung</title>
		<link>http://blog.elektrowolle.de/2011/02/26/platinenherstellung/</link>
		<comments>http://blog.elektrowolle.de/2011/02/26/platinenherstellung/#comments</comments>
		<pubDate>Sat, 26 Feb 2011 15:48:51 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=92</guid>
		<description><![CDATA[Hier eine Anleitung, wie man mit ein wenig Chemie in kurzer Zeit hochwertige Platinen herstellen kann.

Layout erstellen
Das Layout wird mit EAGLE erstellt und gegen die eigenen Design-Regeln geprüft (Ausgehend von den pcb-pool Regeln: Minimale Leiterbreite 6 mil, minmaler Abstand 6 mil, Bohrungen mindestens 0,5mm):


Layout drucken
Statt das Layout jedes Mal mit eigenen Einstellungen mit dem ...]]></description>
			<content:encoded><![CDATA[<p>Hier eine Anleitung, wie man mit ein wenig Chemie in kurzer Zeit hochwertige Platinen herstellen kann.</p>
<h2>Layout erstellen</h2>
<p>Das Layout wird mit EAGLE erstellt und gegen die eigenen Design-Regeln geprüft (Ausgehend von den pcb-pool Regeln: Minimale Leiterbreite 6 mil, minmaler Abstand 6 mil, Bohrungen mindestens 0,5mm):<br />
<img src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/00-Layout-Eagle-300x149.png" alt="" title="00-Layout-Eagle" width="300" height="149" class="alignnone size-medium wp-image-109" /><br />
<span id="more-92"></span></p>
<h2>Layout drucken</h2>
<p>Statt das Layout jedes Mal mit eigenen Einstellungen mit dem CAM-Prozessor zu erstellen hilft ein kleines Skript diese zu erzeugen (kein Füllen der Bohrlöcher, richtige Spiegelung für den Ausdruck, Layer fest vorgegeben):</p>
<pre  name="code" class="cpp:collapse">
#!/bin/bash
# Skript: eagle-to-pdf.sh
infile=`basename "$1" .brd`
BRD="${1}"
out_file_prefix=${TMPDIR}/printjob-$$
EAGLE=/Applications/EAGLE/EAGLE.app/Contents/MacOS/EAGLE
${EAGLE} -dEPS -X -f- -m -c+ -s1 -o"${out_file_prefix}-top.ps" "${BRD}" 1 17 18 20 105  &gt; /dev/null
${EAGLE} -dEPS -X -m -c+ -s1 -o"${out_file_prefix}-top-mask.ps" "${BRD}" 20 29  &gt; /dev/null
${EAGLE} -dEPS -X -f- -c+ -s1 -o"${out_file_prefix}-bottom.ps" "${BRD}" 16 17 18 20 106  &gt; /dev/null
${EAGLE} -dEPS -X -c+ -s1 -o"${out_file_prefix}-bottom-mask.ps" "${BRD}" 20 30  &gt; /dev/null

ps2pdf14 -dEPSCrop "${out_file_prefix}-top.ps" "${infile}-top.pdf"
ps2pdf14 -dEPSCrop "${out_file_prefix}-top-mask.ps" "${infile}-top-mask.pdf"
ps2pdf14 -dEPSCrop "${out_file_prefix}-bottom.ps" "${infile}-bottom.pdf"
ps2pdf14 -dEPSCrop "${out_file_prefix}-bottom-mask.ps" "${infile}-bottom-mask.pdf"

rm "${out_file_prefix}-top.ps" "${out_file_prefix}-top-mask.ps" "${out_file_prefix}-bottom.ps" "${out_file_prefix}-bottom-mask.ps"</pre>
<p>Das Skript wird mit der brd-Datei als Argument aufgerufen und erstellt im aktuellen Verzeichnis vier PDF-Dateien für die unterschiedlichen Masken.</p>
<p>Um Papier zu sparen werden die vier PDFs mit ein wenig Rand (ca. 1,5 cm) auf einer Seite positioniert, z.B. mit Pages. Dabei unbedingt darauf achten, dass die Größe nicht verändert wird.</p>
<p>Der Druck selbst erfolgt mit dem Laserdrucker auf Transparentpapier (Diamant Extra Spezial, billiger als Overheadfolie und bessere Schwärzung). Je nach Drucker sollten folgende Einstellungen vorgenommen werden: Druck auf dickes Papier (sorgt für erhöhten Tonerauftrag), keine Rasterung, s/w-Druck:</p>
<p><img class="size-medium wp-image-94 alignnone" title="01_Layout" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/01_Layout-300x131.jpg" alt="" width="300" height="131" /></p>
<p>Den Ausdruck ab jetzt vorsichtig behandeln, ansonsten kann Toner abgerieben werden. Die einzelnen Masken aus dem Papier ausschneiden und jeweils die Top- und Bottom-Seite mit den Tonerschichten aufeinanderlegen, ausrichten und mit einem Streifen Klebeband an einem Rand fixieren.</p>
<p>Nun die fotopositiv beschichtete Platine (Bungard FR4, selber beschichten lohnt nicht), die an einer Seite einen Rand von mindestens 1 cm haben sollte, zwischen die beiden Masken legen und die Maske auf der Platine fixieren:</p>
<p><img class="alignnone size-medium wp-image-104" title="03-Layout-Platine" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/03-Layout-Platine-300x199.jpg" alt="" width="300" height="199" /></p>
<h2>Belichten</h2>
<p>Die Belichtung erfolgt mit einem umgebauten Gesichtsbräuner, der – wie die Profigeräte – mit vier 15-Watt UV-Röhren bestückt ist. Da die UV-Röhren einige Minuten für das Aufwärmen brauchen, sollte der Belichter schon vorher eingeschaltet sein.<br />
Für Bungard Positiv-Material hat sich bei der Kombination Laserausdruck auf Transparentpapier eine Belichtungszeit von 140 Sekunden pro Seite bewährt. Die nicht zu belichtende Seite sollte dabei abgedeckt und leicht beschwert werden:</p>
<p><img class="alignnone size-medium wp-image-97" title="04-Belichten" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/04-Belichten-300x199.jpg" alt="" width="300" height="199" /></p>
<h2>Platine entwickeln</h2>
<p>Während die Platine belichtet wird, kann der Entwickler für den Fotopositiv-Lack angesetzt werden. Statt den üblichen Entwickler zu kaufen, kann auch normaler, pulverförmiger, Abflussreiniger verwendet werden, dieser enthält auch nur Natriumhydroxid. Da der Entwickler relativ schnell unbrauchbar wird, sollte er jedes Mal erneut angesetzt werden. Etwa 3g auf 250 ml warmes Wasser (25-28 ºC) reichen dafür aus, trotz der geringen Menge NaOH sollte jeglicher Kontakt mit dem Entwickler vermieden werden!</p>
<p>Nach Ablauf der Belichtungszeit werden die Masken von der Platine entfernt und die Leiterbahnen sollten sich leicht gelblich von den freizuätzenden Stellen abheben.</p>
<p>Die Platine nun in den Entwickler legen und mit einer Kunststoffpinzette an dem freien Rand im Entwickler bewegen, die belichteten Stellen verfärben sich lila und lösen sich auf. Nach etwa 30-60 Sekunden, wenn keine lila Reste mehr an den Kanten der Leiterbahnen sichtbar sind, sollte die Entwicklung abgeschlossen sein und die Platine kann unter fließendem Wasser gespült werden:</p>
<p><img class="alignnone size-medium wp-image-98" title="05-Belichtete-Platine" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/05-Belichtete-Platine-300x199.jpg" alt="" width="300" height="199" /></p>
<h2>Unterbelichtungen mit Cutter/Skalpell korrigieren</h2>
<p>Sollten zwischen dicht beieinander liegenden Leiterbahnen noch Fotolackreste sein, können diese vor dem Ätzen mit einem Skalpell beseitigt werden.<br />
Ursache hierfür können sein: Luft zwischen Maske und Platine, Dreck auf der Glasplatte des Belichters, zu kurze Belichtungszeit, Abstand zwischen UV-Röhren und Platine zu groß, zu kalter Entwickler, zu wenig NaOH im Entwickler.</p>
<h2>Ätzen</h2>
<p>Zum Ätzen gibt es verschiedene Möglichkeiten, von Eisen-(III)-Chlorid möchte ich jedoch abraten. Vernünftig geht es entweder mit Natriumpersulfat (250g pro Liter, 40 ºC Ätztemperatur) oder mit Salzsäure/Wasserstoffperoxid (375ml Wasser, 375ml Wasserstoffperoxid 10%, 250ml Salzsäure 33% langsam hinzugeben, Temperatur zwischen 10 und 30 ºC). Egal welches Ätzmittel verwendet wird, die entsprechenden Sicherheitsvorkehrungen (Belüftung, Schutz der Augen, Wasser zum Spülen in der Nähe,&#8230; ) sind auf jeden Fall zu beachten! Die Lösung ätzt nicht nur sehr schnell sondern bleicht auch alles, was mit ihr in Berührung kommt:</p>
<p><img class="alignnone size-medium wp-image-99" title="06-Aetzen" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/06-Aetzen-300x199.jpg" alt="" width="300" height="199" /></p>
<p>Der Vorteil bei der Salzsäure/Wasserstoffperoxid Kombination ist, dass sich das Ätzmittel nicht wirklich verbraucht, das Kupfer wird mit dem durch die Salzsäure entstandene Kupferchlorid geätzt. Nur bei Verfärbung ins bräunliche kann die Lösung durch Zugabe von wenig Salzsäure und Sauerstoff in Form von H<sub>2</sub>O<sub>2</sub> wieder aufgefrischt werden, Details zu dem Verfahren unter <a href="http://members.optusnet.com.au/~eseychell/PCB/etching_CuCl/index.html" target="blank">http://members.optusnet.com.au/~eseychell/PCB/etching_CuCl/index.html</a>.</p>
<h2>Resist entfernen/reinigen</h2>
<p>Die Reste des Fotolacks müssen für die nächsten Schritte entfernt werden, dies geschieht entweder mit Aceton (Achtung, hoch entzündlich) oder mit feinem Scheuermittel. Soll die Platine im Anschluss verzinnt werden, darf das freiliegende Kupfer nach der Reinigung nicht mehr berührt werden und sollte nicht lange der Luft ausgesetzt sein.</p>
<h2>Verzinnen</h2>
<p>Zum Verzinnen gibt es unterschiedliche Varianten, statt jedoch mit Lötlampe und Fittingslot zu arbeiten, ist die chemische Variante (z.B. SurTin) die einfachere und schnellere: Die angesetzte SurTin-Lösung in eine Entwicklerwanne geben, Platine rein, zwei Minuten leicht bewegen, fertig. Das chemisch Zinn hält sich ohne Probleme ein halbes Jahr, sofern es dunkel und kühl gelagert wird und hält für mindestens 50 Europlatinen. Falls die Lösung länger steht, kann es zu Kristallbildungen kommen, die vor dem Einsatz durch Erwärmen aufgelöst werden müssen.</p>
<p>Da ein wesentlicher Bestandteil von SurTin konzentrierte Schwefelsäure ist, sind auch hier die Angaben der Sicherheitsdatenblätter zu beachten. Auch ist für eine ausreichende Lüftung zu sorgen, da die Lösung Schwefelwasserstoff ausdünsten kann (riecht dann nach verfaulten Eiern).</p>
<p>Nach dem Abtropfen und Spülen mit klarem Wasser, kann die Oberfläche noch mit Küchenpapier abgerieben werden um ein wenig Glanz auf das Zinn zu bekommen:</p>
<p><img class="alignnone size-medium wp-image-100" title="07-Verzinnt" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/07-Verzinnt-300x159.jpg" alt="" width="300" height="159" /></p>
<h2>Lötstopp laminieren</h2>
<p>Wenn die Platine noch einen Lötstopp bekommen soll, sollte sie einige Male durch den Laminator laufen um die Feuchtigkeit rauszubekommen. Aus diesem Grund sollte auch kein Pertinax als Platinenmaterial genommen werden, dies muss wesentlich länger getrocknet werden und kann sich dabei verziehen.</p>
<p>Lötstopp gibt es z.B. bei Octamex als A4-Folie (Bungard Dynamask), die sehr lichtempfindlich gegenüber UV-Licht ist. Sämtliche Verarbeitungsschritte sollten daher bei gedämpfter Beleuchtung (kein Tageslicht, keine Neon-Röhren) stattfinden.</p>
<p>Von der Folie passende Stücke für die Platine abschneiden, der eigentliche Resist ist hierbei zwischen zwei Schutzfolien eingebettet. Dynamask hat eine matte und eine glänzende Seite, die matte Schutzfolie lässt sich mit zwei Streifen Klebeband die von beiden Seiten auf die Folie geklebt werden an einer Ecke abziehen. Der nun freigelegte Film ist ziemlich klebrig und wird nun auf die Platine laminiert:</p>
<p><img class="alignnone size-medium wp-image-101" title="08-Dynamask-laminiert" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/08-Dynamask-laminiert-300x142.jpg" alt="" width="300" height="142" /></p>
<p>Als Laminator eignen sich die Olympus Geräte (z.B. A-290) recht gut, da diese auch mit den 1,5mm dicken Platinen zurechtkommen, ohne dass der Dremel am Gehäuse angesetzt werden muss.</p>
<h2>Belichten</h2>
<p>Analog zur Belichtung für die Ätzmasken wird auch hier wieder eine Tasche für die Vorder- und Rückseite geklebt und auf der Platine passgenau auf die Lötpads fixiert. Die Belichtungszeit ist allerdings deutlich kürzer, 70 Sekunden sind ausreichend. Nach der eigentlichen Belichtung muss der Lötstopp eine halbe bis eine Stunde lang ruhen (natürlich im Dunkeln).</p>
<h2>Lötstopp entwickeln</h2>
<p>Der Entwickler für die Lötstoppmasken besteht aus Natriumcarbonat, 10g pro Liter, Temperatur sollte 30 ºC betragen. Vor dem Entwickeln muss die zweite Schutzfolie noch von den Platinen entfernt werden.<br />
Bei leichtem Schwenken der Lösung löst der Entwickler an den nicht belichteten Stellen den Lötstopp nach 3-5 Minuten ab. Falls einzelne Stellen sich nicht lösen (zu lange belichtet oder zu geringe Schwärzung?), hilft leichtes Kratzen mit einem weichem Gegenstand:</p>
<p><img class="alignnone size-medium wp-image-102" title="09-Loetstopp" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/09-Loetstopp-300x199.jpg" alt="" width="300" height="199" /></p>
<h2>Härten</h2>
<p>Der Lötstopp muss nun noch gehärtet werden, hierfür kann die Platine zwischen Transparentpapier einige Male durch den Laminator geschoben werden. Danach sollte sie eine Stunde lang von beiden Seiten mit UV-Licht belichtet werden:</p>
<p><img class="alignnone size-medium wp-image-103" title="10-Haerten" src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/10-Haerten-300x199.jpg" alt="" width="300" height="199" /></p>
<h2>Bohren und Bestücken</h2>
<p>Sollte es sich nicht um eine einseitige SMD-Bestückung handeln, können nun die Bohrungen gesetzt werden. Danach kann die Platine bestückt und im Anschluss von den Lötmittelresten (sofern kein NoClean-Lötzinn verwendet wird) befreit werden:<br />
<img src="http://blog.elektrowolle.de/wp-content/uploads/2011/02/11-Bestueckt-300x199.jpg" alt="" title="11-Bestueckt" width="300" height="199" class="alignnone size-medium wp-image-112" /></p>
<p>Die Gesamtdauer für die Herstellung einer solchen Platine liegt (inkl. der Zeit für das Ruhen und Härten des Lötstopps, die ja auch anderweitig genutzt werden kann) bei 2,5 Stunden.</p>
<p>Hier noch die Einkaufsliste, falls jemand in die Platinenherstellung einsteigen möchte:</p>
<table>
<tr>
<td>250 Blatt</td>
<td>Transparentpapier (Hahnemühle <br/>Diamant Extra Special 90/95g)</td>
<td style="text-align: right">28,45 €</td>
</tr>
<tr>
<td>5</td>
<td>Basismaterial FR4 zweiseitig 160&#215;200</td>
<td style="text-align: right">19,75 €</td>
</tr>
<tr>
<td>1</td>
<td>Gesichtsbräuner vom Flohmarkt</td>
<td style="text-align: right">5,00 €</td>
</tr>
<tr>
<td>1 kg</td>
<td>Entwickler (Rohrreiniger)</td>
<td style="text-align: right">2,50 €</td>
</tr>
<tr>
<td>1 l</td>
<td>Salzsäure 33% techn.</td>
<td style="text-align: right">5,40 €</td>
</tr>
<tr>
<td>1 l</td>
<td>Wasserstoffperoxid 10%</td>
<td style="text-align: right">4,00 €</td>
</tr>
<tr>
<td>5 Bögen</td>
<td>Dynamask Lötstopp</td>
<td style="text-align: right">11,39 €</td>
</tr>
<tr>
<td>100 g</td>
<td>Lötstoppentwickler</td>
<td style="text-align: right">2,62 €</td>
</tr>
<tr>
<td>1</td>
<td>SurTin Chemisch Zinn</td>
<td style="text-align: right">9,30 €</td>
</tr>
<tr>
<td>1</td>
<td>Satz Entwicklerwannen aus Fotostudio</td>
<td style="text-align: right">10,00 €</td>
</tr>
</table>
<p class="wp-flattr-button"></p> <p><a href="http://blog.elektrowolle.de/?flattrss_redirect&amp;id=92&amp;md5=4a45237bedec1a9ca61f232c5192826b" title="Flattr" target="_blank"><img src="http://blog.elektrowolle.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2011/02/26/platinenherstellung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neues Midi-Pult (Update 4)</title>
		<link>http://blog.elektrowolle.de/2010/09/25/neues-midi-pult/</link>
		<comments>http://blog.elektrowolle.de/2010/09/25/neues-midi-pult/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 22:28:52 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[arduino]]></category>
		<category><![CDATA[midi]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=68</guid>
		<description><![CDATA[Nachdem aus dem 120 RGB-LED Projekt ein wunderbares Leitsystem für die Nachrichtenmeisterei bei der Museumsnacht 2010 geworden ist (Video folgt noch), steht nun ein neues Projekt vor der Tür: Ein edles Midi-Pult mit 32 Fadern, 64 Drehencodern und den darin integrierten Tastern.



Zum Aufbau: das Pult ist in zwei Teile, jeweils 19-Zoll/5HE, aufgeteilt. Beide Hälften verfügen ...]]></description>
			<content:encoded><![CDATA[<p>Nachdem aus dem 120 RGB-LED Projekt ein wunderbares Leitsystem für die Nachrichtenmeisterei bei der Museumsnacht 2010 geworden ist (Video folgt noch), steht nun ein neues Projekt vor der Tür: Ein edles Midi-Pult mit 32 Fadern, 64 Drehencodern und den darin integrierten Tastern.</p>
<p><img class="alignright size-medium wp-image-70" title="Encoder" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/P10107661-268x300.jpg" alt="" width="268" height="300" /></p>
<p>Zum Aufbau: das Pult ist in zwei Teile, jeweils 19-Zoll/5HE, aufgeteilt. Beide Hälften verfügen über eigenständige A/D-Wandler (MCP3208) für die 100mm Fader und Digital-Inputs (74HC165) für die Encoder und Taster. Diese geben Ihre Daten auf einen zentralen Bus, der von dem Microcontroller auf MIDI umgesetzt wird.</p>
<p>Bei der Wahl des Prozessors standen die üblichen Verdächtigen zur Auswahl (PIC, Atmel und MSP), es ist aber – trotz der anhaltenden Lieferengpässe bei Atmel – ein Atmega328 geworden. Nachdem die Software recht schnell auf dem Arduino lauffähig war, ging es an die Code-Optimierung. Sobald ein wenig mehr IO-Leistung gebraucht wird (für die Encoder werden insgesamt 256 Bit über den Bus geschoben), sollte auf digitalRead und digitalWrite verzichtet werden. Die Umstellung von digitalRead(10) auf ((PINB &amp; 0&#215;04) &gt;&gt;2) brachte Faktor 40, so dass nun auch schnelle Drehungen ohne Verlust von Schritten erfasst werden. Das war dann auch der Abschied von Arduino.App und der Beginn der Umstellung auf Eclipse-CDT, das auch unter MacOS eine gute Unterstützung der kompletten AVR-Suite bietet.</p>
<p>Da das Pult länger halten und angenehm zu bedienen sein sollte, kommen die edlen ALPS-Produkte zum Einsatz, die in Stückzahlen auch bezahlbar sind. Die Encoder stammen aus der Automotive Serie, sind staubdicht und auf 500.000 Zyklen ausgelegt.</p>
<p style="text-align: center;"><img class="size-full wp-image-73 aligncenter" title="Fader" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/P10107652.jpg" alt="" width="640" height="401" /></p>
<p>Momentan sind die Platinen in der Produktion bei pcb-pool, die Frontplatte wird von Schaeffer-AG hergestellt.  Sobald es an den Zusammenbau geht, folgen weitere Bilder.</p>
<h3>Update 1:</h3>
<p>Mittlerweile gibt es die ersten Bilder von pcb-pool:</p>
<p><img class="alignnone size-medium wp-image-79" title="Sample-Device" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/BDE4ca1a135ba43a_02-300x203.jpg" alt="" width="300" height="203" /> <img class="alignnone size-medium wp-image-80" title="Knob-Board" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/BDE4ca1a135c7efb_02-300x136.jpg" alt="" width="300" height="136" /></p>
<p>Jetzt bleibt nur zu hoffen, dass die Stencils für die richtige Seite angefertigt werden.</p>
<p>Schaeffer hat die Frontplatten bereits gefräst, da der Versand für den 01.10. geplant ist, müssten diese also zusammen mit den Platinen am Samstag in der Post sein.</p>
<h3>Update 2:</h3>
<p>Es wurde dann doch Montag, aber sowohl die Platinen als auch die Frontplatten waren heute in der Post. Da die Encoder erst am 18.10. geliefert werden, konnten die Frontplatten schon teilweise bestückt werden:</p>
<p><img class="aligncenter size-medium wp-image-82" title="Frontplatte" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/P1010769-300x260.jpg" alt="" width="300" height="260" /></p>
<p>Morgen geht es, sofern die Zeit es zulässt an die Bestückung der Platinen:</p>
<p style="text-align: center;"><img class="size-medium wp-image-83 aligncenter" title="SampleBoard2" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/P1010770-300x188.jpg" alt="" width="300" height="188" /></p>
<p style="text-align: center;"><img class="aligncenter size-medium wp-image-84" title="KnobBoard2" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/P1010771-300x119.jpg" alt="" width="300" height="119" /></p>
<h3>Update 3:</h3>
<p style="text-align: left;">Die SMD-Bestückung der kleinen Platinen ist erledigt, nur für die Wandlerplatinen reichte die Lötpaste dann doch nicht mehr. Am Wochenende wird das Gehäuse gesägt und der Aufbau getestet.</p>
<h3>Update 4:</h3>
<p style="text-align: left;">Das Gehäuse war dann recht schnell gesägt, die Bestückung erledigt, alle Stecker (68 Stück für die Flachbandkabel im Inneren) verpresst. Der erste Test verlieft fast gut, aber drei Lessons Learned gab es dann doch noch bei dem Projekt:</p>
<ul>
<li>Niemals mit 100 nF X7R Abblockkondensatoren geizen</li>
<li>Einen A/D Wandler immer nur mit einer Taktfrequenz betreiben, die tatsächlich kleiner ist als die maximal zulässige (der Atmel war dann doch schneller als erwartet)</li>
<li>Traue niemals einem Datenstrom, der seriell übertragen wurde (es kann tatsächlich mal ein Byte fehlen)</li>
</ul>
<p>Aber nun ist das Pult fertig und konnte erfolgreich am MOTU-828MK2 MIDI-Port betrieben werden, alle 160 Midi-Signale werden einwandfrei übermittelt, in dem zugehörigen Live-Set konnten allerdings auf Grund der Ableton-Einschränkung nur jeweils 128 gleichzeitig getestet werden.</p>
<p>Zum Abschluss noch ein paar Bilder vom fertigen Gerät:</p>
<p style="text-align: center;"><img class="size-medium wp-image-89 aligncenter" title="Detail-Fader" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/P1010806-300x168.jpg" alt="" width="300" height="168" /><br />
<img class="size-medium wp-image-87 alignnone" title="Beide Pulte" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/P1010803-237x300.jpg" alt="" width="237" height="300" /> <img class="size-medium wp-image-88 alignnone" title="Steckverbinder" src="http://blog.elektrowolle.de/wp-content/uploads/2010/09/P1010804-225x300.jpg" alt="" width="225" height="300" /></p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.elektrowolle.de/?flattrss_redirect&amp;id=68&amp;md5=686f22459d08854256d3768200d5ea27" title="Flattr" target="_blank"><img src="http://blog.elektrowolle.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2010/09/25/neues-midi-pult/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MAX6966 10-Port Led Treiber</title>
		<link>http://blog.elektrowolle.de/2010/07/13/max6966-10-port-led-treiber/</link>
		<comments>http://blog.elektrowolle.de/2010/07/13/max6966-10-port-led-treiber/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 22:32:23 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[Chip of the week]]></category>
		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=60</guid>
		<description><![CDATA[Auf der Suche nach einer Alternative zu der PIC Ansteuerung der RGB-LEDs fand ich bei Maxim den MAX6966, der einen schöne Lösung für die niedrigen Helligkeitsstufen bietet. Für alle Kanäle lässt  sich mit einem gesonderten 3-Bit Register die Konstantstromquelle in 8 Stufen zwischen 1.25 mA und 20 mA einstellen. Wenn ein Kanal einer RGB-Led hell ...]]></description>
			<content:encoded><![CDATA[<p>Auf der Suche nach einer Alternative zu der PIC Ansteuerung der RGB-LEDs fand ich bei Maxim den <a href="http://www.maxim-ic.com/datasheet/index.mvp/id/4539" target="_blank">MAX6966</a>, der einen schöne Lösung für die niedrigen Helligkeitsstufen bietet. Für alle Kanäle lässt  sich mit einem gesonderten 3-Bit Register die Konstantstromquelle in 8 Stufen zwischen 1.25 mA und 20 mA einstellen. Wenn ein Kanal einer RGB-Led hell leuchtet spielt die Auflösung der anderen beiden Kanäle ja keine große Rolle mehr.</p>
<p>Für den Hobbybastler ohne Lötstoppmaske leider nicht gut zu verarbeiten: Entweder im 16-poligen TQFN (0,5 mm Pinabstand) oder QSOP Gehäuse (0,635 mm Pinabstand). Zudem sind zwei Stromversorgungen einzuplanen: Einmal die 3,3 Volt Logiklevel und eine zweite für die LEDs (sollte mindestens 1 Volt über der Vorwärtsspannung liegen). Bei meinen bevorzugten Cree CLV1A-FKB LEDs also mindestens 4,2 Volt.</p>
<p>Da die Ausgänge aber auch parallel geschaltet werden können, sind auch 50 mA LEDs (wie z.B. OVSTRGBBCR8 v0n Optek) direkt ansteuerbar.</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.elektrowolle.de/?flattrss_redirect&amp;id=60&amp;md5=f732bbcdc89c64aad8a35c7f5d963cea" title="Flattr" target="_blank"><img src="http://blog.elektrowolle.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2010/07/13/max6966-10-port-led-treiber/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vuvozero (filter vuvozela sounds from soccer games)</title>
		<link>http://blog.elektrowolle.de/2010/06/13/vuvozero-filter-vuvozela-sounds-from-soccer-games/</link>
		<comments>http://blog.elektrowolle.de/2010/06/13/vuvozero-filter-vuvozela-sounds-from-soccer-games/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 17:06:46 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[Ableton]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=51</guid>
		<description><![CDATA[For all people who feel annoyed by the bee-swarm sound, I've created a small Ableton Live Set containing a filter for the main frequencies of the vuvuzela.

Installation:


Download Ableton Live (Demo Version) from ableton.com.
Download Vuvuzero.als.zip decompress and open the file with Ableton.


Usage:

Put channel 1 into record mode (by clicking the small circle below the "S" ...]]></description>
			<content:encoded><![CDATA[<p>For all people who feel annoyed by the bee-swarm sound, I&#8217;ve created a small Ableton Live Set containing a filter for the main frequencies of the vuvuzela.</p>
<p>Installation:</p>
<ul>
<li><a href="http://www.ableton.com/de/demo-live">Download Ableton Live (Demo Version)</a> from ableton.com.</li>
<li><a href="http://blog.elektrowolle.de/wp-content/uploads/2010/06/Vuvozero.als_.zip">Download Vuvuzero.als.zip</a> decompress and open the file with Ableton.
</ul>
<p>Usage:</p>
<p>Put channel 1 into record mode (by clicking the small circle below the &#8220;S&#8221; in the first track). Connect your satellite receiver to the line in of your PC/Mac and the line out to your amplifier.</p>
<p>Enjoy the games.</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.elektrowolle.de/?flattrss_redirect&amp;id=51&amp;md5=b7a680af0d5fd95f0626c93ab14bf359" title="Flattr" target="_blank"><img src="http://blog.elektrowolle.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2010/06/13/vuvozero-filter-vuvozela-sounds-from-soccer-games/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Serial RGB-Dot (Update 4)</title>
		<link>http://blog.elektrowolle.de/2010/06/01/serial-rgb-dot/</link>
		<comments>http://blog.elektrowolle.de/2010/06/01/serial-rgb-dot/#comments</comments>
		<pubDate>Mon, 31 May 2010 22:07:00 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[arduino]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[RGB Led]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=33</guid>
		<description><![CDATA[Ein neues Projekt ist gerade unterwegs: Ähnlich dem FNordlicht bzw. BlinkM suchte ich eine Lösung eine einzelne RGB-LED seriell anzusteuern, die 100 einzelnen LEDs werden etwa einen Meter entfernt voneinander sein, so dass die bereits existierenden RGB Treiber für 8 oder 64 LEDs nicht wirklich praktikabel oder zu teuer waren. Momentan liefert digikey die ...]]></description>
			<content:encoded><![CDATA[<p>Ein neues Projekt ist gerade unterwegs: Ähnlich dem FNordlicht bzw. BlinkM suchte ich eine Lösung eine einzelne RGB-LED seriell anzusteuern, die 100 einzelnen LEDs werden etwa einen Meter entfernt voneinander sein, so dass die bereits existierenden RGB Treiber für 8 oder 64 LEDs nicht wirklich praktikabel oder zu teuer waren. Momentan liefert digikey die PIC12F508 samt RGB-LEDs und pcb-pool wird nächste Woche die passenden Platinen in den Briefkasten werfen.</p>
<p>Statt I2C wird in dem PIC ein 24-Bit Schieberegister mit Latch realisiert. Nach dem Latch liegen dann die drei Software PWMs. Da links und rechts auch noch Lötpads hinmüssen, ist die Platine mit 10mmx17mm dann doch größer geworden als ursprünglich geplant, aber immer noch kleiner und deutlich günstiger.</p>
<p><img class="alignnone size-full wp-image-34" title="serial-rgb-led" src="http://blog.elektrowolle.de/wp-content/uploads/2010/05/Bildschirmfoto-2010-05-31-um-23.53.08.png" alt="" width="401" height="251" /></p>
<p>Der PIC-Code samt Arduino-Library folgt sobald die ersten Tests erfolgreich waren.</p>
<p><strong>Update 1:</strong></p>
<p>Die Platinen sind zwar noch unterwegs, aber der PIC-Code ist mittlerweile fertig. Vorerst nur mit einem 8-Bit PWM, später folgt vielleicht ein Upgrade auf 10-Bit.</p>
<p>Ursprünglich sollte der Latch über den Watchdog-Timer erfolgen (wenn 18ms lang kein Taktsignal vorliegt, werden die Daten aus dem Schieberegister in die PWM-Register kopiert). Da unter den einzelnen Prozessoren der WDT-Timer aber schwanken kann (laut Datenblatt zwischen 9ms und 30ms) erfolgt jetzt die Übernahme über den integrierten Timer nach 10ms.</p>
<p><strong>Update 2:</strong>Von pcb-pool kam jetzt das erste Bild vom Produktionsprozess. So wie es ausschaut, wird am Wochenende alles zusammengebaut.</p>
<p><strong>Update 3:</strong>Alle Platinen sind nun bestückt und verlötet, morgen erfolgt der Upload des PIC-Codes:</p>
<p><a href="http://blog.elektrowolle.de/wp-content/uploads/2010/06/serial-rgb-bestueckt.jpg"><img src="http://blog.elektrowolle.de/wp-content/uploads/2010/06/serial-rgb-bestueckt.jpg" alt="" title="serial-rgb-bestueckt" width="800" height="600" class="alignnone size-full wp-image-44" /></a></p>
<p><strong>Update 4:</strong>Die LEDs sind jetzt auch alle verbaut, fehlt nur noch der Funktionstest.</p>
<p><a href="http://blog.elektrowolle.de/wp-content/uploads/2010/06/serial-rgb-bestueckt2.jpg"><img src="http://blog.elektrowolle.de/wp-content/uploads/2010/06/serial-rgb-bestueckt2.jpg" alt="" title="serial-rgb-bestueckt2" width="800" height="488" class="alignnone size-full wp-image-49" /></a></p>
<pre name="code"  class="cpp:collapse">
;; PWM-Code fuer RGB-Dot
;; Copyright 2010 Wolfgang Jung (w@elektrowolle.de)
    list     p=12f508
    #include p12f508.inc

    __CONFIG   _MCLRE_OFF &#038; _CP_OFF &#038; _WDT_OFF &#038; _IntRC_OSC
;; Register
REG_B_RED    EQU   0x08
REG_B_GREEN  EQU   0x09
REG_B_BLUE   EQU   0x0A
REG_C_RED    EQU   0x0B
REG_C_GREEN  EQU   0x0C
REG_C_BLUE   EQU   0x0D
REG_LCLK     EQU   0x0E
REG_OVERFLOW EQU   0x0F
REG_PWMCNT   EQU   0x10
REG_WORK     EQU   0x11
;; Pinassignments
PIN_RED      EQU  H'0'
PIN_GREEN    EQU  H'1'
PIN_BLUE     EQU  H'2'
PIN_SDIN     EQU  H'3'
PIN_SDOUT    EQU  H'5'
PIN_SCLK     EQU  H'4'
;; Konstanten
DEF_OPTION  EQU 0xC7 ; Kein Wakeup, Kein Pull-Up, TOCS=fOSC/4, TOSE=1, PSA=TMR0, Prescale=256
DEF_TIMEOUT EQU 39   ; Bei 4 MHz und Prescale=256 -> etwa 10ms

    ORG 0x000
;; startup
    MOVLW    DEF_OPTION
    OPTION
;; Port-Config OIIOOO
    MOVLW   0x18
    TRIS    GPIO
L_MAIN
    MOVF    GPIO, W                ; Lade Port nach W
    XORWF   REG_LCLK, W            ; XOR mit letztem CLK
    MOVWF   REG_WORK
    BTFSS   REG_WORK, PIN_SCLK    ; Flanke von SCLK?
    GOTO    L_NO_EDGE
L_EDGE_DETECTED:
    BTFSC   REG_LCLK, PIN_SCLK
    GOTO    L_FALLING_EDGE
L_RISING_EDGE:
    ;; steigende Flanke -> SDIN auswerten
    CLRF    REG_OVERFLOW
    BCF     STATUS, C            ; clear CARRY-Flag
    BTFSC   GPIO, PIN_SDIN
    BSF     STATUS, C            ; CARRY-Flag enthaelt nun SDIN, nun das Bit durch die 24-Bit schieben
    RLF     REG_B_RED, 1
    RLF     REG_B_GREEN, 1
    RLF     REG_B_BLUE, 1
    ;; letztes Bit merken fuer das naechste Modul
    BTFSC   STATUS, C
    BSF     REG_OVERFLOW, 0
    GOTO    L_CLR_WDT
L_FALLING_EDGE:
    ;; Fallende Flanke -> letztes Bit wieder auf SDOUT schreiben
    BCF     GPIO, PIN_SDOUT
    BTFSC   REG_OVERFLOW, 0
    BSF     GPIO, PIN_SDOUT
L_CLR_WDT:
    ;; Timer0 zuruecksetzen, Prescaler muss danach angepasst werden
    MOVLW   0
    MOVWF   TMR0
    MOVLW   DEF_OPTION
    OPTION
    ;; letzten Input merken
    MOVF    GPIO, W
    MOVWF   REG_LCLK
L_NO_EDGE:
    ;; Keine Flanke seit DEF_TIMEOUT timer0
    MOVLW   DEF_TIMEOUT
    SUBWF   TMR0, W
    ;; Prescaler muss angepasst werden
    MOVLW   DEF_OPTION
    OPTION
    ;; Skip, wenn tmr0 < DEF_TIMEOUT
    BTFSS   STATUS, C
    GOTO    L_DO_PWM
L_COPY_BUFFER_TO_PWM:
    ;; Daten aus Schieberegister in PWM-Register
    MOVF    REG_B_RED, W
    MOVWF   REG_C_RED
    MOVF    REG_B_GREEN, W
    MOVWF   REG_C_GREEN
    MOVF    REG_B_BLUE, W
    MOVWF   REG_C_BLUE
L_DO_PWM:
    DECF    REG_PWMCNT, F          ; Ist pwmCnt == 0?
    BTFSS   STATUS, Z
    GOTO    L_PWM_RED
    ;;; PWMCnt == 0 -> Also alle Pins auf high
    BSF     GPIO, PIN_RED
    BSF     GPIO, PIN_GREEN
    BSF     GPIO, PIN_BLUE
L_PWM_RED:
    MOVF    REG_PWMCNT, W
    SUBWF   REG_C_RED, W
    BTFSS   STATUS, Z            ; Skip, wenn pwmCnt > red
    GOTO    L_PWM_GREEN
    MOVF    REG_C_RED, W         ; Wenn red==0, dann niemals an
    BTFSS   STATUS, Z
    BCF     GPIO, PIN_RED
L_PWM_GREEN:
    MOVF    REG_PWMCNT, W
    SUBWF   REG_C_GREEN, W
    BTFSS   STATUS, Z
    GOTO    L_PWM_BLUE
    MOVF    REG_C_GREEN, W
    BTFSS   STATUS, Z
    BCF     GPIO, PIN_GREEN
L_PWM_BLUE:
    MOVF    REG_PWMCNT, W
    SUBWF   REG_C_BLUE, W
    BTFSS   STATUS, Z
    GOTO    L_MAIN                ; Zurueck zum Anfang
    MOVF    REG_C_BLUE, W
    BTFSS   STATUS, Z
    BCF     GPIO, PIN_BLUE
</pre>
<p class="wp-flattr-button"></p> <p><a href="http://blog.elektrowolle.de/?flattrss_redirect&amp;id=33&amp;md5=d404906842fa13469ad26ea73f83d1c7" title="Flattr" target="_blank"><img src="http://blog.elektrowolle.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2010/06/01/serial-rgb-dot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>mbed.org als Alternative zu Arduino</title>
		<link>http://blog.elektrowolle.de/2010/05/09/mbed-org-als-alternative-zu-arduino/</link>
		<comments>http://blog.elektrowolle.de/2010/05/09/mbed-org-als-alternative-zu-arduino/#comments</comments>
		<pubDate>Sun, 09 May 2010 21:23:06 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=31</guid>
		<description><![CDATA[Nach dem Erfolg des Arduino ist NXP auch auf den Zug der einfachen Mikrocontrollerentwicklung aufgesprungen. Unter mbed.org gibt es die Übersicht der beiden verschiedenen Modelle LPC2368 (ARM7) und LPC1768 (Cortex-M3), die einen interessanten Ansatz mit einem Online-Compiler umsetzen (auf dem eigenen Rechner muss keine Entwicklungsumgebung installiert werden).

Preislich sind beide auf dem gleichen Niveau (Einzelpreis 48,80€ bei ...]]></description>
			<content:encoded><![CDATA[<p>Nach dem Erfolg des Arduino ist NXP auch auf den Zug der einfachen Mikrocontrollerentwicklung aufgesprungen. Unter <a href="http://mbed.org/">mbed.org</a> gibt es die Übersicht der beiden verschiedenen Modelle LPC2368 (ARM7) und LPC1768 (Cortex-M3), die einen interessanten Ansatz mit einem Online-Compiler umsetzen (auf dem eigenen Rechner muss keine Entwicklungsumgebung installiert werden).</p>
<p>Preislich sind beide auf dem gleichen Niveau (Einzelpreis 48,80€ bei Farnell) und durchaus eine Alternative zu einem Arduino, da beide doch um einiges leistungsfähiger sind. Hier der Auszug aus dem Datenblatt:</p>
<ul>
<li>100 MHz operation</li>
<li>512 KB of Flash memory</li>
<li>64KB of SRAM</li>
<li>10/100 Ethernet MAC</li>
<li>USB 2.0 full-speed device/Host/ OTG controller with on-chip PHY</li>
<li>Four UARTs with fractional baud rate generation, RS-48, modem control, and IrDA</li>
<li>Two CAN 2.0B controllers</li>
<li>Three SSP/SPI controllers</li>
<li>Three I2C-bus interfaces with one supporting Fast Mode Plus (1-Mbit/s data rates)</li>
<li>I2S interface for digital audio</li>
</ul>
<p>Einen konkrete Anwendung schwebt mit zwar noch nicht vor, aber das wird sich bestimmt noch ergeben.<br />
Einzige Minuspunkte, die ich bislang finden konnte sind der nur einfach vorhandene 12-Bit DAC und das sämtlicher Code auf den NXP-Servern liegt. </p>
<p>Falls doch mehr DAC-Kanäle benötigt werden, scheint ein TLV5628, TLV5608, TLV5610 oder ähnliches ganz brauchbar zu sein (8-Fach, 8/10/12-Bit DAC über SPI).</p>
<p>Wichtiger Hinweis am Rande: Sämtliche Digital-IOs sind zwar 3,3V aber 5V tolerant.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2010/05/09/mbed-org-als-alternative-zu-arduino/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>16 Bit Port Extender mit I2C-Bus PCA9555</title>
		<link>http://blog.elektrowolle.de/2010/04/26/16-bit-port-extender-mit-i2c-bus-pca9555/</link>
		<comments>http://blog.elektrowolle.de/2010/04/26/16-bit-port-extender-mit-i2c-bus-pca9555/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 18:19:34 +0000</pubDate>
		<dc:creator>elektrowolle</dc:creator>
				<category><![CDATA[Chip of the week]]></category>

		<guid isPermaLink="false">http://blog.elektrowolle.de/?p=29</guid>
		<description><![CDATA[Texas Instruments bietet mit dem PCA9555 einen 16 Bit Port-Extender an, von dem maximal 8 Stück parallel an einem I2C Bus betrieben werden können. Insgesamt können so 128 individuell als Ein- oder Ausgang konfigurierbare Leitungen bereitgestellt werden, wobei alle Eingänge bei jedem Flankenwechsel einen Interrupt auslösen.

Die Ausgänge sind in der Lage 25 mA dauerhaft ...]]></description>
			<content:encoded><![CDATA[<p>Texas Instruments bietet mit dem <a href="http://focus.ti.com/docs/prod/folders/print/pca9555.html">PCA9555</a> einen 16 Bit Port-Extender an, von dem maximal 8 Stück parallel an einem I2C Bus betrieben werden können. Insgesamt können so 128 individuell als Ein- oder Ausgang konfigurierbare Leitungen bereitgestellt werden, wobei alle Eingänge bei jedem Flankenwechsel einen Interrupt auslösen.</p>
<p>Die Ausgänge sind in der Lage 25 mA dauerhaft gegen Masse zu schalten, für LEDs also ausreichend.</p>
<p>Sobald die Bestellung da ist, wird an dieser Stelle die dazu passende Arduino Bibliothek veröffentlicht.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.elektrowolle.de/2010/04/26/16-bit-port-extender-mit-i2c-bus-pca9555/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

