Товары из Китая

Выпекаем печатные платы — DIY Reflow Oven.


Выпекаем печатные платы — DIY Reflow Oven.

Недавно, в первоапрельском обзоре ништяков из хлама, кто-то заинтересовался системой управления печкой для пайки SMD компонентов. Самоделка далеко не новая, но в ней есть ряд оригинальных решений, которые кому-то могут быть полезны. Время у пенсионера есть, опять же впереди у нас вечность — почему бы не сделать для хороших людей что-то полезное?

Базой послужила лидловская мини-духовка, доставшаяся мне за 5 евро на местной интернет-барахолке. Хотелось бы всю электронику разместить внутри, но размеры не позволили.

Выпекаем печатные платы — DIY Reflow Oven.

На Али приобрел дисплей на базе SPFD5408

Выпекаем печатные платы — DIY Reflow Oven.

У таких дисплеев обычно есть резистивный touch screen, но работает он с ардуино отвратительно. Немного поигравшись, плюнул на него и поставил обычный энкодер — дешево, сердито и надежно.

Тут первая полезная идея — когда у ардуины ног не хватает — для энкодера можно использовать единственный аналоговый вход.

Выпекаем печатные платы — DIY Reflow Oven.

Ресурсов такой ввод практически не отнимает, если все сделать в прерывании:

Дополнительная информация


#include "scmRTOS.h"
#include "processes.h"
#include "Arduino.h"
#include "encoder.h"
void encoder_init(void)
{
ADCSRA = 0xAF; // Enable ADC, interrupt, auto trigger, clock clk/12
ADCSRB = 0x05; // Timer/Counter1 compare match B
ADMUX = 0x47; // A& input, Vref=Vcc
// Set up TIMER 1 - ADC sampler
TCNT1=0;
OCR1B = 32000;
ICR1 = 64000;
TCCR1A = 0x00;
TCCR1B = 0x19;
}
ISR(ADC_vect)
{
static bool encoder_A_prev;
static bool encoder_switch_prev;
bool encoder_A = false;
bool encoder_B = false;
bool encoder_switch = false;
uint16_t ADC_value;
uint8_t EncMsg;
TIFR1 = 1<<OCF1B;
ADC_value = ADC;
if (ADC_value<100) encoder_switch = true;
else
{
if (ADC_value<470)
{
// both
encoder_A = true;
encoder_B = true;
}
else
{
if (ADC_value<615) encoder_A = true; // pin A
else
{
if (ADC_value<815) encoder_B = true; // pin B
}
}
}
if(encoder_switch)
{
if(!encoder_switch_prev)
{
OS::TISRW ISR;
EncMsg=0; // switch
EncoderMsg = EncMsg;
EncoderMsg.send_isr();
}
}
else
{
if(!encoder_A && encoder_A_prev)
{ // positive ->0
OS::TISRW ISR;
if(encoder_B) EncMsg=1; // CW
else EncMsg=2; //CCW
EncoderMsg = EncMsg;
EncoderMsg.send_isr();
}
encoder_A_prev = encoder_A;
}
encoder_switch_prev = encoder_switch;
}

Если кто-то не поленился открыть код — он увидел еще одну идею, реализованную в этой печке — в ардуино используется многозадачная операционная система.

Это моя любимая система, которую я ставлю куда можно и куда нельзя — scmRTOS. Система в исходниках лежит здесь

Занимает она меньше килобайта и я не вижу причин не использовать ее где только можно. Где нельзя, впрочем, тоже.

Документация на великом могучем здесь, операционку писали уже давно наши люди, авторов всегда можно найти здесь.

Как смог, адаптировал эту систему для ардуино — найдете ее в прилагаемых исходниках.

Компилировалось в Sloeber, сделанном на базе Eclipse. Автор проект забросил, пришлось переходить на PlatformIO. Исходники остались как есть, их можно с небольшими доделками скомпилировать в Arduino IDE.

В качестве датчика используется термопара, примотанная к сетке внутри печки синей изолентой термостойким каптоновым скотчем.

Выпекаем печатные платы — DIY Reflow Oven.

Еще одно неплохое решение использовано для генерации прерываний при переходе фазы сетевого напряжения через ноль. Файлов симуляции найти не смог, хотя они где-то были.

Выпекаем печатные платы — DIY Reflow Oven.

Система управления собрана на двух платах — силовая и управление. Силовая была заказана в Китае (просто одну и ту же плату я использовал для нескольких разных устройств), управление сделано на макетке.

Выпекаем печатные платы — DIY Reflow Oven.

Выпекаем печатные платы — DIY Reflow Oven.

Выпекаем печатные платы — DIY Reflow Oven.

Выпекаем печатные платы — DIY Reflow Oven.

Коробочка, как обычно, напечатана на 3D принтере.

Выпекаем печатные платы — DIY Reflow Oven.

К сожалению, когда делал — ничего не сфотографировал. А сейчас разбирать не хочется: если что-то работает — не трогай.

Размер EEPROM AVR позволяет сохранить несколько профилей пайки.

Выпекаем печатные платы — DIY Reflow Oven.

Печка не нагревается быстро, поэтому тепловые профиля пайки, как правило, не соответствуют рекомендуемым — но тем не менее у меня до сих пор с ней проблем не было. Время от времени печку берут попользоваться знакомые — тоже никто не жаловался. А попробуй пожалуйся — в другой раз ведь не дам 🙂

Трафареты для нанесения пасты делаю из майлара с помощью CO2 лазера — но большой мощности не требуется, думаю что и полупроводникового лазера должно хватить.

Выпекаем печатные платы — DIY Reflow Oven.

Выпекаем печатные платы — DIY Reflow Oven.

Когда плата небольшая или лень делать трафарет — пасту можно нанести экструдером.

Выпекаем печатные платы — DIY Reflow Oven.

В итоге получается примерно так

Выпекаем печатные платы — DIY Reflow Oven.

Котя проверяет качество пайки

Выпекаем печатные платы — DIY Reflow Oven.

Файлы лежат здесь ссылка ссылка ссылка

Буду рад, если кто-то найдет что-нибудь полезное для себя.


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *