Я создаю ПИД-регулятор для sous-vide, как этот , и пытаюсь решить, какой датчик температуры взять.
Приоритеты:
С удовольствием пойду на компромисс по любому из вышеперечисленных, если это необходимо, но это мой идеал. Также открыт для предложений о том, что еще я должен пойти на компромисс. Меня особенно интересуют мысли о таких датчиках, как датчик типа k, pt100, чип TMP36 и «стандартный» термистор 10K (хотя, если эти названия недостаточно конкретны, дайте мне знать, что мне следует знать). вместо этого ищите).
Во-первых, соглашаясь с другими: переход на точность 1,0C сделает вашу жизнь намного проще.
Кажется, вы настроены на аналоговые датчики, но я бы предложил датчик с цифровым интерфейсом. Аналоговые датчики являются либо (используемыми) радиометрическими (выдают зависящий от температуры процент Vcc), что дает нелинейный отклик, который вам придется преобразовать. Другой тип (LM35 и т. д.) является абсолютным, что требует от вас аналого-цифрового преобразования относительно опорного напряжения, которое должно быть (намного) более точным, чем желаемая точность. Если вы не хотите измерять что-то, что датчик с цифровым интерфейсом не может (например, >> 100C), это кажется лишним.
Редактировать: давайте попробуем LM35. 10 мВ/C, даже если предположить, что сам LM35 не вносит ошибок , типичный эталон (LM431 и т. д.) имеет точность 1%, что вносит погрешность в 1% в показаниях температуры! Типичный аналого-цифровой преобразователь микроконтроллера имеет разрядность 10 бит, предположим, что полная шкала соответствует эталонному напряжению 2,5 В (проверьте, позволяет ли это ваш UC!). 1-битная ошибка аналого-цифрового преобразователя (будем оптимистами! Лучше сверьтесь со спецификацией вашего uC) составляет 2,5 мВ = ошибка 1/4C. Таким образом, даже без самого датчика мы имеем погрешность +/ 1,25 C (в лучшем случае...).
Получите датчик с цифровым интерфейсом, например старый добрый ДС1820/18С20/18Б20, все ТО92. Или один из датчиков I2C или SPI, которые Microchip делает в TO220. Если вы нагреваете в лотке или что-то еще, вы можете подключить вкладку к лотку.
Получите прецизионный датчик температуры IC, такой как LM35CAZ .
Вы питаете его хорошими 5 В, а выходное напряжение представляет собой простое напряжение, которое является линейной функцией температуры. Они имеют довольно хорошую точность ±1⁄4˚C при комнатной температуре.
Несколько человек говорили о том, что «точность в диапазоне температур» для этого датчика составляет ± 1ºC. Это не тот диапазон, о котором нужно говорить. «Точность при температуре приготовления» — это правильный диапазон, о котором следует говорить. При температуре около 60ºC точность составляет ±0,7, а возможно, и выше. «Типичная» линия варьируется примерно на 0,1ºC в зависимости от вашей кулинарной плиты.
Вам, вероятно, потребуется только одна или две точки калибровки, чтобы этот датчик был достаточно точным для ваших нужд. Но, конечно, для этого требуется точный термометр, по которому можно его откалибровать. Для этого у вас есть несколько вариантов:
Вариант 1: Вы можете использовать воду. Температура воды, подвергающейся замерзанию, равна 0ºC. Так что поместите его в небольшую чашку с водой в морозильной камере и внимательно следите за выходным напряжением. Он будет падать и падать, пока вода не начнет замерзать. В этот момент температура перестанет падать и какое-то время останется неизменной. Как только заморозка завершится, температура снова начнет падать. Обратите внимание на напряжение в плоской области, чтобы использовать его в качестве точки калибровки 0ºC.
То же самое проделайте с кипяченой водой. Лучше всего это делать на уровне моря. Если вы не на уровне моря, то проверьте, какая температура кипения воды на вашей высоте.
Использование 0ºC и 100ºC не так хорошо, как использование, скажем, 50ºC и 80ºC, но это намного проще. Если у вас есть очень точный термометр, вам следует использовать точки калибровки ближе к температуре приготовления.
Вариант 2: Используйте метиловый спирт. (Спасибо stevenvh) Это кипит при 64,7ºC. Это настолько близко к вашей температуре приготовления, что вам понадобится только одна точка калибровки, чтобы получить очень точную температуру приготовления. Очевидно, будьте осторожны, чтобы не опьянеть и не взорвать себя парами. Не нагревайте спирт на открытом огне!
Поскольку вы работаете в узком диапазоне температур и вам нужна хорошая точность управления, возможно, стоит также усилить выход датчика. Это даст большее разрешение АЦП на Arduino, что приведет к большей стабильности алгоритма ПИД-регулирования. См. вопрос Преобразование уровня аналогового напряжения (сдвиг уровня) , в котором обсуждается усиление и сдвиг уровня аналогового напряжения.
Предполагая, что вы работаете в диапазоне 40–100 °C (0,4–1,0 В). Вы захотите вычесть 0,4 В из сигнала, получив 0,0 В - 0,6 В, и усилить результат с коэффициентом усиления 8, получив 0,0 В - 4,8 В. Это даст отличное разрешение.
Похоже, вы спрашиваете только о зонде. Очевидно, вы хотите что-то, что можно поставить в прямой контакт с едой. ПИД-регулятор включает в себя не только датчик обратной связи, но, похоже, вы не об этом спрашиваете. Если что-то из этого неверно, вам следует обновить свой вопрос. Я также понятия не имею, что такое "Sous Vide". Любая информация, относящаяся к этому, должна быть в вашем вопросе. Ссылки предназначены только для справочного материала.
Как упомянул Стивен, 1/2 градуса по Цельсию очень амбициозны и не нужны, когда вы говорите о еде.
Самым простым датчиком температуры будет терморезистор. Они могут обрабатывать диапазон, а в остальном им нужен только нагрузочный резистор. Результат также будет пропорциональным вашему предложению, поэтому любые изменения предложения компенсируются. Обнаружение сбоя в прошивке легко, так как показания, очень близкие к верхней или нижней части диапазона, указывают на нереальные температуры. Если вы получаете что-то за пределами допустимого температурного диапазона, вы предполагаете аппаратный сбой и входите в любой, который, по вашему мнению, является вашим безопасным режимом. Это действительно проблема прошивки, а не аппаратная проблема с термистором и правильным нагрузочным резистором.
Что касается безопасности для пищевых продуктов, лучше всего заключить зонд в стекло. Как насчет того, чтобы приклеить термистор на дно маленькой пробирки, которая затем станет зондом? Сверху можно заклеить горячим клеем или чем-то еще. Он должен быть герметичным, но еды там быть не должно. Только два изолированных провода должны выходить из верхней части трубки. Стекло довольно хорошо передает тепло. Постоянная времени датчика должна быть намного меньше, чем постоянная времени от включения нагревателя до изменения температуры пищи.
Термисторы не очень точны, если вы не платите много денег. Для одноразового хобби-проекта я бы взял любой термистор, который можно было бы иметь в нужном диапазоне, и откалибровал бы его вручную. Выполните калибровку при нескольких известных температурах, определенных надежным известным термометром, а затем интерполируйте прошивку между ними. Для получения дополнительной оценки вы даже можете найти номинальное уравнение для термистора, как можно лучше подогнать к нему ваши измеренные точки, а затем вывести из него непрерывную функцию. Вы можете заполнить фиксированную таблицу в прошивке многими сегментами из калиброванной функции, чтобы линейная интерполяция между сегментами была достаточно хорошей.
Опять же, 1/2 градуса по Цельсию требует слишком многого, но вам все равно это не нужно. Термистор, возможно, с 4 точками калибровки, подгонкой уравнения, а затем интерполяцией должен подойти для решения реальной проблемы.
Используя LM335Z, вы можете откалибровать смещение и погрешность усиления для любого заданного датчика с помощью 2 тестовых показаний при температуре от 0°C до 100°C со льдом и кипящей водой.
Затем получите проверочное показание в среднем диапазоне, скажем, 50°C.
Вы можете сделать тестовое приспособление и откалибровать один датчик в качестве серебряного эталона по сравнению с другим термометром золотого стандарта. Затем вы сохраняете ожидаемые-фактические ошибки и вычисляете линейную прогрессию или число усиления и смещения для сохранения в EEPROM, чтобы они стали калиброванным набором. Если вы получаете партию, вы можете обнаружить, что все они имеют одинаковое смещение и ошибку усиления, которую вы можете исправить в программном обеспечении, чтобы отобразить скорректированное показание.
Со стандартами 0,1°C вы можете ожидать погрешность 0,2°C и использовать любой выбранный вами дисплей, чтобы гарантировать погрешность 0,5°C для ваших критических уставок.
См. рис. 3.
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LИТЕРАТУРА/DATASHEET/CD00000459.pdf
Я бы загерметизировал датчик тонким слоем пищевой эпоксидной смолы, чтобы защитить устройство от утечки влаги, и использовал витую пару или два гибких провода витой пары, используя 2 в качестве экрана, а затем использовал «ферритовые дроссели CM» для поглощения радиочастотных помех.
Затем вам нужен АЦП, который гарантирует точность +/- 0,5 бит или, возможно, 1 из 256 уровней для считывания с точностью 0,5/100%. Это не гарантируется в большинстве Arduino, поэтому вам нужно использовать аппаратный ЦАП, чтобы проверить это в режиме «Выход минус вход» на 2-канальном осциллографе и выбрать пару переменного тока для CH1 и CH 2, а затем отобразить режим XY CH1 против Ch2, чтобы получить центральную точку, которая проходит максимум +/- 1 бит. Любой шум Vref в вашем АЦП вызовет пропущенные уровни квантования или гистерезис во время переходов, например, от 01111 до 10000, а перекрестные помехи от цифрового заземления к входному аналоговому заземлению не будут работать из-за монотонности.
Посетите сайт TI, чтобы найти литературу об ошибках АЦП.
@Richard Russell <<Я понимаю необходимость контроля 0,5 градуса C в органическом стиле приготовления пищи при низких температурах, когда живые организмы начинают быстро умирать выше температуры Пастера, когда убиваются бактерии.
Если бы это был я, я бы выполнил калибровку с точностью до 0,1 градуса, используя температуры калибровки смещения смещения между 45 и 65 градусами C после того, как он был надежно прикреплен к хорошо изолированному горшку. Тогда вы сможете превзойти любую другую коммерческую плиту на рынке... при условии, что она хорошо изолирована диэлектриком с высоким значением R.
Затем для внешнего вида, чтобы вы могли взять 500 долларов, обернуть его в прецизионную американскую СС, которая, как и «Дух Святого Людовика», глубоко поцарапана и отполирована до блеска. ;)
Спасибо, что позволили мне помочь вам в достижении вашей цели.
Основываясь на информации, приведенной в других ответах, и дальнейших поисках, я нашел водонепроницаемый зонд DS18B20 в Alpha-Crucis (ЕС). Он также доступен в Adafruit в США.
Он отвечает всем моим требованиям и имеет идеальный форм-фактор.
Стивенвх
пользователь924
Ракетный магнит
Ракетный магнит
пользователь924
Кортук
Келленджб
Кибергиббоны
Ричард Рассел
Ричард Рассел
Рассел МакМахон
Рассел МакМахон