Получение данных с массива датчиков
Получение данных с массива датчиков
Есть в наличии несколько датчиков pt100, есть мультиплексор 74hc4051, есть max31865 и есть МК, который всем этим будет рулить
идея следующая: к контроллеру подключить max, к нему подключить мультиплексор, к которому в свою очередь подключить несколько датчиков температуры (подключение 3-х проводное), далее контроллер на мультиплексоре перещёлкивает каналы и через max меряет температуру на всех датчиках.
Если с подключением контроллера более менее понятно, то вопрос собственно как мультиплексор, датчики и max подружить друг с другом?
идея следующая: к контроллеру подключить max, к нему подключить мультиплексор, к которому в свою очередь подключить несколько датчиков температуры (подключение 3-х проводное), далее контроллер на мультиплексоре перещёлкивает каналы и через max меряет температуру на всех датчиках.
Если с подключением контроллера более менее понятно, то вопрос собственно как мультиплексор, датчики и max подружить друг с другом?
-
Призрачный Суслик
- Прорезались зубы
- Сообщения: 246
- Зарегистрирован: Ср фев 04, 2026 21:29:19
- Откуда: Из норки где-то в России
Re: Получение данных с массива датчиков
Когда то использовал для этого массив реле, да не простых а с "содержанием жёлтого металла" в контактах. Подключение было 4х проводное для простоты (по 2 реле на канал) к промышленному термометру. Коммутация через компьютерную плату ввода-вывода и блок дешифраторов К155ИД3 + транзисторы. 1000 каналов. Работало до самого конца предприятия в 2000 году, когда платы с реле "испарились" внезапно из стоек без каких либо эффектов замеченных охраной. После переключения надо было запускать измерение температуры несколько раз, видимо из-за дребезга контактов термометр подглючивало. На третий и четвертый разы корректное измерение проходило.
А так 4х проводке не сильно важно переходное сопротивление контактов, главное что-бы было примерно одинаковым.
А так 4х проводке не сильно важно переходное сопротивление контактов, главное что-бы было примерно одинаковым.
- linux_rulezz
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
Re: Получение данных с массива датчиков
У мультиплексора слишком сильно меняется сопротивление открытого канала, чтобы одним можно было измерять температуру.
Я для платиновых терморезисторов делал схему опроса на внешнем 24-битном АЦП с собственным источником тока, а коммутировал тремя мультиплексорами (по статье одного китайца, там еще и методика измерения с переключением опорных токов). Получалось достаточно точно: рассогласование между восемью измерениями не превышало 0.1℃ в диапазоне от азота до комнатной температуры.
Могу поискать эту статью, если интересно.
Кстати, если высокая точность не нужна, можно и одним мультиплексором: существуют с Ron в районе десятков-сотни миллиом.
Я для платиновых терморезисторов делал схему опроса на внешнем 24-битном АЦП с собственным источником тока, а коммутировал тремя мультиплексорами (по статье одного китайца, там еще и методика измерения с переключением опорных токов). Получалось достаточно точно: рассогласование между восемью измерениями не превышало 0.1℃ в диапазоне от азота до комнатной температуры.
Могу поискать эту статью, если интересно.
Кстати, если высокая точность не нужна, можно и одним мультиплексором: существуют с Ron в районе десятков-сотни миллиом.
Windows must die!
-
Goblinator
- Потрогал лапой паяльник
- Сообщения: 387
- Зарегистрирован: Вс фев 27, 2011 23:37:04
Re: Получение данных с массива датчиков
ни как. Ибо PT100 это датчик сопротивления и попытка винсертить между ним и платой преобразователя мультиплексор приведет к хаосу при измерениях. Или ставить сигнальные реле (с неизвестным результатом) или для каждого датчика ставить свой max. Причем сигнальные реле в итоге окажутся дороже, чем готовые платы с max31865 по одной на датчик.kelod писал(а): Ср май 06, 2026 16:58:35 Есть в наличии несколько датчиков pt100, есть мультиплексор 74hc4051, есть max31865 и есть МК, который всем этим будет рулить
идея следующая: к контроллеру подключить max, к нему подключить мультиплексор, к которому в свою очередь подключить несколько датчиков температуры (подключение 3-х проводное), далее контроллер на мультиплексоре перещёлкивает каналы и через max меряет температуру на всех датчиках.
Если с подключением контроллера более менее понятно, то вопрос собственно как мультиплексор, датчики и max подружить друг с другом?
Последний раз редактировалось Goblinator Ср май 06, 2026 17:31:33, всего редактировалось 1 раз.
Re: Получение данных с массива датчиков
я строю инкубатор, точность нужна по идее 0.5С, но чем точнее тем конечно лучше.linux_rulezz писал(а): Ср май 06, 2026 17:23:48 У мультиплексора слишком сильно меняется сопротивление открытого канала, чтобы одним можно было измерять температуру.
Я для платиновых терморезисторов делал схему опроса на внешнем 24-битном АЦП с собственным источником тока, а коммутировал тремя мультиплексорами (по статье одного китайца, там еще и методика измерения с переключением опорных токов). Получалось достаточно точно: рассогласование между восемью измерениями не превышало 0.1℃ в диапазоне от азота до комнатной температуры.
Могу поискать эту статью, если интересно.
Кстати, если высокая точность не нужна, можно и одним мультиплексором: существуют с Ron в районе десятков-сотни миллиом.
покупать десяток максов как то накладно выходит, плюс их всё равно нужно к контроллеру подключать, а это ни каких ног не напасёшься
-
Goblinator
- Потрогал лапой паяльник
- Сообщения: 387
- Зарегистрирован: Вс фев 27, 2011 23:37:04
Re: Получение данных с массива датчиков
Серьезно думаете, что наседки дают в природе такую точность поддержания температуры ииц?kelod писал(а): Ср май 06, 2026 17:29:10 я строю инкубатор, точность нужна по идее 0.5С, но чем точнее тем конечно лучше.
гуглите DS18B20kelod писал(а): Ср май 06, 2026 17:29:10 покупать десяток максов как то накладно выходит, плюс их всё равно нужно к контроллеру подключать, а это ни каких ног не напасёшься
цена вопроса семьдесят рублей за влагозащищенное исполнение с куском провода, последовательно цепляется почти неограниченное количество датчиков. И все на три ноги микроконтроллера.
- linux_rulezz
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
Re: Получение данных с массива датчиков
DS18 - редкостная гадость. Особенно с учетом того, что вероятность наткнуться на "паль", покупая на алике, примерно 100%.
Полным-полно датчиков на I2C или SPI. Скажем, AHT и т.п. Взять, скажем, AHT21B - "бонусом" будет измерение влажности. И точность будет куда выше, чем у отбраковки PT100, купленной на алике.
Полным-полно датчиков на I2C или SPI. Скажем, AHT и т.п. Взять, скажем, AHT21B - "бонусом" будет измерение влажности. И точность будет куда выше, чем у отбраковки PT100, купленной на алике.
Windows must die!
Re: Получение данных с массива датчиков
Вместо кучи проводов от датчиков к контроллеру используйте беспроводное соединение, например на основе Bluetooth. Датчик температуры вместе с передатчиком с автономным питанием будет работать несколько лет без смены источника.
Re: Получение данных с массива датчиков
наседки - это наседки, но они выводят по 10 яиц, а не сотнями. при больших размерах инкубатора и 1 датчике температуры практически не возможно обеспечить равномерную температуру по всех площади, это я ещё молчу о режимах проветривания, охлаждения и увлажнения. нужен контроль температуры именно по площади, следовательно нужна матрица датчиковGoblinator писал(а): Ср май 06, 2026 17:39:40 Серьезно думаете, что наседки дают в природе такую точность поддержания температуры ииц?
возможно, вот только где взять оригинальный DS18B20? китайцы шлют транзисторы и прочую гадость вместо нихGoblinator писал(а): Ср май 06, 2026 17:39:40 гуглите DS18B20
цена вопроса семьдесят рублей за влагозащищенное исполнение с куском провода, последовательно цепляется почти неограниченное количество датчиков. И все на три ноги микроконтроллера.
где же взять эти датчики? да ещё что бы были влагозащищённые и небольшого размераSer60 писал(а): Ср май 06, 2026 23:42:38 Вместо кучи проводов от датчиков к контроллеру используйте беспроводное соединение, например на основе Bluetooth. Датчик температуры вместе с передатчиком с автономным питанием будет работать несколько лет без смены источника.
Re: Получение данных с массива датчиков
инкубатор нужно дизанфицировать, обычно для этого используются сильные окислители (перекись водорода, хлоргексидин, в крайнем случае марганцовка), уверены что эти датчики влажности перенесут подобные обработки? плюс повышенная влажность и температура, датчики должны быть влагозащищенными, маленькими в размерах. а проблему отбраковки можно решить большим количеством датчиков, плюс обучить контроллер распознавать неадекватные их показанияlinux_rulezz писал(а): Ср май 06, 2026 18:59:29 Полным-полно датчиков на I2C или SPI. Скажем, AHT и т.п. Взять, скажем, AHT21B - "бонусом" будет измерение влажности. И точность будет куда выше, чем у отбраковки PT100, купленной на алике.
Re: Получение данных с массива датчиков
я тут поразмыслил....
если мультиплексор нельзя, то может быть обычное реле можно? но реле наверное слишком не надёжное будет и громкое, ведь температуру нужно будет измерять постоянно.
а что если взять геркон, надеть на него катушку и уже эту катушку мультиплексировать? вопрос возникает сколько герконов брать на один датчик, при 3,4 проводном соединении? каких?
если мультиплексор нельзя, то может быть обычное реле можно? но реле наверное слишком не надёжное будет и громкое, ведь температуру нужно будет измерять постоянно.
а что если взять геркон, надеть на него катушку и уже эту катушку мультиплексировать? вопрос возникает сколько герконов брать на один датчик, при 3,4 проводном соединении? каких?
- linux_rulezz
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
Re: Получение данных с массива датчиков
ОДИН мультиплексор нельзя. А три-четыре - очень даже можно.
Прикладываю статью Henry He "Minimizing Errors in Multiplexed 3-Wire RTD Data-Acquisition Systems", по которой я делал опрос восьми платиновых терморезисторов HEL-705 при помощи самых тупых мультиплексоров с сопротивлением открытого канала аж в несколько сот Ом!
Ну купите вы NX3L4051 - 0.5Ом сопротивление канала на 3.3В. Т.е. сопротивление канала значительно меньше, чем PTC. Особенно если взять терморезисторы на 1кОм при 25℃. 100 Ом - маловато, погрешность выше будет.
Хотя, для курей… Там и ±1℃ пойдет, так что, думаю, с вашим АЦП и тремя мультиплексорами вполне должно работать.
- Вложения
-
- 3_wire_rtd.pdf
- (85.65 КБ) 7 скачиваний
Windows must die!
Re: Получение данных с массива датчиков
не пойдёт, вот смотрите, температура инкубации 37.8, если погрешность делать в 1 градус, то получаем 36.8 - уже сильно холодно(большая вероятность что замрёт в развитии и погибнет), 38.8 - сильно жарко, зародыш такое выдержит разве что первые пару дней, дальше погибнет от перегрева. умные советские книжки пишут, что температура не должна выходить за пределы 37.3-38.3, т.е. +/-0.5 градуса получается.
но это что касается курей, мне же нужно инкубатор для индюков делать, а они ещё более не устойчивы к перегреву, как и к переохлаждению.
Вы же сами когда болеете, если температура на 1 градус поднимается (37,6) то чувствуете себя мягко сказать фигово, так же и птенцы, там должны быть достаточно стабильные условия, тем более для птенцов
хотите сказать, что можно поставить 3 мультиплексора(каждый рвёт свой провод) для 3 проводной схемы и не заморачиваться? а сопротивление у разных мультиплексоров одинаковое?
или всё таки лучше городить огород с герконами или герконовыми реле?
измерять температуру мне нужно хотя бы раз в 5 секунд, лучше конечно чаще (датчиков у меня будет от 4 до 16 примерно), после всего этого мне ещё нужно будет пид регулирование организовать и чтобы температура устаканивалась как можно быстрее, без перегревов и недогревов
- linux_rulezz
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
Re: Получение данных с массива датчиков
Хочу сказать, что статью китайца я не зря приложил. Но в вашем случае погрешность этих 0.5Ом на открытом канале мультиплексоров никак не скажется на измерении, даже если и не следовать алгоритму китайца. Только датчики лучше взять на 1кОм. И можно тем же АЦП пользоваться, заточенным на PTC.
Тогда нужно будет обязательно все датчики откалибровать и использовать калибровочные поправки (как минимум - нуль-пункты) при работе. Потому что дешевые PTC обычно дают достаточно плохую точность, там очень редко лучше 0.5% выйдет "из коробки" (а это, напомню, аж ±1.5℃). Поверенные содержат исправленные коэффициенты вычислений, но стоят порядка 2-5 тысяч рублей за штучку. Проще это самому сделать, тем более, в вашем случае нужна калибровка на достаточно узком диапазоне температур (возможно, действительно хватит всего лишь нуль-пунктов).kelod писал(а): Чт май 07, 2026 11:54:53 мне же нужно инкубатор для индюков делать, а они ещё более не устойчивы к перегреву, как и к переохлаждению
У герконов очень высокое сопротивление контакта, еще и всякие проблемы возможны. Не годится. Реле тоже не пригодны. Чем вам не нравятся мультиплексоры, у которых всего-то 0.5 Ом сопротивление?kelod писал(а): Чт май 07, 2026 11:54:53 или всё таки лучше городить огород с герконами или герконовыми реле?
Думаю, и 1Гц для сотни датчиков не будет проблемой даже с внешним SPI'ным АЦП.
Как пример, мой код (там вообще тупые NTC, но мне лучше 3℃ точность не нужна для вентиляторов-то): откалибровал по платиновому, построил несколько узлов, а между ними - тупая линейная интерполяция.
ЖЖ раз, ЖЖ два.
Windows must die!
- linux_rulezz
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
Re: Получение данных с массива датчиков
А, вот еще - для МК с флоатами нарисовал вчера табличное вычисление температуры по сопротивлению, тоже с кусочно-линейной интерполяцией, но т.к. шаг в 1℃, то все гораздо проще. Сначала думал тупо логарифм использовать, но он аж 4+ кБ во флеш добавляет, да и наверняка куда дольше будет вычисляться.
Windows must die!
Re: Получение данных с массива датчиков
так естественно они все калиброваться будут и коэффициенты хранится в памяти контроллераlinux_rulezz писал(а): Чт май 07, 2026 12:13:53 Тогда нужно будет обязательно все датчики откалибровать и использовать калибровочные поправки (как минимум - нуль-пункты) при работе.
у герконов заявлено сопротивление контакта <0.1 Ом, какое оно высокое? пусть даже использовать их 3 или 4 штуки, будет 0.5 Ом в сумме, возможно есть варианты и с меньшими сопротивлениями, главное чтобы они были одинаковые, 3 или 4 проводная схема это компенсирует.linux_rulezz писал(а): Чт май 07, 2026 12:13:53 У герконов очень высокое сопротивление контакта, еще и всякие проблемы возможны. Не годится. Реле тоже не пригодны. Чем вам не нравятся мультиплексоры, у которых всего-то 0.5 Ом сопротивление?
мультиплексоры мне перестали нравится, потому что у них какие-то не стабильные параметры, как оказалось, в даташите для 74HC4051 написано, что у него сопротивление очень зависит от температуры и спокойно может плавать от 70 до 200 Ом, и всё бы ничего, если бы оно было одинаковое на всех каналах и у разных экземпляров, но как я понимаю гарантий нет.
мне очень лениво всю эту математику самому считать, по мне так проще взять какой нибудь max31865 и получать с него данные о температуре, но он её меряет не мгновенно, плюс нужно учесть время на устакаивание параметров при переключении, а так как датчики я буду опрашивать последовательно, то и времени будет требоваться тем больше, чем больше датчиков
- linux_rulezz
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
Re: Получение данных с массива датчиков
Это - советские, качественные. У них и вакуум "настоящий" внутри, так что контакты не мрут из-за низкого тока, да и не "залипают" от длительного пребывания в одном состоянии. А вот китайские подделки с алиэкспресса - это нечто! Использовал пару раз. Оба раза буквально через месяц-два геркон "залипал". Я его благополучно выбрасывал и заменял на датчик Холла.kelod писал(а): Чт май 07, 2026 12:54:30 у герконов заявлено сопротивление контакта <0.1 Ом, какое оно высокое?
Ну так если он при комнатной температуре, то вообще наплевать. И да, расхождение между сопротивлением не так уж и высоко, а общее сопротивление в четырехпроводной схеме компенсируется.kelod писал(а): Чт май 07, 2026 12:54:30 мультиплексоры мне перестали нравится, потому что у них какие-то не стабильные параметры
Я же выше написал, какой надо брать!
Windows must die!
Re: Получение данных с массива датчиков
сомневаюсь что у них внутри был вакуум, скорее всего всё тот же аргон, в вакууме они быстрее залипнут, чем в инертном газеlinux_rulezz писал(а): Чт май 07, 2026 13:39:35 Это - советские, качественные. У них и вакуум "настоящий" внутри
вот Вам не советские https://www.chipdip.ru/product/mka-1410 ... 9000325339
такие же и у китайцев продаются, с той лишь разницей, что они у них 7 р штука стоят, а у дипа 42 р
хотя про качество я сказать ничего не могу
комнатные температуры тоже бывают разные) от +10 осенью, когда нет отопления, до +30 летом, в жаруlinux_rulezz писал(а): Чт май 07, 2026 13:39:35 у так если он при комнатной температуре, то вообще наплевать. И да, расхождение между сопротивлением не так уж и высоко, а общее сопротивление в четырехпроводной схеме компенсируется.
да все эти 4-х и 3-х проводные схемы работают адекватно, лишь при условии что сопротивление проводов одинаковое, а в данном случае какое же оно одинаковое?
где же мне взять NX3L4051? китайцы о таком даже не слышали. не поделитесь ссылкой?
-
Goblinator
- Потрогал лапой паяльник
- Сообщения: 387
- Зарегистрирован: Вс фев 27, 2011 23:37:04
Re: Получение данных с массива датчиков
в Чип-И-Дипе?kelod писал(а): Чт май 07, 2026 09:00:39 возможно, вот только где взять оригинальный DS18B20? китайцы шлют транзисторы и прочую гадость вместо них
Re: Получение данных с массива датчиков
по 180 р штука, + пересылка? спасибо, но дешевле и надёжнее платиновые датчики выходятGoblinator писал(а): Чт май 07, 2026 14:14:38в Чип-И-Дипе?kelod писал(а): Чт май 07, 2026 09:00:39 возможно, вот только где взять оригинальный DS18B20? китайцы шлют транзисторы и прочую гадость вместо них