Форум программистов, компьютерный форум, киберфорум
Наши страницы
Arduino
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
ENC22
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 5
1

MAX6675 на WAVGAT UNO R3 показывает всегда 0С

12.03.2019, 13:21. Просмотров 1578. Ответов 8
Метки нет (Все метки)

Собственно, имеем китайскую плату WAVGAT UNO R3, пришедший от туда же контроллер MAX6675, упакованную в комплекте с контроллером, термопару и почти полное отсутствие опыта в использовании Ардуино.
Проводами подключаем выводы: "GND" к выводу "GND" платы, "VCC" к выводу "+5v", "SO" к "2", "CS" к "3", "SCK" к "4". Скачиваем библиотеку, устанавливаем её, и по имеющемуся на сайте, где брал библиотеку, примеру копипастим скетч:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "max6675.h"
 
int thermoDO = 2;  //он же SO
int thermoCS = 3;
int thermoCLK = 4;  //он же SCK
 
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
 
 
void setup() {
  Serial.begin(9600);
  Serial.println("MAX6675 test");
  //ждем стабилизации чипа MAX
  delay(2000);
}
 
void loop() {
  //Выводим показания в монитор порта
  Serial.print("C = ");
  Serial.print(thermocouple.readCelsius());
  Serial.print(";   F = ");
  Serial.println(thermocouple.readFahrenheit());
  delay(5000);
}
Компилируем, открываем монитор порта и...
С=0;F=32
Нагревание термопары хоть рукой, хоть открытым пламенем ни к каким изменениям показаний не приводит. Сопротивление термопары при нагреве меняется. Питание на контроллере "VCC" чуть ниже 5В. На сигнальных контактах, на сколько можно наблюдать при помощи обычного мультиметра, что-то происходит.
Гугл по этому поводу молчит. Дедуктивный метод тоже ни к чему не приводит))) Метод тыка, типо поменять циферки после слова "delay", тоже плодов не принёс))).
Может кто чего полезного подскажет?...
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2019, 13:21
Ответы с готовыми решениями:

Max6675 всегда 75 градусов
Собственно сабж. Иногда зависает на нуле. Один раз показала 1023. Но в большинстве случаев 75. Спи...

DS18B20 всегда показывает 0
Здравствуйте, подключил к Frearduino ADK v.2.2 (ATmega2560) датчик температуры DS18B20, загрузил...

Отчет не всегда показывает данные
Доброе утро. Проверяю отчет в консоли отчетов, и информация в двух колонкам появляется не всегда....

Qsqlrecord count всегда показывает 1
делаю выборку из базы данных query.exec("SELECT `id` FROM `data` WHERE `domain` = '"+Domain+"' AND...

Счетчик краски samsung ML-1645 всегда показывает полный запас
после первой заправки картриджа счетчик краски всегда показывает полный запас, как сделать чтоб он...

8
Avazart
Эксперт С++
7804 / 5703 / 561
Регистрация: 10.12.2010
Сообщений: 26,009
Записей в блоге: 17
12.03.2019, 13:43 2
Да может быть что угодно, может пины напутал, может плата дохлая,
но скорее всего провод термопары оборвался или же сама термопара дохлая.
0
ENC22
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 5
12.03.2019, 14:14  [ТС] 3
Цитата Сообщение от Avazart Посмотреть сообщение
Да может быть что угодно, может пины напутал, может плата дохлая,
но скорее всего провод термопары оборвался или же сама термопара дохлая.
ХЗ, пины перепроверил, на плате нумеруются с "0" - пробовал переставлять, ошибка уже при загрузке скетча. На руках 2 платы, 3 термоконтроллера и 3 термопары))) менял местами, увы, не помогает)

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
термопара дохлая
Собственно:
Цитата Сообщение от ENC22 Посмотреть сообщение
Сопротивление термопары при нагреве меняется
0
Avazart
Эксперт С++
7804 / 5703 / 561
Регистрация: 10.12.2010
Сообщений: 26,009
Записей в блоге: 17
12.03.2019, 14:43 4
Лучший ответ Сообщение было отмечено ENC22 как решение

