Реверс инжиниринг в домашних условиях
Добрый день, хочу поделиться с читателями своим практическим опытом обратной разработке электронных плат. Эта статья будет ещё интересна предметом своего исследования. На примере я покажу как разобраться в работе устройства. При необходимости можно составить принципиальную электрическую схему и повторить печатную плату. Для примера я взял плату оси YAW гиростабилизированного подвеса камеры квадрокоптера dji mavic mini.
Итак приступим! Всю работу можно разделить на несколько этапов:
предварительное фотографирование платы
демонтаж компонентов с платы (с идентификацией при необходимости)
снятие паяльной маски и шелкографии
сканирование печатной платы и последующее редактирование
перенос платы в редактор плат и ее отрисовка
составление принципиальной электрической схемы
Остановимся на каждом этапе поподробнее.
Фотографирование платы
Фотография платы вам пригодится на этапе опознания компонентов. Фотография должна быть хорошего качества с хорошим освещением, на ней должны быть различимы все элементы, желательно чтобы было видно маркировку, если она присутствует на компоненте. Плату фотографируем с двух сторон. Не стесняйтесь делать больше фотографий, возможно под разными углами (иногда не все элементы видны при фотографировании под прямым углом).
Далее, в графическом редакторе, я подписываю компоненты. Это поможет составить список компонентов с их номиналами и типоразмерами.
Демонтаж компонентов
На этом этапе необходимо демонтировать все компоненты с платы, при необходимости произвести измерения номиналов компонентов (та еще задачка), максимально удалить припой с платы и произвести контрольное фотографирование. Фотографирование можно и пропустить, но, иногда, элементы шелкографии попадают под крупные элементы на плате и увидеть их можно только после демонтажа элементов. Должно получиться вот так:
Снятие паяльной маски
На этом этапе необходимо очистить плату от защищающей электрические проводники маски и обозначений слоя шелкографии. Это можно сделать несколькими способами. Первый это механически — наждачной бумагой, счистить эти два слоя. Но есть еще один способ дающий более качественный результат, именно его я и использую. Маску можно снять при помощи раствора щелочи. Я кидаю плату в раствор и кипячу на плите, пока маска лохмотьями не слезет с платы. Потом я ее промываю и высушиваю. Получается нечто такое:
Сканирование
На этом этапе необходимо плату отсканировать с двух сторон в максимальном разрешении (в моем случае). Почему скан, а не фото? На это есть несколько причин. Первая это линейные искажения при фотографировании, а вторая это масштаб. Еще можно сделать контрольное измерение платы, это нам пригодится при ее масштабировании. Отсканированные платы я сохраняю с именами A и B. A — это так называемый top layer (верхний слой), а B — bottom layer (нижний слой). Далее необходимо эти изображения подготовить к переносу в редактор плат. Графический редактор выбирайте по своему вкусу, я использую старенький Photoshop 7. В редакторе нам необходимо сделать следующее:
Повернуть оба изображения (так как вам удобно его будет отрисовывать)
Выровнять изображения по горизонтали и вертикали
Совместить изображения слоев, отзеркалив слой B
Отрезать лишнее от изображения (части по сторонам где ничего нет)
Сохранить изображения слоев в формате BMP
Перенос платы в редактор и отрисовка
Я пользуюсь замечательной программой SprintLayout 5. В ней необходимо создать новый файл и подгрузить наши изображения в качестве фонового рисунка. Сделать это можно использовав инструмент шаблон:
В диалоговом окне выбираем вкладку «Сторона 1», далее нажимаем кнопку «Загрузить» и загружаем наш файл A.bmp. Ту же операцию повторяем для второй стороны, выбрав соответственной файл B.bmp. Теперь необходимо подобрать масштаб, сделать это нужно очень точно! Делается это так: Выбираем сторону 1 и выставляем разрешение с которым мы производили сканирование (в моем случае это 600 dpi). При необходимости сдвинуть изображение используя сдвиг по осям. Теперь закрываем окошко кнопкой «ОК» и переходим на слой M1
Теперь нам пригодится измеренный нами размер платы. Рисуем поверх шаблона линию от карая и до края платы, сравниваем с полученными результатами измерений которые мы произвели ранее. Плата точно должна соответствовать своим физическим размерам! При необходимости меняем масштаб в диалоговом окне «Шаблон».
Ту же самую операцию повторяем для второго слоя (подгоняем масштаб под верхний слой). Теперь необходимо совместить оба слоя, сделать это помогут общие, на обоих слоях, элементы, например переходные отверстия. Все эти операции надо выполнять как можно точнее, от этого зависит конечный результат (при условии что вы планируете запустить в производство эту плату). В противном случае масштаб не так важен., но совместить слои нужно точно!
Далее следует сложный, но интересный процесс отрисовки платы, нанесение надписей на слоях шелкографии, расстановка компонентов (при необходимости отрисовка новых, отсутствующих в библиотеке). У меня получилось следующее:
Что делать дальше? Дальше можно, воспользовавшись инструментом «test», просмотреть электрические соединения между элементами платы. Работает этот инструмент как обычная «прозвонка» на мультиметре.
Также я наношу на плату обозначения выводов разъема, мне это поможет в дальнейшем.
Составление схемы
Этот этап я выполняю не всегда, иногда мне достаточно информации полученной на предыдущих этапах. Я обобщаю полученную в ходе исследования информацию и ищу документацию на комплектующие. Обычно этого достаточно чтобы найти типовую схему работы этого узла. Например вот эту, взятую с просторов интернета:
Я обобщаю полученную информацию на одном листе, делаю свои пометки. Теперь я знаю, что мотором оси YAW управляет драйвер MP6536, положение оси плата управления получает считывая сигнал с двух датчиков на эффекте холла DRV5053 расположенных под углом 120 градусов друг относительно друга. Я теперь знаю распиновку разъема на плате. Кстати, забегая вперед, оси roll и pitch устроены аналогичным образом, но размещены на одной плате.
В заключение
Думаю статья получилась достаточно насыщенной и интересной. Пусть инженеры компании dji не обижаются на меня, я восхищаюсь их работой. Всем спасибо!