Differenze tra le versioni di "Padella reflowing"

Da raspibo.
Jump to navigation Jump to search
Riga 22: Riga 22:
  
 
Io ho utilizzato cose che avevo già in casa, cioè:
 
Io ho utilizzato cose che avevo già in casa, cioè:
* termistore EPCOS 100k, ricambio della stampante 3d
+
* termistore EPCOS 100k + 4,7k ohm pull-up, ricambio della stampante 3d
 
* lcd 16x2 + backpack
 
* lcd 16x2 + backpack
 
* attiny85
 
* attiny85
Riga 29: Riga 29:
  
 
Per il collegamento del termistore [http://reprap.org/wiki/Temperature_Sensor_1_1 vi consiglio questo schema], lo sketch che ho utilizzato invece è una [https://learn.adafruit.com/thermistor/using-a-thermistor modifica di questo]
 
Per il collegamento del termistore [http://reprap.org/wiki/Temperature_Sensor_1_1 vi consiglio questo schema], lo sketch che ho utilizzato invece è una [https://learn.adafruit.com/thermistor/using-a-thermistor modifica di questo]
 +
 +
===== Sketch =====
 +
  // 100k ohm EPCOS 100k (4.7k pullup)
 +
 
 +
  // which analog pin to connect
 +
  #define THERMISTORPIN 2       
 +
  // resistance at 25 degrees C
 +
  #define THERMISTORNOMINAL 100000     
 +
  // temp. for nominal resistance (almost always 25 C)
 +
  #define TEMPERATURENOMINAL 25 
 +
  // how many samples to take and average, more takes longer
 +
  // but is more 'smooth'
 +
  #define NUMSAMPLES 10
 +
  // The beta coefficient of the thermistor (usually 3000-4000)
 +
  #define BCOEFFICIENT 4066
 +
  // the value of the 'other' resistor
 +
  #define SERIESRESISTOR 4700   
 +
 
 +
  #include <TinyWireM.h>               
 +
  #include <LiquidCrystal_I2C_852.h>       
 +
 
 +
  LiquidCrystal_I2C lcd(0x27, 16, 2);
 +
 
 +
  int samples[NUMSAMPLES];
 +
 
 +
  void setup()
 +
  {
 +
    lcd.init();                          // initialize the lcd
 +
    lcd.backlight();                      // Print a message to the LCD.
 +
    lcd.setCursor(0, 0);
 +
    lcd.print("Temp:");
 +
  }
 +
 
 +
  void loop(void) {
 +
    uint8_t i;
 +
    float average;
 +
 
 +
    // take N samples in a row, with a slight delay
 +
    for (i=0; i< NUMSAMPLES; i++) {
 +
    samples[i] = analogRead(THERMISTORPIN);
 +
    delay(10);
 +
    }
 +
 
 +
    // average all the samples out
 +
    average = 0;
 +
    for (i=0; i< NUMSAMPLES; i++) {
 +
      average += samples[i];
 +
    }
 +
    average /= NUMSAMPLES;
 +
 
 +
 
 +
    // convert the value to resistance
 +
    average = 1023 / average - 1;
 +
    average = SERIESRESISTOR / average;
 +
 
 +
    float steinhart;
 +
    steinhart = average / THERMISTORNOMINAL;    // (R/Ro)
 +
    steinhart = log(steinhart);                  // ln(R/Ro)
 +
    steinhart /= BCOEFFICIENT;                  // 1/B * ln(R/Ro)
 +
    steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
 +
    steinhart = 1.0 / steinhart;                // Invert
 +
    steinhart -= 273.15;                        // convert to C
 +
 
 +
 
 +
    lcd.setCursor(6, 0);
 +
    lcd.print(steinhart, 1);
 +
    lcd.print("C  ");
 +
 
 +
    delay(500);
 +
  }
  
 
==== Padella ====
 
==== Padella ====

Versione delle 19:48, 9 mar 2015

Padella reflowing

Tecnica di reflowing casalingo per componenti SMD

AVVERTENZE:

  • ho usato questo metodo solo un paio di volte, quindi abbassate le vostre aspettative
  • usate tutte le precauzioni del caso: guanti, pinze, etc
  • utilizzate una padella che non utilizzerete più per uso alimentare
  • [se a qualcuno viene in mente qualche altra avvertenza, prego di aggiungerla]


Cosa serve

  • sonda di temperatura
  • padella
  • PCB + componenti SMD
  • stagnatore + stagno, nastro kapton, pinzette per SMD

Sonda di temperatura

Padella reflowing sonda1.jpg Padella reflowing sonda2.jpg Padella reflowing sonda3.jpg

Io ho utilizzato cose che avevo già in casa, cioè:

  • termistore EPCOS 100k + 4,7k ohm pull-up, ricambio della stampante 3d
  • lcd 16x2 + backpack
  • attiny85
  • vecchio carica cellulare da 5V, 900mA con regolatore LM7805
  • regolatore di tensione

Per il collegamento del termistore vi consiglio questo schema, lo sketch che ho utilizzato invece è una modifica di questo

Sketch
 // 100k ohm EPCOS 100k (4.7k pullup)
 
 // which analog pin to connect
 #define THERMISTORPIN 2         
 // resistance at 25 degrees C
 #define THERMISTORNOMINAL 100000      
 // temp. for nominal resistance (almost always 25 C)
 #define TEMPERATURENOMINAL 25   
 // how many samples to take and average, more takes longer
 // but is more 'smooth'
 #define NUMSAMPLES 10
 // The beta coefficient of the thermistor (usually 3000-4000)
 #define BCOEFFICIENT 4066
 // the value of the 'other' resistor
 #define SERIESRESISTOR 4700    
  
 #include <TinyWireM.h>                 
 #include <LiquidCrystal_I2C_852.h>         
  
 LiquidCrystal_I2C lcd(0x27, 16, 2);
 
 int samples[NUMSAMPLES];
  
 void setup()
 {
   lcd.init();                           // initialize the lcd 
   lcd.backlight();                      // Print a message to the LCD.
   lcd.setCursor(0, 0);
   lcd.print("Temp:");
 }
  
 void loop(void) {
   uint8_t i;
   float average;
  
   // take N samples in a row, with a slight delay
   for (i=0; i< NUMSAMPLES; i++) {
    samples[i] = analogRead(THERMISTORPIN);
    delay(10);
   }
  
   // average all the samples out
   average = 0;
   for (i=0; i< NUMSAMPLES; i++) {
      average += samples[i];
   }
   average /= NUMSAMPLES;
  
  
   // convert the value to resistance
   average = 1023 / average - 1;
   average = SERIESRESISTOR / average;
  
   float steinhart;
   steinhart = average / THERMISTORNOMINAL;     // (R/Ro)
   steinhart = log(steinhart);                  // ln(R/Ro)
   steinhart /= BCOEFFICIENT;                   // 1/B * ln(R/Ro)
   steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
   steinhart = 1.0 / steinhart;                 // Invert
   steinhart -= 273.15;                         // convert to C
  
 
   lcd.setCursor(6, 0);
   lcd.print(steinhart, 1);
   lcd.print("C  ");
 
   delay(500);
 }

Padella

Io ho utilizzato un pentolino, ma la vernice tende a sbruciacchiarsi, quindi credo sia meglio una di quelle padelle in alluminio non verniciate.

Mettete la sonda sulla superficie della padella con un pezzo di nastro Kapton e fate qualche prova di temperatura. Nel mio fornellino più piccolo, col fuoco al minimo, la padella raggiunge i 300 gradi. Decisamente troppo, per cui bisogna stare attenti e togliere la scheda al momento giusto. Prima di fare la stagnatura vera e propria, vi consiglio di verificare le temperature che raggiungete.

PCB + componenti SMD

Mettete un po' di stagno sulle piazzole del componente smd, giusto una gocciolina. La piazzola dev'essere bella lucente e con un po' di pancia ma non troppa.


Reflowing

Estraete il componente SMD dalla sua custodia e prendetelo con le pinzette, verificando la posizione in cui lo adagierete sul PCB. Mettete il PCB con le piazzole preparate nella padella e accendete il gas. La temperatura salirà velocemente, intorno ai 200-220 gradi lo stagno comincia a sciogliersi, a queso punto appoggiate il componente SMD, vedrete che si posiziona da solo nella sua collocazione. Questa operazione deve durare qualche secondo, mentre la temperatura è a 220-230 gradi. Togliete con le pinze il pcb dalla padella e spegnete il gas.