Toner-Transfer-Quetsche

Inhaltsverzeichnis

IR-Auslöser für Pentax-Kameras

Akku-Ladekurve

Wir bauen uns eine Piepliothek!

Ein Automat ohne delay()

Pimp my Code!
Toner-Transfer-Quetsche

Tipps + Tricks


Toner-Transfer-Quetsche

Vorsicht! Lebensgefahr!
Im Folgenden wird mit Netzspannung gearbeitet. Das Berühren von Netzspannung führenden Leitern kann lebensgefährlich sein. Handle entsprechend vorsichtig!

Solange man nur einfache Schaltungen aufbaut, kommt man mit Punkt- oder Streifenrasterplatinen prima zurecht. Mit dem Umfang der Schaltungen wächst allerdings der Wunsch, individuelle Platinen anfertigen zu können.

Nachdem ich hier gelesen hatte, dass man sich mit dem „Toner-Transfer-Verfahren“ einen lästigen Teil des Weges vom Layout zur fertigen Platine ersparen kann, dauerte es nur ein paar Minuten, bis ein Ätzgerät bestellt war.

Beim Toner-Transfer-Verfahren wird ein Platinen-Layout, das man zuvor auf ein geeignetes Medium gedruckt hat, auf die mit Kupfer beschichtete Seite einer Platine übertragen. Beim anschließenden Ätzen schützt der Toner das Kupfer vor der Säure.

Da die ersten Toner-Transfer-Versuche mit dem Bügeleisen keine zufrieden stellenden Resultate ergaben, stand schnell fest, dass ich mir ein Laminiergerät zulege. Da es das Gerät gerade günstig zu kaufen gab, habe ich mich für ein „Olympia A2020“ entschieden:

Olympia A2020

Mit dem Laminiergerät gelang der Toner-Transfer erheblich besser – bis ich eines Tages davon las, dass das Ätzen eine bei Modellbauern beliebte Technik zur Herstellung individueller Teile aus Messing oder Neusilber ist.

Um das einmal zu probieren, wollte ich Toner auf ein Stück Messingblech „umbügeln“. Das Einführen des Blechs in den Laminator verursachte allerdings einen Kurzschluss, dem die Elektronik des Laminiergerätes zum Opfer fiel:

Kaputter IC

Das war einerseits ganz schön ärgerlich, führte andererseits aber dazu, dass ich die defekte Elektronik des Laminiergeräts durch ein eigenes Gebastel ersetzen konnte – natürlich mit Arduino.

Obendrein war nicht nur der im Foto gezeigte Schaltkreis kaputt: Auch der Sensor, der die Temperatur der Walzen misst, war zerbröselt und wurde durch eine Allerweltsdiode (1N4148) ersetzt – was nach dem Lesen von dem hier nahe lag.

Da ich bis auf die Originalplatine nichts austauschen oder modifizieren wollte, habe ich die Wannenstecker für die Anzeige- und Bedienelemente aus dem Original aus- und in mein Gebastel eingebaut. Das Auslöten war zwar ein wenig fummlig, aber da ich diese Teile auf meiner Platine wieder an der gleichen Stelle platziert habe, konnten die internen Verbindungskabel bleiben, wie sie waren. Lediglich die einfarbige „Ready“-LED habe ich durch eine Duo-LED ersetzt, die je nach Polung grün oder rot leuchtet und anzeigt, wenn die Walzen beheizt werden.

Die Schaltung ist ziemlich einfach (das Bild ist mit dem PDF verknüpft):

Schaltplan

Die mit der 1N4148 ermittelte Walzentemperatur führt dazu, dass ein SSR (Solid State Relay) die Energieversorgung der Heizung (Netzspannung) ein- bzw. ausschaltet. Damit es bei Temperaturen um den gewünschten Wert herum nicht ständig zu Schaltereien kommt, wird bei leicht abweichenden Werten geschaltet (siehe Wikipedia-Artikel zu Hysterese).

Das Ein- und Ausschalten der Heizung wird außerdem mit einem Piezo-Pieper signalisiert. Nach etwa einer Viertelstunde ist die Arbeitstemperatur erreicht und das Umbügeln des Toners kann beginnen.

Zum Drucken

Beim von Thomas Pfeifer beschriebenen Vorgehen wird das Platinenlayout auf eine Seite dünnen Katalogpapiers gedruckt. Nach dem Umbügeln wird die Platine mit dem jetzt daran haftenden Papier so lange in Wasser gelegt, bis das Papier so weich ist, dass man es abrubbeln kann, ohne dabei den Toner von der Platine zu lösen.

Da das Abrubbeln des Papiers lästig und fehlerträchtig ist, drucke ich das Layout auf das Trägerpapier von Paketaufklebern. Nach dem Bedrucken schneide ich das Trägerpapier zu und fixiere es mit etwas Klebefilm auf der zuvor gründlich mit Aceton gereinigten Kupferfläche einer Platine.

Diesen Sandwich schiebe ich dann mehrmals durch das Laminiergerät. Das Ergebnis ist zwar nicht immer optimal, aber das kommt sehr selten vor.

