Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Fumador de carvão com temperatura controlada

Componentes e suprimentos

Arduino MKR1000
× 1
5V Brushless Blower
× 1
Módulo de driver MOSFET IRF520N
× 1
Termistores NTC de 100K ohm
× 1
Breadboard (genérico)
× 1
Fios de jumpers (genérico)
× 1
Bateria Lipo 3,7 V> =700mAh
× 1

Aplicativos e serviços online

Arduino IDE
Microsoft Visual Studio 2015

Sobre este projeto





A História de Fundo


A maioria dos fumantes sérios de churrasco sabe que o melhor sabor vem do uso de carvão para aquecer seus fumantes. Fumantes de propano e elétricos têm melhor controle de temperatura, mas perdem o sabor do carvão. Como fonte de calor, o carvão pode ser uma dor. Você precisa monitorar constantemente a temperatura, ajustar as aberturas para tentar obter a temperatura certa e ter que brincar com isso algumas vezes para obtê-la da maneira certa. Então, você tem que continuar fazendo isso a cada meia hora, conforme o nível de carvão do fumante muda. Não seria ótimo apenas sentar no sofá, curtindo sua bebida gelada favorita e evento esportivo na TV, enquanto deixa o fumante fazer o seu trabalho?





O Projeto


Crie um controlador que monitore a temperatura no fumante e ajuste o fluxo de ar ao carvão para manter a temperatura correta. Além disso, forneça uma maneira de monitorar remotamente as temperaturas do fumante e das sondas de carne. Isso se baseia no Arduino MKR1000, que será lançado em breve, com Wi-Fi integrado e suporte para carregar uma bateria LiPo.





O Hardware


A temperatura na fumaça é monitorada usando um termistor NTC 100K em um divisor de tensão conectado a uma das entradas analógicas do MKR. Este termistor foi escolhido porque é usado para hot ends Prusa RepRab em impressoras 3D, por isso são amplamente disponíveis e baratos. O pode ser comprado já soldado ao fio isolado de silicone de alta temperatura para fazer a sonda de temperatura ideal. O termistor é inserido em um tubo de aço inoxidável fino (1/4 polegada ou menor) para proteção física com uma extremidade frisada para fechá-la e os fios presos na outra extremidade usando termorretrátil.

O divisor de tensão usa um resistor de 10K como a outra metade do divisor de tensão. Este valor foi escolhido porque é próximo à resistência do termistor NTC 100K em temperaturas típicas de fumante (225 F). Isso dá uma boa faixa para medição de temperatura, fornecendo leituras de cerca de 50 F a mais de 300 F com granularidade razoável.

A0 é usado para monitorar a temperatura. Ele usa uma sonda mais curta que é colocada na grelha dentro do fumante. Os outros pinos analógicos podem ser usados ​​para criar mais pontas de prova termistor e divisores de voltagem a serem inseridos na carne que está sendo defumada para monitorar a temperatura interna da carne para saber quando ela está cozida.

Do outro lado, um pequeno soprador é conectado à ventilação do fumante. Uma pequena travessa de comida de cachorro de aço inoxidável é fixada sobre a abertura do fumeiro e o soprador é afixado no orifício no fundo da travessa. Isso tem duas funções, primeiro para cobrir completamente a ventilação de ar e, em segundo lugar, para fornecer algum isolamento térmico entre o corpo do fumante e o soprador. O soprador é controlado por meio de um MOSFET de canal N. Isso poderia ser conectado diretamente, mas para facilitar a construção, um modelo MOSFET foi usado. A porta no MOSFET é conectada ao pino digital do Arduino





O Build


