Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Ahumador de carbón con control de temperatura

Componentes y suministros

Arduino MKR1000
× 1
Soplador sin escobillas de 5 V
× 1
Módulo de controlador MOSFET IRF520N
× 1
Termistores NTC de 100K ohmios
× 1
Breadboard (genérico)
× 1
Cables de puente (genéricos)
× 1
Batería Lipo 3.7V> =700mAh
× 1

Aplicaciones y servicios en línea

Arduino IDE
Microsoft Visual Studio 2015

Acerca de este proyecto

La historia de fondo

Los fumadores de barbacoa más serios saben que el mejor sabor proviene del uso de carbón para calentar a sus fumadores. Los ahumadores eléctricos y de propano tienen un mejor control de la temperatura, pero pierden ese sabor a carbón. Como fuente de calor, el carbón vegetal puede resultar molesto. Debe controlar constantemente la temperatura, ajustar las rejillas de ventilación para tratar de obtener la temperatura adecuada y jugar con ella varias veces para que sea la correcta. Luego, debe seguir haciéndolo cada media hora a medida que cambia el nivel de carbón en el fumador. ¿No sería genial simplemente sentarse en su sofá, disfrutar de su bebida fría favorita y su evento deportivo en la televisión mientras deja que el fumador haga lo suyo?

El Proyecto

Cree un controlador que controle la temperatura en el ahumador y ajuste el flujo de aire al carbón para mantener la temperatura correcta. Además, proporcione una forma de controlar las temperaturas tanto del ahumador como de las sondas para carne de forma remota. Esto se basa en el Arduino MKR1000 que se lanzará próximamente con Wi-Fi integrado y soporte para cargar una batería LiPo.

El hardware

La temperatura en el humo se controla mediante un termistor NTC de 100K en un divisor de voltaje conectado a una de las entradas analógicas del MKR. Se eligió este termistor porque se usa para los extremos calientes Prusa RepRab en impresoras 3D, por lo que están ampliamente disponibles y son económicos. Se puede comprar ya soldado a un cable aislado de silicona de alta temperatura para hacer la sonda de temperatura ideal. El termistor se inserta en un tubo de acero inoxidable de longitud delgada (1/4 de pulgada o menos) para protección física con un extremo engarzado para cerrarlo y los cables asegurados en el otro extremo mediante termorretráctil.

El divisor de voltaje usa una resistencia de 10K como la otra mitad del divisor de voltaje. Se eligió este valor porque está cerca de la resistencia del termistor NTC de 100 K a las temperaturas típicas del ahumador (225 F). Esto proporciona un buen rango para la medición de temperatura, proporcionando lecturas de aproximadamente 50 F a más de 300 F con una granularidad razonable.

A0 se utiliza para controlar la temperatura. Utiliza una sonda más corta que se coloca en la rejilla dentro del ahumador. Los otros pines analógicos se pueden usar para crear más sondas de termistor y divisores de voltaje para insertar en la carne que se está ahumando para monitorear la temperatura interna de la carne y saber cuándo está cocida.

En el otro lado, un pequeño ventilador está conectado a la rejilla de ventilación del ahumador. Un pequeño plato de comida para perros de acero inoxidable se coloca sobre la rejilla de ventilación del ahumador y el ventilador se coloca en un orificio en la parte inferior del plato. Esto tiene dos funciones, primero para cubrir completamente la ventilación de aire y, en segundo lugar, para proporcionar cierto aislamiento térmico entre el cuerpo del fumador y el ventilador. El soplador se controla mediante un MOSFET de canal N. Esto podría conectarse directamente, pero para facilitar la construcción, se utilizó un modelo MOSFET. La puerta del MOSFET está conectada al pin digital de Arduino

La construcción

Para la primera implementación, todo se hace en una placa para simplificar las cosas. Los puentes del termistor son fáciles de cablear, la resistencia de 10K de Vcc (3.3V para el MKR) a un lado del termistor y el otro lado va a tierra. Conecte un puente entre el centro del puente y un pin analógico en el MKR. Corte un trozo de tubo para usar con la sonda, engarce un extremo en un tornillo de banco para sellarlo. Luego, se usan alicates para doblar las esquinas del tubo rizado para hacer una punta más afilada. deslice el termistor en el tubo hasta que llegue al final. Deslice un trozo de envoltura retráctil sobre el otro extremo y los cables. Aplique calor para encogerlo y asegurar los cables.

El lado del ventilador es casi tan simple. Asegure los cables del soplador al bloque de terminales de salida en el módulo MOSFET observando la polaridad. Conecte su paquete de baterías LiPo y los cables de un enchufe JST al bloque de terminales de alimentación en el módulo MOSFET, nuevamente observando la polaridad. Enchufe el enchufe JST en el conector JST del cargador de batería del MKR. Ejecute tres puentes para Vcc, tierra y el cable de control desde los pines en la placa MOSFET al MKR. Se usó una batería de 10,000 mAh para proporcionar una gran duración de batería con el soplador.

En el tablero, se agregaron un par de elementos que no están en el esquema. Hay una resistencia variable de 10K que se puede usar para generar voltajes para probar el boceto cambiando uno de los puentes de un termistor al control deslizante en la resistencia variable (los extremos de la resistencia están conectados a Vcc y tierra). También hay un LED con una resistencia limitadora de corriente de 330 ohmios conectada al pin de salida 0 para indicar cuándo el boceto enciende y apaga el ventilador.

El software

Hay dos piezas de software involucradas. Uno es el boceto para controlar el Arduino y el otro es una aplicación universal de Windows, por lo que el fumador puede ser monitoreado de forma remota en cualquier dispositivo con Windows 10.

El boceto se basa en gran parte en un boceto de servidor Wi-Fi en el libro de Simon Monks "Programar los pasos siguientes de Arduino:ir más allá con bocetos" (http://www.amazon.com/Programming-Arduino-Next-Steps-Sketches/dp / 0071830251 / ref =sr_1_6? Ie =UTF8 &qid =1459448622 &sr =8-6).

Básicamente, crea un servidor web simple que sirve una página que muestra las temperaturas medidas y permite establecer la temperatura objetivo para el ahumador. La inicialización consiste en configurar el adaptador Wi-Fi y asignar una dirección IP fija para saber a qué conectarse cuando no está conectado a una computadora para ver una dirección asignada por DHCP. El pin 0 se establece en salida. En el bucle, comprueba si hay un cliente que intenta conectarse y, si es así, muestra la página web. Si hay una solicitud, también verifica si incluye el parámetro en la URL para establecer la temperatura objetivo. Luego verifica la temperatura del ahumador y enciende el ventilador si está por debajo de la temperatura objetivo y lo apaga si está por encima.

Medir la temperatura usando un termistor en el divisor de voltaje es relativamente simple. Primero, a partir de la lectura de la entrada analógica, podemos determinar la caída de voltaje sobre la resistencia fija (la lectura si la resistencia fija está conectada a tierra, Vcc - la lectura si está conectada a Vcc) Luego usamos la Ley de Ohmios (V =IR) para calcular la corriente (I) a través del resistor (I =V / R) Dado que la misma corriente fluye a través del termistor, usamos la ley de ohmios nuevamente para calcular la resistencia del termistor. R =V / I donde V es la caída de voltaje del termistor (la lectura de entrada analógica o Vcc - la lectura depende de qué lado del divisor está) e I es la corriente que acabamos de calcular. Usando R podemos conectarlo a la ecuación del termistor Beta:

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

Donde R0 es la resistencia del termistor en T0

(Tenga en cuenta que todas las temperaturas están en Kelvin, así que asegúrese de tenerlo en cuenta)

Ofrecer la página web HTML simple básicamente implica enviar los bloques de encabezado html y los códigos de formato html alrededor de las temperaturas medidas. También incluye una entrada para la temperatura objetivo y un botón para incluirla en una solicitud de regreso al servidor.

La aplicación universal de Windows

Esta es la pieza que le permite sentarse y relajarse sabiendo que su fumador está produciendo una de las mejores pechugas de res ahumadas al oeste de Pecos (o cualquier río de su elección). Carga periódicamente la página web del fumador, analiza las temperaturas y las muestra. También le permite establecer la temperatura objetivo para el ahumador.

El código para la aplicación Sketch y Universal está disponible en el repositorio de GitHub que se enumera a continuación.

Código

  • Bosquejo del controlador del fumador
Esquema del controlador de ahumado Arduino
 // sketch_12_04_server_wifi # include  #include  char ssid [] ="BeeBar2"; // su red SSID (nombre) char pass [] ="9254582716"; // su contraseña de redWiFiServer 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; float v0; void setup () {Serial.begin (9600); while (! Serial) {}; // Leonardo necesita esto para (int i =0; i  "); sendAnalogReadings (); client.println (""); client.print ("\ n 

Temperatura objetivo:


"); 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 (temperatura del fumador); client.print (""); para (int i =1; i <7; i ++) {int lectura =analogRead (i); if (lectura> 0) {float v =(flotante) lectura / 1241.0; flotador T =ThermisterTemp (v, 100000, 10000, 3950, 25); Serial.print ("Pin ("); Serial.print (i); Serial.print ("):"); Serial.print (lectura); Serial.print ("V ="); Serial.print (v); Serial.print ("Temperatura ="); Serial.println (T); client.print (""); }} client.println ("
Fumador"); client.print (" "); client.print (smokerTemperature); client.println ("F
Probe"); client.print (i); client.print (" "); cliente.print (T); client.println ("F
");} void readHeader () {readRequestLine (línea1); while (readRequestLine (búfer)> 1 &&búfer [0]! ='\ n') {}} int readRequestLine (char * línea) {char ch; int i =0; while (ch! ='\ n' &&i <100 &&client.available ()) {if (client.available ()) {ch =client.read (); línea [i] =ch; i ++; }} línea [i] ='\ 0'; return i;} boolean pageNameIs (char * name) {// el nombre de la página comienza en char pos 4 // termina con un espacio int i =4; char ch =line1 [i]; while (ch! ='' &&ch! ='\ n' &&ch! ='?') {if (name [i - 4]! =line1 [i]) {return false; } i ++; ch =línea1 [i]; } return true;} float readTargetTempParam () {//Serial.print("parsing targetTemperature "); Serial.println (line1); int len ​​=strlen (línea1); for (int i =0; i
Smoker Controller Sketch &Universal App
https://github.com/DuncanBarbee/SmokerController

Esquemas

El Mrkr1000 está representado por un Arduino Nano Smoker.fzz El Mrkr1000 está representado por un Arduino Nano
La herramienta Fritzing no tenía la pieza.

Proceso de manufactura

  1. Dados digitales Arduino
  2. Registrador de datos de temperatura y humedad
  3. Iron Man
  4. Encuéntrame
  5. Brazo robótico Arduino impreso en 3D
  6. Control del humidificador Arduino
  7. Puerta de control de temperatura sin contacto
  8. NeoMatrix Arduino Pong
  9. Joystick de Arduino
  10. Receptor de radio FM Arduino TEA5767
  11. Podómetro (Arduino 101)