Reflow Ofen Steuerung

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

RFB.jpg

Einleitung

Hier wird eine weitere Reflow-Ofen-Steuerung beschrieben.

Zum Nachbauen

Motivation

Die Gründe, eine weitere Steuerung zu entwerfen, waren:

  1. Die Möglichkeit, auch größere Öfen mit 2 Phasen betreiben zu können.
  2. Die Steuerung universell zu gestalten. Es sollte möglich sein, diese nicht nur zum Reflow löten zu verwenden.
  3. Die Schaltung sollte in Altium entwickelt werden. (Warum kein Eagle??? Altium User wissen es.... :-)
  4. Die Schaltung sollte mit USB ausgestattet sein.

Eigenschaften & Spezifikationen

  • Temperaturmessung: bis zu 2x Thermoelement (K-Typ) mit MAX6675 (abgekündigt) oder Nachfolger MAX31855 (pin- aber nicht softwarekompatibel)
  • Leistungsstufen: 3x voneinander unabhängige Triac 800V bei 25A, limitiert auf 10A @ 250VAC (z.B. Oberhitze, Unterhitze, Umluft)
  • Nulldurchgangserkennung ermöglicht Wellenpaket-, Phasenan- und abschnittssteuerung, galvanische Trennung selbiger
  • 1x MOSFET-Ausgang PWM z.B. für 12V Lüfter, max. 55V 3,5A
  • 4 Programme im EEPROM über 2-Tasterbedienung und LEDs wähl- und ausführbar. PC-unabhängiger Betrieb.
  • Betrieb am Computer für mehr Reflowprofile
  • Mini-USB-Buchse zur Steuerung / Programmierung über GUI
  • Günstiges passendes Gehäuse, alle LEDs und Taster auf Stiftleisten herausgeführt
  • PID-Temperaturregler
  • UART, SPI, I2C und 2x ADC auf Stiftleisten herausgeführt (-> Erweiterungen)
  • Versorgung über USB (< 100mA), interne Versorgungsspannung 3,3V
  • umfangreiche EMV-gerechte Entstörung für den Bedarfsfall

Technische Realisierung

PIC18LF2550 Grundbeschaltung

Taktraten und Versorgungsspannung PIC18LF2550 vs. PIC18LF2550, Datenblatt S. 370/438

Schaltplan S. 3/22

Hier kommt ein PIC18LF2550 zum Einsatz. Er verfügt über eine USB-Schnittstelle und ist für Betriebsspannungen von 2 ... 5,5V ausgelegt. Sein Verwandter PIC18F2550 (ohne L) ist nicht für Betriebsspannungen < 4,2V ausgelegt. Dies ist bei USB sowiesor nicht immer erfüllt und die Thermoelement ICs vertragen ohnehin keine 5V, daher wurde die Betriebsspannung auf 3,3V reduziert. Neben Standard-Decoupling (100nF Kerko pro Vcc-Vss-Pärchen) wurde das ICSP-Interface in alt bewährter Pinbelegung (PICKit1,2,3) angebracht. PGD und PGC sind nicht weiter beschaltet, MCRL wird in Standardbeschaltung als Resetpin verwendet. Der Resetschalter findet sich auf dem Top-Sheet (Schaltplan S. 1/22). Die Taktversorgung erfolgt zwingend über einen ?? (TBD) MHz Quarz (-> USB). Man beachte diesbezüglich rechts stehende Grafik zu Taktraten und Versorgungsspannungen (Vdd bzw. auch Vcc genannt). Auch zu finden im Datenblatt des PICs auf Seite 370.

PIC18LF2550 USB Beschaltung

PIC18(L)F2455/2550/4455/4550 Standard USB-Beschaltung am PIC
USB-Schutzbeschaltung und Mini-USB-Buchse

Die Beschaltung der USB-Schnittstelle am PIC ist 1:1 aus dem Datenblatt übernommen. Zum Einsatz kommt eine Mini-USB-Buchse (J1). Der Gedanke war: Erstens ein sehr preiswertes, fertiges Netzteil verwenden zu können, (ca. 3,6Euro bei druckerzubehoer.de) und zweitens, die Steuerung auch mit dem PC / Laptop versorgen zu können.

Schaltplan S. 4/22

FER1,2 und C7 filtern den Schirm nach GND. Standardmäßig wird man hier wohl 0-Ohm-Widerstände einsetzen. Falls ein Besuch im EMV-Labor geplant ist, weicht man auf den Ferrit aus. C5 und C6 filtern das Signal zusammen mit der Common-Mode-DrosselL1. Die Drossel kann mit den 0-Ohm-Brücken R8 und R9 überbrückt (gespart) werden. IC2 ist als ESD-Schutz gedacht und kann ebenfalls bei ausgeprägten Kostenbewustsein gespart werden. Die Widerstände R6 und R7 dürfen NICHT bestückt werden. FER1,2, C5, IC2 müssen nicht zwingend bestückt werden. Die Bestückung wurde vorgehalten um im Problemfall einfache Abhilfe schaffen zu können.

3,3V Spannungsversorgung

Schaltplan S. 2/22

Die 3,3V Versorgungsspannung für die gesamte Platine wird aus Vusb mittels des LDO Spannungsreglers TOREX - XC6206P332MR abgeleitet. Günstig, SOT-23, klein, 2x 1µF Kondensatoren benötigt, 3,3V max. 250mA. Der hat auch einen sehr kleinen Ruhestrom.

Taster

Der Resettaster zieht den MCLR-Pin nach GND und löst damit den Reset aus. MCLR ist gem. der Standartbeschaltung mit einem 10k Pullup versehen.

Die übrigen beiden Taster ziehen RA4 bzw. RB5 ebenfalls nach GND.

LEDs + ULN2003L

Schaltplan S. 11/22

Um alle LEDs auf der Platine (3x Optotriac + 7x Status) ansteuern zu können wurde auf das 7fach Darlington-Array ULN2003L zurückgegriffen. Es dient desweiteren auch als "MOSFET-Treiber für Arme". Alle LEDs werden von diesem Transistor-Array nach Masse geschaltet. Dient der Entlastung der PIC-Ausgänge. Und kostet ja auch nicht viel.

MOSFET-Leistungsausgang

Schaltplan S. 22/22

Hier kommt der einfacher N-Kanal MOSFET (LogicLevel) PHT8N06LT zum Einsatz. Er wird über das ULN2003L Array getrieben und ermöglicht den Anschluss eines DC-Verbrauchers mit max. 55V bei 3,5A. Hier könnte beispielsweise ein PC-Lüfter zur Kühlung od. Umluft angeschlossen und über PWM geregelt/gesteuert werden. Ein Gatewiderstand von 100 Ohm (TBD) ist zur Schonung des Treibers vorgesehen. Eine 0-Ohm-Brücke ist stattdessen möglich.

Nulldurchgangserkennung

Nulldurchgangserkennung

Schaltplan S. 5/22

Die Nulldurchgangserkennung erfolgt nach einer sehr bekannten - jedoch ausgeklügelten - Schaltung. [1]

ACHTUNG: DER IM SCHALTPLAN VERZEICHNETE OPTOKOPPLER VON REICHELT DARF KEINESFALLS VERWENDET WERDEN! Pinbelegung! Bitte den Optokoppler aus der Stückliste nehmen!

Während einer Halbwelle wird C14 über R33 und R35 bzw. D5 geladen. Währenddessen ist T1 gesperrt. Sobald die Wechselspannung (L1-N über Spannungsteiler (R33+R35) / R34) kleiner ist als die Spannung über C14, steuert T1 durch. Dann entlädt sich C14 über den LED-Vorwiderstand R32. Der durch-steuernde Optokoppler zieht die Sync-Leitung nach GND. (Pullup Sync-Leitung = R31). Dies löst beim PIC auf INT2 einen Interrupt aus.

Dieser Interrupt ermöglicht eine präzise Wellenpaket-, Phasenanschnittsteuerung je nach Bedarf. Das Schalten im Nulldurchgang bei der Wellenpaketsteuerung reduziert EMV-Störungen. Für Phasenanschnitt ist prinzipbedingt ohnehin eine Nulldurchgangserkennung notwendig. Außerdem liefert sie eine völlig ausreichend genaue Zeitbasis für alle Programmabläufe.

Triac-Ausgänge + Snubber

Triac-Ausgangsbeschaltung

Schaltplan S. 19,20,21/22

Die Ansteuerung des eigentlichen Leistungstriacs BTA140-800 erfolgt über den Optotriac IS6005. Der Strom durch Letzteren wird durch R1x limitiert (Vorwiderstand). R2x und R5x limitieren wiederum den Strom durch den Optotriac. Wenn dieser zündet so folgt unmittelbar der "Leistungstriac" der dann die Last schaltet.

S1x ist ein Sicherungshalter um die Lasten einzeln absichern zu können. Wert 10A Mittelträge.

R3x, R4x, C3x bilden ein Snubber-Network, L1X verhindert eine zu schnelle Stromanstiegsgeschwindikeit damit der Triac nicht "von selbst" zündet. Weglassen äußert sich meist in einem fast nicht hörbaren Click. Damit zeigt einem dann der Triac, dass er ab jetzt für immer recht niederohmig geworden ist. Die Regelung der Temperatur braucht dann nicht mehr über den Prozessor erfolgen, sondern nur noch mit dem Ein-/Ausschalter..... :-)

Thermoelemente (MAX6675/MAX31855)

Schaltplan S. 6,7/22 Der inzwischen abgekündigte MAX6675 bzw. sein ehrenwerter Nachfolger MAX31855 sind einfach zu handhabende Thermoelement-ICs mit Kaltstellenkompensation. Thermoelemente funktionieren durch das Verschweißen zweier verschiedener Legierungen (beim K-Typ Thermoelemnt Ni und CrNi). Durch den durch die Umgebungstemperatur bedingten Wärmefluss zwischen beiden entsteht ein elektrische Spannung. Diese wird von besagten ICs verstärkt und digitalisiert (ADC). Diese Spannung / Temperatur ist natürlich wieder relativ zur Umgebungstemperatur an der Kaltstelle (Kontaktierung der beiden Drähte mit dem Messinstrument). Daher messen diese ICs auch gleich die Umgebungstemperatur (Kaltstellenkompensation genannt) mit, verrechnen das und geben das Ergebnis auf der SPI-Schnittstelle aus. MAX6675 leistet 12bit also 0,25°C Auflösung (nicht Genauigkeit!) über einen Temperaturbereich von 0°C to +1024°C. Außerdem wird ein nicht/fehlerhaft angeschlossenes Thermoelement erkannt. Der Thermocouple-IC wird an die SPI-Schnittstelle des PICs angeschlossen (hier MSSP genannt).

MAX6675 und MAX31855 scheinen entgegen der Adafruit-Information [2] doch pinkompatibel zu sein - die Ansteuerung unterscheidet sich jedoch definitiv. (Zitat: "Now uses the MAX31855K instead of the MAX6675, so it can measure a wider temperature measurement range. Please note! the MAX31855 is not pin compatible or drop-in code compatible with the MAX6675. We do have an Arduino library for both chips but you'll need to adjust any existing MAX6675 designs for the mew MAX31855. The MAX6675 has been discontinued by Maxim.")

Es wurden 2 dieser ICs und damit 2 Temperaturmessstellen vorgesehen. Dies ermöglich die Messung für eine Regelung der Temperatur so wie eine zusätzliche Überwachung kritischer Bauteile (z.B. ICs oder LEDs). Die Minimalbestückung sieht einen MAX6675/MAX31855 vor. Die Auswahl in der Firmware erfolgt über einen der beiden GPIO-Pins RA5 oder RA0 via dem ChipSelect (CS) des MAX6675/MAX31855.

Neben dem MAX6675/MAX31855 wurde ein Decoupling-Kondensator (C8x, Standard 100nF) so wie ein weiterer im Messpfad (C9x) zur Zwecken der Entstörung vorgeshen. C9x 100nF sollte nur bestückt werden wenn Probleme bei der Temperaturmessung entstehen (z.B. unrealstisch stark schwankende Werte).

ADC, SPI, UART & I2C Stiftleiste

ADC, SPI, UART und I2C sind zu Zwecken der Kalibrierung / Erweiterung / Einstellung / Debugging au Stiftleisten herausgeführt: Ähnlichkeiten mit dem FTDI-USB-TTL-Kabel bzw. Arduino XXX Bla Bla Bla Schnittstellenkonverter sind natürlich rein zufällig.

Die I2C-Schnittstelle wurde auf eine Stiftleiste geführt, um z.B. einem LM75 o.ä. anschließen zu können. Damit stehen zur Kalibrierung der Thermoelemente genaue Temperaturen zur Verfügung.

Die Stiftleisten haben alle ein Raster von 2,54mm. So können Pin-Header, Wannenstecker oder ähnliches verwendet werden.

Da ja viele Leute eigene Vorstellungen bezüglich der Frontplattengestaltung haben, wurden auch die Taster und LEDs auf Stiftleisten geführt.

Kühlkörper

Da die Triac der Steuerung für bis zu 10A pro Kanal ausgelegt sind, kann man auf die Kühlkörper nicht verzichten. Es fallen bei 10A bis zu 13Watt Wärme pro Triac ab. Falls mann auf die Kühlkörper doch verzichten möchte, sollte man darauf achten, die Triac mit dem Kopf nach unten einzubauen. Diese können sich dann bei Überlast ganz von selber auslöten.... :-)

PC-Software (GUI)

FAQ

Q: God why ... ? A: Because we can !


Verbesserungen Prototyp

  • Bauteile weiter weg von Schraublöchern
  • Dazu Kreis rund um Bohrung auf Bestückdruck
  • Masseanbindung Quarz
  • Klemmen weiter weg vom Rand
  • Klemme und Sicherungshalter weiter auseinander, damit Schutzhabe draufpasst

Links

Diskussion Nulldurchgangschaltung