Sensores de temperatura para um projeto sous-vide do Arduino


8

Estou criando um controlador PID para sous-vide, como este , e estou tentando decidir qual sensor de temperatura obter.

Prioridades:

  • Custo: <£ 25 entregue no Reino Unido
  • Precisão: +/- 0.5C
  • Faixa: 0 - 100C
  • Saída: algo que pode ser lido por um Arduino com circuitos adicionais mínimos (por exemplo, 0-5VDC, uma resistência que é facilmente medida ou saída digital como OneWire etc.)
  • Físico: à prova d'água, seguro para alimentos (idealmente) e com uma vantagem de pelo menos um metro de comprimento - idealmente, não é muito trabalho para criar esse fator de forma (não tenho uma oficina)
  • Modo de falha: seria ideal se uma falha causasse leitura de temperatura excessiva e não de temperatura baixa

É um prazer comprometer-se com qualquer um dos itens acima, se necessário, mas esse é o meu ideal. Também aberto a sugestões sobre o que mais devo comprometer. Eu estaria particularmente interessado em pensamentos sobre sensores como um tipo k, um pt100, um chip TMP36 e um termistor 10K "padrão" (embora se esses nomes não forem específicos o suficiente, informe-me como devo ser). procurando em vez disso).


1
A precisão de 0,5 ° C não faz sentido e só tornará sua vida mais difícil. 1 ° C é mais que suficiente. E mesmo isso você não pode obter com um termistor NTC sem passar um dia doloroso em calibrá-lo.
Stevenvh 28/05

1
Parece que o aplicativo realmente requer a maior precisão absoluta possível. Parece que o ponto de cozimento controlado está operando com precisão em uma faixa muito estreita de temperaturas próximas à ebulição.

5
Rocketmagnet e rocketsurgeon conversando, isso não foi confuso aos olhos.
Kortuk

1
@RichardRussell Este artigo do Gizmag é suscetível de ser interessante - julho de 2012.
Russell McMahon

1
Aqui está uma boa implementação do sous vide que pode lhe dar algumas idéias. flashingleds.net/sousvader/sousvader.html
Russell McMahon

Respostas:


5

Primeiro, concordando com os outros: buscar precisão de 1.0C tornará sua vida muito mais fácil.

Você parece estar configurado em sensores analógicos, mas eu sugiro um com uma interface digital. Os sensores analógicos são radiométricos (usados) (fornecem uma porcentagem de Vcc dependente da temperatura), o que fornece uma resposta não linear que você precisará converter. O outro tipo (LM35 etc) é absoluto, o que requer que você faça A / D com uma tensão de referência que deve ser (muito) mais precisa do que a precisão desejada. A menos que você queira medir algo que um sensor de interface digital não pode (como >> 100C), isso parece muito desagradável.

Edit: vamos tentar um LM35. 10mV / C, mesmo assumindo que o próprio LM35 não introduza nenhum erro , uma referência típica (LM431 etc) é 1% precisa, o que introduz um erro de 1% na leitura da temperatura! Um microcontrolador típico A / D é de 10 bits, vamos assumir que a escala completa é uma referência de 2,5V (verifique se o seu uC permite isso!). O erro A / D de 1 bit (sejamos otimistas !, verifique melhor a folha de dados do uC) é 2.5mV = 1 / 4C error. Portanto, mesmo sem o próprio sensor, temos um erro de + / 1,25 C (na melhor das hipóteses ..).

Obtenha um sensor de interface digital, por exemplo, o bom e velho DS1820 / 18S20 / 18B20, todos os TO92. Ou um dos sensores I2C ou SPI que a Microchip produz no TO220. Se você estiver aquecendo em uma bandeja ou algo assim, poderá conectar a aba à bandeja.


Não me importo muito se for analógico ou digital - eu não sabia que existiam dispositivos digitais. Vou editar a pergunta para esclarecer. Tendo analisado as especificações do DS18S20, parece adequado, eu só precisaria incorporá-lo em algum tipo de sonda para submergir na água - um desafio não trivial para alguém que nunca fez isso :-)
Richard Russell

Com base nas informações fornecidas nesta resposta e em várias outras, e em pesquisas adicionais, encontrei uma sonda Waterproof DS18B20 em Alpha-Crucis (UE). Também está disponível na Adafruit nos EUA. Ele atende a todos os meus requisitos e possui um formato ideal.
Richard Russell

7

Obtenha um IC com sensor de temperatura de precisão, como o LM35CAZ .

LM35CAZ

Você o alimenta com bons 5v, e a saída é uma voltagem simples, que é uma função linear da temperatura. Eles têm uma precisão muito boa de ± 1⁄4˚C em temperatura ambiente.

Adicionado:

Várias pessoas falaram sobre "Precisão acima da faixa de temperatura" para esse sensor estar em ± 1ºC. Este é o intervalo errado para se falar. "Precisão na temperatura de cozimento" é o intervalo certo para falar. A cerca de 60ºC, a precisão é de ± 0,7 e provavelmente melhor que isso. A linha 'típica' varia cerca de 0,1ºC no seu intervalo de cozimento.

Precisão de LM35CAZ

Você provavelmente só precisa de um ou dois pontos de calibração para obter esse sensor com precisão suficiente para suas necessidades. Mas, é claro, isso requer um termômetro preciso para calibrá-lo. Para isso, você tem algumas opções:

Opção 1: você pode usar água. A temperatura da água em processo de congelamento é de 0ºC. Coloque-o em um copo pequeno de água no freezer e observe a tensão de saída com cuidado. Cairá e cairá até que a água comece a congelar. Neste ponto, a temperatura irá parar de cair e permanecer plana por um tempo. Quando o congelamento estiver concluído, a temperatura começará a cair novamente. Anote a tensão na região plana para usar como seu ponto de calibração a 0ºC.

Gráfico de temperatura da água de congelação

Faça o mesmo para ferver água. É melhor fazer isso ao nível do mar. Se você não estiver no nível do mar, verifique qual é a temperatura de ebulição da água em sua altitude.

Calibrando um termômetro.

Usar 0ºC e 100ºC não é tão bom quanto usar, digamos 50ºC e 80ºC, mas é muito mais fácil. Se você tiver um termômetro muito preciso disponível, use pontos de calibração mais próximos da temperatura de cozimento.

Opção 2: Use álcool metílico. (Obrigado stevenvh) Isso ferve a 64,7ºC. Isso é tão próximo da sua temperatura de cozimento, que você só precisa de um ponto de calibração para obter uma temperatura de cozimento muito precisa. Obviamente, tenha cuidado para não intoxicar ou explodir-se com a fumaça. Não aqueça o álcool sobre uma chama nua!

Adicionado - Amplificação

Como você trabalha em uma faixa de temperatura estreita e precisa de uma boa precisão de controle, provavelmente também vale a pena amplificar a saída do sensor. Isso dará uma maior resolução ADC no Arduino, o que se traduzirá em melhor estabilidade do algoritmo de controle PID. Consulte a pergunta Conversão de nível de tensão analógica (mudança de nível), que discute a amplificação e a mudança de nível de uma tensão analógica.

Supondo que você esteja trabalhando na faixa de 40ºC - 100ºC (0,4v - 1,0v). Você quer subtrair 0,4v do sinal, dando 0,0v - 0,6v, e amplificar o resultado com um ganho de 8, dando 0,0v - 4,8v. Isso dará uma excelente resolução.


A precisão acima da faixa de temperatura é de 1 ° C. 0,25 ° C é conversa de vendas.
Stevenvh 28/05

1
@stevenvh - "Precisão sobre temperatura" é o intervalo errado para se falar. "Precisão na temperatura de cozimento" é o intervalo certo para falar.
Rocketmagnet

0,5 ° C é especificado a 25 ° C. A temperatura de cozimento será mais próxima ou mais próxima da faixa de temperatura? Eu acho que o último.
Stevenvh 28/05

4
Você pode calibrar no ponto de ebulição do álcool metílico em vez da água: 64,7 ° C.
Stevenvh 28/05

2
Aumentar a faixa útil para cobrir a faixa do sensor reduzirá o ruído de quantização, mas você também deve observar que agora ele adiciona seu próprio conjunto de erros. Mesmo se você calibrar em um único ponto, agora você deve considerar o desvio da tensão de deslocamento da entrada do amplificador acima da temperatura do dispositivo, e não do material que está sendo cozido. Não estou dizendo que amplificar é ruim, apenas se você recomendá-lo, também deve indicar os problemas que o acompanham.
Olin Lathrop

3

Parece que você está perguntando apenas sobre o probe. Aparentemente, você quer algo que possa colocar em contato direto com a comida. Um controlador PID inclui muito mais do que apenas o sensor de feedback, mas parece que você não está perguntando sobre isso. Se algo estiver incorreto, atualize sua pergunta. Eu também não tenho idéia do que é uma coisa "Sous Vide". Qualquer informação relevante deve estar na sua pergunta. Os links são apenas para material de fundo.

Como Steven mencionou, 1/2 degC é muito ambicioso e desnecessário quando você está falando sobre comida.

O sensor de temperatura mais fácil será um termistor. Eles podem lidar com a faixa e precisam apenas de um resistor de carga. O resultado também será ratiométrico para o seu suprimento, portanto, quaisquer variações no suprimento serão canceladas. A detecção de falha é fácil no firmware, pois leituras muito próximas à parte superior ou inferior da faixa indicam temperaturas irrealistas. Se houver algo fora de uma faixa de temperatura válida, você assume uma falha de hardware e insere o que acha que é o seu modo de segurança. Este é realmente um problema de firmware, não de hardware com um termistor e o resistor de carga correto.

Quanto a torná-lo seguro para alimentos, colocar a sonda em vidro deve ser bom. Que tal epoxar o termistor no fundo de um pequeno tubo de ensaio, que se torna a sonda? A parte superior pode ser selada com cola quente ou algo assim. Ele precisa ser à prova d'água, mas os alimentos não devem estar lá. Apenas dois fios isolados devem emergir da parte superior do tubo. O vidro é bastante bom na transmissão de calor. A constante de tempo da sonda ainda deve ser bem menor que a constante de tempo entre a energia do aquecedor e a temperatura de mudança de alimentos.

Os termistores não são muito precisos, a menos que você pague muito dinheiro. Para um projeto de hobby único, eu pegava qualquer termistor que pudesse ser encontrado na faixa certa e calibrava manualmente. Calibre em algumas temperaturas conhecidas determinadas a partir de um termômetro confiável e, em seguida, faça com que o firmware interpole no meio. Para crédito extra, você pode até procurar a equação nominal do termistor, ajustar seus pontos medidos da melhor forma possível, e daí derivar a função contínua. Você pode preencher uma tabela fixa no firmware com muitos segmentos da função calibrada, para que a interpolação linear entre segmentos seja bastante boa.

Novamente, 1/2 degC está pedindo demais, mas você realmente não precisa de muito. Um termistor com talvez 4 pontos de calibração, ajuste de equação e interpolação deve ser bom para resolver o problema real.


Calibre para 1/2 grau usando um termômetro conhecido e confiável, não é esse o problema? O termômetro de referência deve ser pelo menos tão preciso, de preferência mais preciso, que esse 1/2 grau.
Federico Russo

1
@Federico: Está movendo o problema da precisão, mas o termômetro de referência pode ser qualquer tecnologia, não precisa ser seguro para alimentos e não precisa ser legível por máquina. Um termômetro decente de mercúrio (ou outro líquido) destinado a esse intervalo deve estar disponível sem muita dificuldade.
Olin Lathrop

Eu tenho um termômetro de sonda decente que é calibrado que posso usar para calibrar este. Não preciso dele diretamente em contato com a comida, mas como ela ficará submersa em líquido em uma panela de arroz que também posso usar para cozinhar arroz, não quero que vaze algo tóxico ... A "Sous A coisa "Vide" é um método de cozinhar com temperaturas precisas em sacos embalados a vácuo em banho-maria. Estou construindo um controlador PID a partir de um Arduino e, neste caso, só preciso decidir sobre o sensor de temperatura.
Richard Russell

1

Usando o LM335Z, você pode calibrar o deslocamento e obter erros para qualquer sensor com 2 leituras de teste a 0'C 100'C com gelo e água fervente.

Em seguida, obtenha uma leitura de verificação no intervalo médio, digamos 50'C.

Você pode fazer um gabarito de teste e calibrar um sensor como seu padrão prateado contra outro, o termômetro padrão ouro. Você salva os erros reais esperados e calcula uma progressão linear ou um número de ganho e deslocamento para salvar na EEPROM para que eles se tornem um conjunto calibrado. Se você receber um lote, poderá descobrir que todos têm o mesmo erro de deslocamento e ganho que você pode corrigir no software para exibir a leitura corrigida.

Com os padrões de 0,1'C, você pode esperar um erro de 0,2'eg e usar qualquer monitor que escolher para garantir esse erro de 0,5'C para seus pontos de ajuste críticos.

Veja a Fig. 3

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000459.pdf

Eu selava o sensor com uma fina camada de epóxi de qualidade alimentar para proteger o dispositivo contra vazamentos de umidade e usava fios flexíveis de par trançado ou dois pares trançados usando 2 como blindagem e depois usava "bobinas de ferrite CM" para absorver a interferência de RF.

Você precisa de um ADC com precisão garantida de +/- 0,5 bits ou talvez 1 em 256 níveis para ler 0,5 / 100% de precisão. Isso não é garantido na maioria dos Arduino; portanto, você precisa usar um DAC de hardware para testá-lo na Saída menos Entrada em um escopo de 2 canais e selecione o par AC para CH1 e CH 2 e, em seguida, exiba o modo XY CH1 vs Ch2 para obter um ponto central que percorre no máximo +/- 1 bit. Qualquer ruído Vref no seu ADC causará níveis de quantização ignorados ou histerese durante transições como 01111 a 10000 e a diafonia do solo digital para a entrada de alimentação analógica do solo falhará na monotonicidade.

Verifique o site da TI para obter literatura sobre erros ADC.

@ Richard Russell << Agradeço a necessidade de um controle de 0,5 ° C em estilos de cozimento orgânico a baixas temperaturas, onde o organismo vivo começa a morrer rapidamente acima da temperatura de Pasteur quando a bactéria é morta.

Se fosse eu, eu calibraria com precisão de 0,1 graus usando minhas temperaturas de calibração de ganho de deslocamento entre 45 e 65 graus C depois que ele estiver firmemente conectado ao pote bem isolado. Então você pode executar qualquer outro fogão comercial no mercado ... supondo que ele esteja bem isolado em dielétrico de alto valor de R.

Então, pela aparência, para que você possa cobrar US $ 500, envolva-a com precisão SS americana que, como o "Spirit of St Louis", esteja profundamente arranhada e polida. ;)

Pessoalmente, eu teria o ácido exterior da SS gravado por profissionais que fazem isso todos os dias com uma obra de arte com significado histórico de culinária por US $ 50 e depois cobram mais por obras de arte personalizadas com logotipo pessoal e nome da empresa. Basta perguntar se você precisa de uma boa ref.

Obrigado por me deixar ajudá-lo com seu objetivo.


Saúde - isso é realmente útil. Devo dizer que eu não tenho nenhuma idéia do que "American SS" é, mas soa agradável :-)
Richard Russell

SS = Aço inoxidável
dext0rb

Certamente, quando você calibrar o sensor, estará fazendo isso após o ADC. Portanto, você também está calibrando o erro ADC?
Rocketmagnet

0

Com base nas informações fornecidas em outras respostas e em pesquisas adicionais, encontrei uma sonda Waterproof DS18B20 em Alpha-Crucis (UE). Também está disponível na Adafruit nos EUA.

Ele atende a todos os meus requisitos e possui um formato ideal.


1
este é apenas um link para um produto e não há informações sobre o motivo. Existem usuários que colocam muito trabalho em respostas para ajudar a ensiná-lo e a aceitação normalmente é uma recompensa por essa tarefa, especialmente se eles fizeram o trabalho de guiá-lo aqui.
Kortuk

OK, vou aceitar uma resposta diferente. Onde devo colocar minha própria conclusão?
Richard Russell

Eu estava dizendo duas coisas: 1) Se a resposta de alguém foi o que realmente o levou até aqui, ele provavelmente deveria ser aceito. 2) Escrever respostas é mais do que aceitável, mas você pode nos dar mais informações do que apenas um link. No momento, não sei mais nada, então, que este dispositivo é carregado em alguns lugares e é à prova d'água.
Kortuk

I fez um Sous Vide usando um DS18B20, aquele com ponta de plástico, mas o modelo com ponta metálica é melhor. Para cozinhar é bom o suficiente (eu estou usando diariamente) e +/- 1 ° C é tudo que você precisa. A temperatura não é uniforme na sua panela; pode ser de +/- 3 ° C, dependendo de onde você coloca a sonda e como você aquece a água (placa de imersão v / s), ou se a água está circulando ou não.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.