Arduino NTC3950
тел. +7(499)347-04-82
Описание Arduino NTC3950
Arduino NTC 3950 Термистор (10 кОм)
Описание
NTC 3950 — это термистор с отрицательным температурным коэффициентом (Negative Temperature Coefficient), широко используемый в проектах на Arduino, ESP32, ESP8266 и других микроконтроллерах для измерения температуры. Название "3950" обозначает значение B-коэффициента (β = 3950 K), которое определяет кривую зависимости сопротивления от температуры.
Термистор обычно поставляется в виде:
- Голого элемента (диск/бусинка) с выводами
- В металлическом корпусе (для 3D-принтеров, термопотов, автомобильных датчиков)
- В виде готового модуля с резистором 10 кОм в делителе напряжения (для Arduino)
Чаще всего используется с последовательным резистором 10 кОм (делитель напряжения), что делает его простым в подключении к АЦП микроконтроллера.
Технические характеристики
| Параметр | Значение | |---|---| | Номинальное сопротивление (R25) | 10 кОм при 25 °C | | B-коэффициент (β25/85 или β25/50) | 3950 K (иногда 3950 ±1%) | | Диапазон рабочих температур | −50 °C … +150 °C (зависит от исполнения) | | Тип | NTC (термистор с отрицательным ТКС) | | Точность | обычно ±1% (R25), ±1% (B) | | Рассеиваемая мощность | ~50–100 мВт (в зависимости от корпуса) | | Постоянная времени | ~10–15 с (для стеклянного/эпоксидного исполнения) | | Сопротивление изоляции | ≥100 МОм | | Корпус | Эпоксид, стекло, нержавеющая сталь (для зондов) | | Выводы | 2 (неполярный) |
Как рассчитывается температура (формула Стейнхарта–Харта)
1/T = A + B·ln(R) + C·(ln(R))^3
Или упрощённая формула с β-коэффициентом:
// R — текущее сопротивление термистора
// R0 — 10000 Ом (при 25 °C)
// T0 — 298.15 K (25 °C)
float T = 1.0 / (1.0/T0 + (1.0/B) * log(R/R0));
float tC = T - 273.15;
Пример кода для Arduino
#include <math.h>
const int sensorPin = A0;
const float R0 = 10000.0; // сопротивление при 25 °C
const float Rseries = 10000.0; // последовательный резистор
const float B = 3950.0; // B-коэффициент
const float T0 = 298.15; // 25 °C в Кельвинах
void setup() { Serial.begin(9600); }
void loop() {
int raw = analogRead(sensorPin);
float R = Rseries * (1023.0 / raw - 1.0);
float T = 1.0 / (1.0/T0 + (1.0/B) * log(R/R0));
Serial.println(T - 273.15); // температура в °C
delay(1000);
}
Парт-номера и маркировки
Единого международного стандарта нет — парт-номер присваивает конкретный производитель. Наиболее распространённые:
| Маркировка / P/N | Описание | |---|---| | NTC 3950 10K 1% | Базовый парт-номер, часто без бренда (китайские производители, "NoName") | | MF52-103-3950 | Эпоксидное покрытие, 10 кОм, B=3950 | | MF52B-103F3950 | Аналог Epcos/бюджетный NTC | | MF58-3950 | Стеклянный корпус | | KS-103-3950 | Киевский/китайский вариант (SMD) | | B2, B3 | Маркировка 3D-принтеров (E3D, Makerbot) | | Semitec 104GT-2 | ±3% неоригинал, но <3900 B (совместим, но с заменой константы) | | Custom 3950 | Vanne, распиновка: DY, жёлтые и т.д. | | ATM3950E | Вариант поставки | | ELEGOO NTC 3950 | Модуль для Arduino/Mega2560 | | SKU 3950 | Обозначение в каталогах Arduino-магазинов |
Парт-номера варьируются по мере новых поставок в Китае → России.
Совместимые модели (микроконтроллеры и устройства)
Микроконтроллеры и платформы:
- Arduino Uno, Nano, Mega 2560, Leonardo, Micro
- Arduino Due, Zero (нужен пересчёт напряжения АЦП)
- ESP32 / ESP8266 (NodeMCU, Wemos D1 mini)
- Raspberry Pi Pico / Pico W
- STM32 (Blue Pill, F4 Discovery)
- Seeed Studio XIAO, Seeeduino
- Parallax, PIC-семейство
Готовые применения:
- 3D-принтеры (Hotend, Heatbed): Ender 3, Prusa i3, Anet A8, Anycubic i3, CR-10, Volcano hotend
- Паяльные станции Hakko, T12 (клоны)
- Термопоты, мультиварки, холодильники (модули Thermostat)
- Arduino Sensor Shield: модуль с цепью делителя и разъёмом
- GY-909/MAX6675 комбинации замены
Теплицы, лабораторные проекты:
- Любые проекты с библиотекой Thermistor (BetaStru/algorithmsru)
- библиотека Arduino-audio-tools/NTC_Thermistor
Преимущества и недостатки
Плюсы:
- Низкая цена (10–50 ₽ за единицу)
- Простая схема подключения
- Опорно хорошая точность в диапазоне 0–100 °C
- Доступность
Минусы:
- Нелинейная характеристика (нужен алгоритм или таблица)
- При использовании в 3D-принтере требует указывать B=3950, R=10к в прошивке (Marlin:
#define TEMP_SENSOR_0 1для EPCOS или покупного — см. таблицу Marlintemperature_sensor_table.h); часто нужен выбор соответствующего Sensor_Type = 11 (100k, но No — 3950 → код 831 есть"): правильнее указать Custom
Рекомендации по подбору и кросс-аналогам
| Зарубежный номинал | Возможный заменитель без пересчёта | |---|---| | EPCOS B57861S | No — другое R/B | | Semitec 104NT-4-R025H42G | Близкий — можно с пересчётом B=3880 → погрешность до 2 °C | | Vishay NTCLE100E3103JB0 | Совместим (10K, B=3977) с заменой B |
При замене в Klipper нужно обновлять [thermistor] в printer.cfg:
[thermistor my_ntc3950]
temperature1: 25
resistance1: 10000
beta: 3950
И для проверки I к с формулой используется прошивка – перед первым использованием желательно провести мультиметром реальное сопротивление при известной температуре и записать собственные константы B.
Вывод для практики
Термистор NTC 3950 с сопротивлением 10 кОм — универсальный рабочий элемент. Он пригоден с практической платформой Arduino, но без предварительной калибровки в прошивке модуля даст до ±1–2 °C; чтобы меньше — закажите готовые модули с диапазоном изменения по прошивке и калибровочные коэффициенты и перес помощью уравнения B-параметров и сепаратора (Sh="repeated).")
Если нужно готоврошиеся работота. я приве это структуру одну структуру. С каждым передающим получите больше информации – скажем должен распредеЛ о полные к обновите? Напис