Para a primeira implementação, tudo é feito em um breadboard para manter as coisas simples. A (s) ponte (s) do termistor são fáceis de conectar, o resistor de 10K de Vcc (3,3 V para o MKR) para um lado do termistor e o outro lado vai para o aterramento. Conecte um jumper entre o centro da ponte e um pino analógico no MKR. Corte um pedaço de tubo para usar na sonda, prenda uma das pontas em um torno para selá-lo. O alicate é então usado para dobrar os cantos do tubo ondulado para fazer uma ponta mais afiada. deslize o termistor no tubo até chegar ao fim. Passe um pedaço de plástico termorretrátil sobre a outra extremidade e os fios. Aplique calor para encolher e prenda os fios.

O lado do soprador é quase tão simples. Prenda os cabos do soprador ao bloco de terminais de saída no módulo MOSFET observando a polaridade. Conecte sua bateria LiPo e os fios de um plugue JST ao bloco de terminais de energia no módulo MOSFET, novamente observando a polaridade. Conecte o plugue JST à entrada JST do carregador de bateria do MKR. Execute três jumpers para Vcc, aterramento e o fio de controle dos pinos na placa MOSFET para o MKR. Uma bateria de 10.000 mAh foi usada para fornecer bastante vida útil ao soprador.

No breadboard, alguns itens foram adicionados que não estão no esquema. Há um resistor variável de 10K que pode ser usado para gerar tensões para testar o esboço, alternando um dos jumpers de um termistor para o controle deslizante no resistor variável (as extremidades do resistor são conectadas ao Vcc e terra). Há também um LED com um resistor de limitação de corrente de 330 Ohm conectado ao pino de saída 0 para indicar quando o desenho liga e desliga o ventilador.





O software


Existem dois softwares envolvidos. Um é o sketch para controlar o Arduino e o outro é um aplicativo universal do Windows, para que o fumante possa ser monitorado remotamente em qualquer dispositivo Windows 10.

O esboço é amplamente baseado em um esboço de servidor Wi-Fi no livro de Simon Monks "Programming Arduino Next Steps:Going Further with Sketches" (http://www.amazon.com/Programming-Arduino-Next-Steps-Sketches/dp / 0071830251 / ref =sr_1_6? Ie =UTF8 &qid =1459448622 &sr =8-6).

Basicamente, ele cria um servidor Web simples que exibe uma página mostrando as temperaturas medidas e permite que a temperatura desejada para o fumante seja definida. A inicialização consiste em configurar o adaptador Wi-Fi e atribuir um endereço IP fixo para saber ao que se conectar quando não estiver conectado a um computador para ver um endereço DHCP atribuído. O pino 0 está definido para saída. No loop, ele verifica se há um cliente tentando se conectar e, em caso afirmativo, exibe a página da web. Se houver uma solicitação, ele também verifica se inclui o parâmetro no url para definir a temperatura desejada. Em seguida, ele verifica a temperatura do fumante e liga o soprador se estiver abaixo da temperatura desejada e desliga se estiver acima.

Medir a temperatura usando um termistor no divisor de tensão é relativamente simples. Primeiro, a partir da leitura da entrada analógica, podemos determinar a queda de tensão sobre o resistor fixo (a leitura se o resistor fixo estiver conectado ao aterramento, Vcc - a leitura se estiver conectado a Vcc). Em seguida, usamos a Lei dos Ohms (V =IR) para calcular a corrente (I) através do resistor (I =V / R) Como a mesma corrente flui através do termistor, usamos a lei de ohms novamente para calcular a resistência do termistor. R =V / I onde V é a queda de tensão do termistor (a leitura da entrada analógica ou Vcc - a leitura dependendo de qual lado do divisor está ligado) e I é a corrente que acabamos de calcular. Usando R, podemos ligá-lo à equação do termistor beta:

1 / T =1 / T0 + 1 / Beta * ln (R / R0)

Onde R0 é a resistência do termistor em T0

(Observe que todas as temperaturas estão em Kelvin, portanto, certifique-se de levar isso em consideração)

Servir a página da web HTML simples envolve basicamente enviar os blocos de cabeçalho html e códigos de formatação html em torno das temperaturas medidas. Também inclui uma entrada para a temperatura desejada e um botão para incluí-la em uma solicitação de volta ao servidor.





O aplicativo universal do Windows


Esta é a peça que permite que você sente e relaxe sabendo que seu fumante está produzindo alguns dos melhores peito de carne defumada a oeste de Pecos (ou qualquer rio de sua escolha). Ele carrega periodicamente a página da web do fumante, analisa as temperaturas e as exibe. Também permite definir a temperatura desejada para o fumante.

O código para o sketch e o aplicativo Universal estão disponíveis no repositório GitHub listado abaixo.

Código

  • Esboço do controlador do fumante
Esboço do controlador do fumante Arduino
 // sketch_12_04_server_wifi # include  #include  char ssid [] ="BeeBar2"; // seu SSID de rede (nome) char pass [] ="9254582716"; // sua senha de redeWiFiServer server (80); WiFiClient client; const int numPins =10; int pins [] ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int pinState [] ={0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; char line1 [100]; char buffer [100]; IPAddress server_IP (192,168,123,90); float targetTemperature =225; float smokerTemperature =225; v0 flutuante; configuração vazia () {Serial.begin (9600); while (! Serial) {}; // Leonardo precisa disso para (int i =0; i  "); sendAnalogReadings (); client.println ("
"); client.print ("\ n

Temperatura alvo:


"); client.println (" \ n
\ n ");} void sendAnalogReadings () {client.println ("

Temperaturas

\ n "); Serial.print ("Pin ("); Serial.print (0); Serial.print ("):V ="); Serial.print (v0); Serial.print ("Temperatura ="); Serial.println (smokerTemperature); client.print (""); para (int i =1; i <7; i ++) {int reading =analogRead (i); if (leitura> 0) {float v =(float) leitura / 1241,0; float T =ThermisterTemp (v, 100000, 10000, 3950, 25); Serial.print ("Pin ("); Serial.print (i); Serial.print ("):"); Serial.print (leitura); Serial.print ("V ="); Serial.print (v); Serial.print ("Temperatura ="); Serial.println (T); client.print (""); }} client.println ("
Fumante"); client.print (" "); client.print (smokerTemperature); client.println ("F
Probe"); client.print (i); client.print (" "); client.print (T); client.println ("F
");} void readHeader () {readRequestLine (linha1); while (readRequestLine (buffer)> 1 &&buffer [0]! ='\ n') {}} int readRequestLine (char * line) {char ch; int i =0; while (ch! ='\ n' &&i <100 &&client.available ()) {if (client.available ()) {ch =client.read (); linha [i] =ch; i ++; }} linha [i] ='\ 0'; return i;} boolean pageNameIs (char * name) {// nome da página começa em char pos 4 // termina com espaço int i =4; char ch =linha1 [i]; while (ch! ='' &&ch! ='\ n' &&ch! ='?') {if (nome [i - 4]! =linha1 [i]) {return false; } i ++; ch =linha1 [i]; } return true;} float readTargetTempParam () {//Serial.print("parsing targetTemperature "); Serial.println (linha1); int len ​​=strlen (linha 1); para (int i =0; i
Smoker Controller Sketch e aplicativo universal
https://github.com/DuncanBarbee/SmokerController

Esquemas

O Mrkr1000 é representado por um Arduino Nano Smoker.fzz O Mrkr1000 é representado por um Arduino Nano
A ferramenta Fritzing não tinha a peça.

Processo de manufatura

  1. Dados digitais Arduino
  2. Registrador de dados de temperatura e umidade
  3. Homem de Ferro
  4. Encontre-me
  5. Arduino 3D-Printed Robotic Arm
  6. Controle do umidificador Arduino
  7. Porta de monitoramento de temperatura sem contato
  8. NeoMatrix Arduino Pong
  9. Joystick Arduino
  10. Receptor de rádio FM Arduino TEA5767