Reflowofen
Wenn man öfters Platinen mit vielen
SMD-Bauteilen bestückt, wird man des manuellen Lötens mit einem Lötkolben irgendwann überdrüssig.
Auch gibt es manche Bauteilgehäuse, wie z. B.
BGAs, bei denen die Anschlussflächen auf der Unterseite liegen und die sich daher überhaupt
nicht mehr mit einem einfachen Lötkolben verarbeiten lassen. Durch die ständig fortschreitende Miniaturisierung in der Elektronik werden solche Bauteile immer häufiger, was ein zusätzlicher Anreiz zum Umstieg auf
ein anderes Lötverfahren ist. Die Rede ist vom
Reflow-Löten einem Verfahren, das auch in der Industrie weit verbreitet
ist. Hierbei wird auf die Lötpads der Platine zunächst eine
Lotpaste aufgetragen und dann werden die Bauteile darauf gesetzt. Anschließend wird das
Ganze in einen speziellen Ofen gelegt und kontrolliert erhitzt. Die Lotpaste - welche aus Lotmetallpulver und Flussmittel besteht - schmilzt dabei auf und verbindet beim Abkühlen das Bauteil mit der Platine.
Das Auftragen der Lotpaste kann mit einer Spritze bzw. Dosiermaschine erfolgen oder mittels einer Pastenschablone in einem Verfahren, das dem Siebdruck ähnelt. Diese Schablonen aus Edelstahl oder Kunststofffolie
haben an den Positionen der Pads Löcher, durch die die Lotpaste mittels eines Rakels auf die Platine aufgetragen wird. Die Dicke der Schablone bestimmt dabei die Menge der Lotpaste. Sie liegt üblicherweise
zwischen 75 µm und 175 µm. Eine günstige Quelle für lasergeschnittene Polymerschablonen ist
smtstencil.co.uk.
Beim Lötvorgang kommt es auf die Einhaltung der Temperatur an, um ein optimales Ergebnis zu erhalten. Die Bauteile dürfen weder zu schnell erhitzt noch zu schnell abgekühlt werden,
da sie dadurch beschädigt werden können. Auch dürfen sie nicht zu heiß werden und die Gesamtdauer des Vorgangs sollte nicht länger sein als nötig, da auch dies den Bauteilen schadet. Deshalb ist es ratsam, einen
Ofen zu haben, der in der Lage ist, Temperaturprofile exakt abzufahren. Gegenstand dieses Projektes ist der Bau eines solchen Ofens.
Umbau des Ofens
Es gibt im Internet einige Projektbeschreibungen zum Bau von Reflowöfen. Häufig werden kleine Pizza-Backöfen umgebaut (
hier), jedoch gibt es auch
Projekte, bei denen der komplette Ofen von Grund auf konstruiert wird (
hier). Ich habe mich für den Umbau eines Pizza-Ofens entschieden,
da man so eine Menge an mechanischem Konstruktionsaufwand spart und sich ganz auf die Elektronik und die Software konzentrieren kann. Der Pizza-Ofen wurde vollkommen entkernt, jedoch war das Ziel, ihn äußerlich möglichst
wenig zu verunstalten, so dass das Aussehen eines kommerziellen Geräts erhalten bleibt. Der ursprüngliche Schaltplan des Ofens ist auf dem unteren Bild zu sehen. Die Zeitschaltur und der Temperaturschalter wurden entfernt.
Der Wahlschalter für Ober- und Unterhitze wurde aus ästhetischen Gründen beibehalten, allerdings wurde er so fixiert, dass immer alle Heizstäbe aktiv sind.
Nachdem die erste provisorische Temperaturmessung auf einem Steckbrett realisiert war, wurde der Ofen angeschaltet und die Aufheizung vermessen. Dabei stellte sich heraus, dass der Ofen nicht schnell genug heizte und auch
die angestrebte maximale Temperatur von 260°C nicht erreichte. Daher wurde er mit Steinwolle zusätzlich gedämmt, was eine erhebliche Verbesserung des Aufheizverhaltens brachte. Die Folge war natürlich, dass er nun auch
sehr viel langsamer abkühlte. Da man das Abkühlen aber einfach durch das Öffnen der Tür beschleunigen kann, wurde beschlossen, einen Modellbauservo einzusetzen, der die Tür bei Bedarf automatisch einen Spalt weit öffnen kann.
Elektronik
Die Basis der Elektronik bildet ein ATmega32U4 Mikrocontroller. Dies ist der kleinste AVR-Mikrocontroller, der sowohl über eine USB-Schnittstelle als auch über einen AD-Wandler verfügt. Die Beschaltung der USB-Schnittstelle
entnimmt man am besten dem Datenblatt des Mikrocontrollers. Sie variiert leicht, je nachdem, ob der Controller über die USB-Schnittstelle mit Strom versorgt werden soll oder nicht und ob seine Betriebsspannung 5 Volt
oder 3,3 Volt betragen soll. Die USB-Schnittstelle meldet sich beim PC als virtueller Seriellport und kann so leicht mit einem Terminalprogramm oder auch anderer Software interagieren.
Temperaturmessung

Zur Temperaturmessung werden
Pt1000-Messwiderstände eingesetzt, da nur diese Temperaturen von mehreren hundert Grad Celsius aushalten.
Sie bestehen aus Platin und sind entsprechend teuer (ca. 1 € /Stück). Die 1000 steht für einen Widerstandswert von 1000 Ohm bei einer Temperatur von 0°C. Es gibt auch Pt100- und Pt500-Widerstände, die einen
Widerstandswert von 100 Ohm bzw. 500 Ohm bei 0°C aufweisen. Zur Messung der Widerstände wurde eine Konstantstromquelle verwendet sowie zwei Analogmultiplexer, mit denen der Ausgang der Konstantstromquelle und der
Eingang des AD-Wandlers jeweils mit den verschiedenen Widerständen verbunden werden können. Da der Mikrocontroller mehrere AD-Eingänge hat, könnte man sich den zweiten Multiplexer auch sparen, jedoch kostet dieser nur wenige
Cent und man spart so Prozessorpins und vereinfacht zudem die Software. Es wurden Achtkanal-Multiplexer vom Typ 74HC4051 verwendet. Analogmultiplexer sind bidirektional, können also genauso als Demultiplexer arbeiten.
Der Durchlasswiderstand liegt in der Größenordnung von 100 Ohm, allerdings ist die Schaltung so gestaltet, dass er sich nicht auf das Messergebnis auswirkt. Der Schaltplan zeigt das Ganze exemplarisch für drei Kanäle,
wobei nur Kanal 7 ein Pt1000-Element als Widerstand enthält. In den ersten beiden Kanälen sind zwei 1000-Ohm-Widerstände eingesetzt. Diese dienen zur Kalibrierung, weshalb hier präzise Widerstände mit einer Genauigkeit von
0,1 % verwendet wurden. Es kann so gemessen werden, welchen Spannungsabfall der Strom aus der Stromquelle an einem 1-kOhm- bzw. 2-kOhm-Widerstand erzeugt, womit umgekehrt bei allen anderen Spannungen durch Interpolation
auf den entsprechenden Widerstand geschlossen werden kann. Für die Genauigkeit spielt der exakte Wert des Stroms somit keine Rolle mehr, sondern nur die Toleranz der beiden Referenzwiderstände.
Im Bereich zwischen 0°C und 100°C weisen Platinmesswiderstände eine gute Linearität auf, weshalb eine lineare Interpolation oft ausreicht, um die Temperatur hinreichend gut zu ermitteln. Da jedoch bis zu einer Temperatur von 300°C gemessen werden sollte,
wurde in der Firmware des Mikrocontrollers eine Tabelle mit mehreren Stützpunkten hinterlegt zwischen denen dann jeweils linear interpoliert wurde.

Eine Tabelle mit den Widerstandswerten eines Pt1000-Elements bei verschiedenen Temperaturen findet man
hier.
Zum Anschluss der Messwiderstände wurde zweiadrige Glasseideleitung verwendet, welche bis zu einer Temperatur
von 400°C eingesetzt werden kann. Das abisolieren der Kabel ging etwas ungewohnt verglichen mit kunstoffisolierten Litzen, ließ sich aber leicht bewerkstelligen. Natürlich konnten die Sensoren nicht an das Kabel angelötet werden,
da das Lötzinn im Ofen schmelzen würde. Daher wurden sie mittels blanker (ohne Kunststoffkragen) Aderendhülsen an dem Kabel festgecrimpt. Im Heizraum wurden zwei solcher Sensoren befestigt, die später die
Grundlage der Temperaturregelung sein sollten. Ein weiteres Pt1000-Element im 0805-Gehäuse wurde direkt auf der Steuerplatine aufgelötet. Dieses dient zur Überwachung der Temperatur der Elektronik, welche ja möglichst
niedrig bleiben soll.
Triac-Ansteuerung

Um die Temperatur regeln zu können, muss der Mikrocontroller in der Lage sein, die Heizelemente des Ofens an- und auszuschalten. Hierfür wurde eine Schaltung mit einem Triac und einem speziellen Triac-Treiber-Optokoppler eingesetzt.
Beim Optokoppler handelt es sich um einen MOC3042. Dieser hat eine integrierte Nullspannungserkennung, was bedeutet, dass er den Triac nur dann zündet, wenn die Netzspannung gerade einen Nulldurchgang hat.
Dadurch wird der Triac quasi ohne Last geschaltet. Dies reduziert zum einen die Schaltverluste und zum anderen die elektromagnetischen
Störungen, die durch das schnelle Schalten großer Stöme entstehen. Neben dem Triac und dem Optokoppler kommen noch ein paar Widerstände und ein Kondensator zum Einsatz. Letzterer bildet zusammen mit einem Widerstand einen
Snubber, welcher Störungen dämpft und somit ein unerwünschtes Zünden des Triacs verhindert.
Es muss ein X2-Kondensator sein, der für die Verwendung an Netzspannung zugelassen ist. Ein Varisor am Ausgang sorgt für einen zusätzlichen Schutz gegen Überspannungen aus dem Netz.
Die gesamte Schaltung findet man auch in einem Bauteil integriert unter dem Namen Solid-State-Relais. Diese kosten aber meist
mehrere Euro, während die einzelnen Bauteile zusammen nur etwas über einen Euro kosten.
Der Nutzen eines Nutzen
Das Bild zeigt eine Computergrafik der Platine, wie ich sie beim Platinenhersteller bestellt habe. Jedoch ist nur der größere rechte Teil die Ofensteuerung, der linke Teil gehört zu einem
anderen Projekt. Ich zeige ihn an dieser Stelle, um allgemein die Methode zu verdeutlichen, wie man die Platinen für verschiedene Projekte auf einmal bestellen und so eine Menge Geld sparen kann.

Dies lohnt sich besonders,
wenn die einzelnen Platinen klein sind und man nur ein oder wenige Exemplare braucht. Meine Platinen wurden bei
multi-cb bestellt. Dort ist der Mindestpreis
41 € zzgl. Mehrwertsteuer (leider verkaufen sie nur an Gewerbetreibende). Für diesen Betrag bekommt man aber bereits eine 1,4 dm² große Leiterplatte, was schon für mehrere kleine Projekte reicht. Der Trick ist, eine einzelne Platine zu erstellen,
auf der die verschiedenen Layouts untergebracht sind, welche durch Ausfräsungen voneinander getrennt werden. Dabei lässt man aber kleine Stege übrig, so dass es weiterhin eine zusammenhängende Platine bleibt. In die Stege
kann man zusätzliche Bohrungen setzen, so dass das Trennen erleichtert wird. Die Platine kann man dann einfach in ihre Einzelteile zerbrechen und die restlichen Kanten gegebenenfalls noch mit einer Feile
entfernen. Die Breite der Ausfräsungen kann man den Design-Rules des Leiterplattenherstellers entnehmen. Bei multi-cb kosten Fräsungen kaum Aufpreis, sofern sie mit einem 2-mm-Fräser machbar sind.
Wenn ich schon beim Thema Nutzenerstellung bin, möchte ich noch einen Tipp bezüglich des Layoutprogramms
TARGET 3001! loswerden, mit dem ich die meisten meiner Projekte
erstelle. Im Gegensatz zum ebenfalls weit verbreiteten
EAGLE geht hier die Beschränkung in den einzelnen Versionen nicht nach der Platinengröße, sonden
nach der Anzahl der Pins/Pads. Ich finde das eigentlich ganz fair, weil es doch die Komplexität eines Projektes ganz gut widerspiegelt. Mit der kostenlosen Hobbyistenversion lassen sich z. B. Projekte bis zu einer Zahl von
250 Pins/Pads erstellen. Es gab auch Aktionen, bei denen in der
C't eine Version mit einer Beschränkung von 400 Pins/Pads beilag.

