Изменение выходного сигнала в зависимости от температуры LM35 с использованием Arduino и LINX LabVIEW

Итак, в настоящее время я работаю над небольшим проектом, который включает в себя Arduino, LINX LabVIEW и датчик температуры LM35. Я не знаю почему, но иногда на выходном графике отображается странное колебательное значение (похоже на синусоидальную волну с шумом), иногда он просто отображает стабильное значение, и его можно отрегулировать, увеличив температуру вокруг датчика.

Я просматриваю таблицу данных (https://www.ti.com/lit/ds /symlink/lm35.pdf), на рис. 13 рекомендуют добавить резистор или развязывающий конденсатор на выходе датчика. В чем проблема ? Я имею в виду, что иногда это все еще работает так, как должно быть, но в большинстве случаев это просто какая-то странная волна. Мой образ моего vi и моей настройки прикреплен ниже, поэтому, надеюсь, кто-нибудь поможет мне определить проблему и найти решение.

, 👍1


1 ответ


0

Я не часто использую LabVIEW с Arduino (UNO), поэтому вам, возможно, придется самостоятельно устранять неполадки (т. е. действительно ли A0 — это просто 0 в суб-VI?), но!

Даже без резистора (который полезен во многих случаях), ваши значения немного выходят за пределы допустимого диапазона — я ожидаю не менее 20 мВ для 2C; более того, при условии нормальной температуры окружающей среды вы должны увидеть значения около 250 мВ (но в следующий раз, пожалуйста, пометьте свои графики!). Таким образом, то, что вы видите, — это просто шум, и хотя есть способы его уменьшить, я бы начал с нового датчика и на этот раз правильно подключил его. Вам следовало поменять местами 5 В и GND, чтобы учесть тот факт, что вы изменили его расположение, ссылаясь на таблицу данных. Вы можете попробовать перевернуть его и посмотреть, работает ли он, но есть большая вероятность, что вы его сожгли.

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

Резистор может быть полезен, поскольку он помогает датчику управлять нагрузками с высокой емкостью - например, нагрузке потребуется доставить определенный заряд, прежде чем они изменят напряжение, и LM35 не может легко это сделать, но вы можете развязать и сформировать, по сути, фильтр нижних частот, добавив резистор последовательно с емкостной нагрузкой. В вашем случае я бы рассмотрел это, потому что обычно макеты содержат большую емкость; другими словами, они вполне могут действовать как конденсаторы! В любом случае, таблица данных обещает линейность 0,5 C при комнатной температуре, так что в лучшем случае вы можете получить колебания +/- 2,5 мВ или шум в диапазоне 5 мВ, но, конечно, вы всегда можете ухудшить ситуацию :)

Дайте мне знать, если вам понадобится дополнительная помощь!

,

Привет, большое спасибо за ваш ответ. Я думаю, что мне следует предоставить вам дополнительную информацию, которая, по моему мнению, может оказаться полезной. «0» в VI просто показывает канал, к которому я подключаю датчик к Arduino, в данном случае это контакт A0. Далее, из таблицы данных, которую я получил там, где я купил свой датчик, порядок контактов датчика не такой, как в таблице данных, которую я предоставил ранее, поэтому я не знаю, сжег ли я свой датчик или нет. И последнее, но не менее важное: я уже выполнил процесс преобразования данных в температуру, но меня очень смущает то, как ведут себя данные., @Minh

@Мин, тебе нужно собрать все это и обновить свой пост; иначе я не смогу вам помочь, так как исхожу из того, что вы предоставили. Я понимаю, что «0» — это A0, но я не использую Arduino с LabVIEW, поэтому не могу сказать вам, действительно ли это так. Что касается датчика, укажите место, где вы его купили. Более того, если у вас есть другой датчик, просто поменяйте контакты и посмотрите, будет ли он работать лучше. Хорошо, а какие единицы измерения указаны на графике, который вы предоставили? Это температура или напряжение? Если напряжение, то в каких единицах?, @Nick S.