Решение

Цитата Сообщение от ENC22 Посмотреть сообщение
пробовал переставлять, ошибка уже при загрузке скетча.
Электроника не та вещь где можно тыкать наугад.

C++
1
2
3
int thermoCS = 3;
int thermoCLK = 4; //он же SCK
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
Этот модуль работает по SPI спрашивается зачем вешать другие пины?

C++
1
2
//        CLK, CS, MISO 
MAX6675 tp(13, 10, 12);


Цитата Сообщение от ENC22 Посмотреть сообщение
Сопротивление термопары при нагреве меняется
Термопара вырабатывает ЭДС так что стоит мерить напряжение, а не сопротивление.
1
ENC22
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 5
12.03.2019, 15:33  [ТС] 5
Цитата Сообщение от Avazart Посмотреть сообщение
Электроника не та вещь где можно тыкать наугад.
Соглашусь
Цитата Сообщение от Avazart Посмотреть сообщение
Термопара вырабатывает ЭДС так что стоит мерить напряжение, а не сопротивление.
Действительно. Ц-шкой не выходит померить))
Цитата Сообщение от Avazart Посмотреть сообщение
Этот модуль работает по SPI спрашивается зачем вешать другие пины?
C++Выделить код
1
2
// * * * *CLK, CS, MISO
MAX6675 tp(13, 10, 12);
Не совсем понял... Говорю же:
Цитата Сообщение от ENC22 Посмотреть сообщение
полное отсутствие опыта в использовании Ардуино
На сайте в примере автор так делал...
0
ENC22
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 5
13.03.2019, 05:06  [ТС] 6
Цитата Сообщение от Avazart Посмотреть сообщение
Этот модуль работает по SPI спрашивается зачем вешать другие пины?
C++Выделить код
1
2
// * * * *CLK, CS, MISO
MAX6675 tp(13, 10, 12);
Действительно, зачем?!)))...
Так заработало:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "max6675.h"
 
MAX6675 thermocouple(13, 10, 12);
 
void setup() {
  Serial.begin(9600);
  Serial.println("MAX6675 test");
  //ждем стабилизации чипа MAX
  delay(1000);
}
 
void loop() {
  //Выводим показания в монитор порта
  Serial.print("C = ");
  Serial.print(thermocouple.readCelsius());
  Serial.print(";   F = ");
  Serial.println(thermocouple.readFahrenheit());
  delay(800);
}
Респект!
Спасибо за помощь!!!)))
0
Avazart
Эксперт С++
7804 / 5703 / 561
Регистрация: 10.12.2010
Сообщений: 26,009
Записей в блоге: 17
13.03.2019, 13:38 7
Да и если библиотека установлена в стандартные папки Arduino, а не в папку скетча стоит писать

C++
1
#include <max6675.h>
1
ENC22
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 5
13.03.2019, 13:52  [ТС] 8
Цитата Сообщение от Avazart Посмотреть сообщение
Да и если библиотека установлена в стандартные папки Arduino, а не в папку скетча стоит писать
C++Выделить код
1
#include <max6675.h>
Пока искал решение, по всем папкам распихал))) теперь и так и так работает)))
Спасибо за советы! Буду дальше осваивать!)
0
Avazart
Эксперт С++
7804 / 5703 / 561
Регистрация: 10.12.2010
Сообщений: 26,009
Записей в блоге: 17
13.03.2019, 16:27 9
Библиотеки стоит ставить через менеджер Arduino IDE, и только если в репозитари их нет качать и копировать руками.
0
13.03.2019, 16:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2019, 16:27

Почему при выводе сообщения об ошибке erl показывает всегда какой-то левый номер строки?
Товарищи, давно хотела спросить - ну почему, почему Erl при обработке On Error решительно всегда...

IE не всегда открывает страницы, показывает что-то наподобие исходного кода страницы
Всех приветствую! У меня вчера какая-то беда приключилась на компе. Возможно вирус навредил....

вопрос по MAX6675
Добрый день! Возник вопрос по max6675. Проблема состоит в том, что результат преобразования в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru