亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

温控木炭烟熏机

组件和用品

Arduino MKR1000
× 1
5V 无刷鼓风机
× 1
MOSFET IRF520N 驱动模块
× 1
100K ohm NTC 热敏电阻
× 1
面包板(通用)
× 1
跳线(通用)
× 1
3.7V 锂电池>=700mAh
× 1

应用和在线服务

Arduino IDE
Microsoft Visual Studio 2015

关于这个项目

背景故事

大多数认真的烧烤吸烟者都知道最好的味道来自使用木炭加热吸烟者。丙烷和电动吸烟者有更好的温度控制,但失去了木炭的味道。作为热源,木炭可能是一种痛苦。您需要不断监控温度,调整通风口以尝试获得合适的温度,并且必须玩几次才能使其恰到好处。然后,随着吸烟者体内木炭含量的变化,您必须每半小时继续这样做。只是坐在沙发上,在电视上享受您最喜欢的冷饮和体育赛事,同时让吸烟者做自己的事情不是很好吗?

项目

创建一个控制器来监控吸烟者的温度并调整到木炭的气流以保持正确的温度。此外,提供一种远程监控吸烟者和肉类探头温度的方法。这是基于即将发布的 Arduino MKR1000,内置 Wi-Fi 并支持为锂聚合物电池充电。

硬件

使用连接到 MKR 模拟输入之一的分压器中的 100K NTC 热敏电阻监测烟雾中的温度。选择该热敏电阻是因为它用于 3D 打印机中的 Prusa RepRab 热端,因此它们广泛可用且价格低廉。可以购买已经焊接到高温硅绝缘电线上的理想温度探头。热敏电阻插入一根细长(1/4 英寸或更小)的不锈钢管中进行物理保护,一端卷曲以将其关闭,另一端使用热收缩固定电线。

分压器使用10K电阻作为分压器的另一半。选择此值是因为它接近 100K NTC 热敏电阻在典型吸烟者温度 (225 F) 下的电阻。这为温度测量提供了良好的范围,以合理的粒度提供大约 50 F 到 300 F 以上的读数。

A0 用于监测温度。它使用一个较短的探头,放置在吸烟者内部的炉排上。其他模拟引脚可用于创建更多的热敏电阻探头和分压器,插入正在熏制的肉中,以监测肉的内部温度,以了解肉何时煮熟。

在另一侧,一个小鼓风机连接到吸烟者的通风口。一个小的不锈钢狗粮盘连接在吸烟者的通风口上,鼓风机连接到盘子底部的孔中。这有两个功能,首先完全覆盖通风口,其次在吸烟者的主体和鼓风机之间提供一些热隔离。鼓风机使用 N 沟道 MOSFET 进行控制。这可以直接接线,但为了便于构建,使用了 MOSFET 模型。 MOSFET 上的栅极连接到 Arduino 的数字引脚

构建

对于第一个实现,一切都在面包板上完成以保持简单。热敏电阻桥易于接线,从 Vcc(MKR 为 3.3V)到热敏电阻一侧的 10K 电阻器接地,另一侧接地。在桥的中心和 MKR 上的模拟引脚之间连接一个跳线。剪一段管子用于探头,用虎钳压住一端以密封它。然后使用钳子折叠卷曲管的角以形成更锋利的尖端。将热敏电阻滑入管中,直至到达末端。将一块收缩包装滑过另一端和电线。加热使其收缩并固定电线。

鼓风机侧几乎同样简单。将鼓风机的引线固定到 MOSFET 模块上的输出端子块上,注意极性。将 LiPo 电池组和 JST 插头的电线连接到 MOSFET 模块上的电源接线端子,再次观察极性。将 JST 插头插入 MKR 上电池充电器的 JST 插孔。为 Vcc、接地和从 MOSFET 板上的引脚到 MKR 的控制线运行三个跳线。使用 10,000 mAh 电池为鼓风机提供充足的电池寿命。

在面包板上,添加了一些不在原理图中的项目。有一个 10K 可变电阻器,可用于通过将跳线之一从热敏电阻切换到可变电阻器上的滑块(电阻器的末端连接到 Vcc 和地)来产生电压以测试草图。还有一个带有 330 欧姆限流电阻的 LED 连接到输出引脚 0,以指示草图何时打开和关闭风扇。

软件

涉及到两个软件。一个是控制Arduino的草图,另一个是通用Windows应用程序,因此可以在任何Windows 10设备上远程监控吸烟者。

该草图主要基于西蒙·蒙克斯 (Simon Monks) 的书“编程 Arduino 下一步:进一步使用草图”(http://www.amazon.com/Programming-Arduino-Next-Steps-Sketches/dp) 中的 Wi-Fi 服务器草图/0071830251/ref=sr_1_6?ie=UTF8&qid=1459448622&sr=8-6).

它基本上创建了一个简单的 Web 服务器,该服务器提供一个页面,显示测量的温度并允许设置吸烟者的目标温度。初始化包括设置 Wi-Fi 适配器并分配固定 IP 地址,以便在未连接到计算机时了解要连接的内容以查看 DHCP 分配的地址。引脚 0 设置为输出。在循环中,它检查是否有客户端尝试连接,如果有则提供网页。如果有请求,它还会检查它是否包含 url 中的参数来设置目标温度。然后检查吸烟者的温度,如果低于目标温度则打开鼓风机,如果高于目标温度则关闭。

使用分压器中的热敏电阻测量温度相对简单。首先从模拟输入读数,我们可以确定固定电阻上的压降(固定电阻接地时的读数,Vcc - 连接到 Vcc 时的读数)然后我们使用欧姆定律(V =IR)计算通过电阻器的电流 (I) (I =V/R) 由于相同的电流流过热敏电阻,我们再次使用欧姆定律来计算热敏电阻的电阻。 R =V/I 其中 V 是热敏电阻的压降(模拟输入读数或 Vcc - 读数取决于它位于分压器的哪一侧),I 是我们刚刚计算的电流。使用 R 我们可以将其代入热敏电阻 Beta 方程:

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

其中 R0 是热敏电阻在 T0 处的电阻

(请注意,所有温度均以开尔文为单位,因此请务必将其考虑在内)

提供简单的 HTML 网页基本上涉及围绕测量的温度发送 html 标题块和 html 格式代码。它还包括目标温度的输入和将其包含在返回服务器的请求中的按钮。

Windows 通用应用

知道您的吸烟者正在生产 Pecos 以西(或您选择的任何河流)的一些最好的熏制牛腩,这件作品可让您高枕无忧。它定期从吸烟者加载网页,解析温度并显示它们。它还允许您为吸烟者设置目标温度。

草图和通用应用程序的代码可在下面列出的 GitHub 存储库中找到。

代码

  • 吸烟者控制器草图
Smoker Controller SketchArduino
// sketch_12_04_server_wifi#include #include char ssid[] ="BeeBar2"; // 您的网络 SSID (name)char pass[] ="9254582716"; // 你的网络密码WiFiServer server(80);WiFiClient client;const int numPins =10;int pin[] ={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;floatsmokerTemperature =225;浮动 v0;无效设置(){ Serial.begin(9600); while (!Serial) {}; // Leonardo 需要这个 for (int i =0; i ”);发送模拟读数(); client.println("
"); client.print("\n

目标温度:


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

温度

\n"); Serial.print("Pin(");Serial.print(0);Serial.print("):V=");Serial.print(v0);Serial.print("Temperature="); Serial.println(smokerTemperature); client.print(""); for (int i =1; i <7; i++) { int reading =analogRead(i); if (reading> 0) { float v =(float) reading / 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("温度="); Serial.println(T); client.print(""); } } client.println("
吸烟者"); client.print(""); client.print(smokerTemperature); client.println(" F
探针");客户端打印(i); client.print("");客户端打印(T); client.println(" F
");}void readHeader(){ readRequestLine(line1); 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();行[i] =ch;我++; } } 行[i] ='\0'; return i;}boolean pageNameIs(char* name){ // 页面名称从 char pos 4 开始 // 以空格结束 int i =4;字符 ch =line1[i]; while (ch !=' ' &&ch !='\n' &&ch !='?') { if (name[i - 4] !=line1[i]) { return false;我++; ch =line1[i]; } return true;}float readTargetTempParam(){ //Serial.print("parsing targetTemperature");Serial.println(line1); int len =strlen(line1); for (int i =0; i
Smoker Controller Sketch &Universal App
https://github.com/DuncanBarbee/SmokerController

示意图

Mrkr1000 由 Arduino Nano 表示 Smoker.fzzMrkr1000 以 Arduino Nano 为代表
Fritzing 工具没有该部件。

制造工艺

  1. Arduino 数字骰子
  2. 温湿度数据记录仪
  3. 钢铁侠
  4. 找到我
  5. Arduino 3D 打印机械臂
  6. Arduino 加湿器控制
  7. 非接触式温度监控门
  8. NeoMatrix Arduino Pong
  9. Arduino Joystick
  10. Arduino TEA5767 FM 收音机接收器
  11. 计步器(Arduino 101)
  12. Arduino 混色器