Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Fumeur à charbon à température contrôlée

Composants et fournitures

Arduino MKR1000
× 1
Souffleur sans balais 5V
× 1
Module pilote MOSFET IRF520N
× 1
Thermistances NTC 100K ohms
× 1
Planche à pain (générique)
× 1
Câbles de raccordement (générique)
× 1
Batterie Lipo 3.7V>=700mAh
× 1

Applications et services en ligne

Arduino IDE
Microsoft Visual Studio 2015

À propos de ce projet

L'histoire

La plupart des fumeurs de barbecue sérieux savent que la meilleure saveur provient de l'utilisation de charbon de bois pour chauffer leurs fumeurs. Les fumeurs au propane et électriques ont un meilleur contrôle de la température, mais perdent cette saveur de charbon de bois. En tant que source de chaleur, le charbon de bois peut être pénible. Vous devez surveiller en permanence la température, ajuster les évents pour essayer d'obtenir la bonne température et jouer avec plusieurs fois pour l'obtenir juste. Ensuite, vous devez continuer à le faire toutes les demi-heures à mesure que le niveau de charbon de bois change dans le fumeur. Ne serait-il pas formidable de simplement s'asseoir sur votre canapé, de profiter de votre boisson froide préférée et de votre événement sportif à la télévision tout en laissant le fumeur faire son travail ?

Le projet

Créez un contrôleur qui surveille la température dans le fumoir et ajuste le débit d'air au charbon de bois pour maintenir la température correcte. Fournissez également un moyen de surveiller à distance les températures du fumoir et des sondes à viande. Ceci est basé sur l'Arduino MKR1000 qui sortira bientôt avec le Wi-Fi intégré et la prise en charge du chargement d'une batterie LiPo.

Le matériel

La température dans la fumée est surveillée à l'aide d'une thermistance 100K NTC dans un diviseur de tension connecté à l'une des entrées analogiques du MKR. Cette thermistance a été choisie car elle est utilisée pour les extrémités chaudes Prusa RepRab dans les imprimantes 3D, elles sont donc largement disponibles et peu coûteuses. Le peut être acheté déjà soudé à un fil isolé au silicium à haute température pour faire la sonde de température idéale. La thermistance est insérée dans un tube en acier inoxydable de longueur mince (1/4 pouce ou moins) pour une protection physique avec une extrémité sertie pour la fermer et les fils fixés à l'autre extrémité à l'aide de thermorétractable.

Le diviseur de tension utilise une résistance de 10K comme l'autre moitié du diviseur de tension. Cette valeur a été choisie car elle est proche de la résistance de la thermistance 100K NTC à des températures de fumeur typiques (225 F). Cela donne une bonne plage de mesure de la température, fournissant des lectures d'environ 50 F à plus de 300 F avec une granularité raisonnable.

A0 est utilisé pour surveiller la température. Il utilise une sonde plus courte qui est placée sur la grille à l'intérieur du fumeur. Les autres broches analogiques peuvent être utilisées pour créer plus de sondes de thermistance et de diviseurs de tension à insérer dans la viande à fumer pour surveiller la température interne de la viande pour savoir quand elle est cuite.

De l'autre côté, un petit ventilateur est fixé à l'évent du fumoir. Un petit plat de nourriture pour chiens en acier inoxydable est fixé sur l'évent du fumoir et le ventilateur est fixé au trou au fond du plat. Cela remplit deux fonctions, d'abord pour couvrir complètement l'évent, et deuxièmement pour fournir une certaine isolation thermique entre le corps du fumeur et le ventilateur. Le ventilateur est contrôlé à l'aide d'un MOSFET à canal N. Cela pourrait être directement câblé, mais pour faciliter la construction, un modèle MOSFET a été utilisé. La porte du MOSFET est connectée à la broche numérique de l'Arduino

La construction

Pour la première implémentation, tout est fait sur une maquette pour garder les choses simples. Le ou les ponts de thermistance sont faciles à câbler, la résistance 10K de Vcc (3,3V pour le MKR) à un côté de la thermistance et l'autre côté va à la terre. Connectez un cavalier entre le centre du pont et une broche analogique sur le MKR. Coupez une longueur de tube à utiliser pour la sonde, sertissez une extrémité dans un étau pour la sceller. Des pinces sont ensuite utilisées pour plier les coins du tube serti pour faire une pointe plus nette. faites glisser la thermistance dans le tube jusqu'à ce qu'elle atteigne la fin. Glissez un morceau de film rétractable sur l'autre extrémité et les fils. Appliquez de la chaleur pour le rétrécir et fixez les fils.

Le côté soufflerie est presque aussi simple. Fixez les fils du ventilateur au bornier de sortie du module MOSFET en respectant la polarité. Connectez votre batterie LiPo et les fils d'une prise JST au bornier d'alimentation du module MOSFET, en respectant à nouveau la polarité. Branchez la fiche JST dans la prise JST du chargeur de batterie du MKR. Exécutez trois cavaliers pour Vcc, la terre et le fil de commande entre les broches de la carte MOSFET et le MKR. Une batterie de 10 000 mAh a été utilisée pour fournir une grande autonomie au souffleur.

Sur la maquette, quelques éléments ont été ajoutés qui ne figurent pas dans le schéma. Il y a une résistance variable de 10K qui peut être utilisée pour générer des tensions pour tester l'esquisse en basculant l'un des cavaliers d'une thermistance au curseur sur la résistance variable (les extrémités de la résistance sont connectées à Vcc et à la terre). Il y a aussi une LED avec une résistance de limitation de courant de 330 ohms connectée à la broche de sortie 0 pour indiquer quand le croquis allume et éteint le ventilateur.

Le logiciel

