229

Реверс-инжиниринг печатной платы7

Серия PCBComparer2 - реверс-инжиниринг печатных плат

Хочу поделится своей наработкой с разработчиками электроники.
Врядли такие программы нужны всем разработчикам печатных плат, но кому-то наверняка будет полезно.
Это программа PCBComparer2 для просмотра двух сторон одной печатной платы одновременно, с зумом, созданием контактов, цепей, изучением трассировки изучаемого образца, и, финально, даже экспорт созданных контактов и цепей в файл схемы формата какой-нибудь CAD-программы (САПР по русски), для дальнейшей переработки и создания своей печатной платы в исходнике.

Это пока первая версия, можно сказать beta, приглашаю заинтересованных поглядеть, поковырять, и может даже оставить обратную связь, что удобно, чего может не хватает...

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

Можно создать контакты деталей, переходные отверстия (via) и просто точки вдоль дорожек

Можно создать контакты деталей, переходные отверстия (via) и просто точки вдоль дорожек

После экспорта в схему дальнейшие шаги уже внутри САПРа по реверс-инжинирингу предполагаются такие:
1. подготовить библиотеки схемных компонент и футпринтов (посадочных мест) печатной платы для дальнейших правок
2. обновить посадочные места платы компонент на схеме: ввести вручную вместо футпринтов COMxxx (которые экспортируются)
3. создать файл новой печатной платы и экспортировать на нее компоненты со схемы, при помощи подготовленной библиотеки и сохранить плату: тут мы сохраняем исходный список цепей
4. обновить схемные элементы на схеме, с помощью подготовленной библиотеки символов
5. импортировать в схему данные с платы - т.е. передать заново список цепей с платы.

Соединения контактов можно легко изучить, выделяя контакты с Shift или Control

Соединения контактов можно легко изучить, выделяя контакты с Shift или Control

Навскидку для начала можно поглядеть несколько видео о том, как выглядит интерфейс, вот ссылка на плей-лист: https://rutube.ru/plst/781340/

Результат экспорта схемы в KiCAD

Результат экспорта схемы в KiCAD

Загрузить и попробовать beta-версию программы (пока только для 64-битных операционок Windows) можно отсюда.
Еще раз - это первая версия программы, и можно по вашим запросам доработать что угодно.

UPD:

Ссылка на загрузку инсталлятора Windows: https://pmaker.ru/script/payments/setup_pcbcomparer2.exe

Лига Радиолюбителей

1.5K постов10.1K подписчиков

Правила сообщества

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

Постарайтесь не быть снобами в отношении новичков. Все мы когда-то ничего не знали и ничего не умели.

За попытку приплести политику или религию - предупреждение. 2 предупреждения - бан.

Спасибо всем за отклики к первому посту !
Новости: в программе реверс-инжиниринга печатных плат появился:

  • во-первых - русский интерфейс (сейчас английский, наверное, смысла уже не имеет большого при разработках у нас в стране, как мне кажется)

  • и во вторых - редактор фоток слоёв печатной платы

Закончил правку интерфейса на английском, теперь только на русском

Закончил правку интерфейса на английском, теперь только на русском

Редактор фотографий сторон печатной платы поможет синхронизировать обе фотки друг с другом: чтобы точка на одной стороне платы - более-менее точно совпадала с положением на другой стороне. Это вы сами визуально должны определить.

Можно скомпенсировать поворот фотки с точностью до десятых долей градуса

Можно скомпенсировать поворот фотки с точностью до десятых долей градуса

Если фотографии сделаны не строго горизонтально (думаю, в этом можно вообще не сомневаться) - то поворот поможет выровнять нужную фотку, но не забывайте:

  1. предварительно выбрать редактируемую сторону

  2. и после удачной правки - обязательно сохранить текущие картинки в файл проекта, перед дальнейшими правками

Ширину и высоту можно отмасштабировать, подгоняя размер и отключив галочку "Сохранить пропорции"

Ширину и высоту можно отмасштабировать, подгоняя размер и отключив галочку "Сохранить пропорции"

Кроме масштабирования, фотки можно подвинуть, изменив числа "Слева" и "Сверху". Все числа в полях - в процентах от соответствующего размера фотки (горизонтального или вертикального).

Мышкой с Shift можно выделить области и обрезать

Мышкой с Shift можно выделить области и обрезать

Вот есть видео как примерно можно редактировать картинки, синхронизируя их между собой:

Последние новости и правки в программе доступны со странички автора. Спасибо за пробу и отзывы !

А нужна ли кому-то версия под linux...?
Всего голосов:
Показать полностью 3 1 1
комментарии (30)

В последней версии программы PCBComparer2 появилась возможность загружать реально большие фотки, но только если комп под Windows теперь будет обязательно с памятью от 4 ГБ RAM.

На удивление, много народу в голосовании отметили, что версия под Linux - интересна, и я сделал было попытку запускать эту мою программу, написанную в среде Java + JavaFX под Linux Mint 21 на ноуте что есть под рукой.
И даже поправив мелочи очевидные, обязательные для работы - я разочаровался: приложение JavaFX с графическим интерфейсом работает под Win10 - отлично, как планировалось, и в плане графики, и в плане поведения окошек и сообщений, но при этом ведет себя совсем не так же под Linux (в плане zoom-а фоток).

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

Это demo-версия, вероятно, она глючная, и невозможно использовать, в плане zoom графики, хотя у меня при каких-то сочетаниях версий java и javafx (пробовал 14, 19 как Java, так и JavaFX, хотя по умолчанию последняя публичная OpenJFX устанавливается 11я) - работало нормально, как и под Windows10, но я так и не запомнил при каком сочетании - попробуйте, кому интересно, ссылка с авторской страницы.

Пока инструкции для Линукс такие:

  1. установить Java (тестировал с OpenJDK 14 и 19)

  2. установить JavaFX: sudo apt-get install openjfx
    (установка должна получиться в /usr/share/openjfx)

  3. запускать как-то так, если поместить .jar-файл программы в подкаталог pcbc2 в домашнем каталоге:


    java -jar --module-path /usr/share/openjfx/lib --add-modules ALL-MODULE-PATH ~/pcbc2/pcbcomparer2.jar

Что-то мне подсказывает, что Linux-версия не получится полноценной...
Для практической работы - вот пример того, как в программе создается одна цепь:

Показать полностью 1
комментарии (4)
19
Автор поста оценил этот комментарий
А мне как раз в ближайшее время предстоит большая работа с копированием печатной платы. Думаю, что, ваша программа очень пригодится. Обещаю обратную связь! Ну и подписка в надежде на новости в разработке.
раскрыть ветку (1)
8
Автор поста оценил этот комментарий

Во ! Спасибо, приятно что будет полезно, пишите

показать ответы
1
Автор поста оценил этот комментарий
Так, ну вот на Windows 11 24H2 не запускается... В диспетчере появляется что то типа cscript.exe и сразу отваливается. Поможете запустить?
раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Вот так выглядит запущенная программа в Win10.
Там в каталоге с установленной программой есть "run_debug.bat" - можно им запустить программу и потом лог сохранить для просмотра (и прислать).
А вообще, пришлите лог-файл "C:\Users\ВашАккаунт\AppData\Roaming\PCBcomparer2\logs.txt", тут адрес куда присылать http://pmaker.ru/home/pcbcomparer2/.

Иллюстрация к комментарию
показать ответы
12
Лидер мнений
Автор поста оценил этот комментарий
Спасибо за разработку! Прорекламировал вашу программу в каналах кафедры МГТУ им. Баумана, на которой преподавал (и сам закончил) https://t.me/bmstu_iu6/115 и https://vk.com/wall-123163949_465

Чем смог, помог. Возможно, студенты воспользуются при проектировании своих девайсов в курсовых и дипломных работах.
раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Ух, вот спасибо! Надеюсь потестируют, и дадут обратную связь

Автор поста оценил этот комментарий
А если там 4 слоя ? Еще мне кажется было бы интересно если бы можно было сделать вид с прозрачностью и переключением слоев. На одном точку поставил, переключил на другой и продолжил

И на чем написана то?
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Вы же видите глазами только всегда 2 верхних слоя, а все внутренние слои - представлены дорожками, переходными отверстиями.... короче говоря цепями от точки до точки... которые всегда есть на двух видимых слоях :)

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

показать ответы
1
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Мне в 2001 году на новом месте работы вручили точно так же USB-хаб на 4 порта, и дали то же самое задание.
И я за пару дней родил первую версию PCBComparer, с помощью которой за несколько часов выполнил задачу, и получил работу.
Конечно, тогда версия получилась не совсем удачной для публичного использования, тем более коммерческого.
Но может эта вторая реинкарнация полезной окажется...

2
Автор поста оценил этот комментарий
ТС это классная вещь доберусь до компа на бп для светильниках потестю (штук 100+ списали)
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Отлично, пишите что вышло

1
Автор поста оценил этот комментарий
Очень полезная программа! Примите мою благодарность.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Спасибо ! Если попробуете - отписывайте что непонятно, или чего стоит добавить

1
Автор поста оценил этот комментарий

О. Попробую. Спасибо. Чуть позже, если интересно. Напишу отзыв)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Конечно, интересно, затем и постил же про программу, пишите !

0
Автор поста оценил этот комментарий

Он дело говорит. Я передирал именно что 4-слойки, и в принципе могу и плату сошлифовать для доступа ко внутренним слоям.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Хммм, ну запомню на будущее, когда и если основной функционал отладим - подумаем про доп слои

1
Автор поста оценил этот комментарий

О, это полезная хрень! Я когда реверс-инженирил некоторые платы - совмещал виды совершенно дурацким образом - в нескольких окнах во вьюере картинок, наложенных друг поверх друга, смасштабировав и отзеркалив так, чтобы стороны более-менее совпадали. Схему рисовал сразу в Cadence Capture.

Если у вас там есть возможность скомпенсировать масштаб и искажения - это просто шикарно.

Но у меня на компьютерах 32-разрядные оски, так что я побрился.

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

возможность скомпенсировать масштаб

Пока есть только возможность положение курсоров синхронизировать - т.е. это как раз компенсация неточности масштаба картинок.

сделать реплику платы

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

Попробуйте программу, черканите подробней, если будет время.

показать ответы
1
Автор поста оценил этот комментарий

У меня только отсюда сгрузилась, с вашей ссылки никак. https://pmaker.ru/script/payments/setup_pcbcomparer2.exe

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Да, ссылка верная, я ее не давал в этом посте, а какая "никак" ?

показать ответы
1
Автор поста оценил этот комментарий

Внутри в основном слои земли и питания - прозвонкой выясняю где выходы линий питания, а на просвет в колечке вокруг можно даже видеть с какой стороны дорожка к via подходит.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну, т.е. шлифовать плату до внутренних слоев, вцелом, и не обязательно ? ;)

показать ответы
1
Автор поста оценил этот комментарий

А что делать, если это МПП на 4-32 слоев?)

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Вот так выглядит запущенная программа в Win10.
Там в каталоге с установленной программой есть "run_debug.bat" - можно им запустить программу и потом лог сохранить для просмотра (и прислать).
А вообще, пришлите лог-файл "C:\Users\ВашАккаунт\AppData\Roaming\PCBcomparer2\logs.txt", тут адрес куда присылать http://pmaker.ru/home/pcbcomparer2/.

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Короче, исправлено, спасибо за отклик!

0
Автор поста оценил этот комментарий

Он дело говорит. Я передирал именно что 4-слойки, и в принципе могу и плату сошлифовать для доступа ко внутренним слоям.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

А как удавалось передирать 4х слойку ? Неужели тупо тестером каждый контактик звонили и в схему рисовали ? Титаническая же работа

показать ответы
1
Автор поста оценил этот комментарий

"Setup... не является приложением Win32"

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ааа, ну да, инсталлятор сам 64битный. Приложение-то java-вое теоретически должно и под 32-бит работать, но со старой Джавой, без инсталлятора... Сорри, пока не могу с этим помочь.

0
Автор поста оценил этот комментарий

Запилите под 32 бит - попробую.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Сейчас не работает под 32-бит ? Просьба все-таки попробовать

показать ответы
4
Автор поста оценил этот комментарий
Чёрт, я подписан на тег "Ctrl Alt Del". ТС, будете так любезны убрать его из списка?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Блин, а я его и не добавлял, как-то автоматически добавилось. Наверное, нужна помощь @moderator

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества