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.

BILD-FEHLT BILD-FEHLT

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

BILD-FEHLT 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. BILD-FEHLT 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

BILD-FEHLT 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. BILD-FEHLT 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. BILD-FEHLT 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.

BILD-FEHLT 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.

BILD-FEHLT BILD-FEHLT

Downloads

Reflowofen.zip Quellcode, AVR-Studio-6 Projekt, Qt-Projekt, Target3001-Datei (Platine + Schaltplan) (262 kB)

© 2014 - 2017 Philipp Meißner