Il y a deux logiciels impliqués. L'un est le croquis pour contrôler l'Arduino et l'autre est une application Windows universelle, de sorte que le fumeur peut être surveillé à distance sur n'importe quel appareil Windows 10.

L'esquisse est en grande partie basée sur une esquisse de serveur Wi-Fi dans le livre 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).

Il crée essentiellement un simple serveur Web qui affiche une page affichant les températures mesurées et permet de définir la température cible pour le fumeur. L'initialisation consiste à configurer l'adaptateur Wi-Fi et à attribuer une adresse IP fixe afin de savoir à quoi se connecter lorsqu'il n'est pas connecté à un ordinateur pour voir une adresse DHCP attribuée. La broche 0 est définie sur la sortie. Dans la boucle, il vérifie si un client essaie de se connecter et, si tel est le cas, affiche la page Web. S'il y a une demande, il vérifie également s'il inclut le paramètre dans l'url pour définir la température cible. Il vérifie ensuite la température du fumoir et allume le ventilateur si elle est inférieure à la température cible et s'éteint si elle est supérieure.

La mesure de la température à l'aide d'une thermistance dans le diviseur de tension est relativement simple. Tout d'abord à partir de la lecture de l'entrée analogique, nous pouvons déterminer la chute de tension sur la résistance fixe (La lecture si la résistance fixe est connectée à la terre, Vcc - la lecture si elle est connectée à Vcc) Nous utilisons ensuite la loi d'Ohm (V =IR) pour calculer le courant (I) à travers la résistance (I =V/R) Étant donné que le même courant traverse la thermistance, nous utilisons à nouveau la loi d'ohm pour calculer la résistance de la thermistance. R =V/I où V est la chute de tension de la thermistance (la lecture de l'entrée analogique ou Vcc - la lecture en fonction du côté du diviseur sur lequel elle se trouve) et I est le courant que nous venons de calculer. En utilisant R, nous pouvons le brancher dans l'équation Thermistor Beta :

1/T =1/T0 + 1/Bêta * ln(R/R0)

Où R0 est la Résistance de la thermistance à T0

(Remarque, toutes les températures sont en Kelvin, alors assurez-vous d'en tenir compte)

Servir la simple page Web HTML consiste essentiellement à envoyer les blocs d'en-tête html et les codes de formatage html autour des températures mesurées. Il comprend également une entrée pour la température cible et un bouton pour l'inclure dans une demande de retour au serveur.

L'application universelle Windows

C'est la pièce qui vous permet de vous asseoir et de vous détendre en sachant que votre fumeur prépare l'une des meilleures poitrines de bœuf fumées à l'ouest des Pecos (ou de la rivière de votre choix). Il charge périodiquement la page Web du fumeur, analyse les températures et les affiche. Il vous permet également de régler la température cible pour le fumeur.

Le code pour l'esquisse et l'application universelle sont disponibles dans le référentiel GitHub répertorié ci-dessous.

Code

  • Esquisse du contrôleur de fumeur
Esquisse du contrôleur de fumeurArduino
// sketch_12_04_server_wifi#include #include char ssid[] ="BeeBar2" ; // votre réseau SSID (nom) char pass[] ="9254582716"; // votre mot de passe réseauWiFiServer 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); tandis que (!Série) {}; // Leonardo en a besoin pour (int i =0; i "); sendAnalogReadings(); client.println("
"); client.print("\n

Température cible :


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

Températures

\n"); Serial.print("Pin(");Serial.print(0);Serial.print(") :V=");Serial.print(v0);Serial.print(" Température="); Serial.println(smokerTemperature); client.print(""); for (int i =1; i <7; i++) { int lecture =analogRead(i); if (lecture> 0) { float v =(float) lecture / 1241.0; float T =ThermisterTemp(v, 100000, 10000, 3950, 25); Serial.print("Pin(");Serial.print(i);Serial.print(") :");Serial.print(reading);Serial.print("V=");Serial.print(v);Serial.print(" Température="); Serial.println(T); client.print(""); } } client.println("
Fumeur "); client.print(""); client.print(smokerTemperature); client.println(" F
Probe "); client.print(i); client.print(""); client.print(T); client.println(" F
");}void readHeader(){ readRequestLine(line1) ; while (readRequestLine(buffer)> 1 &&buffer[0] !='\n') {}}int readRequestLine(char *line){ char ch; entier je =0 ; while (ch !='\n' &&i <100 &&client.available()) { if (client.available()) { ch =client.read(); ligne[i] =ch; je ++; } } ligne[i] ='\0'; return i;}boolean pageNameIs(char* name){ // le nom de la page commence à char pos 4 // se termine par un espace int i =4; car ch =ligne1[i]; while (ch !=' ' &&ch !='\n' &&ch !='?') { if (name[i - 4] !=line1[i]) { return false; } je++; ch =ligne1[i] ; } return true;}float readTargetTempParam(){ //Serial.print("parsing targetTemperature");Serial.println(line1); int len ​​=strlen(ligne1) ; for (int i =0; i
Esquisse du contrôleur de fumeur et application universelle
https://github.com/DuncanBarbee/SmokerController

Schémas

Le Mrkr1000 est représenté par un Arduino Nano Smoker.fzzLe Mrkr1000 est représenté par un Arduino Nano
L'outil Fritzing n'avait pas la pièce.

Processus de fabrication

  1. Dés numériques Arduino
  2. Enregistreur de données de température et d'humidité
  3. Iron Man
  4. Trouvez-moi
  5. Bras robotique Arduino imprimé en 3D
  6. Contrôle de l'humidificateur Arduino
  7. Portail de surveillance de la température sans contact
  8. NeoMatrix Arduino Pong
  9. Joystick Arduino