Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

Спасибо dic1712

Контроллеры на основе ESP8266
Ответить
Аватара пользователя
hess2222
Рядовой
Сообщения: 14
Зарегистрирован: 19.09.2021{, 11:13}
Репутация: 0
Имя: Олег

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#1

Сообщение hess2222 » 29.09.2021{, 08:47}

Е…ся я с этим блоком. Хочу создать небольшой контроллер , но не хотел он измерять температуру постоянно, не сочтите за флуд но думаю медленно (я начинающий), пересмотрев все темы и код исходник печи представленный создателем блока понял что можно поставить на вход внутренние часы реального времени с детектором числа, тогда код нагружен, но датчик работает исправно
Вложения
QWE.HMI
(1.24 МБ) 34 скачивания
VJQ.flp
(992.82 КБ) 42 скачивания
90CBB1FD-1C6E-4658-8E77-E47B050AA705.jpeg
E3FB39ED-517B-434C-97A6-EF6D5AEA3E61.jpeg
Последний раз редактировалось hess2222 29.09.2021{, 20:18}, всего редактировалось 2 раза.

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#2

Сообщение ecoins » 29.09.2021{, 08:59}

Кажется Вы верно ухватили суть проблемы.
Пришлите пожалуйста код проекта, возможно смогу дать полезные рекомендации.

Аватара пользователя
hess2222
Рядовой
Сообщения: 14
Зарегистрирован: 19.09.2021{, 11:13}
Репутация: 0
Имя: Олег

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#3

Сообщение hess2222 » 29.09.2021{, 09:26}

Спасибо :smile9: обязательно, только вечером смогу ))))

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#4

Сообщение edyapd » 29.09.2021{, 09:49}

hess2222, было бы хорошо, если при подобных вопросах сразу выкладывать проект.

Из того, что вы описали, я вижу такую проблему. Вы пытались опрашивать датчик в каждом цикле программы. А это несколько раз (возможно сотни и тысячи раз) в секунду. И датчик просто не мог при этом корректно работать.
Вам надо просто установить генератор + Rtrig, на вход разрешения датчика. Настроить выдачу импульсов раз в 2-5 сек. И думаю, что всё заработает

Аватара пользователя
hess2222
Рядовой
Сообщения: 14
Зарегистрирован: 19.09.2021{, 11:13}
Репутация: 0
Имя: Олег

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#5

Сообщение hess2222 » 29.09.2021{, 10:29}

Возможно, но я пробовал устанавливать на 1-ну секунду симметричный мультивибратор и у меня не получилось, вопрос а зачем rtrig?

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#6

Сообщение edyapd » 29.09.2021{, 14:58}

Просто мультивибратор тут не поможет. Так как у вас получается, что в течении половины секунды датчик опрашивается очень часто.
Тут как раз и спасает Rtrig. Он запускается по переднему фронту мультивибратора и опрашивает датчик только один раз. Следующий опрос будет на следующем фронте мультивибратора.

aidar_i
Полковник
Сообщения: 3123
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 675
Откуда: Уфа
Имя: Айдар
Контактная информация:

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#7

Сообщение aidar_i » 29.09.2021{, 15:17}

У него опрос раз в секунду по скриншоту.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#8

Сообщение edyapd » 29.09.2021{, 15:23}

Если схема с рисунка не работает, то там возможно ещё причина в том, что часы устанавливаются в каждом цикле. И не понятно, выдают ли они при этом вообще какой сигнал.
Поэтому я и предложил поставить генератор + триггер

Аватара пользователя
hess2222
Рядовой
Сообщения: 14
Зарегистрирован: 19.09.2021{, 11:13}
Репутация: 0
Имя: Олег

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#9

Сообщение hess2222 » 29.09.2021{, 18:14}

Нет , схема с рисунка рабочая , меня интересует общий вопрос, на кой нужен этот вход и можно ли сделать как нибудь без него то бы просто был датчик без всякой трихомудии

Отправлено спустя 2 часа 6 минут 12 секунд:
Всё, файл отправлен))) Спасибо что откликнулись!

Naladchik
Капитан
Сообщения: 823
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 153
Откуда: Новосибирск
Имя: Павел

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#10

Сообщение Naladchik » 29.09.2021{, 20:36}

hess2222 писал(а):
29.09.2021{, 18:14}
...на кой нужен этот вход и можно ли сделать как нибудь без него...
Можно, но вот вопрос, как Вы отнесетесь к электроприбору, отключить который можно только выдернув шнур из розетки?

Отправлено спустя 59 минут 53 секунды:
hess2222 писал(а):
29.09.2021{, 20:20}
Всё, файл отправлен)
Проверьте.
VJQ_1.flp
(291.61 КБ) 47 скачиваний
По идее чаще чем раз в 0,5с опрашиваться не должен, если надо реже измените в параметрах.
И настройки пинов в параметрах маленько привел в порядок.
Win10-64. FLProg Portable.
Изображение

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#11

Сообщение ecoins » 29.09.2021{, 23:04}

1.По используемому блоку MAX6675 - он использует библиотеку, которая при каждом обращении к блоку тормозит на время >9ms.
Фрагмент кода из библиотеки ниже.
СпойлерПоказать
double MAX6675::readCelsius(void) {

uint16_t v;

digitalWrite(cs, LOW);
_delay_ms(1);

v = spiread();
v <<= 8;
v |= spiread();

digitalWrite(cs, HIGH);

if (v & 0x4) {
// uh oh, no thermocouple attached!
return NAN;
//return -100;
}

v >>= 3;

return v*0.25;
}

double MAX6675::readFahrenheit(void) {
return readCelsius() * 9.0/5.0 + 32;
}

byte MAX6675::spiread(void) {
int i;
byte d = 0;

for (i=7; i>=0; i--)
{
digitalWrite(sclk, LOW);
_delay_ms(1);
if (digitalRead(miso)) {
//set the bit to 0 no matter what
d |= (1 << i);
}

digitalWrite(sclk, HIGH);
_delay_ms(1);
}

return d;
}
В конкретном проекте это мало на что влияет, но лучше бы этого избегать.
2. В качестве пина S0 для сенсора выбран пин 4 (D2) - лучше выбрать другой пин (например 14(D5)).
Пины D1,D2(5,4) - лучше не занимать, это интерфейс i2c, он пригодится при развитии проекта.
3. Если Вы будете расширять в проекте вывод на дисплей Nextion, то я бы рекомендовал несколько иной подход обмена между с дисплеем (без тормозов).
-----
Если Вам интересно продвижение в выбранном Вами направлении, и Вы готовы освободить пин 4, то я мог бы набросать Вам основу проекта, который бы Вы могли развивать без угрозы появления "тормозов" и пр.

Аватара пользователя
hess2222
Рядовой
Сообщения: 14
Зарегистрирован: 19.09.2021{, 11:13}
Репутация: 0
Имя: Олег

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#12

Сообщение hess2222 » 30.09.2021{, 20:08}

Спасибо !!!! Так он начал работать намного шустрее.Конечно :D интересно))) Но извиняюсь он уже не занят , он у меня пуст или я чего то не понимаю, не хочется выглядеть тупым
Вложения
D5C79E3A-1AF7-40AA-B619-4213F02CE6CE.jpeg

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Подружился с оговорками MAX6675 для ESP8266 NodeMcu v3

#13

Сообщение ecoins » 02.10.2021{, 14:28}


Ответить

Вернуться в «ESP8266»