Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Интеграция термопары с Arduino Portenta H7 через MAX6675

Компоненты и материалы

Arduino Portenta H7 ×1
Тестовый аксессуар: термопара с адаптером ×1
SparkFun Thermocouple Breakout — MAX31855K ×1

Программное обеспечение и сервисы

О проекте

В этом уроке я показываю подключение высокотемпературной термопары к Arduino Portenta H7 с использованием термопарного ЦАП MAX6675. Два SPI-порта Portenta обеспечивают надёжный интерфейс, а MAX6675 даёт 12-битное разрешение до 1024 °C — идеально для промышленного мониторинга.

Что вы узнаете

Комплектующие

Принцип работы термопары

Интеграция термопары с Arduino Portenta H7 через MAX6675
Эффект Зеебека: термоэлектрическое напряжение на стыке двух металлов

Термопара состоит из двух разных металлов, сварённых на одном конце. При нагреве этого стыка возникает термоэлектрическое напряжение, пропорциональное разнице температур между горячим стыком и холодным концом. Поскольку напряжение крошечное — обычно единицы милливольт — его необходимо усилить и оцифровать перед считыванием микроконтроллером.

Термопары типа K, изготовленные из хромеля и алюмеля, — самый популярный выбор для промышленного измерения температуры. Они покрывают диапазон –200 °C … 1260 °C с типичной точностью ±1 °C при использовании подходящего преобразователя вроде MAX6675.

Аппаратные требования к датчику

Интеграция термопары с Arduino Portenta H7 через MAX6675
MAX6675 с декуплирующим конденсатором 0.1 мкФ у пина VCC

Для надёжной работы MAX6675 должен быть запитан от той же шины 3.3 В, что и Portenta H7, а декуплирующий конденсатор 0.1 мкФ размещён максимально близко к пину VCC микросхемы. Провода термопары вставляются в выделенные клеммные блоки на breakout-плате с соблюдением полярности (красный = плюс).

Схема нашей Throne-платы

Интеграция термопары с Arduino Portenta H7 через MAX6675
Трассировка двух SPI-шин Portenta к двум MAX6675 в Altium Designer

В Altium Designer я вывел два доступных SPI-интерфейса Portenta на разъёмы для MAX6675 на кастомной Throne-плате. Первый SPI (пины 38, 40, 42 на HD-разъёме 2) обслуживает первый MAX6675, второй (пины 33, 59, 61 на HD-разъёме 1) — второй IC. Проектирование следовало рекомендациям даташита MAX6675 по ширине дорожек и размещению декуплирующих конденсаторов.

Интеграция термопары с Arduino Portenta H7 через MAX6675
Топология печатной платы Throne
Сборка простая — припаяйте MAX6675 и декуплирующие конденсаторы точной паяльницей, затем закрепите термопары в клеммных блоках.
Интеграция термопары с Arduino Portenta H7 через MAX6675
Интеграция термопары с Arduino Portenta H7 через MAX6675

Пины подключения датчика

При подключении термопары соблюдайте полярность производителя: красный провод — +, чёрный — –. Соедините датчик с клеммными блоками breakout-платы, затем свяжите пины VCC, GND, DO, CS, SCK breakout-а с соответствующими хедерами Portenta, как показано на схеме.

Программное обеспечение и тест

Arduino-скетч использует библиотеку Adafruit MAX6675 для SPI-коммуникации. После инициализации встроенного светодиода Portenta (PC_7) для визуальной обратной связи, программа каждую секунду выводит показания в °C и °F.

Интеграция термопары с Arduino Portenta H7 через MAX6675
Вывод температуры в Serial Monitor
Интеграция термопары с Arduino Portenta H7 через MAX6675
График нагрева термопары горячей плитой

После загрузки скетча Serial Monitor показывает стабильный рост температуры при нагреве термопары горячей плитой — подтверждая успешную SPI-коммуникацию и точную конвертацию.

Интеграция термопары с Arduino Portenta H7 через MAX6675
Интеграция термопары с Arduino Portenta H7 через MAX6675

Это завершает проект. Непрерывные эксперименты с датчиками и универсальным I/O Portenta углубят ваши навыки встраиваемых систем. Удачного хакинга!

Код

Untitled file (Arduino)

// Public domain example – quick MAX6675 demo
// Source: www.ladyada.net/learn/sensors/thermocouple
#include "max6675.h"

// SPI пины на Portenta H7 (скорректируйте при необходимости)
const uint8_t thermoCLK = 9;
const uint8_t thermoCS = 8;
const uint8_t thermoDO = 10;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

void setup() {
  pinMode(PC_7, OUTPUT); // встроенный светодиод
  digitalWrite(PC_7, HIGH);
  delay(500);
  digitalWrite(PC_7, LOW);
  delay(500);
  Serial.begin(9600);
  Serial.println("MAX6675 test");
  delay(500); // стабилизация чипа
}

void loop() {
  float tempC = thermocouple.readCelsius();
  float tempF = thermocouple.readFahrenheit();
  Serial.print("C = ");
  Serial.println(tempC);
  Serial.print("F = ");
  Serial.println(tempF);
  // Мигание LED при температуре > 30 °C
  digitalWrite(PC_7, tempC > 30 ? HIGH : LOW);
  delay(1000);
}

Схемы

Полную схему и топологию PCB смотрите в прилагаемых PDF-файлах.

Производственный процесс

  1. Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
  2. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
  3. Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
  4. Построение надёжного Temperature & Sensor API на Raspberry Pi с модулем GY‑91
  5. Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20
  6. Мастерство управления датчиками и исполнительными механизмами на Raspberry Pi: акселерометр, сервопривод и потоко…
  7. Создайте свой первый IoT-проект с Raspberry Pi, DHT11 и ThingSpeak
  8. Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности
  9. Проверка и калибровка датчика влажности для точных измерений
  10. Система домашней безопасности на Raspberry Pi: обнаружение движения PIR + камера с email-уведомлениями