Введение.
Недавно мне понадобился датчик давления воздуха для одного из моих проектов. Я искал что-нибудь недорогое и легкодоступное. Датчик должен был работать в диапазоне примерно ±10 кПа относительно атмосферного давления, и не было строгих требований к точности. По сути, мне нужен был датчик, способный обнаруживать небольшо
Есть довольно много подходящих вариантов. Например, ST предлагает семейство датчиков MPXx5010 (первоначально разработанное NXP), а также есть датчики от азиатских производителей, таких как CFSensor. Проблема заключается в том, что эти варианты, как правило, либо относительно дороги, либо их трудно найти для разовых сборки.
Это заставило меня задуматься, возможно ли создать "достаточно хороший" датчик давления, используя только недорогие, широко доступные компоненты.
Как оказалось, это так... в некоторой степени.
Полученный в результате этого датчик никогда не будет столь точным или надежным, как устройство, произведенное в коммерческих целях. Тем не менее, он работает на удивление хорошо для заявленной цели. После первоначальной калибровки он остается достаточно стабильным в типичном диапазоне температур в помещении и не особенно чувствителен к влажности.
В этой статье я не буду проводить научный анализ датчика или предоставлять полную спецификацию. Я ожидаю, что каждый датчик будет вести себя несколько по-разному из-за различий в процессе сборки, используемых материалов и бесчисленных других факторов, которые невозможно строго контролировать при сборке такого устройства дома.
Вместо этого моя цель - показать, что можно создать простой и недорогой датчик давления, который полностью подходит для определенных приложений. Я расскажу, как я построил свой датчик, чтобы другие могли адаптировать дизайн, улучшить его или использовать мой код и 3D-модели для своих собственных проектов.
Идея датчика.
Создание датчика давления сопряжено с несколькими трудностями, а создание его из деталей, напечатанных на 3D-принтере, ещё более усложняет задачу. Моя первоначальная идея заключалась в том, чтобы напечатать полый корпус с тонкой мембраной и прикрепить к ней тензодатчик. После нескольких итераций я пришел к выводу, что двухком
Нижняя часть образует мембрану толщиной 0,4 мм. Круглая стенка напечатана непосредственно на мембране, создавая воздушную камеру и обеспечивая поверхность для крепления верхней крышки. Верхняя крышка содержит шланг-соединитель и два точки крепления для винтов. Она значительно толще мембраны, чтобы обеспечить необходимую жест
Для измерения я использую два тензометра в конфигурации полумоста. Один тензометр установлен в центре мембраны, где он испытывает растягивающее напряжение при приложении положительного давления. Второй тензометр расположен в центре края мембраны, где он испытывает сжимающее напряжение при том же давлении.
Эта конструкция обеспечивает еще одно важное преимущество: тепловая компенсация. Поскольку оба тензодатчика установлены почти на одной и той же поверхности, они подвергаются одинаковым изменениям температуры. В результате их сопротивления изменяются примерно одинаково, в результате чего большая часть ошибки, вызванной температурой, сводится на нет.
Сборка датчика.
Сборка датчика может быть немного сложной. Самым деликатным этапом является прикрепление тензодатчиков к мембране. Я не думаю, что существует единственный "лучший" способ сделать это. Хотя можно сначала прикрепить тензодатчики, а затем припаять провода, я бы не рекомендовал этот подход, так как тепло, генерируемое при пай
Далее я опишу метод сборки, который, как я обнаружил, является самым надежным и самым простым в работе.
Во-первых, я использовал две небольшие полоски клейкой ленты, чтобы закрепить тензодатчики на чистой поверхности на правильном расстоянии (8,5 мм), оставив при этом пайковые площадки открытыми.
Далее я добавил дополнительную ленту по бокам, чтобы всё оставалось на месте при пайке проводов к тензодатчикам. Я использовал красные и чёрные провода для подключения к источнику ссылочного напряжения, а жёлтый провод - для сигнала. Изоляция сигнальных проводов была снята таким образом, чтобы её можно было подключить к обоим датчикам, что значительно об
После прикрепления проводов и очистки сборки с помощью IPA я нанёс ещё один кусок клейкой ленты по всей сборке и обрезал его до нужной ширины с помощью ножа X-Acto.
Затем всю сборку можно поднять и разместить на мембране. Для этого сначала отметьте центр мембраны, используя либо ориентировочные метки по бокам корпуса, либо предоставленный шаблон для печати. Убедитесь, что вы не используете центр самого датчика напряжения. Вместо этого используйте ориентировочные метки на датчике.
Поднимите узел датчика, используя сторону передаточной ленты, противоположную проводам, в качестве шарнира. Это гарантирует, что узел можно вернуть в точно такое же положение после нанесения клея. Нанесите небольшое количество суперклея на тензодатчики, а затем опустите узел обратно на мембрану. Нажмите на датчики твердо
По желанию, вы можете нанести небольшое количество дополнительного клея, чтобы закрепить провода на стороне датчика для улучшения снятия напряжения.
В качестве заключительного шага склейте две половины датчика вместе. Нанесите небольшое количество суперклея вдоль стенки нижней части, затем плотно прижмите верхнюю крышку на место. Удерживайте ее в течение 15–30 секунд, а затем дайте клею полностью высохнуть.
Ваш датчик теперь готов к использованию.
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
Проведение измерений.
Теперь у нас есть два резистора на мембране, сопротивление которых немного изменяется при приложении давления. Чтобы сенсор был полезен, нам необходимо измерить эти крошечные изменения сопротивления.
Два тензометра образуют одну половину моста Уитстона. Добавив второй делитель напряжения и подключив оба делителя к одному и тому же опорному напряжению, мы завершаем мост. Разница напряжения между двумя половинами - это то, что нас интересует. В идеале, опорный делитель остается стабильным, в то время как напряжение на делителе тензоме
Поскольку эти изменения напряжения чрезвычайно малы, их необходимо усилить, прежде чем их можно будет измерить. Так как нас интересует разница между двумя выходами моста, идеальным выбором является дифференциальный усилитель, а точнее измерительный усилитель. Наконец, аналоговый сигнал должен быть преобразован в цифровое значение.
Построение такой схемы из дискретных компонентов неоправданно сложно. Вместо этого я настоятельно рекомендую использовать готовое решение, такое как HX711 или HX717. Эти недорогие микросхемы объединяют всё, что нам нужно: стабильное опорное напряжение, дифференциальный усилитель и высокоточный аналого-цифровой преобразователь. Следующий пример
Поздравляем! Теперь у нас есть цифровое представление приложенного давления. Но является ли оно уже полезным? Вероятно, нет. Исходное значение не откалибровано и не имеет значимого ориентира. Вместо этого мы просто получаем целое число, которое не соответствует напрямую какой-либо физической величине.
Поэтому калибровка является важным этапом и переводит нас к программной части проекта. Сначала нам нужно установить контрольную точку для нулевого давления, а затем один или несколько калибровочных пунктов, которые определяют диапазон измерений.
На первый взгляд может показаться достаточным измерить датчик без приложенного давления для определения нулевой точки. Однако на практике нулевое значение меняется в зависимости от ранее приложенной нагрузки. После положительного давления показание в состоянии покоя немного выше, чем после отрицательного давления. В результате у датчика фактически есть две разные нулевые точки
Практическое решение заключается в том, чтобы рассматривать все значения между этими двумя нулевыми точками как ноль. Измерения выше положительной нулевой точки используют это значение в качестве эталона, а измерения ниже отрицательной нулевой точки используют отрицательный эталон. Затем измеренное значение можно линейно интерполировать между соответствующей нулевой точкой и
Я не калибровал датчик по какому-либо конкретному физическому эталонному значению, поэтому не могу делать какие-либо заявления о его абсолютной точности или линейности. Вместо этого я калибровал его на основе моей собственной способности выполнять жесты "глотать" и "дуть".
Если у вас есть доступ к оборудованию, способному генерировать стабильное давление или вакуум, и вы можете провести некоторые измерения, мне будет очень интересно узнать результаты, особенно в отношении линейности датчика.
Однако для моего предполагаемого использования калибровка датчика под мою собственную силу вдоха и выдоха вполне достаточна ;)
Я написал некоторый код для выполнения обработки сигнала и калибровки. Вы найдёте его в разделе загрузок этого поста.
Заключительные мысли.
Описанный датчик работает довольно хорошо для своей предполагаемой цели, и я думаю, что у него есть некоторый потенциал для проектов DIY. Я не видел ничего, что использовало бы аналогичную технику, поэтому я думаю, что стоит написать об этом и поделиться этой идеей.
Печать датчика также обеспечивает большую свободу в плане его формы и способа установки. Это может позволить вам создать продукт с изготовленным на заказ датчиком, что было бы невозможно с использованием коммерческого датчика. Вы даже можете интегрировать датчик непосредственно в корпус продукта.
Если вы используете эту идею в одном из ваших собственных проектов, я был бы рад услышать об этом.
태그
모델 소스
