Используйте датчик температуры LMT86 с АЦП MCP3008.

В настоящее время я работаю над небольшим проектом, используя LMT86 и MCP3008 в качестве датчика температуры для Raspberry Pi. Схема очень проста:

Схема подключения LMT86 к MCP3008

Итак, пара вопросов, которые у меня есть:

  1. В техническом описании MCP3008 «6.4 Рекомендации по компоновке» упоминается, что питание 3,3 В поступает от контакта Raspberry Pi GPIO 3V3. Нужно ли использовать C1для фильтрации любых потенциальных шумов? Или Raspberry Pi может гарантировать отсутствие шума на выводе 3V3?

  2. В техническом описании LMT86 «8.4.3 Емкостные нагрузки» указано, что

    Без каких-либо мер предосторожности LMT86 может управлять емкостной нагрузкой, меньшей или равной 1100 пФ, как показано на рисунке 11.

    А поскольку емкость конденсатора образца MCP3008 составляет всего 20 пФ ( стр. 4 ), все должно быть в порядке без использования резистора между LMT86 OUT и MCP3008 CH0. Я правильно прочитал?

  3. Что касается C29.2.1.1 Требования к дизайну, сказано, что

    Когда АЦП заряжает пробоотборный колпачок, ему требуется мгновенная зарядка от выхода аналогового источника, такого как датчик температуры LMT86 и многие операционные усилители. Это требование легко удовлетворить добавлением конденсатора CFILTER.

    На странице 3 указано, что «время выборки аналогового входа» составляет 1,5 тактовой частоты, а на странице 4 указано, что максимальная «тактовая частота» составляет 1,35 МГц. Используя формулу, найденную здесь : (R_on + R_out) * C_sample < 1 / resolution * T_sample, где:

    • R_on = 1000Ω( стр.4 , "Сопротивление переключателя"),
    • C_sample = 20pF( стр. 4 , "Конденсатор образца"),
    • разрешение = 10 бит,
    • T_sample= 1/1,35 МГц (фактическая частота SPI составляет всего 0,1 МГц с adafruit_blinkaдрайвером),
    • Хотя я не нашел правильное число R_out, тестируя, я знал, что вывод LMT86 OUT обычно имеет около 1 ~ 2 В в моем случае использования, а максимальный выходной ток составляет 7 мА ( стр. 5 ), поэтому я думаю, что R_outэто пара сотен до один килоом. БратьR_out = 1kΩ

    тогда (R_on + R_out) * C_sample = (1000 + 1000) * 20e-12 = 4e-8, и 1 / 100 * T_sample = 0.1 * 1.35e-6 = 13.5e-8, поэтому формула верна даже при максимальной тактовой частоте, поддерживаемой MCP3008.

    Итак, мой вопрос: означает ли это, что C2это не нужно?

    Мои тесты показали, что использование или неиспользование C2дает один и тот же результат.

Ответы (1)

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

  2. Датчик может управлять емкостной нагрузкой 1100 пФ, которая постоянно подключена. Вход АЦП представляет собой конденсатор емкостью 20 пФ, который будет периодически включаться и выключаться на выходе датчика для зарядки для измерения напряжения. Техническое описание LMT86 специально предупреждает о подключении АЦП с переключаемой емкостью. Однако, поскольку входной переключатель АЦП имеет сопротивление около 1 кОм, он должен работать напрямую. Но не помешает пририсовать туда лишний резистор 0 Ом, если нужно поменять на что-то большее.

  3. Это может быть ненужным. Но можно оставить место для конденсатора, если он понадобится. Если LMT86 имеет очень высокое выходное сопротивление, ему потребуется конденсатор. Например, грубые расчеты будут заключаться в том, что зарядить 20 пФ, чтобы напряжение не падало более чем на половину 10-битного шага, — это взять 20 пФ и умножить на 2 ^ 11, и вы получите около 47 нФ.

Спасибо за ваши отличные ответы! Я буду следовать вашим предложениям в моем дизайне!