Те, кому приходится паять время от времени, хорошо понимают, как влияет удобство и качество инструмента на результат работы. Лично мне нравится оборудование немецкой фирмы Kurtz Ersa, в частности паяльные станции, оснащенные паяльником i-Tool. Однако блок станции (например серии i-CON) представляет собой весьма громоздкое и тяжелое устройство, предназначенное для стационарного использования. А ведь иногда так хочется взять привычный инструмент с собой в отпуск на море в командировку или на выездную работу.


И тогда я озаботился вопросом создания более компактного варианта контроллера для паяльника от Ersa. Что из этого получилось, под катом. Первая (текущая) часть посвящена анализу оригинальной станции. Во второй (будущей) части будет рассмотрена разработка аппаратной части компактного контроллера, а также его программирование.


Коротко о паяльнике i-Tool


i-Tool — это мощный (до 150 Вт) и лёгкий (около 30 грамм) инструмент для монтажа и демонтажа различных элементов. Он представляет собой интеллектуальное устройство с микроконтроллером на борту, способное разогреваться до рабочей температуры за кратчайшее время и оптимально отдавать тепло в процессе пайки.


В интернете достаточно примеров контроллеров для обычных аналоговых паяльников. Однако i-Tool, несмотря на свою дороговизну, отличается именно удобством, мощностью и эффективностью. А так как информации по нему в открытом доступе практически нет, ниже приведена информация, полученная в результате вдумчивого и кропотливого анализа.


Аппаратная часть


Объектом анализа выступила оригинальная паяльная станция i-CON2.



Фото основной платы контроллера i-CON2 (кликабельно)


Большую часть контроллера станции занимает понижающий трансформатор, который формирует из входного напряжения ~220В два выходных номинала ~24В и ~10В переменного напряжения. Именно транформатор составляет большую часть размера и веса станции. ~24В используются для нагревания наконечника паяльника, для регулировки используется симистор (он же триак), управляемый микропроцессором. ~10В с помощью выпрямителя и стабилизатора напряжения формируют ?+5В, которые в свою очередь используется для запитывания логической части схемы (микропроцессора, аналогового тракта, дисплея и пр.).


Основное внимание при анализе уделялось схеме взаимодействия контроллера с инструментом i-Tool. Отмечу, что i-CON2 может работать как с цифровым паяльником i-Tool, так и с аналоговыми паяльниками (Power-Tool, Tech-tool, Micro-Tool, Chip-Tool, X-Tool). Однако в данной публикации рассматривается работа только с i-Tool.


Подсоединение i-Tool к контроллеру осуществляется с помощью стандартного круглого разъёма DIN на восемь контактов, из которых используются только пять.


Распиновка DIN-разъёма i-Tool
Распиновка DIN-разъёма i-Tool («папа»)


  • HE+ и HE? — это соответственно «плюс» и «минус» нагревательного элемента (heating element) наконечника паяльника
  • P/IO — линия, по которой одновременно передаётся напряжение для запитывания цифровой части паяльника (?+5В), а также осуществляется полудуплекный обмен данными между контроллером и инструментом
  • GND — «цифровая» земля
  • PE — защитное заземление (protective earth)

Самым интересным местом является линия P/IO, которая, помимо прочего, отвечает за информационный обмен между контроллером и i-Tool.


Схема линии P/IO
Схема линии P/IO


Транзистор используется для коммутации питания ?+5В в период отсутствия информационного обмена. Сам обмен ведется по интерфейсу UART.


Протокол обмена


Всё, что касается информационного наполнения протокола, является плодом reverse engineering'а, следовательно названия полей и содержание сообщений предположительные и могут уточняться в дальнейшем.


Параметры интерфейса UART:


  • Скорость: 250000 bps
  • Стартовых бит: 1
  • Бит данных: 8
  • Бит чётности: нет
  • Стоповых бит: 1

Контроллер шлёт сообщение запроса, на который паяльник примерно через 120 мкс присылает ответ.


Формат запроса:


Смещение тип Пример Описание
0 u16 0x2F02 Преамбула (константа)
2 u8 0x05 ID сообщения
3 u16 0x0010 Код операции
5 u8 0x05 Запрашиваемая длина данных
6 u16 0x498E Контрольная сумма

Формат ответа:


Смещение Тип Пример Описание
0 u16 0x2F02 Преамбула (константа)
2 u8 0x0A ID сообщения
3 u16 0x0010 Код операции запроса (из сообщения запроса)
5 u8 0x05 Запрошенная длина данных (из сообщения запроса)
6 array 0x5E 0x0A 0x1C 0x03 0x00 Данные
n-2 u16 0x8F42 Контрольная сумма

Сообщения


Определение типа инструмента


Этот обмен осуществляется раз в секунду (1 Гц) после старта паяльной станции до получения успешного ответа от инструмента.


Запрос:


  • ID сообщения: 0x05
  • Код операции: 0x0001
  • Запрашиваемая длина данных: 2

Ответ:


  • ID сообщения: 0x07
  • Данные:
    • 0x2802: i-Tool

Пример:


  • Запрос (hex): 02 2F ' 05 ' 01 00 ' 02 ' 3A 4D
  • Ответ (hex): 02 2F ' 07 ' 01 00 ' 02 ' 02 28 ' C1 A4

Определение версии инструмента


Этот обмен осуществляется один раз во время старта паяльной станции сразу после определения типа инструмента.


Запрос:


  • ID сообщения: 0x05
  • Код операции: 0x0040
  • Запрашиваемая длина данных: 2

Ответ:


  • ID сообщения: 0x07
  • Данные:
    • [0]: (u8) Minor
    • [1]: (u8) Major

Пример:


  • Запрос (hex): 02 2F ' 05 ' 40 00 ' 02 ' A7 67
  • Ответ (hex): 02 2F ' 07 ' 40 00 ' 02 ' 00 01 ' D1 CC
    • Minor: 0
    • Major: 1

Статус инструмента


Этот обмен осуществляется каждые 20 мс (50 Гц).


Запрос:


  • ID сообщения: 0x05
  • Код операции: 0x0010
  • Запрашиваемая длина данных: 5

Ответ:


  • ID сообщения: 0x0A
  • Данные:
    • [0]: (u16) Температура нагревательного элемента (°C * 10)
    • [2]: (u8) Температура внутри корпуса паяльника (°C)
    • [3]: (u16) Флаги (см. ниже)

Флаги:


15...2 1 0
RESERVED IDLE OK

  • RESERVED: Зарезервировано
  • IDLE: 1 — инструмент не двигается
  • OK: 1 — Ошибок нет

Пример:


  • Запрос (hex): 02 2F ' 05 ' 10 00 ' 05 ' 8E 49
  • Ответ (hex): 02 2F ' 0A ' 10 00 ' 05 ' 52 0A ' 1C ' 03 00 ' 69 04
    • Температура нагревательного элемента: 0x0A52 = 264.2 °C
    • Температура внутри корпуса паяльника: 0x1C = 28°C
    • Флаги: 0x0003 = IDLE | OK

Контрольная сумма


Используется 16-битный CRC по алгоритму CRC-CCITT, вариация XModem. Сумма берётся от всего сообщения, включая преамбулу, за исключением самого CRC.


Пример:


CRC-CCITT-XModem(0x02 0x2F 0x05 0x10 0x00 0x05) = 0x498E

Логика работы


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


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


Очертания будущего устройства


Так как предполагается делать компактное устройство, нагревательный элемент будет запитываться напряжением ?+24В (например от ноубучного блока питания), скважность которого будет регулироваться с помощью ШИМ. Это позволит избавиться от трансформатора. Есть мнение, что синусоида является более щадящим вариантом для нагревательного элемента, однако реализовать ШИМ на базе постоянного напряжения проще.


Управлять процессом нагрева через ПИД-регулятор, обмениваться информацией с паяльником, отображать информацию на дисплее будет простейший микроконтроллер, что-то вроде STM32F103 или ATmega32U4.


Продолжение следует


В настоящее время производятся прикидки по использованию элементной базы, проектирование схемы. Обо всём этом пойдёт речь в следующей части, которая, я надеюсь, появится в обозримом будущем.


Надеюсь, что тема эта интересна не только мне. Замечания, предложения и уточнения приветствуются.

Поделиться с друзьями
-->

Комментарии (36)


  1. Tomasina
    07.12.2016 12:59
    -1

    24 VAC и 10VAC — на этих VAC чтение спотыкается. Почему не использованы привычные русскоязычные обозначения?


    1. shamilsan
      07.12.2016 13:06
      +1

      Я просто не знаю, есть ли устоявшиеся аббревиатуры на русском. А писать «Вольт переменного напряжения» длинно.


      1. armature_current
        07.12.2016 13:39
        +1

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


      1. serafims
        07.12.2016 13:47
        +5

        ~24В
        ?24В


        1. shamilsan
          07.12.2016 14:01

          То, что надо, спасибо! Подправил.


  1. x893
    07.12.2016 13:01

    А чем не устроил блок питания от ноута (20V, 3А) + opensource TS100 + ручка для T12?


    1. shamilsan
      07.12.2016 13:07

      Интересное решение, не сталкивался с ним. Мощность, конечно, поменьше, но для некоторых применений подойдёт.


      Есть опыт использования?


      1. Oleg_Dolbik
        07.12.2016 14:07

        Есть несколько «станций» на T12, от самопальной на Меге8 в корпусе блока питания ATX до китайского контроллера с блоком от ноутбука. В плюсе — громадный выбор жал приличного качества, достаточно точная для дома поддержка температуры. В минусе имеющихся решений — отсутствие «профиля» под каждое сменное жало, чего иногда не хватает.


  1. PKav
    07.12.2016 13:07

    ATmega32U4 великоват, не говоря уж о STM32F103. Лучше взять STM8S003F3, там есть всё, что нужно и даже больше. А так, вполне себе интересный проект. Если можно покупать паяльники отдельно, то можно даже продавать этот контроллер, экономия будет для всех.


    1. shamilsan
      07.12.2016 13:18

      Я смотрел те контроллеры, на базе которых есть наиболее распространеные компактные dev-board'ы. Так как контроллер будет всё-таки отдельным устройством, то делать его совсем уж микроскопическим нет смысла.


      Паяльники продаются отдельно (например).


      1. AlexeyStn
        07.12.2016 13:33

        Поддерживаю, что блок управления надо делать на готовой и популярной плате: Arduino Pro Mini или мини-платке STM32F103C8T6.
        В этом случае проект будет проще повторить.


      1. aproof
        07.12.2016 19:04

        На Ali есть платка с STM8S103F3P6 очень дешево. Свой EEPROM, в отличие от STM32F. Конкурентная себестоимость, всё же, немаловажная вещь (а вдруг в серию). Желаю успехов)


  1. hoary
    07.12.2016 13:11

    STM32F103 или ATmega32U4

    То, что есть под рукой, или планируется какая-то интеграция с USB?


    1. shamilsan
      07.12.2016 13:20

      Пока под рукой нет ни того не другого, только заказал :)


      Есть идея какие-нибудь данные выдавать по USB, правда, пока не придумал, какие.


      1. BurlakovSG
        07.12.2016 13:40

        Тогда не забудьте про развязку, а то может быть пшик!
        Лучше, мне кажется, использовать bluetooth.


        1. shamilsan
          07.12.2016 13:47

          Не уверен, что буду делать развязку микроконтроллера от нагревателя (по крайней мере на первой версии). Просто будем считать, что во время пайки USB выдёргиваем :)


      1. ploop
        07.12.2016 13:41

        Выдавать и вправду там нечего, а вот загружать — вполне. К примеру настройки, вплоть до тюнинга ПИД-алгоритма.


        1. shamilsan
          07.12.2016 13:45

          Да, настройки ПИД'а — первое что приходит в голову. Ну и прочие настройки, которые сложнее релизовать кнопками на самом устройстве.


        1. jar_ohty
          07.12.2016 15:36

          На самом деле и выдавать есть что. Например, лог отклонений температуры от установленной, а также подаваемой на нагреватель мощности. Как минимум, ценная информация для настройки терморегулятора.


          1. ploop
            07.12.2016 16:22

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


  1. AlexeyStn
    07.12.2016 13:27
    +1

    Тема очень интересна!
    По работе доводилось пользоваться паяльником i-Tool на станции i-CON 2. Шикарный инструмент: удобная ручка, гибкий провод, моментальный нагрев, даже подставка на порядок качественнее, чем у любых других брендов. Но, увы, космическая цена, совершенно неподъёмная для домашней любительской мастерской.
    Так что пока пользуюсь дома DIY-набором с алиэксперсс за 1200 р. в самодельном корпусе и БП от ноутбука. До Эрсы ему, конечно, далеко.
    Если ваш проект дойдёт до готового устройства, будет очень здорово.
    Буду ждать продолжения!


  1. syrompe
    07.12.2016 13:31

    Это позволит избавиться от трансформатора.

    Т.е. гальванической развязки с сетью не будет?
    А туда БП от рядом стоящего компа ВЧ импульсами гадит.
    В итоге нежная микруха при пайке может умереть.

    Есть мнение, что синусоида является более щадящим вариантом для нагревательного элемента, однако реализовать ШИМ на базе постоянного напряжения проще.

    На выходе ШИМ ставите простенький LC фильтр и питаете нагревательный элемент постоянкой. По сути у вас Buck converter получится.
    Думаю стоит посмотреть осциллограмму того как оригинальный блог питание подает…


    1. shamilsan
      07.12.2016 13:38

      Гальваническая развязка с 220 В будет через отдельный блок питания (типа ноутбучного зарядника). Заземление да, нужно, оно будет в каком-нибудь виде.


      Оригинальный блок подает синусоиду частотой 50 Гц с действующим значением около +24В, пропущенную через триак. Триак оставляет от полуволн синусоиды только хвосты, ширина которых варьируется в зависимости от того, сколько энергии требуется передать нагревательному элементу. Надо бы это нарисовать, но не досуг :)


      1. ploop
        07.12.2016 13:46
        +2

        Ну симистор же, симистор!

        Надо бы это нарисовать, но не досуг
        Что рисовать, обычный фазовый регулятор мощности, гугл по этим словам тысячи картинок выдаст.
        Собственно, из-за этого переменка и используется. Сочетание крутых цифровых технологий и классики 60-летней давности. Почему так — до сих пор для меня загадка.


        1. shamilsan
          07.12.2016 13:54

          Википедия говорит «Симистop (симметричный триодный тиристор) или триак». Извините, если вас коробит иностранный термин, просто я по работе практически не пользуюсь русскоязычной терминологией (так сложилось).


          Я имел в виду, мне стоило бы нарисовать график питающего сигнала нагревательного элемента (с осциллографа) ну или скриншот привести.


      1. jar_ohty
        07.12.2016 14:55
        +1

        У них она очень условная, помните? Там "высокая" и "низкая" стороны гальванически связаны через помехоподавляющие конденсаторы. Разумеется, заземление низковольтной стороны от этой связи спасает, но это надо, чтобы оно было.


    1. valkyr2003
      07.12.2016 13:48

      Гальваническая развязка обеспечит электробезопасность для монтажника и монтируемой схемы, а также позволит избежать КЗ, если схема под напряжением сети(без развязки). От ВЧ-помех и статики она не защитит.


    1. jar_ohty
      07.12.2016 15:00

      Керамические (позисторные) нагревательные элементы питать постоянкой нельзя. Там проводимость нагревателя имеет ионную природу и на постоянном токе происходит электромиграция с очень быстрым выходом из строя. Я, конечно, не уверен, что в i-Tool — такой нагреватель, а не тонкопленочные резистивные дорожки на керамическом основании.


  1. VBKesha
    07.12.2016 13:48

    А я уже почти решился на покупку iCON2V теперь надо ещё подумать, брать готовую или собрать.


    1. shamilsan
      07.12.2016 13:56
      +1

      Я вторую часть статьи быстро обещать не могу (не так много свободного времени), но если у вас получится собрать быстрее, то готов оказать консультационную поддержку :)


      1. VBKesha
        07.12.2016 14:03

        Ну я то особо не спешу, тем более у меня отпуск через неделю и будет явно не до того. А так я бы начал с выбора источника питания чтобы 24V/7A где то, а дальше уже проще.


  1. vandiemen
    07.12.2016 20:10

    В своё время я сделал подобную паяльную станцию для паяльника iTool Pico. Там «протокол» куда проще!



    1. vandiemen
      07.12.2016 20:14

      Материалы по проекту:
      Гитхаб
      Видео


      1. geoscientist
        12.12.2016 18:13

        Благодарю за материалы! Несколько месяцев назад наткнулся на ваше видео. Было бы интересно увидеть результаты вашей работы в виде публикации.


  1. progchip666
    07.12.2016 22:39

    Так как предполагается делать компактное устройство, нагревательный элемент будет запитываться напряжением ?+24В (например от ноубучного блока питания)

    Тогда уж в разрыв его ставить, чтобы не таскать отдельный блок питания,но тут встаёт вопрос большой разновидности типов разъёмов который стоит дороже дешёвой паяльной станции кстати, либо наоборот сделать аккумуляторным — это действительно будет круто.


  1. focs113
    08.12.2016 05:36

    Есть ли компактные проекты для ersa mirror? Пока использую компактный step-up с питанием от усб. Потребление 1,2 ампера вписывается в мощные усб зарядчики или повербанк.