MAX6675 для ардуино

MAX6675 для arduino, является модулем термопары, который позволяет измерять температуры до 600 градусов. В данном модуле применяется термопара типа К (XA).

MAX6675 для ардуино

Характеристики MAX6675 для ардуино

  • Преобразователь на основе аналогово-цифрового (АЦП). Применяется компенсация холодного спая;
  • Разрядность АЦП: 12 бит;
  • Измерение с шагом: 0,25°C;
  • Точность измерения: ±1,5°C;
  • Обмен данными с микроконтроллером по интерфейсу: SPI;
  • Рабочее напряжение питания: 3 – 5,5 В;
  • Тип термопары: К (хромель-алюмелевая);
  • Диапазон температуры: 0 – +600°С;

Внимание! Модуль MAX6675 измеряет только положительную температуру от 0 до 600°С если необходимо измерять и отрицательную температуру, используйте MAX31855 с диапазонам от -270 до +1372°С.

Подключение MAX6675 к ардуино

MAX6675 подключается к ардуино, через пять штырьевых контактов. Назначение контактов описано в таблице ниже.

Контакты модуля MAX6675НазначениеArduino Mega
GNDЗемляGND
VCCПитание 3-5,5В+5V
SCKТактирование SPI52
CSСигнал выбора модуля. Для SPI50
SOПередача данных от модуля
к микроконтроллеру
53

Схема подключения модуля MAX6675 к ардуино представлена ниже:

Схема подключения модуля термопары MAX6675 к ардуино

Пример работы программы

Для примера подключим модуль MAX6675 к Arduino Mega2560 R3 и выведем результат работы термопары на LCD Nokia5110. Предварительно нагреем термопару небольшим огнем.

Внимание! Перед каждым измерением, начиная со второго, необходимо установить задержку, чтобы дать время микросхеме MAX6675 время на преобразование. В программе стоит 300 мс.

Для работы с модулем термопары воспользуемся библиотекой «MAX6675 Library«. Как работать с дисплеем Nokia 5110 написано тут и тут.

#include <max6675.h>
#include <Nokia_LCD.h>
#include "Small_LCD_Fonts.h"
#define SCK_PIN 52
#define SO_PIN 50
#define CS_PIN 53

double pTemp = 0;

static const char platis_solutions_logo[504] PROGMEM =
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x0C, 0x8C, 0x4E, 0x3F, 0x0F, 0x0F, 0x3F, 0x4E, 0x8C, 0x08,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xFC, 0xFE, 0x20, 0x30, 0x1C,
  0x0E, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  0x02, 0x0C, 0x10, 0x20, 0xFE, 0xFC, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00,
  0x00, 0x00, 0xFF, 0xFF, 0x01, 0x01, 0x71, 0x71, 0x71, 0x03, 0x0E, 0xFC,
  0x60, 0x00, 0x03, 0x1F, 0x7D, 0xE3, 0x1E, 0x3E, 0xCF, 0x71, 0x1F, 0x03,
  0x01, 0x0F, 0x0D, 0xFD, 0xFD, 0x01, 0xFD, 0xFD, 0x0D, 0x0F, 0x00, 0x03,
  0x0F, 0x3D, 0xE3, 0xDE, 0x3C, 0xCF, 0xF1, 0x3F, 0x0F, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x3F, 0x02, 0x04, 0x08,
  0x30, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0,
  0x70, 0x38, 0x0C, 0x06, 0x7F, 0x3F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00,
  0x00, 0x00, 0xFF, 0xFF, 0x80, 0x80, 0xF8, 0x08, 0xF8, 0x84, 0xBE, 0xF3,
  0x00, 0x80, 0xF0, 0xF8, 0x8E, 0xF3, 0x3C, 0x3C, 0xF3, 0xCE, 0xFC, 0xF0,
  0x80, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xC0,
  0xF8, 0x8E, 0xF7, 0x79, 0x3E, 0x79, 0xC7, 0xBC, 0xF0, 0xC0, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x10, 0x31, 0x72, 0xFC, 0xF0, 0xFC, 0x7E, 0x71, 0x31, 0x10,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

Nokia_LCD lcd(8 /* CLK */, 9 /* DIN */, 10 /* DC */, 11 /* CE */, 12 /* RST */, 7 /* BL */);
MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN);

void setup() {
  // Initialize the screen
  lcd.begin();
  // Turn on the backlight
  lcd.setBacklight(true);
  // Set the contrast
  lcd.setContrast(60);  // Good values are usualy between 40 and 60
  lcd.clear(true);
  delay(2000);
  lcd.draw(platis_solutions_logo,
           sizeof(platis_solutions_logo) / sizeof(platis_solutions_logo[0]),
           true);
  delay(3000);
  lcd.clear();
  lcd.setCursor(5, 0);
  lcd.print("MAX6675 test");
}

void loop() 
{
    lcd.setCursor(0, 2);
    lcd.print("Temperatura = ");
    pTemp = thermocouple.readCelsius();
    lcd.setCursor(25, 3);
    lcd.print(pTemp,2);
    delay(300);    
}
Демонстрация работы модуля MAX6675 на Arduino Mega 2560

Загрузки

Где купить

  • ATMega 2560 R3
  • Модуль термопары MAX6675
  • LCD Nokia 5110
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии