Например TDA7294

Форум РадиоКот • Просмотр темы - Контроллер паяльника Hakko FM-2028 с энкодером
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 16:31:00

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2494 ]  1, , , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт мар 18, 2014 15:15:12 
Опытный кот
Аватар пользователя

Карма: 19
Рейтинг сообщений: 211
Зарегистрирован: Вт дек 09, 2008 13:41:05
Сообщений: 737
Откуда: Череповец.
Рейтинг сообщения: 5
На нашем сайте разработаны 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]
Скачиваний: 32963
Комментарий к файлу: Foto 2
IMG_02.jpg [224.88 KiB]
Скачиваний: 24272
Комментарий к файлу: Foto 1
IMG_01.jpg [171.67 KiB]
Скачиваний: 19547
Комментарий к файлу: ПП
FM2028_PCB.rar [46.58 KiB]
Скачиваний: 13360
Комментарий к файлу: Схема
FM-2028.pdf [120.65 KiB]
Скачиваний: 20335

_________________
Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя.
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Пт мар 21, 2014 22:42:56 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Вс сен 25, 2011 19:30:07
Сообщений: 95
Откуда: Донецк.
Рейтинг сообщения: 0
Странно, неужели никому неинтересна эта тема... :dont_know: Ведь вещь-то действительно стоящая.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вс мар 23, 2014 23:24:49 
Встал на лапы

Зарегистрирован: Вс апр 10, 2011 08:17:13
Сообщений: 87
Рейтинг сообщения: 0
Наверное все обитают в основной теме...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вс мар 23, 2014 23:49:00 
Грызет канифоль
Аватар пользователя

Карма: 6
Рейтинг сообщений: 9
Зарегистрирован: Пт сен 23, 2011 06:44:41
Сообщений: 258
Откуда: ЮФО
Рейтинг сообщения: 0
Да, тема интересная, у меня паяльник Goot, думаю там тоже, что то похожее можно сделать.
Там тоже стоит термоэлемент, так, что в паузах между нагревом можно попробовать мерить температуру.

_________________
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Ср апр 16, 2014 13:05:17 
Опытный кот
Аватар пользователя

Карма: 19
Рейтинг сообщений: 211
Зарегистрирован: Вт дек 09, 2008 13:41:05
Сообщений: 737
Откуда: Череповец.
Рейтинг сообщения: 4
Провел поверку всех своих катриджей.Все жала имеют лазерную гравировку HAKKO(похоже на настоящие).
Брал по 250 рублей .
Результат в табличке.


Вложения:
___12 (1).pdf [10.93 KiB]
Скачиваний: 6593

_________________
Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя.
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Пт апр 18, 2014 09:41:09 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 79
Зарегистрирован: Вт дек 07, 2010 15:34:19
Сообщений: 475
Откуда: UA
Рейтинг сообщения: 0
Муркот писал(а):
Странно, неужели никому неинтересна эта тема...
Тема, то интересна, но сказывается небольшая распространенность указанного паяльника. Клоны Hakko-907 в каждом магазине продаются по демократичной цене, а FM-2028 нет, нужно в Китае покупать. А так, то за корпус +. Самодельный с метала не просто на коленке сделать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Пн май 05, 2014 14:31:19 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 243
Зарегистрирован: Ср янв 16, 2008 08:34:04
Сообщений: 2471
Откуда: KMV
Рейтинг сообщения: 0
Относительно недавно узнал про жала Т12. Заинтригован. Хочется попробовать. Наверное буду заказывать паяльник у китайцев. Какой лучше взять, разборный FM-2028 или же FX-9051?

PS. кстати добавлю еще пару ссылок со схемами контроллеров к данному типу паяльника с просторов интернета http://radio.aliot.com.ua/?p=945 и http://ired.ucoz.ru/news/kontroller_pajalnika_hakko_fm_2028/2013-09-26-6

Версия прошивки у автора есть уже 1,6. Она не подходит под эту схему?

_________________
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Пн май 05, 2014 23:58:25 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 243
Зарегистрирован: Ср янв 16, 2008 08:34:04
Сообщений: 2471
Откуда: KMV
Рейтинг сообщения: 0
В общем посмотрел некоторые отзывы на ручки для жал Т12 и заказал себе FX-9501. Что-то больше понравилась.