Der ganze Ablauf im Überblick

Die folgenden Fotos sind verkleinert dargestellt. Mit einem Rechtsklick und „Grafik anzeigen“ wird das Bild in voller Größe angezeigt.

  1. Damit man weiß, wie man das Aufkleber-Trägerpapier positionieren muss, druckt man erstmal wie gewohnt:
    Schritt 1

  2. Dann klebt man das Trägerpapier an die richtige Stelle und druckt noch einmal:
    Schritt 2a  Schritt 2b

  3. Danach wird das Trägerpapier zurechtgeschnitten und mit Klebefilm auf die Kupferseite der zuvor gründlich mit Aceton gereinigten Platine geklebt:
    Schritt 3

  4. Anschließend schiebt man das Ganze 2-3 mal durch das Laminiergerät:
    Schritt 4

  5. Fertig zum Ätzen:
    Fertig!

Nach dem Ätzen wird der Toner mit Aceton entfernt und die Platine gebohrt.

Layout und Bestückungsplan der Ersatzplatine

Die folgenden Grafiken sind verkleinert dargestellt. Mit einem Rechtsklick und „Grafik anzeigen“ wird das Bild in voller Größe angezeigt.

Da das Layout beim Toner-Transfer gespiegelt wird, ist es hier so dargestellt, als würde man durch die Platine hindurchsehen. Das Schöne daran ist, dass man Layout und Bestückungsplan übereinander legen und so die Positionen der Lötaugen kontrollieren kann. Dabei fällt auf, dass ich einen Trafo mit zwei Sekundärwicklungen benutzt habe. Der Grund hierfür ist, dass ich einen solchen Trafo gerade zur Verfügung hatte.

Platinenlayout  Bestückung  Kombination von Bestückung und Layout

Da sich zwei Widerstände und eine Befestigungsbohrung unter dem Arduino befinden, lötet man ihn nicht direkt ein, sondern setzt ihn auf zwei 15-polige Buchsenleisten. Das hat außerdem den Vorteil, dass man den Arduino bei Bedarf schnell wechseln kann.

Die Software

// Toner-Transfer-Quetsche

#include <Piezo.h> // Siehe Weekender 3
Piezo audio(3);

unsigned long loopcount=0;  // Zaehlt die loop()-Durchlaeufe
const byte LED_Power[]={11, 12};  // Power-LED
const byte LED_Heizung[]={9, 10}; // Duo-LED (Heizung)
                                  // (gruen=aus, rot=an)

const byte SwitchPin=8; // Schalter des Potis
const byte P_Pin=A0;    // Temperatur-Poti
const byte D_Pin=A3;    // Temperatur-Sensor
const byte SSR_Pin=4;   // SSR
bool SSR_lastState=LOW; // Zustand des SSR

// Wertebereiche von Temperatursensor und Poti
// -------------------------------------------
// Die Werte wurden u. A. durch "Schnueffelproben" ermittelt.
// Soll heissen: Wenn das Geraet zu stinken anfaengt, ist die
// Temperatur zu hoch.

const byte temp_max=123;
const byte temp_min=150;

const byte poti_max=140;
const byte poti_min=0;

void setup()
{
  pinMode(LED_Heizung[0], OUTPUT);
  pinMode(LED_Heizung[1], OUTPUT);
  pinMode(LED_Power[0], OUTPUT);
  pinMode(LED_Power[1], OUTPUT);
  pinMode(SwitchPin, INPUT_PULLUP);

  pinMode(SSR_Pin, OUTPUT);
  digitalWrite(SSR_Pin, LOW);

  digitalWrite(LED_Heizung[0], LOW);
  digitalWrite(LED_Heizung[1], HIGH);

  digitalWrite(LED_Power[0], HIGH);
  digitalWrite(LED_Power[1], LOW);

  audio.beep(READY);
}

void loop()
{
  uint16_t P_val=analogRead(P_Pin);
  uint16_t D_val=analogRead(D_Pin);

  byte schwellwert=map(D_val, poti_min, poti_max, temp_min, temp_max);

  if(D_val>(schwellwert+1) && SSR_lastState==LOW)
  {
    audio.beep(ON);
    digitalWrite(LED_Heizung[0],LOW);  // Ready-LED rot
    digitalWrite(LED_Heizung[1],HIGH); //
    digitalWrite(SSR_Pin, HIGH);
    SSR_lastState=HIGH;
  }
  else if(D_val<(schwellwert-1) && SSR_lastState==HIGH)
  {
    audio.beep(OFF);
    digitalWrite(LED_Heizung[0],HIGH); // Ready-LED gruen
    digitalWrite(LED_Heizung[1],LOW);  //
    digitalWrite(SSR_Pin, LOW);
    SSR_lastState=LOW;
  }

  // Warteschleife, damit loop() nur 1 mal pro Sek. durchlaeuft
  while((millis()-loopcount*1000)<1000) {}

  loopcount++;
}

Weiter zu: Tipps + Tricks


Nach oben Inhaltsverzeichnis

Valid HTML 4.01 Transitional