Цифровой рентген: Инженерная некромантия

Привет Хабр!

Кто забыл — мы производим рентгеновские детекторы и системы для рентгеновской дефектоскопии.

Так как я подвержен легкой графомании — поделюсь опытом инженерной некромантии. Спросите, почему некромантии? Отвечу — реанимацию «железного» проекта десятилетней давности тяжело назвать другим словом.

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

Важно — в тексте описана ситуация на 2019–2020 годы. Цены и политическая ситуация с той поры сильно поменялись.

Пролог
На заре развития компании, ещё до серийного производства плоскопанельных рентгеновских детекторов, был реализован проект по цифровой камере для рентгенографии. Это была монструозная хрень под 20 кг весом. Она состояла из: ПЗС сенсора, самодельного USB фреймграббера, оптического объектива, слоя люминофора на объективе и зеркальной призмы для вывода электроники из прямого рентгеновского пучка. Оптика позволяла масштабировать малую рабочую зону ПЗС сенсора (24×36 мм) примерно в 10 крат, что уже можно было использовать для рентгеновского контроля больших объектов (а именно женской груди).

Выглядела это примерно так

Выглядела это примерно так

Проект не нашел широко применения, продали парочку и забыли, но оставил после себя кучу плат, ПЗС сенсоров высокого разрешения (11–16 Мп), разрозненные доки, код прошивок и приложение для захвата кадров.

Шальная идея

Проходя мимо этой груды высокотехнологичного мусора, я вспомнил, что такого рода рентгеновские камеры с этим же сенсором 24×36 мм (без объектива) широко используются для микротомографии. У нас тогда уже были наработки по своему томографу с детектором размера 114×145 мм (пиксель 50 мкм) и обсуждались варианты исполнений.

Чужое,  халява — взять-взять

Эффективный менеджер внутри моей головы выполнил эту команду, стащил все коробки со склада и стал думать, как теперь создать новое исполнение детектора (камеры) на ПЗС сенсоре 24×36 мм с пикселем 7–9 мкм. Бензина в этот костер подливало знание о том, что у нас осталось 10 списанных ПЗС сенсоров и это самый дорогостоящий элемент такой камеры.

Что же может пойти не так? Есть рабочий набор готовых плат для считывания данных с сенсора, исходный код и сборки приложения для захвата, бесхозные сенсоры… Просто выбрасываем объектив, фигачим люминофор на сенсор, разрабатываем новый корпус и вуаля — profit.

Часть 1. Хорошо забытое старое

Проблема номер 1 — прямой доступ к кремнию сенсора

Просто так объектив выкинуть нельзя. Он фокусирует испускаемый люминофором свет на фотосенсор, который обычно защищается стеклом. Если мы убираем объектив, то просто положить люминофор на стекло сенсора недостаточно, испускаемый свет будет рассеиваться — получим расфокусировку/размытие изображения. Люминофор должен напрямую или через слой оптоволокна контактировать с фотосенсором. Второй вариант предпочтительнее, так как оптоволокно еще и защищает сенсор от воздействия рентгеновского излучения. Это обычная мировая практика для такого рода устройств.

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

Сечение фотосенсора

Сечение фотосенсора

ак как я поклонник Конана-варвара — вначале был применен механический метод снятия стекла. Epic fail.

По панку

По панку

Ммм…тщательно доработать напильником, это мы умеем. Куча стеклянного крошева, порванная разварка кристалла, повреждения кремния. Ачивка Destroy достигнута.

Далее термический способ — нагрев стекла для локального отслоения. Fail.

Количество сенсоров уменьшилось на 3 штуки.

Спасибо коллеге, он вспомнил про свою старую работу и фемтосекундные лазеры. Лазером можно испарить эпоксидку под стеклом и оно снимется само.

Беру сенсоры, еду в Троицк. Готовим тестовый стенд, проходим по клеевому соединению стекла с сенсором — чудо, оно реально работает. Эпоксидка испарилась и заполнила газом внутреннее пространство сенсора.Так мы потеряли еще 1 сенсор, основательно загадив его нагаром. Стали думать дальше.

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

Итог: осталось 6 сенсоров, но уже все со снятым защитным стеклом. Ценник проекта вырос на услуги лазера +80к.

Мысли: Все детали технологического процесса нужно продумать заранее, оценить трудоемкость производства. Как минимум — устроить мозговой штурм среди коллег, без включения Конана Варвара. Возможно кто-то уже решал вашу задачу более красиво. Путь в Троицк тогда стал бы первым шагом и 3 сенсора выжили.

Проблема номер 2 — защита сенсора от радиации

Как сказал чуть выше, необходимо ставить оптоволокно на ПЗС сенсор, чтобы оно ослабляло рентгеновское излучение и увеличивало срок жизни прибора. У нас уже был налажен канал закупки, однако у всех мировых конкурентов использовалось оптоволокно большей толщины, чем наше стандартное + закупка в Европе заняла бы несколько месяцев и NRE cost. Был найден завод Оптик в Беларуси, который выпускает оптоволокно нужного нам размера и характеристик (материал ТБФ10).

На удивление все прошло гладко, завод сработал быстрее, чем стандартный канал экспортной закупки, и ослабление рентгеновского излучения оказалось даже лучше ожидаемого в диапазоне рентгеновского излучения до 100 кВ.

Сделали оснастку из фторопласта для позиционирования сенсора и оптоволокна на оптический клей, убив при этом только 1 сенсор в процессе приклеивания (не учли смачиваемость материала алюминиевой оснастки и пути затекания клея).

Оснастка для установки оптоволокна на сенсор

Оснастка для установки оптоволокна на сенсор

Итог: осталось 5 сенсоров и оснастка для установки оптоволокна для двух типов сенсоров. Ценник проекта вырос на стоимость оптоволокна +150к и стоимость оснастки +15к.

Мысли: Смена проверенного в проекте — риск. Нас пронесло, но экспериментировать в такой ситуации явно не стоит. Хорошей практикой было бы использовать два канала, стандартный и новый поставщик. Этап сборки и проблемы смачиваемости можно было бы также предусмотреть, как минимум — экспериментировать на «убитых» сенсорах. Не надо жалеть времени на отладочные стенды.

Проблема номер 3 — разрешение

Грубо говоря итоговое разрешение рентгеновской системы — это функция от размера пикселя фотосенсора и разрешающей способности люминофора. На сенсор и его пиксель мы повлиять не можем, остается люминофор.

Основных типов два — оксисульфид гадолиния (GOS, GADOX, «гадолиний») и йодид цезия (CsI, «цезий»). Отличаются они структурой, см мою статью Цифровой рентген: от альфы до гаммы.

Так как нам нужно получить разрешение системы, приближающееся к размеру пикселя, то необходимо сильно уменьшать толщину слоя люминофора. Помимо ухудшения чувствительности возникает еще ряд проблем. Для гадолиния характерна структура зерна с размером 5 — 10 мкм и это создает области сильной неоднородности люминофора. Листовых люминофоров такой толщины нет (или я не смог найти), только прямое депонирование на оптоволокно.

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

Это рентгеновский снимок эталона JIMA на рентгеновском аппарате наших друзей из Питера, получилось поймать 15 мкм разрешение на 60 кВ. Хороший результат

Снимок эталона JIMA на аппарате РАП150 + профиль по 15 мкм рискам

Снимок эталона JIMA на аппарате РАП150 + профиль по 15 мкм рискам

Экстравагантные варианты люминофоров типа YAG: Ce не рассматривались из—за конского ценника несколько тысяч штук евро за образец.

Итог: осталось 3 пустых сенсора и 2 с нанесенными люминофорами. Литобзор и реверс инжиниринг аналогов помогли подобрать толщину люминофора с первого раза. Повезло, достигли лимита в 15 мкм. Ценник проекта вырос на изготовление люминофоров 1250euro/89к

Мысли: Надо закладывать минимум 2–3 итерации на подбор технологических параметров, что с учетом особенностей импорта немассовых комплектующих может затянуться на 8–12 месяцев. Попасть с первого раза в нужное качество удалось с помощью анализа литературы. Не стоит пренебрегать корпусом научных статей.

Проблема номер 4 — старая компонентная база электроники

Живые сенсоры — есть, платы и электроника — есть. Собираем образцы, но вот не задача — работают всего две сборки плат из 5. Остальные — мертвые (диагностировать причину невозможно) или с неполным списком компонентов (потенциально тоже мертвые). Спустя 10 лет никто не помнит что там и как, даже с наличием рядом ведущего разработчика.

У нас же есть CAD данные по схемам, разве нельзя заказать новые платы и собрать все сенсоры? Можно, конечно, только часть компонентов уже 7 лет как не производится. Проблема была конкретно с чипом TDA9991HL без которого ПЗС сенсор не завести. За три дня поиска чудом нашел компанию, которая специализируется на снятых с производства компонентах и за конский прайс в 75$ за чип они поставили нам небольшой запас для монтажа новых плат. Интересно сколько они стоят сейчас, с учетом ковида и 2022 года…

Пришлось перезаказывать платы с давальческим сырьем.

ПЗС сенсор на плате

ПЗС сенсор на плате

Итог: платы уехали на контрактное производства и собрались по старым CAD файлам. Ценник проекта вырос на стоимость чипов и контрактного производства. Ценник проекта вырос на изготовление 5 комплектов плат и чипов 135к+25к

Мысли: Об устаревании компонентной базы нужно было подумать заранее, задача воспроизводства печатных плат должна была стоять уже на старте проекта. Срок жизни многих электронных компонентов 5–10 лет, найти их потом — боль.

Проблема номер 5 — драйвер и прошивка USB моста

Устаревшая компонентная база аукнулась еще разок. Чип USB2.0 интерфейса помнил времена WinXP и перехода на Vista. О Win7 он не слышал, Win10 же была чем-то из Мира Полдня Стругацких. Драйвер в файлопомойке остался только под XP/Vista.

Ну что ж, взяли свежую версию драйвера с сайта производителя под Win10, немного переписали inf, отключили подпись драйверов в Win и запустили USB фреймграбер.

Да, прошивка с файлопомойки шилась успешно, но принимать новый серийный номер и запускаться в ПО захвата изображений девайс не желал. Пришлось колдовать с регистрами и методом тыка найти магическое смещение, с которым в девайс корректно прописывался серийный номер и инициализационная конфигурация.

Боль, слабо документированное средство отладки и протокол без ревизии….ммм обожаю. Разве можно не любить такую красоту:

Сидеть и медитировать на регистры

Сидеть и медитировать на регистры

Итог: новые платы прошились. ПО заработало. Ценник проекта не вырос

Мысли: Поднимая старый проект стоит подумать об изменении и программных средств разработки. ОС уходят, поддержка конкретного оборудования теряется или меняет свое поведение.

Проблема номер 6 — чужой код

С ПО захвата повезло, человек писавший приложение еще был в компании — так что просто пересобрали приложение с новыми библиотеками USB чипа с поддержкой Win10.

А вот прошивка ПЛИС на новых платах не завелась. Наличие кода проекта не помогло определить проблему. Поиск по бэклогу, эксперименты с форками, все бестолку.

На этом этапе я уже сильно устал и принял решение свернуть разработку в том виде, в котором она была. Количество трудозатрат на реанимацию кода ПЛИС явно превышало мифический бюджет проекта в моей голове.

Итог: заработали только 2 платы из изначального комплекта со склада 10-летней давности. Все новые платы ушли списаны в расходы. Ценник проекта на этапе не вырос. Общий итог первой части 494к расходов.

Резюме по части 1: попытка реанимации такого старого проекта была глупой идей. Старая компонентная база, древний код, отсутствие понимания всех технологических этапов разработки и производства, плохая коммуникация с коллегами, попытка с наскока решить проблемные моменты — всего этого можно было избежать.

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

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

И да, я продал 1 живой комплект плат+сенсор=корпус. Это не было хорошим решением, но позволило профинансировать работу.

Часть 2. Новое модное

Мыши плакали кололись…

Несмотря на негативный опыт реанимации старого проекта, сама идея получить новый детектор высокого разрешения на ПЗС сенсоре никуда не ушла. Русские не сдаются.

Из внешних стимулов — стали появляться заказчики на сырой продукт/концепцию, обещали 100500 проданных камер и готовые рынки. Аргументация — импортные аналоги постоянно горят, надо регулярно менять.

Ну ладно, если уже вписались в разработку — вперед.

Начал уже умнее — сделал анализ рынка, посмотрел конкурентов, выбрал актуальные на 2020 год модели ПЗС сенсоров хорошего класса. Закупил парочку инженерных сенсоров и начал набрасывать схему электроники для новой камеры.

Итог: ценник проекта на этапе вырос на закупку сенсоров 3450$/ 224k

Кстати, с покупкой сенсоров было забавно. Классика больших американских корпораций, созвоны на 8 человек, из которых говорят 1–2, вопросы по тысячи единиц потребления и прочее. С экономикой на дармоедов там все ОК.

Прилет Черного Лебедя

Наша фабрика по производству ПЗС сенсоров была On Semiconductor (ранее Kodak). В начале 2020 года она делает объявление о закрытии линии…Через месяц после скайпа с их представителями, когда обсуждали модели сенсоров и закупку. Surprise motherfucker

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

В таких условиях разработка своей электроники уже деньги. выброшенные на ветер. Что же делать?

Голь на выдумки хитра

Как было сказано выше — затык в электронике. А вот что, если использовать готовую?

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

Итог: ценник проекта на этапе вырос на закупку dev kit 282k

Судорожно закупил запас сенсоров, чтобы как-то обеспечить себе работу на пару лет вперед. На инженерных образцах сенсоров переработал оснастку и собрал несколько образцов с оптоволокном и люминофором. Запустил под рентгеном — работает, разрешение пристойное, выдохнул.

Итог: Есть запас для производства. Ценник проекта на этапе вырос на закупку сенсоров 11 715$ + 10 002$/ 1 411k

Снимок рентгеновской миры + профиль рискам 20 пар линий на мм

Снимок рентгеновской миры + профиль рискам 20 пар линий на мм

По разрешению — отличный результат, из минусов — ПЗС сенсоры крайне неторопливы. Экспозиции более 10 000 мс норма. Ну и еще перегрев, надо ставить активное охлаждение/пельте.

Вот она, преобразившаяся героиня статьи:

Финалочка по ПЗС камере в окружении различных тест объектов

Финалочка по ПЗС камере в окружении различных тест объектов

Резюме по части 2: несмотря на сюрприз от производителя смог быстро перестроиться на решение-полуфабрикат. Нашего в нем, правда, только технология производства рентгеновских сенсоров и корпус.

Мысли: Путь через ОЕМ интеграцию стоило бы выбрать первым, так как он позволял прототипировать продукт и пощупать рынок с минимальными затратами + работа была бы на актуальной аппаратной платформе. Зависимость от критического компонента — это большая опасность. Век ПЗС заканчивался, это можно было бы предусмотреть и заранее перейти на микроКМОП сенсоры.

Эпилог

А теперь о печальном: спроса в итоге не было. Люди, которые обещали сотни закупок, слились. На руках остался работающий продукт с ценником полноценного рентгеновского детектора, но с крайне небольшой сферой научного применения. Fail

Общая стоимость проекта: 494к первый этап + 1 917к второй этап, итого 2 411. Неплохо так да?

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

Надеюсь, вам было интересно. Учитесь на чужих ошибках;)

© Habrahabr.ru