====== Reflow Ofen - USB gesteuerter Ofen zum reflow löten ====== ^ {{:projekte:reflowofen:imag0153.jpg?200|}} ^ {{:projekte:reflowofen:imag0156.jpg?200|}} ^ {{:projekte:reflowofen:imag0157.jpg?200|}} ^ | | || ===== Beteiligte ===== * [[chaoten:petershaw|petershaw]] * [[chaoten:fast|fast]] ===== Hardware ===== Bei dem Ofen handelt es sich um einen 9L/1000W "[[http://www.amazon.de/gp/product/B00CBWWIKU/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1|Gourmetmaxx Infrarot-Ofen]]" Diesem wurde der Timer entfernt und der Auswahlschalter der Heizelemente. Die Steuerung übernimmt ein AtMega328. Über ein Solid-State-Relay [[http://www.amazon.de/gp/product/B008OF0PBC/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1|SSR-40DA Halbleiter Relais 3-32VDC / 24-380V AC / 40A]] werden die Heizelemente eingeschaltet. Ein Thermoelement (Typ K) an einem MAX6675 misst die aktuelle Temperatur. Der Ofen wurde mit [[http://www.amazon.de/gp/product/B00N0XTFHI/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1|Dämmwolle]] umwickelt. Im Betrieb verliert diese ihre Feuchtigkeit. Der Ofen qualmt dann, was bedeutet das er funktioniert. ===== Kenngrößen ===== ^ Größe ^ Wert ^ | Temperaturanstieg | 1,5 °C/s | | Maximaltemperatur | 315 °C | **Achtung: 315 °C entspricht nicht der maximal möglichen Temperatur, sondern der maximalen Hitzebeständigkeit des verwendeten Silikons. Auf keinen Fall sollten Temperaturen höher als 315 °C eingestellt werden!** ===== Funktionsweise & Architekturentscheidungen ===== Aus Gründen der Flexibilität und dem Ziel ein allgemeines Tool zur Verfügung zu stellen, wurde der Ofen recht "dumm" gehalten. Der Ofen selber kennt keine Temperaturprofile, kann aber gezielt eine Temperatur ansteuern und halten. Um einen Lötvorgang durchzuführen ist es daher dringend erforderlich über USB einen Computer anzubinden. Es steht eine statische Bibliothek (geschrieben in C) zur Verfügung, die für eigene Software genutzt werden kann. Weiterhin stehen einige Commandline-Tools zur Verfügung. zur Zeit wird an einer Grafischen Benutzeroberfläche gearbeitet. Über die USB Schnittstelle werden immer 4 Byte gelesen oder geschrieben. ==== USB Protokoll ==== {{:projekte:reflowofen:reflow-protokol.png|}} ===== Vorhandene Software ===== Die Software baut auf libusb auf. Es ist dringend erforderlich das libusb zur Verfügung steht. **Library**: ^ Binary ^ Beschreibung ^ Code ^ | libreflowctrl.a | statische library für die low-level kommunikation zwischen Host und Ofen | https://github.com/petershaw/ReflowCtrl/tree/master/Host/lib | **Command line**: ^ Binary ^ Beschreibung ^ Code ^ | reflowctrl | ... | https://github.com/petershaw/ReflowCtrl/tree/master/Host/cli | | reflowtail | ... | https://github.com/petershaw/ReflowCtrl/tree/master/Host/cli | | reflowtop | ... | https://github.com/petershaw/ReflowCtrl/tree/master/Host/cli | | Toastscript | Perlscript zum Backen von Platinen | https://github.com/petershaw/ReflowCtrl/blob/master/Host/ | **GUI**: ^ Binary ^ Beschreibung ^ Code ^ | reflowgui | ... | ... | **Firmaware**: ^ Binary ^ Beschreibung ^ Code ^ | cccffm-reflow.hex | Firmware für das Board | https://github.com/petershaw/ReflowCtrl/tree/master/Firmware | ===== Implementierte Commands ===== neben der Aufwämphase und der Temperatur kann man dem Ofen einen Befehl mitsenden. Dazu kann man die reflowctrl Software mit dem Argument -c benutzen. ^ Befehl ^ Beschreibung ^ | x | Abbrechen und zurück auf Anfang! Setzt alles auf null, egal in welchem Zustand der Ofen sich befindet. | ===== HowTo's ===== ==== Device Erkennung ==== {{:projekte:reflowofen:reflowctrl-mac.png?200|}} Device wird erkannt und meldet sich als "ReflowCtrl" von "ccc-ffm.de" ==== Konfiguration Hard-/Software ==== ===[Linux] Zugriff als normaler Benutzer === Udev Regel: SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", OWNER="$BENUTZERNAME" ==== Platine vorbereiten ==== * ListenpunktVorbereitung Aus Platinenresten und einem stück Spanplatte wird eine Halterung gebaut in die die Platine eingelegt werden kann. Der Stencil wird mit einem Streifen Klebeband so befestigt, dass er exakt auf den Pads der Platine aufliegt und hoch geklappt werden kann. {{:projekte:reflowofen:imag0159.jpg?200|}} * Lötpaste aufbringen Die Lötpaste gut aufrühren. Die Platine in die Halterung legen, Stencil runter klappen einen Streifen Lötpaste über den ersten Pads aufbringen und mit einer Spachtel nach unten ziehen. {{:projekte:reflowofen:imag0166.jpg?200|}} * Bauteile platzieren Die Bauteile können jetzt platziert werden. Danach ist die Platine bereit zum backen. Ab in den Ofen und Lötvorgand per Software starten (siehe nächsten Abschnitt) ===== Status & ToDo's ===== * USB Bootloader muss auf den Chip, da man über SPI nicht mehr flashen kann, wenn der Sensor fest verlötet ist * USB muss nach fail reconnecten (lib) (im Callback modus) * Sprung in den cooling modus ist noch nicht implementiert. ===== Known issues ===== * Unter Linux kann es vorkommen, dass der Ofen nicht richtig erkannt wird. Es kann helfen einen USB Hub zwischen zu schalten. ===== Galerie ===== ^ Bestückte Platine ^ Frisch gebacken ^ | {{:projekte:reflowofen:imag0173.jpg?direct&100|}} | {{:projekte:reflowofen:imag0177.jpg?direct&100|}} |