Не удается получить точные показания с помощью датчика температуры PT100.

Я пытаюсь получить более точное значение температуры от датчика PT100 (2 провода) с помощью Arduino.

Вот как выглядит моя схема:

Схема

Когда температура датчика около 20 °CI, получите значение на выводе A5, равное 432, а когда датчик около 30 °CI, получите значение на выводе A5, равное 440. Как вы можете видеть, это очень маленький диапазон (432–440). ).

Я хочу больший диапазон аналогового сигнала, например, от 100 до 1000.

Может быть, я смогу как-то получить сопротивление PT100 и с помощью какой-то математической формулы получить температуру.

Что я могу сделать со своей схемой, чтобы получить более точные показания температуры?

Ответы (5)

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

Может быть, я мог бы как-то получить сопротивление PT100 и с помощью какой-то математической формулы получить температуру?

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

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

Прежде всего, если вы хотите получить точность от PT100, вы должны использовать 4-проводную версию, а не 2-проводную.

В 4-проводной версии одна пара используется для «питания» PT100, вторая используется для измерения падения напряжения в PT100. Таким образом, падение напряжения в кабеле минимально: поскольку V=RI, а I в измерительной паре почти равно нулю, падение напряжения отсутствует. При этом, поскольку PT100 не требует специального провода, очень легко преобразовать 2-проводной PT100 в 4-проводной PT100.

Вы также должны убедиться, что резистор, используемый для измерения тока, проходящего через PT100, является очень точным (например, 0,01%). Я также подозреваю, что вам понадобится AD получше, чем тот, который у вас есть в Arduino.

Если вы уверены, что получаете достаточно точные данные из AD, вам придется использовать таблицы PT100 для интерполяции значений. Метод Ньютона прост в программировании и дает хорошие результаты.

Если вы считаете, что все это слишком сложно, то вам следует переключиться на более простой датчик температуры. Например, NTC, вероятно, будет работать непосредственно на вашем Arduino, но вы получите точность ~ 1 ° вместо 0,03 °.

Это отличный ответ от вас прямо здесь, проясняет ситуацию. @alexan_e предложил мне использовать MAX31856 (RTD в цифровое преобразование), который имеет точный аналого-цифровой преобразователь, который вы предлагаете. Вы заслужили голосование за подробное объяснение. Спасибо.
Привет, у меня возник вопрос по поводу использования 4 проводов на ардуино, куда подключать измерительную пару? один к аналоговому входу, а другой? на землю?

Эта тема может быть ответом для вас Точно измерить сопротивление с помощью arduino?

Для расчета температуры можно использовать следующую формулу:

Могут быть поставлены элементы термометра сопротивления, работающие до 1000 °C. Связь между температурой и сопротивлением определяется уравнением Каллендара-Ван Дузена:

р Т знак равно р 0 [ 1 + А Т + Б Т 2 + С Т 3 ( Т 100 ) ] ( 200 С < Т < 0 С ) , р Т знак равно р 0 [ 1 + А Т + Б Т 2 ] ( 0 С Т < 850 С ) .

Здесь, р Т это сопротивление при температуре Т , р 0 это сопротивление на 0 ° С , а константы (для α знак равно 0,00385 платиновый RTD):

А знак равно 3.9083 × 10 3 С 1

Б знак равно 5.775 × 10 7 С 2

С знак равно 4.183 × 10 12 С 4 .

Источник: англоязычная Википедия ( http://en.wikipedia.org/wiki/Resistance_thermometer ) .

Я надеюсь, что это было полезно.

Я думаю, вам нужно подавать от 7 В до 12 В на контакт VIN вашего Arduino и использовать контакт AREF для одной стороны PT100, а другую — для аналогового входа. Это может помочь получить согласованные показания, но у вас все еще может быть сделать 4-проводное измерение, чтобы получить его точно.

Учебное пособие по измерению сопротивления 4-проводного Кельвина имеет хорошее объяснение 4-проводного измерения. Вы, наверное, уже подозревали об этом.

Изменить. Вы подключаете AREF к Arduino 5 В или 3,3 В, а pt100 от того же напряжения к подходящему аналоговому входному контакту на Arduino. Линейные регуляторы напряжения на плате Arduino намного более стабильны, чем ваш блок питания USB, и поэтому обеспечивают лучшую точность. Основы Arduino (аналоговый справочник)