Lötstation mit Arduino Nano (gut und günstig)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Soweit ich weiss hat der Arduino Nano einen kräftigen LDO an Bord, der sollte doch auch 12V aushalten.

    aber dann können die Ports nicht viel belastet werden, rechne mal für den Atmel 50mA beim Rechnen und 200mA für Ports, pro Port max 40mA!

    Der kleine Regler kann mit Sicherheit nicht 12V, soweit ich das in Erinnerung habe ist Vin 6,5-9V!

    Bei 12V in zu 5V mit 250mA wären das -7V x 0,25A = 7W/4 = 1,75W

    bei Rth ja 136 °C/W -> +238°C über Umgebungstemperatur, bei Zimmertemperatur mit 22°C eben 260°C an der Sperrschicht, da hat sich schon jedes Silizium verabschiedet. Das bischen Kupfer auf der Platine ist ja kein nennenswerter Kühlkörper das sich da das Rechnen lohnt.

    Benenne also deinen "kräftigen LDO"

    https://www.promelec.ru/pdf/lm1117.pdf -> 3-Lead SOT-223

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Benenne also deinen "kräftigen LDO"

    im CT Projekt wird für den Regler ein TO 220 Gehäuse verwendet, da siehts gleich ganz anders aus:

    https://www.promelec.ru/pdf/lm1117.pdf

    Seite 5

    79 ̊C/W da kommt man auf +138,25°C, bei Zimmertemperatur mit 22°C eben auf 160°C kurz vor der Silizium Schmelzgrenze


    PS. noch eines stört mich im Artikel:

    "bis 320 Grad erreicht werden, was für das Löten mit bleihaltigem Lötzinn eine ausreichende Temperatur ist."

    ausreichend ja, aber dabei verzundern die Spitzen recht schnell, die 320°C wähle ich nur wenn ich schnell löten muss und/oder viel Masseflächen habe und beim Entlöten mit Litze, sonst reicht bei Bleilot (empfohlen für privat und professionell) eben 250°C und die Spitze muss passen!

    Mit einer Nadelspitze für SMD wird man auch bei 320°C nicht genug Hitze in größere Flächen einbringen, das braucht eine dickere Meißelspitze!

    Übliche Bleilote haben eine 220°C Schmelztemperatur, aber man kann auch das Datenblatt lesen!

    P.S. Und er war um die Erfahrung reicher, dass dos Cochones übersetzt nicht 2 Eier, sondern 2 Hoden heisst.

    when i become my beafsteak :lol::lol::lol:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    8 Mal editiert, zuletzt von jar (7. Januar 2019 um 10:24)

  • Glückwunsch Neueinsteiger, :bravo2::bravo2:

    zu dieser genialen Adaption der Maiskolben Lötstation.
    An eine Bestückung mit SMD Bauteilen habe ich mich mangels eines geeigneten Lötkolbens nicht gewagt.

    (Nun könnte ich aber ;) )

    Mir ist aufgefallen, das bei der Beschriftung auf der Platine aus einem 100k Ohm Widerstand ein 100 Ohm Widerstand wurde. Das müsste der R2 sein.

    Er befindet sich zwischen dem Opa703 und dem Nano (siehe Bild der Widerstand der so weit über der Platine steht)


    Nun der interessante Teil, da die gemessene Temperatur bei mir stark von der tatsächlichen abweichte habe ich die Temperatur per Software kalibriert.

    Via Google konnte ich nicht im Internet fündig werden, daher habe ich mir den Sketch selbst zur Brust genommen.

    Der Sketch sieht eine Kalibrierung schon vor, dafür gibt es in den definitions.h bereits folgende Parameter (hier sind schon meine Werte gelistet) :

    Code
    #define ADC_TO_TEMP_GAIN             0.365 //default (0.54) value if no calibration is performed 
    #define ADC_TO_TEMP_OFFSET           30.8  //default value if no calibration is performed

    Leider werden diese Wert nicht automatisch übernommen, dafür muss man zuerst die Installationsroutine aufrufen. Dazu die Kommentierungszeichen bei folgender Zeile im ino-File Maiskolben_TFT entfernen .

    Code
    //#define INSTALL 

    Sieht dann so aus :

    Code
    #define INSTALL

    Nun den Sketch kompilieren und hoch laden.

    Wenn der Nano bootet, landet er in einer Maske zur groben Farbkalibrierung (Blau oder Rot), abhängig vom Diplaytreiber (BGR oder RGB)

    Bei meinem Display und unter der Annahme das der Maiskolben gelb angezeigt werden soll, müsste ich Rot drücken.
    Ich nutze aber Blau, weil ich mich an die Farbe besser gewöhnt habe. Ist aber Geschmackssache (Nun wird der Maiskolben Blau angezeigt) .

    Danach kommt an in das Installationsmenü (Siehe Bild)

    Mir ist nicht ganz klar was die 3 Parameter bedeuten, die 7 steht für den digitalen Wert der am AD Wandler gemessen wird. Mittels der Werte

    ADC_TO_TEMP_GAIN

    ADC_TO_TEMP_OFFSET

    wird die Ist-Temperatur berechnet, dürfte bei diesem Screenshot ca 33 °C sein.

    Mir ist nicht klar, ob man diese Parameter im Installationsmenü direkt ändern kann oder nicht, auf jeden Fall werden diese Werte durch drücken des Power Buttons übernommen und ins EEprom geschrieben.

    Dazu wird der Wert EEPROM_CHECK gesetzt. Es erscheint kurz eine zusätzliche Zeile mit done und der Nano bootet neu.

    Nun sollte die Temperatur genauer angezeigt werden. (Hab leider bei dem Screenshot eine kalte Lötspitze fotografiert)

    Soweit die Theorie.

    ------ Nun kommen wir zu den Problemen des Alltags -----

    Man kommt genau nur 1 mal in dieses Installationsmenü und wenn man keine Kristallkugel hat

    (oder weiß wie man Gain und Offset berechnet [ es gibt die Parameter REF-T1 und REF_T2, mir war aber auf die schnelle nicht klar wie man die nutzt])
    wird man, durch ausprobieren verschiedener Gain und Offset Werte, sich an die Lösung herantasten müssen.

    Um ein weiteres mal in das Installationsmenü zu kommen, kann man den Wert der Variable EEPROM_CHECK in defintions.h ändern.

    Der Sketch überprüft ob dieser Wert im EEProm steht, wenn ja, dann verweigert der Sketch das Instalationsmenü, wenn man aber die Werte
    GAIN und OFFSET ändert, einfach auch den EEPROM_CHECK auf z.B. 41 ändern, dann kompilieren und hoch laden. Die Prozedur oben durchlaufen und dann ...

    Überprüfen ob die angezeigte Temperatur mit der gemessenen übereinstimmt.

    Wenn nicht, dann wider GAIN , OFFSET anpassen und dann EEPROM_CHECK wieder ändern, hier bietet sich dann wieder der Wert 42 an.

    Kompilieren und hoch laden. (Man merkt, diesen Teil wird man wohl mehrmals machen müssen)

    Das macht man nun so oft, bis die angezeigte Temperatur in akzeptablen Grenzen korrekt angezeigt wird.

    *** update : Berechnung von Gain und Offset ***

    Im Wiki von Openlab-Augsburg (siehe Links im ersten Post von Neueinsteiger) ist die rechnerische Ermittelung von Gain und Offset auf Seite 11 beschrieben. (siehehierzu auch weiter unten unter Komfortfunktionen die Funktion TEST_ADC)

    Dazu ermittelt man die Eingangsgröße und die dazugehörige Temperatur der Lötspitze bei 2 weit auseinander liegenden Temperaturen.

    Im Wiki sind als Beispiel :

    T1 : adc = 67 und Temperatur = 50 °C

    T2 : adc =1020 und Temperatur = 450 °C

    Gain = (450-50) / (1020-87) = 0,419

    Bei einem adc von 0 ist die gemessene Lötspitzentemperatur 30 °C, das ist der Offset

    *** Ende des updates ***

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    !!!  Sicherheitsparameter anpassen     !!!

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Der AD-Wandler des Nano hat 10 Bit, kann also Werte von 0 - 1023 annehmen. Würden wir die Solltemperatur zu hoch wählen, kann es passieren, daß

    gemäß der Formel adc*GAIN+OFFSET, ein Eingangswert größer 1023 gemessen werden müsste. Das geht nicht und der Nano würde versuchen die Lötspitze aufzuheizen bis die Solltermperatur erreicht ist. Da der AD-Wandler schon in der Sättigung ist bzw den maximalen Wert anzeigt, ist der Nano der falschen Meinung, er muss weiter heizen um die Solltempertur zu erreichen. Das Resultat ist vermutlich der Tot der Lötspitze, oder vielleicht schlimmer ein Brand. Die RT1 glüht recht schnell.

    Im Sketch ist eine Sicherheitsabfrage des ADC Wertes vorgesehen. Diese ist per Default auf 900 gesetzt, für meinen Maiskolben habe ich die auf 1022 gesetzt, damit die Lötspitze wenigstens bis auf ca. 410 °C aufgeheizt werden kann. Mit 900 konnte ich nur ca. 355 °C erreichen.

    Dazu im ino-File Maiskolben_TFT diese Zeile anpassen (Achtung maximal auf 1022 setzen) :

    Code
    if (adc >= 900) { //Illegal value, tip not plugged in - would be around 560deg

    In diesem Zusammenhang habe ich im definitions.h den Wert für

    TEMP_MAX angepasst, bei mir auf 404 ( beim Aufheizen schwingt die Temperatur ein wenig über die Solltemperatur hinaus, um zu vermeiden in die
    Sicherheitsabfrage zu kommen, begrenze ich die Solltemperatur auf ca. 10 °C drunter.


    ====== Komfort Funktionen =========

    Ich fand folgende Anpassungen hilfreich.

    in definitions.h

    1) Grenzwert Anpassung für den Threshold für die Anzeige "cold" (beim Kalibrieren hilfreich, da die Ist-Temp später ausgeblendet wird)

    Code
    #define TEMP_COLD   (adc_offset + 15)  // default war +15 zum Kalibrieren auf + 0 setzen 

    2) wer mag, kann auch diese Parameter anpassen (Ich denke die Bezeichnungen sind selbsterklärend).

    Code
    #define TEMP_STBY   150
    #define TEMP_COLD   (adc_offset + 15)  // default war +15 zum Kalibrieren auf + 0 setzen
    
    #define SHUTOFF_ACTIVE
    #define BOOTHEAT_ACTIVE
    
    #define STANDBY_TIMEOUT 240 // seconds without any significant temperature drop, if exceeded it will standby
    #define OFF_TIMEOUT     600 // seconds in standby before turning off


    Im ino-File Maiskolben_TFT


    3) Anzeige der Werte ADC (Eingangsmesswert) und der berechneten Ist-Termperatur , dazu die genutzen Werte für GAIN und OFFSET
    Dazu die Kommentierungszeichen bei #define TEST_ADC entfernen.

    Code
    // #define TEST_ADC

    und in der dazugehörigen Seriellen Portausgabe die Werte für Gain und OFFset hinzufügen. Das sieht dann so aus (man sieht, es ist bei der Sicherheitsabfrage angesiedelt). Ich habe hier die 2. bis 5. Serial.print Zeile hinzugefügt.

    Nun muss man in der Arduino IDE den seriellen Monitor aufrufen und bekommt dort die Werte ausgegeben. Da kann man gleich alle wichtigen Wert
    sehen.

    Eingangsgröße Temp-Sensor, berechnete Temperatur, die Werte für die Berechnung (Gain und Offset)

    Code
    #ifdef TEST_ADC
        Serial.print(adc);
        Serial.print ("  G: ") ;
        Serial.print(adc_gain) ;
        Serial.print ("  O: ") ;
        Serial.println(adc_offset ) ;
    #endif
    //    if (adc >= 900) { //Illegal value, tip not plugged in - would be around 560deg
      if (adc >= 1022) { //Illegal value, tip not plugged in - Changed by Pumlux as reached temp was max 355 with old 900 value


    Eine Herrausforderung ist das Messen der Lötspitzentemperatur mit einem Messgerät. Es muss einigermaßen akkurat sein und der Sensor an der kleinen
    Spitze der RT1 gut angebracht werden.
    Ich habe dafür ein Digitalthermometer mit PT1000 Sensor genutzt. Der Sensor ist recht klein und lässt sich mit Bindedraht an der Lötspitze befestigen.

    Das ist meinr Meinung nach. ein preislich vertretbarer Aufwand.


    === > :sleeping::sleeping: Zusammenfassung :sleeping::sleeping: < ===

    Sorry das es so viel Text geworden ist, für einige zu umfangreich, für andere vielleicht gerade ausreichend.

    Ich hoffe ich habe nichts vergessen und keine Bugs produziert .

    Viel Erfolg bei eurer eigenen Kalibrierung der Lötstation und ein Lob an die Entwickler.


    Wichtiger Hinweis :

    Diese Anleitung dient nur zur Veranschaulichung, jeder ist selbst dafür verantwortlich, die richtigen Parameter in den Sketch einzutragen, insbesondere bezgl. der Sicherheitsabschaltung der Heiz Phase. Macht das nur, wenn Ihr über entsprechende Qualifikationen verfügt.

    Ich übernehme keine Verantwortung für etwaige Schäden .
    Insbesondere nicht für falsche Parameter, oder Fehler in diesem Beispiel.

    3 Mal editiert, zuletzt von Pumlux (5. Juni 2019 um 14:03)

  • Hallo,

    das verwendete Display, ist relativ selten günstig über EBAY zu bekommen, und ich habe noch andere Display zuhause vorrätig.

    Allerdings haben die eine andere PIN Belegung, einige wie RST. GND und VCC sind klar, aber der Rest gibt Rätsel auf.

    Belegung des Display:

    1-RST

    2-CS

    3-D/C

    4-DIN

    5-CLK

    6-VCC

    7-BL

    8-GND


    an meinem Vorhandenen Display sind folgende Anschlüsse vorhanden.

    1-SDO/MISO

    2-LED

    3-SCK

    4-SDI/MOSI

    5-DC/RS

    6-RESET

    7-CS

    8-GND

    9-VCC

    Hat jemand ne Idee wie man es umstecken kann?

    Gruß Tomy

  • Fehlermeldung

    Neueinsteiger hat das zulässige Limit für Konversationen bereits erreicht und kann an keinen neuen Konversationen teilnehmen.

    auf diesem Weg frohe Feiertage und einen Link nur für dich ;)

    https://www.mikrocontroller.net/topic/486040#6069666

    Code
    Ich spreche also gezielt Neueinsteiger an

    nicht so ernst gemeint

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Also ich kann mehrere markieren,

    ich auch PRO SEITE :mad_GREEN:

    nach 3 Seiten habe ich aufgegeben, wer hat so viel Geduld oder freie Restlebenszeit?:lol:

    aber um überhaupt es zu finden war ein Suchspiel!:baeh2::angel:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo Leute,


    wie ich den bisherigen Posts entnehmen konnte haben hier einige Leute schon eine Menge Ahnung vom Projekt Maiskolben. Ich bin immer noch auf der Suche nach der Platine, möchte es nur ungern auf Lochraster realisieren. Bin aber neu in der Maker Szene, viele Begriffe sind mir fremd ? wenn mir jemand helfen könnte was die richtige Datei ist für die Platine und wie ich die dann bei einem Unternehmen in Auftrag geben kann, dann wäre ich wirklich überglücklich:)


    beste Grüße ^^

  • Info! ;)

    Ein paar Exemplare habe ich noch hier liegen.

    Alles Weitere per PN.

    wenn mir jemand helfen könnte was die richtige Datei ist für die Platine und wie ich die dann bei einem Unternehmen in Auftrag geben kann, dann wäre ich wirklich überglücklich:)

    Ich denke damit ist die Frage beantwortet?!

    PS. Herzlich Willkommen im Forum.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!