Hier lohnt es sich, eine solche alte Zeitung bei Ebay zu ergattern. Wenn man jetzt allerdings einen Nutzen erstellen möchte, auf dem mehrere Projekte zusammenkommen oder auch ein Projekt mehrfach, was häufig gemacht wird, um das
Handling zu erleichtern, kommt man schnell an die Grenzen der Version. Würde man ein kleines Projekt mit 100 Pins einfach kopieren, um daraus einen Nutzen zu erstellen wäre schon bei der dritten Kopie die Grenze der Freewareversion
überschritten. Selbst mit der Version für 750 € könnte man maximal einen 12er-Nutzen bauen. Der Ausweg führt über die Gerberdaten. Gerberdaten werden von Leiterplattenherstellern zum Fertigen von Leiterplatten benötigt. Sie
enthalten lediglich die Geometrie der einzelnen Lagen, also wo Kupfer oder Lötstopplack hinkommt und wo nicht bzw. wo gebohrt oder gefräst werden muss. Target kann Gerberdaten sowohl ex- als auch importieren. Wenn man eine
Platine ins Gerberformat exportiert, kann man sie hinterher wieder importieren, ohne dass sich der Pin/Pad-Zähler erhöht. Denn auch für Target sind diese Daten dann keine Schaltungen mehr, sondern nur noch Flächen aus
Kupfer oder Lack. Natürlich kann man daher auch nicht das System der Beschränkungen auf diese Weise hintergehen. Denn mit den importierten Daten lässt sich, abgesehen davon, dass man sie kopieren und verschieben kann, nicht sinnvoll
arbeiten. Man hat keine Luftlinien beim Umverlegen einer Leiterbahn und auch der Design-Rule-Check funktioniert nicht. Dennoch ist die Methode hervorragend zum Erstellen von Nutzen geeignet. Man kopiert auf diese Weise die
Kupfer- und Lackflächen so oft man will und zieht hinterher um alle eine neue Außenkante. Diesen Trick sucht man leider vergeblich in den Tutorials über Target. Das Programm hat sogar einen eingebauten Nutzen-Generator, der
aber auch nur die Schaltung als Ganzes kopiert und somit die Pin/Pad-Grenze sehr schnell sprengt. Das Bild zeigt einen 15-fach Nutzen, der auf diese Weise erstellt wurde. Obwohl jede Einzelplatine nur 85 Pins hat, wäre der Nutzen
auch für die 750 € teure "economy"-Version zu "komplex". Auf der 3D-Grafik sieht man verständlicher Weise keine Bauteile, denn die gibt es in diesem Fall ja nicht, da ausschließlich Gerberdaten bearbeitet werden.
Software
Die Software wurde mit Qt erstellt, und zwar mit der Version 5, welche bereits über eine Klasse zur Ansteuerung serieller Schnittstellen verfügt. In Version 4 benötigte man dafür eine zusätzliche Bibliothek, wie z. B.
QExtSerialPort. Letztere hatte den Vorteil, dass sie ein Signal erzeugte, wenn ein USB-Gerät eingesteckt oder abgezogen wurde. Ich musste eine Weile
herumprobieren, bis ich eine Lösung gefunden hatte, die es erlaubte, auch während das Programm läuft den USB-Stecker beliebig oft zu ziehen und wieder einzustecken.
Der Code steht zum Download zur Verfügung, weshalb ich hier allgemein nicht weiter
in Details gehe. Zum Zeichnen des Temperatur-Zeit-Diagramms habe ich die Bibliothek
QCustomPlot benutzt. Diese ist sehr mächtig und die Ergebnisse sind wirklich gut.
Sie ist auch leicht einzubinden, da sie einfach nur aus einer einzelnen 19.000 Zeilen langen Quellcodedatei besteht. Ansonsten ist das ja kein guter Stil, aber wenn man sie einfach nur einbinden und nicht verändern will, ist
es nicht unpraktisch.

Um den Ofen zu starten, muss man zunächst ein Temperaturprofil auswählen, indem man verschiedene Stützpunkte in die rechte Tabelle einträgt, zwischen denen dann linear interpoliert wird. Die so entstehende Solltemperaturkurve
wird als dicke rote gestrichelte Linie im Diagramm angezeigt. Man kann die Temperaturkurve auch abspeichern, um sie beim nächsten Öffnen einfach wieder zu laden. Beim Klick auf Start beginnt die Regelung, welche versucht, dem
vorgegebenen Profil zu folgen. Die gemessenen Temperaturen werden in das Diagramm eingetragen, wobei man die Sichtbarkeit der einzelnen Sensoren ein- und ausschalten kann. Die Temperaturen der beiden fest im Heizraum
installierten Sensoren werden gemittelt und ergeben die Ist-Temperatur als Vergleich für die Regelung. Nach einem Durchlauf kann man die gemessenen Temperaturgänge als CVS-Datei archivieren. Die gesamte Regelung wird von der
PC-Software übernommen. Der Ofen selbst erhält nur Vorgaben für die aktuelle Heizleistung und die Stellung des Türöffner-Servos. Die aktuellen Vorgaben werden unten rechts angezeigt und lassen sich zu Testzwecken auch manuell
einstellen.
Downloads
Reflowofen.zip Quellcode, AVR-Studio-6 Projekt, Qt-Projekt, Target3001-Datei (Platine + Schaltplan) (262 kB)