_________________
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 11:04:49 
Опытный кот
Аватар пользователя

Карма: 19
Рейтинг сообщений: 211
Зарегистрирован: Вт дек 09, 2008 13:41:05
Сообщений: 737
Откуда: Череповец.
Рейтинг сообщения: 0
Пользуюсь ручками и FM-2028(часто) и FX-9501(не часто).Нареканий обе не вызывают несмотря на стоимость 12уе и 11уе.
Хотя в сети видел плохие отзывы на FM-2028.Мне наверно повезло.
Прошивка 1.6 полность подходит, сейчас ей и пользуюсь-косяков не обнаружено.Паяльной станцией доволен на 99%.


Вложения:
Комментарий к файлу: FM-2028vsFX-9051
09876.jpg [243.55 KiB]
Скачиваний: 9007

_________________
Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя.
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 14:19:50 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 243
Зарегистрирован: Ср янв 16, 2008 08:34:04
Сообщений: 2471
Откуда: KMV
Рейтинг сообщения: 0
BV-Dial писал(а):
Паяльной станцией доволен на 99%.

А что входит в 1%? :)

По поводу ручек, 2028 более удобна для частой смены жал. Причем и наконечник у каждого жала должен быть свой. Но я часто жала менять не планирую. У меня пока желание опробовать данный тип жал, так как люкеевский паяльник не всем нравится.
Если зацепит, то подумаю о покупке 2028. В нем меня смущает сама защелка крепления ручки к сменному наконечнику. Выглядит больно хило. Хотя с другой стороны там то только нагрузка от провода да и все.

_________________
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 16:05:18 
Опытный кот
Аватар пользователя

Карма: 19
Рейтинг сообщений: 211
Зарегистрирован: Вт дек 09, 2008 13:41:05
Сообщений: 737
Откуда: Череповец.
Рейтинг сообщения: 0
У FX-9501 жало меняется быстрее.За защелки у FM-2028В не бойтесь - достаточно крепкие.В 1% входит нелинейность на краях диапазона( на 200 градусах завышение на 10....15 градусов ,на 380 занижение на 10...15 градусах),но это уже мои придирки все равно почти всегда паяю при температурах 260....300 градусах.
После Hakko-907(оригинал) был приятно удивлен.Попытаюсь в ближайшее время видео небольшое записать.

_________________
Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя.
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 16:40:11 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 243
Зарегистрирован: Ср янв 16, 2008 08:34:04
Сообщений: 2471
Откуда: KMV
Рейтинг сообщения: 0
BV-Dial писал(а):
У FX-9501 жало меняется быстрее.

Да нет. Быстрее у 2028.
Я может неправильно деталь называю, но я имел в виду желтый наконечник за который паяльник и держится. По задумке производителя он должен быть на каждом жале. И тогда их можно сменять быстро не дожидаясь остывания жала. Причем эти ручки есть разных цветов

_________________
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 16:53:57 
Опытный кот
Аватар пользователя

Карма: 19
Рейтинг сообщений: 211
Зарегистрирован: Вт дек 09, 2008 13:41:05
Сообщений: 737
Откуда: Череповец.
Рейтинг сообщения: 0
По задумке производителя для замены жала у FM-2028В надо нажать на кнопки-защелки - и жало с половинкой паяльника выходит из синей трубки.Но т.к. у меня не оригинал и кнопки-защелки работают не так как задумал производитель жало меняются тупо вытаскиванием из желтой половины как и у FX-9501.

_________________
Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя.
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 21:19:01 
Первый раз сказал Мяу!

Зарегистрирован: Чт мар 27, 2014 15:30:36
Сообщений: 23
Рейтинг сообщения: 0
Очень интересная тема!

Действительно ли T12 удобнее 900М/T18 на практике?
Если да, то хочется повторить Вашу конструкцию.

Но всё упирается в жало… Помогите разобраться, ищу его на taobao:

Ручки, как я понял, также подойдут от Hakko 942 (912)?
Изображение
Кстати, сами китайцы предлагают адаптировать ручку от Hakko 936 (907), но получается "удочка":
Изображение
Изображение
и цельнометаллический вариант:
Изображение
Какой выбрать?

Кстати, в большом ассортименте аналоговые контроллеры для T12, типа:
Изображение
Изображение
Оно реально работает?
Изображение

А вот такие контроллеры со звуком (?):
Изображение
И вот ещё что-то с открытым кодом (скопирую сюда) http://item.taobao.com/item.htm?spm=a1z ... 8575397573
Спойлер
Код:
=====

 

//----------
// Blinky.c
//----------
// Copyright (C) 2010  德士康电子 Laboratories, Inc.
//
// AUTH: JS
// DATE: 11 JUL 3

//
// This program flashes the green LED on the C8051F31x target board about
// five times a second using the interrupt handler for Timer2.
//
// Target: C8051F31x
//


// Tool chain: KEIL Eval 'c'                           

//调光OK;
//开关OK;
//24c02ok;
//----------
// Includes
//----------
#include <c8051f310.h>                    // SFR declarations
#include <INTRINS.H>
#include <stdio.h>


//----------
//----------

sfr16 ADC0     = 0xbd;                 // ADC0 data
#define INT_DEC      256               // integrate and decimate ratio
long result;//ADC


//----------
// Global CONSTANTS
//----------

#define  SYSCLK         24500000             // System clock frequency
#define  SMB_FREQUENCY  50000                // Target SCL clock rate

#define  WRITE          0x00                 // SMBus WRITE command
#define  READ           0x01                 // SMBus READ command

// 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

unsigned char TARGET;                        // Target SMBus slave address
unsigned char temp_char;
unsigned char retval;

bit SMB_BUSY = 0;                            // Software flag to indicate when the
                                             // EEPROM_ByteRead() or
                                             // EEPROM_ByteWrite()
                                             // functions have claimed the SMBus

bit SMB_RW;                                  // Software flag to indicate the
                                             // direction of the current transfer

bit SMB_SENDWORDADDR;                        // When set, this flag causes the ISR
                                             // to send the 8-bit <WORD_ADDR>
                                             // after sending the slave address


bit SMB_RANDOMREAD;                          // When set, this flag causes the ISR
                                             // to send a START signal after
                                             // sending the word address

bit SMB_ACKPOLL;                             // When set, this flag causes the ISR
                                             // to send a repeated START until the
                                             // slave has acknowledged its address

// 16-bit SFR declarations
sfr16    TMR2RL   = 0xca;                    // Timer2 reload registers
sfr16    TMR2     = 0xcc;                    // Timer2 counter registers
sfr16    TMR3RL   = 0x92;                    // Timer2 reload registers
sfr16    TMR3     = 0x94;                    // Timer3 counter registers
//----------
// 16-bit SFR Definitions for 'F30x
//----------
int  temp_int;
int temp;
unsigned char k;
unsigned int m=200;
unsigned int LD;
unsigned char data1;


unsigned int     set_PCA=2;//PCA
unsigned int     Sign =0; //标记
unsigned int     Sign_dispy =0; //标记

sbit    LED  = P3^3;                     // LED='1' means ON // P3.3 - LED
sbit    LED1 = P0^7;
sbit key1 = P0^1;//(key_sw)
sbit key2 = P0^2;//(key_up)
sbit key3 = P0^3;//(key_down)2

sbit A3=P1^5;
sbit A2=P1^7;
sbit A1=P1^6;


//sbit A1=P1^5;
//sbit A2=P1^6;
//sbit A3=P1^7;
//----------

     ///*0,1,2,3,4,5,6,7,8,9,*/
//unsigned char table1[]={0x50,0xDE,0x62,0x46,0xCC,0x45,0x41,0x5E,0x40,0x44,};

unsigned char table1[]={0xA0,0xBE,0xC2,0x8A,0x9C,0x89,0x81,0xBA,0x80,0x88,};
//----------
// Function PROTOTYPES
//----------
void SYSCLK_Init (void);
void PORT_Init (void);
void Timer2_Init (int counts);
void Timer2_ISR (void);
void delay(int time);
unsigned char key_in(void);
void on_off (void);
void pca_up(void);
void display(unsigned char num);
void delay1(unsigned int z);
//----------
void SMBus_Init (void);
void Timer1_Init (void);
void Timer3_Init (void);
void Port_Init (void);
void SMBus_ISR (void);
void Timer3_ISR (void);

void EEPROM_ByteWrite(unsigned char addr, unsigned char dat);
void EEPROM_WriteArray (unsigned char dest_addr, unsigned char *src_addr,
                        unsigned char len);
unsigned char EEPROM_ByteRead(unsigned char addr);
void EEPROM_ReadArray (unsigned char *dest_addr, unsigned char src_addr,
                       unsigned char len);

//----------
// 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.

//
void PORT_Init (void)
{
 
 
   // P3MDIN    = 0xFD;

 

 //------- 24c02-->p1.2_p1.3 ------
 //-------  PCA-->p1.4 -输出  ------

    //P1MDOUT   = 0xf0;
   // P0SKIP    = 0xFF;
   // P1SKIP    = 0xE3;
   // XBR0      = 0x04;
   // XBR1      = 0xc1;

 //----------


    P3MDIN    = 0xFD;
    P1MDOUT   = 0xF0;
    P0SKIP    = 0xFF;
    P1SKIP    = 0x03;
    XBR0      = 0x04;
    XBR1      = 0xC1;

 

}


//----------
// ADC0配置,T3定时启动ADC
//----------
void ADC0_Init (void)
{
 

//----------
 
    REF0CN = 0x0e;      // 启用内部基准源

    //选择采样输入源GND作为负输入ADC工作在单端方式
    //ADC0CN    = 0xC5;

 AMX0P     = 0x11;
    AMX0N     = 0x1F;
    ADC0CN    = 0xC1;  //控制器  0

 EIE1 |= 0x08;                       // 启用 ADC 中断
}

 

//----------
//     ----Timer0_Init----
//----------

void Timer0_Init()

{
    TMOD  = 0x21;     //  Mode set  -timer 0, -timer 1, = 100001
    TH0=0xF0;       /* 计数初值写入TH1 */
 TL0=0x00;       /* 写入计数初值到TL1 */
    ET0=1;        /* 定时器0中断允许*/
 TR0=1;           //* 定时器0准备开始 *///Enable Timer 0 Interrupt.
}


//----------
// 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 PCA_Init (void)
{

   // PCA0CN    = 0x40;    //  PCA0CN:PCA 控制寄存器  允许 PCA计数器/定时器。SFR地址:0xD8
   // PCA0MD   &= ~0x40;
   // PCA0MD    = 0x01;    //  PCA0MD:PCA 方式寄存器  当CF(PCA0CN.7)被置位时,允许PCA 计数器/定时器溢出的中断请求。
   // PCA0CPM0  = 0x4b;    // { PCA0CPMn:PCA 捕捉/比较寄存器 } MATn=1,PWMn=1,ECCFn=1,
 

    PCA0CN    = 0x40;
    PCA0CPM0  = 0xc2;
    PCA0CPL0  = 0x00;
    PCA0CPH0  = 0x00;
 PCA0CPL4  = 0x00;
 PCA0MD   &= 0x40;
 PCA0MD    = 0x01;
}
//----------
//
//----------
void delay(int time)
{

 int a=time;
 while(a!=0)
 {
  a--;
 }
}


//----------
//
//----------
void delay1(unsigned int z)
{
 unsigned x,y;
 for(x=z;x>0;x--)
   for(y=114;y>0;y--);

} //z=1为1ms,z=100为100ms,

 

//----------
//
//----------

unsigned char key_in(void)
{

 


if(key1==0)    //(key_sw) key1=P0^2;
    {
  key1=1;
   
  delay1(10);
 
  if(key1==0)
  {
      key1=1;
   
   delay1(10);

   while(key1==0);
 
   return(0x1);//返回字符"1"表示按键SW1按下
  }
 }


//----------

 

if(key2==0)  //(key_up)key2=P2^7;
 {
  key2=1;
   
  delay1(10);

  if(key2==0)
  {
   key2=1;
 
   delay1(10);

   while(key2==0);

         if(key3==1)
   {
 
    return(0x3);//返回字符"2"表示按键SW1按下
 
   }
         
   return(0x2);//返回字符"2"表示按键SW1按下
     
   }
 }

 return(0);//返回0,表示没有按键按下
}
//----------
//
//----------


void on_off (void) //

{


                                       
     if(k==1)    //(key_sw) key1=P0^2;


     {  Sign =  Sign+1;

       if (Sign==1)//  if/ else  选择结构
              {
 

 
      LED = 0;
     
      }
   

                 else if(Sign==2)

                   {

 

 
           LED = 1;
            Sign= 0;

                   }

 


     }

 

}

//----------
//
//----------
void pca_up(void)

 

{

if(k==2)

      {  Sign_dispy=500;

           {if (Sign==1)//  if/ else  选择结构

                  m=m-2;

           
               for(;m>400;m=400);  //显示匹配的问题

               for(;m<200;m=200);   //显示匹配的问题

 // Write the value 0xCC to location 0x38 in the EEPROM
        EEPROM_ByteWrite(0x27, m);
   

   
               }
 
  }   
}
//----------
//
//----------

void pca_down(void)

{


if(k==3) 

      {  Sign_dispy=500;

         {if (Sign==1)//  if/ else  选择结构

       m=m+2;
     
 
             
               for(;m>400;m=400);  //显示匹配的问题

               for(;m<200;m=200);   //显示匹配的问题
   
     
    // Write the value 0xCC to location 0x38 in the EEPROM
        EEPROM_ByteWrite(0x27, m);

   }

 


  }   
}

//----------

//----------
void display(unsigned int num)


{

unsigned int  k,m,n,i;

k=num/1000;
m=(num%1000)/100;
n=(num%100)/10;
i=num%10;


   if (Sign==1)// on_display
             
   
     {

 

 

P2=table1[m];
A1=1;
delay1(3);
A1=0;
P2=0xff;

 

P2= table1[n];
A2=1;
delay1(3);
A2=0;
P2=0xff;


P2=table1[i];
A3=1;
delay1(3);
A3=0;
P2=0xff;

 


   
      }
   

    else if(Sign==2)  //  off_display

        {
           
A1=0;
A2=0;
A3=0;
         
 }

 

}

 

 


//----------
//----------
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

}
//----------
// Initialization Routines
//----------

//----------
// SMBus_Init()
//----------
//
// SMBus configured as follows:
// - SMBus enabled
// - Slave mode disabled
// - Timer1 used as clock source. The resulting SCL frequency will be approximately
//   1/3 the Timer1 overflow rate
// - Setup and hold time extensions enabled
// - Free and SCL low timeout detection enabled
//
void SMBus_Init (void)
{
   SMB0CF = 0x5D;                            // Use Timer1 overflows as SMBus clock
                                             // source;
                                             // Disable slave mode;
                                             // Enable setup & hold time extensions;
                                             // Enable SMBus Free timeout detect;
                                             // Enable SCL low timeout detect;

   SMB0CF |= 0x80;                           // Enable SMBus;
}

 

 


//----------
// Timer3_Init()
//----------
//
// Timer3 configured for use by the SMBus low timeout detect feature as follows:
// - Timer3 in 16-bit auto-reload mode
// - SYSCLK/12 as Timer3 clock source
// - Timer3 reload registers loaded for a 25ms overflow period
// - Timer3 pre-loaded to overflow after 25ms
// - Timer3 enabled
//
void Timer3_Init (void)
{
   TMR3CN = 0x00;                            // Timer3 configured for 16-bit
                                             // auto-reload,
                                             // low-byte interrupt disabled

   TMR3 = -(SYSCLK/12/40);                   // Timer3 configured to overflow after
   TMR3RL = -(SYSCLK/12/40);                 // ~25ms (for SMBus low timeout detect)


   CKCON &= ~0x40;                           // Timer3 uses SYSCLK/12
   TMR3 |= 0x04;                             // Start Timer3
}

//----------
// 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;


 tempera=temp;

 setting_pca=m;


     
  if( tempera > setting_pca){consequence=255;}   //关

    else
 
 { consequence=8;  }  //开

   if( tempera> 380){consequence=255;}   //关

   if( Sign==0){consequence=255;}   //关


   return consequence;

 
 }
 ///----------
 //----------
/*

 int  pid (  )


 {

//---------

//定义变量
float Kp;                       //PI调节的比例常数
float Ti;                       //PI调节的积分常数
float T;                        //采样周期
float Ki;
float Kd;
float ek;                       //偏差e[k]
float ek1;                      //偏差e[k-1]
float ek2;                      //偏差e[k-2]
float uk;                       //u[k]
signed int uk1;                 //对u[k]四舍五入取整


    Kp=200;
    Ki=3/2;

    ek=temp_int ;
    ek1=200;

 ek2=ek-ek1;

    //Ti= (Ki*ek2)+( Kp*ek);

    Ti= (Ki*ek2)+( Kp);

}
*/


//======
//
//----------
// MAIN Routine
//----------
void main (void)

{

 

    //  -----初始化-----

   int iNum = 0;

int temperature;

   char in_buff[8] = {0};                    // incoming data buffer
   char out_buff[8] = "ABCDEFG";             // outgoing data buffer

 

 
   PCA0MD &= ~0x40;                       // WDTE = 0 (clear watchdog timer
                                          // enable)
   SYSCLK_Init ();                        // Initialize system clock to
                                          // 24.5MHz

 
   OSCICN |= 0x03;                       // Set internal oscillator to highest
                                         // setting (24500000)
   
   RSTSRC = 0x04;                        // enable missing clock detector
 
 
   PORT_Init ();                         // initialize crossbar and GPIO
 


 

//-------ADC----------------

   Timer0_Init(); 
                     
   ADC0_Init ();                         // init ADC

   AD0TM=0;

//------PCA-------
 
   Timer2_Init (6000);                    //5000-50000 //Init Timer2 to generate
                                          // interrupts at a 10Hz rate.
   PCA_Init ();                        /*PCA初始化成8位脉宽调置方式*/

 
//--------24co2--------------
   Timer1_Init ();                           // Configure Timer1 for use as SMBus
                                             // clock source

   Timer3_Init ();                           // Configure Timer2 for use with SMBus
                                             // low timeout detect

   SMBus_Init ();                            // Configure and enable SMBus

//----------


 EIE1      = 0x99;
    EIP1      = 0x01;


                          //(PCA0)中断允许
//----------

   EA = 1;                                  // enable global interrupts
 
   Sign =1;

 

   // Write the value 0xAA to location 0x25 in the EEPROM
  EEPROM_ByteWrite(0x26, 0x1);

   // Read the value at location 0x25 in the EEPROM
  temp_char = EEPROM_ByteRead(0x26);

 

   // Store the outgoing data buffer at EEPROM address 0x50
   EEPROM_WriteArray(0x50, out_buff, sizeof(out_buff));

   // Fill the incoming data buffer with data starting at EEPROM address 0x50
   EEPROM_ReadArray(in_buff, 0x50, sizeof(in_buff));

//----------

   // Read the value at location 0x25 in the EEPROM
  temp_char = EEPROM_ByteRead(0x27);
    m=temp_char;
 
//----------

temp_char = EEPROM_ByteRead(0x27);
  m=350;

//----------

 

while(result==0);         //等于0,侧等待
                 
   while (1) {


     EA =0;

                            // 关中断
     temperature = result;

  temperature &=0x000fff;

          delay1(10);

         EA = 1;


temperature = temperature*100L*3/512;

temp_int  = temperature;     //adc   temp_int

 temp =temp_int;

 //temp =((temp_int-200)*200/100)+200;
 
set_PCA=consequence(temp, m);

//----------   
      data1=key_in();
        k=data1;

        on_off() ;   //开关
        pca_up();    //PCA加
  pca_down();  //PCA减

//----------
       


   }
 
}

//////////////////////////////////////////////////////////////////
//

//----------
//     ---interrupt----
//---------Timer0_Overflow()----------


void Timer0_Overflow() interrupt 1 using 0
{
         

 
   TH0=0x80;
   TL0=0x00;//计数初值到TL0 */

}


//----------
// 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--;  }

      if   (Sign_dispy<=1) { display( temp ); }  //显示

                 

TF2H = 0;                              // clear Timer2 interrupt flag
 
  }


 
//----------
// ADC0采样中断
//----------
void ADC0_ISR (void) interrupt 10
{

 

   static unsigned int_dec=INT_DEC;   
   static long accumulator=0L;
 
 

           
    ADC0CN &= ~0x20;        // 清 ADC 中断标志位
    accumulator += ADC0;                // 累加ADC采样数据
    int_dec--;                          // 指针减1

    if (int_dec == 0)       
  {                                  // 累加完了吗?
      int_dec = INT_DEC;                // 指针复位
      result = accumulator>>8;
      accumulator = 0L;                 // 累加和变量清0

 


     }
 
}

 

//----------
// Interrupt Service Routines
//----------
//

void PCA_ISR (void) interrupt 11//PCA
{   
   

 

    unsigned char a ;
      bit PWM_PAC;

      CF = 0;


     PCA0CPH0=set_PCA;

 
 
 
 
}


//================PCA==========


Ещё я смотрю, большинство оттуда питается от ноутбучной зарядки 19В…


Последний раз редактировалось ibiza11 Пт июн 27, 2014 13:48:47, всего редактировалось 1 раз.
уменьшил картинку


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 22:29:05 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 243
Зарегистрирован: Ср янв 16, 2008 08:34:04
Сообщений: 2471
Откуда: KMV
Рейтинг сообщения: 0
Китайцы известные пройдохи. Они сами же 2028 скопировали и ляпов понаделали с нормально не нажимающимися фиксаторами и не влезающим жалом. Я отчасти поэтому тоже взял 9051, а не 2028 ручку.
А по поводу питания от 19В - почему бы и нет. Можно хоть от 12в. Только греться дольше будет и не будет отдавать заявленную мощность.

_________________
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 22:33:59 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 243
Зарегистрирован: Ср янв 16, 2008 08:34:04
Сообщений: 2471
Откуда: KMV
Рейтинг сообщения: 0
001 писал(а):
Ручки, как я понял, также подойдут от 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 :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Вт май 06, 2014 23:49:12 
Первый раз сказал Мяу!

Зарегистрирован: Чт мар 27, 2014 15:30:36
Сообщений: 23
Рейтинг сообщения: 0
Т.е. не время переходить с китайских Хакка 900 (они вроде со всех сторон знакомы уже) на T12?

serg_svd писал(а):
001 писал(а):
Ручки, как я понял, также подойдут от Hakko 942 (912)?

о как! а я искал на официальном сайте ручку 9051 и не находил, а она оказывается вон как обзывается

Ну так какую из них брать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Ср май 07, 2014 08:46:25 
Опытный кот
Аватар пользователя

Карма: 19
Рейтинг сообщений: 211
Зарегистрирован: Вт дек 09, 2008 13:41:05
Сообщений: 737
Откуда: Череповец.
Рейтинг сообщения: 0
Для паяльника Hakko 912 применяются жала серии Т2 они на 25мм короче жал Т12.

_________________
Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя.
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Контроллер паяльника Hakko FM-2028 с энкодером
СообщениеДобавлено: Ср май 07, 2014 08:56:20 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 243
Зарегистрирован: Ср янв 16, 2008 08:34:04
Сообщений: 2471
Откуда: KMV
Рейтинг сообщения: 0
001 писал(а):
Т.е. не время переходить с китайских Хакка 900 (они вроде со всех сторон знакомы уже) на T12?
Ну так какую из них брать?

Я думаю переходить надо. Во всяком случае попробовать самому и решить. Но мне кажется Т12 будет лучше 900 серии. В последней есть существенный недостаток - воздушный зазор между жалом и нагревателем и из-за этого большая тепловая инерция. При пайке мелких деталей впрочем незаметно. На это видимо производитель и рассчитывал. Но вот на массивных деталях этот минус чувствуется реально.
Я недавно отпаивал разъем с LiPO аккумулятора с проводом AWG10. Паяльник 900 серии никак не мог разогреть припой, температуру я задрал, жало обгорать начало даже. Отпаял как только поддул феном 230 градусов на место пайки. Второй разъем отпаял без проблем ЭПСН40 с медным жалом.
Поэтому лично я и хочу проверить Т12.

_________________
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2494 ]  1, , , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y