Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно?

в 15:06, , рубрики: импортозамещение, плата, реверс-инжиниринг, электроника

Привет! Меня зовут Андрей, и я работаю разработчиком программно-аппаратных решений в компании FPLUS, которая занимается выпуском электроники для корпоративного и государственного сектора. По сути моя статья дает старт публикациям в недавно запущенном блоге FPLUS, где я и мои коллеги будем делиться опытом о своей работе и новых проектах, создающихся в партнёрстве с НТЦ «Модуль» и другими игроками на рынке. В этом первом материале я решил поговорить об импортозамещении – явлении, ставшем в последние годы довольно актуальным, — и расскажу о собственных наработках в этом направлении.

Реалии нашего времени требуют активно использовать в производстве опыт, полученный при изучении импортных узлов и деталей – то, что называют обратным проектированием или реверс-инжинирингом. Почему-то эти понятия считаются чем-то модным и суперсовременным, однако такой подход к решению внезапно и остро встающих технических вопросов применяется уже довольно давно. Например, в 60-х годах прошлого века на основе швейцарского оригинала компании Gebrüder Sulzer Aktiengesellschaft советскими специалистами был создан бесчелночный ткацкий станок СТБ, а в самом начале 90-х годов в массовом порядке стихийно импортозамещались детали оборудования, ввезённого из стран, ранее входивших в Совет экономической взаимопомощи (СЭВ).

Но…, от лирики к делу: в этой публикации я поделюсь собственным опытом создания аналога имеющегося у меня образца печатной платы с использованием реверс-инжиниринга. Я покажу на примерах, как разобраться в работе устройства, составить его принципиальную электрическую схему и воспроизвести в материале. Для примера я использую разветвитель питания материнской платы серверного компьютера.

Запланированная работа разбивается на несколько этапов:

  • предварительное фотографирование платы и проведение замеров

  • демонтаж компонентов и их идентификация

  • снятие паяльной маски вместе с информационными обозначениями элементов схемы

  • сканирование печатной платы и последующее редактирование полученного изображения

  • перенос полученного изображения в редактор плат и его отрисовка

  • составление принципиальной электрической схемы

  • создание 3D-модели (при необходимости).

Этап 1: Фотографирование и предварительные замеры платы

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 1

Фотографии должны быть высокого качества. Для этого желательно использовать фотокамеру с разрешением матрицы не менее 15 Мпикс и объектив с минимальными оптическими искажениями. Для начала снимаем плату с обеих сторон при ярком и равномерном освещении. Затем делаем дополнительные фотографии под разными углами с обязательной фокусировкой на разных компонентах. Дополнительные фото в дальнейшем помогут нам распознать маркировку всех элементов. Затем замеряем и записываем габаритные размеры платы и её толщину. После этого в любом графическом редакторе обрабатываем фото платы и делаем его чёрно-белую распечатку, увеличив масштаб.

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 2

Этап 2: Демонтаж компонентов

Теперь можно снимать с платы электронные компоненты. Зачастую многие обозначения элементов на плате бывают закрыты разъёмами или другими компонентами. Чтобы увидеть полную картину, необходимо снять с платы все детали. Порядок демонтажа будет подробно описан ниже, но перед началом работы проверим, все ли необходимые инструменты под рукой! Нам понадобятся:

  • технический фен с температурой до 320°С

  • паяльная станция с нижним подогревом (термостол) с температурой до 150°С

  • два паяльника с тонким жалом

  • пинцет

  • паяльный флюс

  • припой ПОС-62 тонкий

  • оплётка для снятия припоя

  • антистатический коврик и антистатический браслет

  • мультиметр и LC-метр

Итак, всё на месте, и мы приступаем к работе. Включаем станцию нижнего подогрева и устанавливаем температуру стола 150-155°С, кладём на него плату и прогреваем 10 минут. За это время ее компоненты адаптируются к высокой температуре и при дальнейшем нагревании феном не получат резкий тепловой удар. 

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

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 3

Кстати, если на подогреваемой стороне платы смонтированы какие-либо элементы, то нужно что-то подложить, чтобы исключить их непосредственный контакт с горячей поверхностью. Для этого я обычно кладу плату на стопку металлических шайб или закрепляю в ее отверстиях металлические «ножки». К счастью, на нашей плате детали смонтированы с одной стороны, поэтому я просто кладу плату на нижнюю сторону компонентами вверх.

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 4

Устанавливаем на нашем фене температуру 300°С, направляем горячий воздух на выбранный для демонтажа компонент и аккуратно снимаем его при помощи пинцета. Обычное время нагрева компонента – до 10 секунд. Этого вполне достаточно для того, чтобы снять его и не перегреть. При демонтаже компонентов более крупного размера (таких, как квадратные микросхемы с контактами на каждой стороне или длинные разъемы с контактными группами на каждой из сторон) требуется равномерный круговой нагрев феном всех сторон компонента, т.к. нагревая каждую из них последовательно, мы даем остыть остальным. 

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 5

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

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 6

Чтобы не потерять снятые компоненты, я приклеивал их на лист бумаги с помощью двустороннего скотча, а рядом подписывал обозначение. Если попадаются компоненты, на которых нет маркировки, то необходимо определить их номинал. Для этого нужно уметь визуально отличить конденсатор от резистора, правильно подобрать их номиналы, а также пользоваться измерительными приборами. 

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 7

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

Закончив демонтаж компонентов, счищаем с платы остатки паяльной пасты при помощи оплетки для снятия припоя и паяльника, затем очищаем её средством для чистки плат (FluxOff, Kontakt WL+ или Kontakt 60) и получаем чистую плату без компонентов. Далее сканируем её с обеих сторон. Я использовал офисный сканер для документов с максимально возможным разрешением. Не рекомендую использовать фотокамеру, поскольку малейшие искажение геометрии на этом этапе очень нежелательны. После этого переходим к следующему этапу. 

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 8

Этап 3: Снятие паяльной маски и шелкографии

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

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 9

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

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 10

И вот результат! Он, конечно, стоил затраченных усилий. Теперь, глядя на дорожки платы, мы легко можем понять, что с чем связано. На вид плата довольно простая. На всякий случай я решил проверить, сколько слоёв меди нанесено на неё – один или два. Оказалось, что один. 

Верхняя сторона платы

Верхняя сторона платы
Нижняя сторона платы

Нижняя сторона платы

Этап 4: Сканирование и редактирование

Используя скан платы, который мы сделали на втором этапе, производим масштабирование: подгоняем отсканированное изображение под размер платы. Это делается для того, чтобы изображение в точности соответствовало реальным размерам. Я предпочитаю использовать графическую программу «Компас». Я к ней привык, но можно использовать и другие программы такого типа. Алгоритм работы:

Шаг 1. Создаем чертёж, рисуем контур платы и устанавливаем размеры. 

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 13

Шаг 2. Рисуем отверстия печатной платы в соответствии с оригиналом. 

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 14

Шаг 3. Накладываем поверх чертежа скан нашей платы (Меню→ Вставка→ Рисунок) и совмещаем по размерам. Для этого тянем рисунок мышкой. 

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 15

После того как наш рисунок совпал с контуром платы, обозначения и размеры можно удалить, а чертеж как картинку в формате *.jpg или *.png. Измерения, кстати, я проводил штангенциркулем, держа в уме пословицу «Семь раз отмерь – один раз отрежь».

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 16

Этап 5: Перенос платы в редактор и её отрисовка.

Теперь мы подошли к самому главному этапу – будем создавать нашу плату. Нам потребуется программа для проектирования печатных плат. Существует множество разных систем проектирования, таких как Altium Designer, Kicad, EasyEDA, OrCAD, Delta Design и так далее. Я использую DipTrace. 

Создаем проект и рисуем контур платы с крепежными отверстиями, аналогично тому, как мы это делали в программе «Компас». Затем расставляем на плату компоненты: сначала крупные – такие, как разъемы, 

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 17

– потом остальные: микросхемы, резисторы, конденсаторы и так далее.

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 18

После подставляем нашу картинку и начинаем обрисовывать дорожки прямо по ней.

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 19

Плата довольно простая, толщину проводников подбираем в соответствии с рисунком. Наша задача – повторить оригинал, поэтому особо придумывать ничего не надо, мы рисуем проводники, как есть. Однако силовые дорожки питания, по которым идёт большой ток, рисуем широкими полигонами и обозначаем отдельными цветами. После этого подкладываем картинку нижнего слоя платы и делаем то же самое (рисуем проводники к компонентам). В итоге мы получаем готовую спроектированную плату.

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 20

Теперь из программы DipTrace можно выгрузить производственный файл Gerber (Файл → Экспорт → Gerber), который можно отправить подрядчику, принявшему наш заказ на изготовление печатной платы. Однако для заказа платы на производстве нам потребуется дополнительная информация:

  • Количество проводящих слоев, у нас их два (верх и низ).

  • Материал платы: (берём стандартный FR4 типовой).

  • Толщина платы: 1,6 мм. (мы её измеряли в самом начале).

  • Толщина медной фольги: указываем 18 микрометров (стандарт).

  • Защитная маска: заказываем нанесение с двух сторон.

  • Наличие маркировки (обозначение компонентов специальной краской на плате): отмечаем как «Да», с двух сторон.

После этого заказываем плату и компоненты, получаем их и паяем – изделие готово! Однако впереди ещё один этап работы.

Этап 6: Составление принципиальной электрической схемы

Мы знаем, что при создании печатной платы первым делом создается принципиальная схема, потом появляется плата. В реверс-инжиниринге всё наоборот. Схемы-то у нас нет, поэтому делать мы её будем на основе готовой платы.

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 21

Я сделал это так: открыл в DipTrace проект печатной платы и в пункте меню «Свойства платы» отключил полигоны, оставив только контур платы, компоненты и проводники. После чего я выбирал любую понравившуюся дорожку на плате и перекрашивал её в красный цвет. Становилось видно, с какими компонентами на плате соединяется данная дорожка, и можно было начинать чертить схему. Зарисовав связь, я менял её цвет, например, на коричневый, и переходил к следующей цепи, пока все не нарисовал.

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 22

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

А вот и фото готовой платы!

А вот и фото готовой платы!

И вот ещё что добавлю, раз уж я упомянул в самом начале про создание 3D-модели. Делается она довольно просто: рисовать её вручную в том же «Компасе» не потребуется. Чтобы это сделать, в программе DipTrace необходимо для каждого компонента выбрать готовую модель из встроенной базы данных. Если модели в базе нет, её можно найти и скачать в интернете в форматах STEP или WRL. Затем подгрузить в программу, нажать кнопку 3D-просмотр и откроется наша модель.

Практический опыт реверс-инжиниринга печатной платы: зачем, как и когда это нужно? - 24
Получилась вот такая модель. Теперь я могу её выгрузить и отредактировать в любой графической программе: например, в «Компасе».

Получилась вот такая модель. Теперь я могу её выгрузить и отредактировать в любой графической программе: например, в «Компасе».

Таким образом, в процессе работы мы получили и само изделие, и техническую документацию на него, и 3D модель. Надо отметить, что в приведённом примере я рассказал о довольно простом устройстве. Казалось бы, зачем тратить на него время и силы? Однако постоянно приходящие новости о проблемах с платежами и логистикой вынуждают создавать своеобразный «запас технологической прочности», чтобы избежать ситуации, описанной в старинном английском стихотворении:

For want of a nail the shoe was lost,
For want of a shoe the horse was lost,
For want of a horse the rider was lost,
For want of a rider the battle was lost,
For want of a battle the kingdom was lost,
And all for the want of horseshoe nail.

Его когда-то импортозаместил С.Я. Маршак –

Не было гвоздя – подкова пропала,
Не было подковы – лошадь захромала,
Лошадь захромала – командир убит,
Конница разбита – армия бежит,
Враг вступает в город, пленных не щадя,
Оттого, что в кузнице не было гвоздя.

Автор: AuthorsFplus

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js