Portenta 和热电偶传感器(带 MAX6675)
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
在这里,我再次发表一篇新文章,谈论我通过 Portenta Throne 板获得的惊人体验,我必须探索 Arduino Portenta 的高清连接器,这次我将使用一些传感器,特别是使用热电偶传感器是工业应用中常用的传感器。
关于王座板,你可以通过这个链接查看我之前关于制作细节的帖子
你将从这个教学中学到什么:
- 热电偶的组成及其工作原理。
- 通过基于 ttl 的 MCU 与工业传感器接口的必要芯片。
- 解释传感器数据并通过任何串行监视器显示它。
话不多说,让我们通过吧。
用品
Arduino Portenta
热电偶传感器
Portenta 王座板
热电偶传感器的工作原理
让我们首先检查一下热电偶传感器是如何工作的,这种传感器是用来测量温度的,它基本上由两种不同类型的金属制成,一旦连接端被加热,就会在一端连接在一起,在热电电路中流动的连续电压。该电压值随温度变化而变化。
商业热电偶的价格较高,而且在大多数情况下是可以互换的,这就是它配备标准连接器的原因,这些传感器可以测量很宽的温度范围。与大多数其他温度测量方法相比,热电偶是自供电的,不需要外部形式的激励。热电偶的主要限制是它们的准确性;低于 1 摄氏度 (°C) 的系统误差可能难以实现。
有关热电偶传感器的更多详细信息,请点击此处
我在上面的图片中附上了我将使用的热电偶的数码显微镜相机视图:)
传感器硬件要求
现在哪些 Portenta 引脚适合采取传感器措施!
要测量传感器发送的电压信号,我们必须先将其放大,然后转换为数字数据,然后由 MCU 进行解释!我们可以通过 MAX6675 完成这一切 Maxim集成的电路;
我提醒你我放了两个MAX6675 我为探索 Arduino Portenta 的高清连接器而制作的 Throne 板电路板原理图中的 IC。
考虑到电路数据表,它说该 IC 执行将来自 K 型热电偶传感器的信号数字化,该芯片具有简化的 SPI 通信端口并设计为与外部微控制器配合使用,它具有良好的转换分辨率和高温测量范围可达1024°C,适用于多种工业应用。
您还可以为您的电路布局找到合适的原理图设置。
回到我们的王座示意图
在继续之前的一个注意事项,我使用 Altium Designer 制作了 Throne 板方案和 PCB,在这里我们回到它来检查我们用来在 Portenta 和 MAX6675 之间建立 SPI 通信的连接引脚。
由于 Portenta 有 6 个 SPI 端口,因此我选择将第一个和第二个端口用于我的 MAX IC
第一个端口的相应引脚位于第二个 HD 连接器中,特别是通过引脚 38、40 和 42 我刚刚在原理图中使用了 NetLabel 来保持方案布局的排列外观,确保您使用相同的标签同一张网。
我将第二个 MAX IC 拖到原理图中,它将通过引脚 33、59、61 连接到位于第一个 HD 连接器中的第二个 SPI 端口
不要忘记遵循数据表推荐的设置,该设置显示需要在 MAX 电路的电源线上放置一个 0.1uF 去耦电容器,我还在插入热电偶传感器的地方放下了两个螺丝头端子
现在在 PCB 布局中,尽量让去耦电容尽可能靠近电源走线。
这种组件封装的组装并不困难,你可以使用烙铁和一些助焊剂来制作
传感器连接引脚
请考虑传感器具有定义的极性 所以只需按照制造商的说明来定义传感器的正负线。
我将传感器头粘在我的组装热板上以测量温度升高;
软件和测试
在软件方面,你可以注意到我使用了 Adafuit 的 Max6675 库。
所需要的只是我们用于 SPI 通信的三个引脚,然后这个实例将使 Portenta 解释 MAX6675 数据并通过串行监视器显示它。
我将代码上传到我的 Portenta 然后打开了串行监视器,我们开始了,正如您在上图中所看到的,只要热板温度升高,温度值的读取数据就会不断增加,这证实了 SPI沟通成功,我们的Portenta探索了MAX IC。
这就是 Porject 伙计们的最后一件事,确保你每天都在做电子产品,是 Chris,下次见。
代码
- 无标题文件
无标题文件Arduino
// 这个例子是公共领域的。享受!// www.ladyada.net/learn/sensors/thermocouple#include "max6675.h"int thermoDO =10;int thermoCS =8;int thermoCLK =9;MAX6675 热电偶(thermoCLK, thermoCS, thermoDO);// int vccPin =3;// int gndPin =2;无效设置(){ pinMode(PC_7,输出);数字写入(PC_7,高);延迟(500);数字写入(PC_7,低);延迟(500); Serial.begin(9600); // 使用 Arduino 引脚 // pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);// pinMode(gndPin, OUTPUT);数字写入(接地引脚,低); Serial.println("MAX6675 测试"); // 等待 MAX 芯片稳定 delay(500);}void loop() { // 基本读出测试,只打印当前温度 Serial.print("C ="); Serial.println(thermocouple.readCelsius()); Serial.print("F ="); Serial.println(thermocouple.readFahrenheit()); if(thermocouple.readCelsius()>30) digitalWrite(PC_7, HIGH);否则数字写入(PC_7,低);延迟(1000);}
示意图
制造工艺
- 使用 1 线 DS18B20 传感器和 Raspberry Pi 测量温度
- Python 和 Raspberry Pi 温度传感器
- 带 RPi 的线跟踪传感器
- 带有 RPi 的环境传感器 API
- Raspberry Pi 温度和光传感器
- Raspberry Pi 传感器和执行器控制
- 使用 Raspberry Pi、DHT11 传感器和 Thingspeak 构建您的第一个物联网。
- 带有 Raspberry Pi 和湿度传感器的 Aeroponics
- 如何检查和校准湿度传感器
- 带摄像头和 PIR 传感器的 Raspberry Pi 家庭安全系统
- Windows 10 IoT Core 和 SHT15
- 使用 Raspberry Pi 和 Python 构建机器人