Ремонт: Ноутбуков, Компьютеров
https://vlab.su/

BGA паяльная станция: создаём своими руками
https://vlab.su/viewtopic.php?f=170&t=3815
Страница 18 из 84

NetFix [ 30 июн 2014, 03:08 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

vladimers69 писал(а):
NetFix ПИД нужен только на удержание низа и последний шаг верха несколько секунд .
в остальных случаях он будет мешать.
по принцыпу работы по мощности уже давно многие работают и никаких вылетов нет.(достаточно забить температуру перехода 227гр например и какраз инерцыей набегит 230 ,а потом удержание опятьже уровнем мощности свободно получается,вылет 1град всего иногда . как вариант )
надо плавный нагрев ,с одинаковой скоростью набора температуры .а пид врядли обеспечит именно набор температуры .

Это я понимаю, просто ПИД подкупает своей точностью и реакцией на внешние воздействия. В идеале я хочу, что бы было так: выбрал нужный профиль, нажал на кнопку, и алгоритм всё отработал с точностью до градуса и секунды, вне зависимости от сквозняков, температуры помещения, напряжения в розетке и т. п.

NetFix [ 30 июн 2014, 17:13 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

Ещё вопрос по конструктиву станции, возникла идея сделать пару съёмных\перемещаемых нагревателей на низ, для демонтажа разъёмов типа PCI PCI-E на десктопных платах. Для этого нужен тонкий нагреватель и желательно с выводами на торце. Подскажите где нечто подобное поискать.
Зы. Исходники пока не нашёл((

NetFix [ 03 июл 2014, 18:28 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

мой недо контроллер
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : simple_bga_solder
Version :
Date : 08.11.2012
Author :
Company :
Comments:


Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 8,000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/

#include <mega16.h>

#include <delay.h>

// Alphanumeric LCD Module functions
#include <alcd.h>

#ifndef RXB8
#define RXB8 1
#endif

#ifndef TXB8
#define TXB8 0
#endif

#ifndef UPE
#define UPE 2
#endif

#ifndef DOR
#define DOR 3
#endif

#ifndef FE
#define FE 4
#endif

#ifndef UDRE
#define UDRE 5
#endif

#ifndef RXC
#define RXC 7
#endif

#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<DOR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

// USART Receiver buffer
#define RX_BUFFER_SIZE 16
char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE <= 256
unsigned char rx_wr_index,rx_rd_index,rx_counter;
#else
unsigned int rx_wr_index,rx_rd_index,rx_counter;
#endif

// This flag is set on USART Receiver buffer overflow
bit rx_buffer_overflow;

// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer[rx_wr_index++]=data;
#if RX_BUFFER_SIZE == 256
// special case for receiver buffer size=256
if (++rx_counter == 0)
{
#else
if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
#endif
rx_buffer_overflow=1;
}
}
}
#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index++];
#if RX_BUFFER_SIZE != 256
if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#endif
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif

// USART Transmitter buffer
#define TX_BUFFER_SIZE 16
char tx_buffer[TX_BUFFER_SIZE];

#if TX_BUFFER_SIZE <= 256
unsigned char tx_wr_index,tx_rd_index,tx_counter;
#else
unsigned int tx_wr_index,tx_rd_index,tx_counter;
#endif

// USART Transmitter interrupt service routine
interrupt [USART_TXC] void usart_tx_isr(void)
{
if (tx_counter)
{
--tx_counter;
UDR=tx_buffer[tx_rd_index++];
#if TX_BUFFER_SIZE != 256
if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0;
#endif
}
}

#ifndef _DEBUG_TERMINAL_IO_
// Write a character to the USART Transmitter buffer
#define _ALTERNATE_PUTCHAR_
#pragma used+
void putchar(char c)
{
while (tx_counter == TX_BUFFER_SIZE);
#asm("cli")
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
{
tx_buffer[tx_wr_index++]=c;
#if TX_BUFFER_SIZE != 256
if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;
#endif
++tx_counter;
}
else
UDR=c;
#asm("sei")
}
#pragma used-
#endif

// Standard Input/Output functions
#include <stdio.h>
// Declare your global variables here
struct flags{
char disp_delay;
char adc_state;
char state_ch1;
char state_ch2;
unsigned int ctemp_ch1;
unsigned int ctemp_ch2;
unsigned int ttemp_ch1;
unsigned int ttemp_ch2;
};
struct flags sys_state={0,1,0,0,100,100,0,0};

unsigned int result_adc;

#define INTERVAL 1
#define MAX 100
#define MIN 30
signed int Kp=2,Ki=1,Kd=1;
// Timer2 output compare interrupt service routine
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
static int my_count=0;
// Place your code here
if(my_count<625)
{
my_count++;
}
else
{
sys_state.disp_delay=0;
my_count=0;
};
}

#define ADC_VREF_TYPE 0x40

// ADC interrupt service routine
interrupt [ADC_INT] void adc_isr(void)
{
// Read the AD conversion result
result_adc=ADCW;
// Place your code here
sys_state.adc_state++;
}

void get_temp(void)
{
if (sys_state.adc_state==1) //запустить АЦП, канал 1...
{
ADMUX=0x40;//канал 1...
ADCSRA=0xCD; // Начать измерение.
sys_state.adc_state++; // Ждать завершения преобразования.
}
if(sys_state.adc_state==3)//преобразование завершилось
{
sys_state.ctemp_ch1=result_adc/2;
sys_state.adc_state++;
}
if(sys_state.adc_state==4) //запустить АЦП, канал 2...
{
ADMUX=0x41;//канал 2...
ADCSRA=0xCD; // Начать измерение.
sys_state.adc_state++;// Ждать завершения преобразования.
}
if(sys_state.adc_state==6)//преобразование завершилось
{
sys_state.ctemp_ch2=result_adc/2;
sys_state.adc_state=1;
}
}
void print_display(void)
{
char buf[5];
if(sys_state.disp_delay)
{
sprintf(buf,"%u",sys_state.ttemp_ch1);
}
else
{
sprintf(buf,"%u",sys_state.ctemp_ch1);
};
lcd_gotoxy(0,0);
lcd_putsf("TempCh1:");
lcd_gotoxy(8,0);
lcd_putsf(" ");
lcd_gotoxy(8,0);
lcd_puts(buf);
lcd_gotoxy(11,0);
if(sys_state.state_ch1)
{
lcd_putsf("On ");
}
else
{
lcd_putsf("Off");
};
//
if(sys_state.disp_delay)
{
sprintf(buf,"%u",sys_state.ttemp_ch2);
}
else
{
sprintf(buf,"%u",sys_state.ctemp_ch2);
};
lcd_gotoxy(0,1);
lcd_putsf("TempCh2:");
lcd_gotoxy(8,1);
lcd_putsf(" ");
lcd_gotoxy(8,1);
lcd_puts(buf);
lcd_gotoxy(11,1);
if(sys_state.state_ch2)
{
lcd_putsf("On ");
}
else
{
lcd_putsf("Off");
};
};
void scan_keys(void)
{
if (PINB.0==0)//запуск\стоп канала 1
{
delay_ms(500);
if(sys_state.state_ch1)
{
sys_state.state_ch1=0;
}
else
{
sys_state.state_ch1=1;
};
};
if (PINB.1==0)//запуск\стоп канала 2
{
if(sys_state.state_ch2)
{
sys_state.state_ch2=0;
}
else
{
sys_state.state_ch2=1;
};
delay_ms(500);
};
if ((PINB.2==0)&(sys_state.ttemp_ch1<350))//температура канала 1 плюс
{
sys_state.disp_delay=1;
sys_state.ttemp_ch1++;
delay_ms(5);
}
if ((PINB.3==0)&(sys_state.ttemp_ch1>0))//температура канала 1 минус
{
sys_state.disp_delay=1;
sys_state.ttemp_ch1--;
delay_ms(5);
}
if ((PINB.4==0)&(sys_state.ttemp_ch2<350))///температура канала 2 плюс
{
sys_state.disp_delay=1;
sys_state.ttemp_ch2++;
delay_ms(5);
}
if ((PINB.5==0)&(sys_state.ttemp_ch2>0))//температура канала 2 минус
{
sys_state.disp_delay=1;
sys_state.ttemp_ch2--;
delay_ms(5);
}
}

void init_mc(void)
{
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization

PORTB=0x3F;// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
DDRB=0x00;// State7=T State6=T State5=P State4=P State3=P State2=P State1=P State0=P

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x30;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Ph. correct PWM top=0x00FF
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0xA1;
TCCR1B=0x0A;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 31,250 kHz
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x06;
TCNT2=0x00;
OCR2=0x32;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x80;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 19200
UCSRA=0x00;
UCSRB=0xD8;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC Clock frequency: 250,000 kHz
// ADC Voltage Reference: AVCC pin
// ADC Auto Trigger Source: ADC Stopped
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x8D;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);

// Global enable interrupts
#asm("sei")
};
void main(void)
{
// Declare your local variables here

static signed int last_errorCh1;
static signed int last_errorCh2;
signed int P;
signed int D;
static signed int I;
signed int PID;
init_mc();
while (1)
{
// Place your code here
get_temp();
print_display();
scan_keys();
if(sys_state.state_ch1)//если активен - запускаем расчёт нагрева канала 1
{
P = (sys_state.ttemp_ch1 - sys_state.ctemp_ch1);
I = (I + (sys_state.ttemp_ch1 - sys_state.ctemp_ch1) * INTERVAL);
D = (((sys_state.ttemp_ch1 - sys_state.ctemp_ch1) - last_errorCh1) / INTERVAL);
last_errorCh1 = sys_state.ttemp_ch1 - sys_state.ctemp_ch1;
PID = (Kp * P) + (Ki * I) + (Kd * D);
I = (sys_state.ttemp_ch1 - sys_state.ctemp_ch1);// ограничение интеграла
if(PID>255)
{
OCR1A=255;
}
else if(PID<0)
{
OCR1A=0;
}
else
{
OCR1A=PID;
}
}
else
{
OCR1A=0;
};
if(sys_state.state_ch2)//если активен - запускаем расчёт нагрева канала2
{
P = (sys_state.ttemp_ch2 - sys_state.ctemp_ch2);
I = (I + (sys_state.ttemp_ch2 - sys_state.ctemp_ch2) * INTERVAL);
D = (((sys_state.ttemp_ch2 - sys_state.ctemp_ch2) - last_errorCh2) / INTERVAL);
last_errorCh2 = sys_state.ttemp_ch2 - sys_state.ctemp_ch2;
PID = (Kp * P) + (Ki * I) + (Kd * D);
I = (sys_state.ttemp_ch2 - sys_state.ctemp_ch2);// ограничение интеграла
if(PID>255)
{
OCR1B=255;
}
else if(PID<0)
{
OCR1B=0;
}
else
{
OCR1B=PID;
}
}
else
{
OCR1B=0;
};

}
}

evgeniyza [ 22 июл 2014, 13:10 ]
Заголовок сообщения:  Инерционность. Как лучше сделать?

Уважаемые форумчане. Прошу помощи, подсказки в постройке ИК-станции.

На данном этапе разрабатывается только корпус.
В системе будут использовать керамические нагреватели 4 шт. * 750 Ватт (Для нижнего подогрева)
Очень хотелось бы защитить их термостеклом от капающего флюса.
По опыту знаю, как аккуратно не делаешь, всё равно иногда капает, далее просто прикипает. Думаю, что чистить керамику будет очень не удобно. Со стеклом же другое дело, всё просто.
Но естественно инерционность нагрева увеличиться.
Собственно вопрос, стоить думать вообще в этом направлении?
Плавностью регулирования жертвовать, думаю никому не хочется.

XPEHb. [ 22 июл 2014, 16:50 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

evgeniyza писал(а):
Уважаемые форумчане. Прошу помощи, подсказки в постройке ИК-станции.

На данном этапе разрабатывается только корпус.
В системе будут использовать керамические нагреватели 4 шт. * 750 Ватт (Для нижнего подогрева)
Очень хотелось бы защитить их термостеклом от капающего флюса.
По опыту знаю, как аккуратно не делаешь, всё равно иногда капает, далее просто прикипает. Думаю, что чистить керамику будет очень не удобно. Со стеклом же другое дело, всё просто.
Но естественно инерционность нагрева увеличиться.
Собственно вопрос, стоить думать вообще в этом направлении?
Плавностью регулирования жертвовать, думаю никому не хочется.

вообще не парся!
если система будет работать по одному датчику как ERSA то можешь положить на инертность большой.
у меня после того как низ отрубается нагрев еще +30-40 С идет от низа. хотя собран на голагенках с отражателем из нержи.
если ставишь два датчика как в термопро(вроде) то вообще не собирай эту ересь а копи на заводскую

evgeniyza [ 22 июл 2014, 17:46 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Вот как раз из за Вашей станции, думаю об этом.
Изначально учился работать на самодельной ИК на галогенках, но там был 2-ве термопары.
Одна для низа (подальше от локального места нагрева)
Вторая сразу возле чипа.
Управление ПИД.

Так вот к чему - после пары месяцев работы, на нержавеющей стали - закипевший флюс невозможно было отмыть.
Вот с галлогенками точно нужно использовать стекло (под лампами).

Черномор [ 23 июл 2014, 10:01 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Чёйто не пойму, сколько надо флюс-геля для БГА, чтоб при пайке он через край лился?
Кстати нормальные флюсы, нанесенные кисточкой, тонко, не кипят и по завершению пайки почти полностью "выпариваются"..

От инерции на керамике никуда не денешься - физика, массивное тело не может мгновенно перестать нагреваться/охлаждаться.

MSF113 [ 23 июл 2014, 10:19 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Черномор
Согласен, странно это. Хотя что по падает но очень редко и не флюс.
ИМХО стеклопанель дело хорошее, только инерционность фактически не изменит. Температуру, да, придется подкорректировать.

orbit [ 23 июл 2014, 11:29 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

К вопросу об инерции, однозначно лампы. Когда то высчитал 12 ламп по 1500вт включенные 2мя параллельными группами по 6 последовательно.
Дают достаточно не агрессивного, равномерного и общирного тепла. Регулируется работа в области где лампа дает больше теплового излучения чем видимого.
Максимальный нагрев при самом жутком бессвинце от Sony, выглядит так:
Вложение:
Старушка.jpg

Насчет флюса же, аккуратней надо с ним. Много в этом случае не синоним хорошо.
Купите дорогущий но щикарнейший флюс у MSF113, тот не течет и не кипит и класть его столовой ложкой попросту жалко.

MSF113 [ 23 июл 2014, 11:38 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

orbit
Чего это он дорогущий то стал? Это по 5мл за 1000 дороговато, да и то RMA в магазинах за такие же деньги предлагают.
А учитывая, что расход его реально меньше, так вообще...

orbit [ 23 июл 2014, 11:45 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Да погорячился, ну я старался жути нагнать на ТС, что бы меньше сыпал.
Конечно же цена более чем приемлемая по сравнению с интернетами.
Снимаю на RMA&co а вот ставлю на твоем флюсе... идеально.

MSF113 [ 23 июл 2014, 13:13 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

orbit
А я на кЕтайском снимаю, по 200 руб маленькое ведерко. Не жалуюсь

Черномор [ 23 июл 2014, 13:48 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Какие вы неэкономные, да и грязь разводить-оттирать :-) Без флюса хорошо снимается..
Заинтересовал тут флюс, купить чтоль на пробу.
Хотя никогда мне разные интерфлюксы не нравилиь (причем оригинальные). Лет пять назад многие млели - IF8300, EFD, etc, ни один не понравился.

MSF113 [ 23 июл 2014, 14:04 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Черномор
Я флюс складываю для лучшего снятия компаунда по краям. А потом он уже сам под чип залазит. И, посадочное место чистить надо - так и так флюсом мазать.

Цена не смущает? Есть же у тебя ERSA SW32 (если нет, стукни в ЛС, поделюсь) - от добра добра не ищут. Мартин еще хвалят, но у меня такое подозрение, что он и Эрзовский одно и то же, упаковки разные.

evgeniyza [ 23 июл 2014, 14:35 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Черномор писал(а):
От инерции на керамике никуда не денешься - физика, массивное тело не может мгновенно перестать нагреваться/охлаждаться.


Это понятно, решение построения станции на керамике уже было принято. Везде есть плюсы, минусы.

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

MSF113 писал(а):
ИМХО стеклопанель дело хорошее


Хочется брать пример с дорогих паялок.

MSF113 писал(а):
только инерционность фактически не изменит


Спасибо, успокоили немного. Скорее всего, буду заказывать стекло.
Дело нщё в том, что стоит оно не дёшево, гривен на 300 потянет..

MSF113 писал(а):
Температуру, да, придется подкорректировать.


С этим проблем думаю не будет. Управление ПИД.

Черномор [ 23 июл 2014, 14:45 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Мартин в черенькой 100 граммовой баночке пробовал, оставил хорошее впечатление.
На цвет и запах от FMKANC32 отличается..

chip2000 [ 24 июл 2014, 15:26 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

sabrat написал в аську.

baibara [ 03 авг 2014, 15:04 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

http://www.aliexpress.com/item/PC410-te ... 57608.html кто может сказать про этот регулятор?

kara [ 12 авг 2014, 01:10 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

baibara, хороший, у меня стоит для верха, пол года без проблем. Работает точно +/-2 градуса, в настройке простой. IMHO самое то.

a-b80 [ 12 авг 2014, 19:20 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

baibara писал(а):
http://www.aliexpress.com/item/PC410-temperature-controller-panel-for-BGA-rework-station-IR-PRO-SC/436557608.html кто может сказать про этот регулятор?

на большинстве китайцев такой, вроде нормально

talkos [ 12 авг 2014, 20:35 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

позволю себе представить мою рабочую лошадку :men: собрана на контролере от LDZ прошу сильно не пинайте я на ней уже два года кайфую :-ok-:

Sergik [ 01 окт 2014, 01:44 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

Ошибка всех новичков желание добиться большой точности в конце профиля, при правильной скорости нагрева вылет на 2-5 градуса не существенный,тем более мы не знаем точной температуры плавления припоя. А вот ПИД желательно настроить так, чтобы время удержания температуры 225 градусов(по графику от точки подъема до точки падения) должно быть около 1 мин.,это гарантирует нормальное распределение температуры платы по периметру чипа.

Evstafiev [ 01 окт 2014, 08:36 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

А никто не подскажет, может есть подробная инструкция по переделки 7500

a-b80 [ 01 окт 2014, 17:40 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

Evstafiev писал(а):
А никто не подскажет, может есть подробная инструкция по переделки 7500

на ноутбук1 было, там поищите (добавляли нагреватели и твердотелки меняли на помощнее, если не ошибаюсь)

Evstafiev [ 01 окт 2014, 23:51 ]
Заголовок сообщения:  Re: ИК паяльная станция: создаём своими руками

Да че то глянул, или пост удалили или я слепой.

akimov_aleks [ 27 окт 2014, 11:08 ]
Заголовок сообщения:  ИК станция на arduno

Привет всем. в голову пришла идея. Смотрел схемы самодельных паяльных станций и пришол к выводу что это все можно сделать и на ардуино
разберем схему от LDZ
Вложение:
reworked_if_1.GIF


Arduino uno как контроллер 8$
MAX6675 как контроллера термопары 8$
любой LCD эккран 4-6$
силовая часть без изменений. на MOC 3062
PID пид регулирования есть модуль в ардуино

в принцепее ВСЕ осталось собрать все в кучу. и начать писать сам софт... в наличии нет только щас MAX6675 заказал. как все придет начну соберать все..

morik59 [ 27 окт 2014, 11:18 ]
Заголовок сообщения:  Re: ИК станция на arduno

Мне знакомый тоже так посоветовал. Он сказал, что софт проще всего делать в Matlab.

akimov_aleks [ 27 окт 2014, 19:51 ]
Заголовок сообщения:  Re: ИК станция на arduno

Думаю что над PID сильно не надо замарачиваиться. и слелать проще. разогрев до 120 градусов пауза потом до 160 пауза и дальше 225.
идею взял отсюда...

Epcos [ 04 ноя 2014, 13:27 ]
Заголовок сообщения:  Re: Инерционность. Как лучше сделать?

Черномор писал(а):
Мартин в черенькой 100 граммовой баночке пробовал, оставил хорошее впечатление.
На цвет и запах от FMKANC32 отличается..
:co_ol: поддерживаю! :-ok-: до этого юзал интерлюсофский 8300, тож ниче, но с лидфришными платами Мартин мне больше нравится. Да и дешевле.

По поводу инерционности: так на керамических нагревателях ты ее ну никак не избежишь, если вообще запариваться на эту тему. ИК лампы дадут меньшую инертность.

andresan [ 15 янв 2015, 09:04 ]
Заголовок сообщения:  Самодельная ИК станция

Здравствуйте, хочу собрать станцию. Скажите для низа что лучше использовать керамику или кварц? что для вверха?
Продукция Номакон подойдет для этих целей? http://nomacon.ru/products/infrared-hea ... li/ikn-201

Страница 18 из 84 Часовой пояс: UTC + 4 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/