Эта статья заканчивает цикл публикаций о разработке измерительного устройства в онлайн IDE mbed от компании ARM.

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

Предыдущие статьи:


Ну ладно, не то чтобы всё совсем испорчено, но ошибки случились довольно забавные.

1. Как всё задумывалось



Мы не разрабатываем электронику, мы поставляем электронные компоненты. Устройство было задумано и реализовано исключительно для демонстрации работы двух аппаратных блоков — красивого емкостного TFT-дисплея от Riverdi и датчика относительной влажности серии HYT от IST-AG.

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



После консультаций с коллегами, которые занимаются поставками и доработкой корпусов для РЭА, было решено взять заднюю часть и ножку от стандартного корпуса OKW, а переднюю стенку напечатать своими силами. Кроме неё на 3D-принтере печатались «внутренние» детали — небольшая камера для установки датчика HY-271 и детали для крепления плат внутри корпуса.



При создании модели для печати использовались программы SolidWorks и Polygon. Принтер использует самую популярную на сегодня технологию — послойное наплавление (Fusing Deposition Modeling, FDM).



Печать — совсем не мой профиль, поэтому скажу только общие слова.

Суть технологии послойного наплавления отражена в её названии. После создания трехмерной модели детали и загрузки этой модели на принтер начинается послойное нанесение горячего пластика, который застывает сразу после нанесения очередного слоя. В отличии от других технологий 3D-печати, в FDM подвижным элементом является экструдер — сопло, на котором пластик плавится и выдавливается на модель.

Недостатками этой технологии печати являются термоусадка и низкое разрешение печати. Термоусадка может повлиять (и влияет) на размеры конечного изделия, а низкое разрешение печати влечет слоистость поверхности, которую заметно невооруженным глазом. Однако эти недостатки с лихвой компенсируется низкой ценой оборудования и материалов для послойной печати, именно поэтому в последние годы мы и слышим о 3D-печати из каждого утюга.

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

Перейдем к сборке. Напомню, что в проекте используется датчик HYT-271 — модель датчика относительной влажности, выполненная без защитного металлического корпуса. Датчик решено было поместить в небольшую камеру без передней стенки, а эту камеру крепить к передней крышке корпуса, где для контакта датчика с окружающей средой предусмотрены довольно большие отверстия.



Отладочная плата с микроконтроллером EFM32 на борту и плата-переходник для подключения дисплея крепятся на напечатанной пластине. На этой пластине также предусмотрены отверстия для крепления к передней крышке корпуса.





На переднюю крышку устанавливается TFT-дисплей. Дисплей RVT43ULFNWC0x предназначен для монтажа в отверстие — он оснащен декоративной рамкой, которая с обратной стороны имеет клейкую полоску и закрывает края отверстия.



2. Как всё получилось



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

Ошибка #1


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

Но ошибка даже не в этом.

Камера, в которой находится датчик, крепится к передней стенке корпуса. Там же, на передней стенке, примерно на сантиметр выше, располагается сенсорный TFT-дисплей. На задней стороне дисплея находятся система управления дисплеем — графический контроллер FT801 и схема управления матрицей дисплея.



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



Ошибка #2


Когда устройство было вновь разобрано, ошибка в измерении температуры, конечно, уменьшилась. Однако датчик всё равно привирал — точность измерений не соответствовала точности, которую датчик показывал до установки в корпус.

Загадка разрешилась просто. Датчик относительной влажности имеет чувствительный элемент, емкость которого изменяется пропорционально относительной влажности среды. Чувствительный элемент построен на базе чувствительного к влажности полимера, а этот полимер подвержен воздействию различных газов. Это беда всех емкостных датчиков влажности. Влияние некоторых газов на датчики серии HYT лечится прогреванием (около 140 °С в течении 2-3 минут), влияние других газов необратимо.

В любом случае, моей ошибкой было то что датчик был установлен в корпус сразу после печати. Глупо вышло — корпус, в конце концов, ещё пах пластмассой! В итоге полимер «надышался» парами пластика и его выходная характеристика благополучно съехала.



Вот такая история. Ошибки учтены и исправлены, но об этом не интересно ни читать, ни писать.

» Видео, демонстрирующее работу устройства можно посмотреть на youtube.
» Исходный код программы для микроконтроллера доступен на developer.mbed.com.
» Ссылки на статьи с описанием всего процесса разработки ПО приведены в начале этой статьи.

Заключение



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

P.S. Да, корпусами для РЭА мы тоже занимаемся.