MAX6675 для arduino, является модулем термопары, который позволяет измерять температуры до 600 градусов. В данном модуле применяется термопара типа К (XA).
Характеристики 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 | Тактирование SPI | 52 |
CS | Сигнал выбора модуля. Для SPI | 50 |
SO | Передача данных от модуля к микроконтроллеру | 53 |
Схема подключения модуля 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); }
Загрузки
Где купить
- ATMega 2560 R3
- Модуль термопары MAX6675
- LCD Nokia 5110