На нашем сайте разработаны 6(шесть) превосходных паяльных станций.Сам собрал 3 разных - все прекрасно работают.Все 6 станций используют паяльник Hakko-907 или его китайские копии,с его достоинствами (малая стоимость,большой выбор жал,доступность) и недостатками (все про них знают). Давно была мечта приспособить паяльник с монолитным жалом,где нагреватель и жало находятся в одном корпусе.Читая ветку форума (Цифровая паяльная станция своими руками.(V 2.0)) обнаружил что Victor_P. в прошивке 1.4 сделал замеры температуры в паузах нагрева. То что надо. Легкая адаптация схемы Victor_P. позволила подключить паяльник Hakko FM-2028 (вернее его китайскую копию) использующие катриджи Т12 или Т15.Прошивка последняя от Victor_P. 1.42beta ( с этой прошивкой IMHO будет и ржавый гвоздь паять если его правильно запрограмировать).Настройки ПИД следующие Р-10,I-99,D-10,U-95. Температуру с жалом Т12-BCF3 до 280 с учетом софт-старта набирает за 17 секунд,температуру держит плюс-минус 1 градус, при температуре 280 гр при пайке полигона 2 на 3 см просадка составляет 3 ..4 градуса и тут же добирает до 280 ,как только убираю жало от полигона подьем на 2 градуса и тут же возвращение к заданной.Присутствует небольшой забег при нагреве от комнатной(20) до рабочей(280) на 6..7 градусов но в течеении 3 сек приходит в норму.
Вложения:
Комментарий к файлу: Foto 3 IMG_03.jpg [155.63 KiB]
Скачиваний: 32965
Комментарий к файлу: Foto 2 IMG_02.jpg [224.88 KiB]
Скачиваний: 24273
Комментарий к файлу: Foto 1 IMG_01.jpg [171.67 KiB]
Скачиваний: 19549
Комментарий к файлу: ПП FM2028_PCB.rar [46.58 KiB]
Скачиваний: 13361
Комментарий к файлу: Схема FM-2028.pdf [120.65 KiB]
Скачиваний: 20340
_________________ Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя. .......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами..... Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
Да, тема интересная, у меня паяльник Goot, думаю там тоже, что то похожее можно сделать. Там тоже стоит термоэлемент, так, что в паузах между нагревом можно попробовать мерить температуру.
_________________ Купи два беляша и собери из них кошку Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви) Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
_________________ Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя. .......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами..... Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Тема, то интересна, но сказывается небольшая распространенность указанного паяльника. Клоны Hakko-907 в каждом магазине продаются по демократичной цене, а FM-2028 нет, нужно в Китае покупать. А так, то за корпус +. Самодельный с метала не просто на коленке сделать.
Относительно недавно узнал про жала Т12. Заинтригован. Хочется попробовать. Наверное буду заказывать паяльник у китайцев. Какой лучше взять, разборный FM-2028 или же FX-9051?
Версия прошивки у автора есть уже 1,6. Она не подходит под эту схему?
_________________ "Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
В общем посмотрел некоторые отзывы на ручки для жал Т12 и заказал себе FX-9501. Что-то больше понравилась.
_________________ "Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Пользуюсь ручками и FM-2028(часто) и FX-9501(не часто).Нареканий обе не вызывают несмотря на стоимость 12уе и 11уе. Хотя в сети видел плохие отзывы на FM-2028.Мне наверно повезло. Прошивка 1.6 полность подходит, сейчас ей и пользуюсь-косяков не обнаружено.Паяльной станцией доволен на 99%.
Вложения:
Комментарий к файлу: FM-2028vsFX-9051 09876.jpg [243.55 KiB]
Скачиваний: 9008
_________________ Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя. .......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами..... Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
По поводу ручек, 2028 более удобна для частой смены жал. Причем и наконечник у каждого жала должен быть свой. Но я часто жала менять не планирую. У меня пока желание опробовать данный тип жал, так как люкеевский паяльник не всем нравится. Если зацепит, то подумаю о покупке 2028. В нем меня смущает сама защелка крепления ручки к сменному наконечнику. Выглядит больно хило. Хотя с другой стороны там то только нагрузка от провода да и все.
_________________ "Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
У FX-9501 жало меняется быстрее.За защелки у FM-2028В не бойтесь - достаточно крепкие.В 1% входит нелинейность на краях диапазона( на 200 градусах завышение на 10....15 градусов ,на 380 занижение на 10...15 градусах),но это уже мои придирки все равно почти всегда паяю при температурах 260....300 градусах. После Hakko-907(оригинал) был приятно удивлен.Попытаюсь в ближайшее время видео небольшое записать.
_________________ Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя. .......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами..... Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
Да нет. Быстрее у 2028. Я может неправильно деталь называю, но я имел в виду желтый наконечник за который паяльник и держится. По задумке производителя он должен быть на каждом жале. И тогда их можно сменять быстро не дожидаясь остывания жала. Причем эти ручки есть разных цветов
_________________ "Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
По задумке производителя для замены жала у FM-2028В надо нажать на кнопки-защелки - и жало с половинкой паяльника выходит из синей трубки.Но т.к. у меня не оригинал и кнопки-защелки работают не так как задумал производитель жало меняются тупо вытаскиванием из желтой половины как и у FX-9501.
_________________ Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя. .......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами..... Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
// // This program flashes the green LED on the C8051F31x target board about // five times a second using the interrupt handler for Timer2. // // Target: C8051F31x //
// Device addresses (7 bits, lsb is a don't care) #define EEPROM_ADDR 0xA0 // Device address for slave target // Note: This address is specified // in the Microchip 24LC02B // datasheet. // SMBus Buffer Size #define SMB_BUFF_SIZE 0x08 // Defines the maximum number of bytes // that can be sent or received in a // single transfer
// Status vector - top 4 bits only #define SMB_MTSTA 0xE0 // (MT) start transmitted #define SMB_MTDB 0xC0 // (MT) data byte transmitted #define SMB_MRDB 0x80 // (MR) data byte received
//---------- // Global VARIABLES //---------- unsigned char* pSMB_DATA_IN; // Global pointer for SMBus data // All receive data is written here
unsigned char SMB_SINGLEBYTE_OUT; // Global holder for single byte writes
unsigned char* pSMB_DATA_OUT; // Global pointer for SMBus data. // All transmit data is read from here
unsigned char SMB_DATA_LEN; // Global holder for number of bytes // to send or receive in the current // SMBus transfer
unsigned char WORD_ADDR; // Global holder for the EEPROM word // address that will be accessed in // the next transfer
//---------- // SYSCLK_Init //---------- // // This routine initializes the system clock to use the internal 24.5MHz / 8 // oscillator as its clock source. Also enables missing clock detector reset. // void SYSCLK_Init (void) {
}
//---------- // PORT_Init //---------- // // Configure the Crossbar and GPIO ports.
//---------- // Timer2_Init //---------- // // Configure Timer2 to 16-bit auto-reload and generate an interrupt at // interval specified by <counts> using SYSCLK/48 as its time base. // void Timer2_Init (int counts) {
TMR2CN = 0x00; // Stop Timer2; Clear TF2; // use SYSCLK/12 as timebase CKCON &= ~0x60; // Timer2 clocked based on T2XCLK; TMR2RL = -counts; // Init reload values TMR2 = 0xffff; // set to reload immediately ET2 = 1; // enable Timer2 interrupts TR2 = 1; // start Timer2 } //
//---------- //---------- void EEPROM_ByteWrite( unsigned char eaddr, unsigned char edat ) { while (SMB_BUSY); // Wait for SMBus to be free. SMB_BUSY = 1; // Claim SMBus (set to busy)
// Set SMBus ISR parameters TARGET = EEPROM_ADDR; // Set target slave address SMB_RW = WRITE; // Mark next transfer as a write SMB_SENDWORDADDR = 1; // Send Word Address after Slave Address SMB_RANDOMREAD = 0; // Do not send a START signal after // the word address SMB_ACKPOLL = 1; // Enable Acknowledge Polling (The ISR // will automatically restart the // transfer if the slave does not // acknowledge its address.
// Specify the Outgoing Data WORD_ADDR = eaddr; // Set the target address in the EEPROM's // internal memory space
SMB_SINGLEBYTE_OUT = edat; // store dat (local variable) in a global // variable so the ISR can read it after // this function exits
pSMB_DATA_OUT = &SMB_SINGLEBYTE_OUT; // The outgoing data pointer points to // the <dat> variable.
SMB_DATA_LEN = 1; // Specify to ISR that the next transfer // will contain one data byte
// Initiate SMBus Transfer STA = 1;
}
//---------- // EEPROM_WriteArray () //---------- // Writes <len> data bytes to the EEPROM slave specified by the <EEPROM_ADDR> // constant. // void EEPROM_WriteArray (unsigned char dest_addr, unsigned char* src_addr, unsigned char len) { unsigned char i; unsigned char* pData = (unsigned char*) src_addr;
for( i = 0; i < len; i++ ){ EEPROM_ByteWrite(dest_addr++, *pData++); }
}
//---------- // EEPROM_ByteRead () //---------- // // This function returns a single byte from location <addr> in the EEPROM then // polls the <SMB_BUSY> flag until the read is complete. // unsigned char EEPROM_ByteRead( unsigned char daddr) { unsigned char retval; // Holds the return value
while (SMB_BUSY); // Wait for SMBus to be free. SMB_BUSY = 1; // Claim SMBus (set to busy)
// Set SMBus ISR parameters TARGET = EEPROM_ADDR; // Set target slave address SMB_RW = WRITE; // A random read starts as a write // then changes to a read after // the repeated start is sent. The // ISR handles this switchover if // the <SMB_RANDOMREAD> bit is set. SMB_SENDWORDADDR = 1; // Send Word Address after Slave Address SMB_RANDOMREAD = 1; // Send a START after the word address SMB_ACKPOLL = 1; // Enable Acknowledge Polling
// Specify the Incoming Data WORD_ADDR = daddr; // Set the target address in the EEPROM's // internal memory space
pSMB_DATA_IN = &retval; // The incoming data pointer points to // the <retval> variable.
SMB_DATA_LEN = 1; // Specify to ISR that the next transfer // will contain one data byte
// Initiate SMBus Transfer STA = 1; while(SMB_BUSY); // Wait until data is read
return retval;
} ///////////////
//---------- // EEPROM_ReadArray () //---------- // Reads up to 256 data bytes from the EEPROM slave specified by the <EEPROM_ADDR> // constant. // void EEPROM_ReadArray (unsigned char* dest_addr, unsigned char src_addr, unsigned char len) { while (SMB_BUSY); // Wait for SMBus to be free. SMB_BUSY = 1; // Claim SMBus (set to busy)
// Set SMBus ISR parameters TARGET = EEPROM_ADDR; // Set target slave address SMB_RW = WRITE; // A random read starts as a write // then changes to a read after // the repeated start is sent. The // ISR handles this switchover if // the <SMB_RANDOMREAD> bit is set. SMB_SENDWORDADDR = 1; // Send Word Address after Slave Address SMB_RANDOMREAD = 1; // Send a START after the word address SMB_ACKPOLL = 1; // Enable Acknowledge Polling
// Specify the Incoming Data WORD_ADDR = src_addr; // Set the target address in the EEPROM's // internal memory space
pSMB_DATA_IN = (unsigned char*) dest_addr;// Set the the incoming data pointer
SMB_DATA_LEN = len; // Specify to ISR that the next transfer // will contain <len> data bytes
// Initiate SMBus Transfer STA = 1; while(SMB_BUSY); // Wait until data is read
//---------- // Timer1_Init() //---------- // // Timer1 configured as the SMBus clock source as follows: // - Timer1 in 8-bit auto-reload mode // - SYSCLK / 12 as Timer1 clock source // - Timer1 overflow rate => 3 * SMB_FREQUENCY // - The maximum SCL clock rate will be ~1/3 the Timer1 overflow rate // - Timer1 enabled // void Timer1_Init (void) { CKCON &= ~0x0B; // Timer1 clock source = SYSCLK / 12 TMOD = 0x20; // Timer1 in 8-bit auto-reload mode
TH1 = -(SYSCLK/SMB_FREQUENCY/12/3); // Timer1 configured to overflow at 1/3 // the rate defined by SMB_FREQUENCY
TL1 = -(SYSCLK/SMB_FREQUENCY/12/3); // Timer1 preloaded to overflow at 1/3 // the rate defined by SMB_FREQUENCY
TR1 = 1; // Timer1 enabled }
//---------- // SMBus Interrupt Service Routine (ISR) //---------- // // SMBus ISR state machine // - Master only implementation - no slave or arbitration states defined // - All incoming data is written starting at the global pointer <pSMB_DATA_IN> // - All outgoing data is read from the global pointer <pSMB_DATA_OUT> // void SMBus_ISR (void) interrupt 7 { bit FAIL = 0; // Used by the ISR to flag failed // transfers
static char i=0; // Used by the ISR to count the // number of data bytes sent or // received
static bit SEND_START = 0; // Send a start
switch (SMB0CN & 0xF0) // Status vector { // Master Transmitter/Receiver: START condition transmitted. case SMB_MTSTA:
SMB0DAT = TARGET; // Load address of the target slave SMB0DAT |= SMB_RW; // Load R/W bit STA = 0; // Manually clear START bit i = 0;
_nop_(); // reset data byte counter break;
// Master Transmitter: Data byte (or Slave Address) transmitted case SMB_MTDB: if (ACK) // Slave Address or Data Byte { // Acknowledged? if (SEND_START) { STA = 1; SEND_START = 0; break; } if(SMB_SENDWORDADDR) // Are we sending the word address? { SMB_SENDWORDADDR = 0; // Clear flag SMB0DAT = WORD_ADDR; // send word address
if (SMB_RANDOMREAD) { SEND_START = 1; // send a START after the next ACK cycle SMB_RW = READ; }
break; }
if (SMB_RW==WRITE) // Is this transfer a WRITE? {
if (i < SMB_DATA_LEN) // Is there data to send? { SMB0DAT = *pSMB_DATA_OUT; // send data byte pSMB_DATA_OUT++; // increment data out pointer i++; // increment number of bytes sent } else { STO = 1; // set STO to terminte transfer SMB_BUSY = 0; // clear software busy flag } } else {} // If this transfer is a READ, // then take no action. Slave // address was transmitted. A // separate 'case' is defined // for data byte recieved. } else // If slave NACK, { if(SMB_ACKPOLL) { STA = 1; // Restart transfer } else { FAIL = 1; // Indicate failed transfer } // and handle at end of ISR } break;
// Master Receiver: byte received case SMB_MRDB: if ( i < SMB_DATA_LEN ) // Is there any data remaining? { *pSMB_DATA_IN = SMB0DAT; // Store received byte pSMB_DATA_IN++; // Increment data in pointer i++; // Increment number of bytes received ACK = 1; // Set ACK bit (may be cleared later // in the code)
}
if (i == SMB_DATA_LEN) // This is the last byte { SMB_BUSY = 0; // Free SMBus interface ACK = 0; // Send NACK to indicate last byte // of this transfer STO = 1; // Send STOP to terminate transfer }
break;
default: FAIL = 1; // Indicate failed transfer // and handle at end of ISR break; }
if (FAIL) // If the transfer failed, { SMB0CN &= ~0x40; // Reset communication SMB0CN |= 0x40; SMB_BUSY = 0; // Free SMBus }
SI=0; // clear interrupt flag }
//---------- // Timer3 Interrupt Service Routine (ISR) //---------- // // A Timer3 interrupt indicates an SMBus SCL low timeout. // The SMBus is disabled and re-enabled here // void Timer3_ISR (void) interrupt 14 { SMB0CN &= ~0x40; // Disable SMBus SMB0CN |= 0x40; // Re-enable SMBus TMR3CN &= ~0x80; // Clear Timer3 interrupt-pending flag
}
//===pca - adc======
unsigned int consequence( int temp,unsigned int m)
{ int tempera; unsigned int setting_pca; unsigned int consequence;
//---------- // Timer2_ISR //---------- // // This routine changes the state of the LED whenever Timer2 overflows. // void Timer2_ISR (void) interrupt 5 {
if (Sign_dispy >= 1) { display(m); Sign_dispy--; }
Китайцы известные пройдохи. Они сами же 2028 скопировали и ляпов понаделали с нормально не нажимающимися фиксаторами и не влезающим жалом. Я отчасти поэтому тоже взял 9051, а не 2028 ручку. А по поводу питания от 19В - почему бы и нет. Можно хоть от 12в. Только греться дольше будет и не будет отдавать заявленную мощность.
_________________ "Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Ручки, как я понял, также подойдут от Hakko 942 (912)?
о как! а я искал на официальном сайте ручку 9051 и не находил, а она оказывается вон как обзывается
_________________ "Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
Добавлено: Вт май 06, 2014 23:44:14
Опытный кот
Карма: 14
Рейтинг сообщений: 434
Зарегистрирован: Ср янв 30, 2008 22:28:09 Сообщений: 884 Откуда: Украина Харьковская обл.
Рейтинг сообщения:1
Ребят, тоже интересует этот паяльник, но не нравится то что у китайцев на картриджах плавают параметры, вот из-за этого плывет калибровка:
BV-Dial писал(а):
В 1% входит нелинейность на краях диапазона( на 200 градусах завышение на 10....15 градусов ,на 380 занижение на 10...15 градусах),но это уже мои придирки все равно почти всегда паяю при температурах 260....300 градусах.
У Goot RX802AS картриджы разнесены по группам, т.е на картридже нанесена калибровочная константа, которую нужно вводить в настройки при смене жала, под группами понимается вот что: Вот это будет правильно и точно...проверено лично на своем Goot
Для паяльника Hakko 912 применяются жала серии Т2 они на 25мм короче жал Т12.
_________________ Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя. .......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами..... Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
Т.е. не время переходить с китайских Хакка 900 (они вроде со всех сторон знакомы уже) на T12? Ну так какую из них брать?
Я думаю переходить надо. Во всяком случае попробовать самому и решить. Но мне кажется Т12 будет лучше 900 серии. В последней есть существенный недостаток - воздушный зазор между жалом и нагревателем и из-за этого большая тепловая инерция. При пайке мелких деталей впрочем незаметно. На это видимо производитель и рассчитывал. Но вот на массивных деталях этот минус чувствуется реально. Я недавно отпаивал разъем с LiPO аккумулятора с проводом AWG10. Паяльник 900 серии никак не мог разогреть припой, температуру я задрал, жало обгорать начало даже. Отпаял как только поддул феном 230 градусов на место пайки. Второй разъем отпаял без проблем ЭПСН40 с медным жалом. Поэтому лично я и хочу проверить Т12.
_________________ "Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения