проблемы с термостатом...

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Всем доброго...

Есть проблемка с терамостатом. Фото выкладывал здесь: http://arduino.ru/forum/proekty/termorele-dlya-kholodilnika-na-arduino-pro-mini-i-ds18b20#comment-87678

Термостат собран на: про-микро+oled 0.96"+ ds18b20+реле. Питается от зарядки телефона. Проблема в том, что термостат иногда "уходит в бесконечную перезагрузку". Т.е. перезагружается по окончании первого цикла. Успевает считать температуру с датчика и включить реле и БАЦ, перезагрузка. И так пока не замечу сие явление. При этом может безпрерывно работать больше месяца без проблем, а может в день по нескольку раз уходить в перезагрузку...

Из библиотек использую "OLED" и библа термодатчика. Подключены 3 кнопки для настройки пределов с использованием внутренних подтягивающих резисторов. Реле подключено напрямую к выходу дуины. Парралельно катушке реле установлен диод.

Скетч пока прикрепить к сообщению не могу, комп накрылся медным тазом и доступа к нему нету...

SergCh
Offline
Зарегистрирован: 18.12.2014

Я бы начал с:

1. проверки питания.

2. Демпфирования контактов реле RC цепочкой. Можно просто отключить нагрузку от реле, посмотреть, не будет ли перезагрузок.

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

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

1 напряжение мерял тестором, 5 вольт стабильно подходит.

2. Отключить нагрузку и попробовать можно, вот только сбои бывают не постоянно. Может быть раз в месяц, а может и несколько раз в день...

Предлогаете поставить оптосимистор вместо реле?

SergCh
Offline
Зарегистрирован: 18.12.2014

Да. Либо оптосимистор (твёрдотельное реле), либо  бороться с коммутационной помехой RC цепочкой , Номиналы примерно 480 Ом; 0,1 uF.

  Это если с питанием действительно всё в порядке. 5 вольт должно быть без провалов, которые тестером не увидишь. . Реле  кстати прилично кушают.

bwn
Offline
Зарегистрирован: 25.08.2014

Территориально девайс на селе находится или в городе?

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

SergCh пишет:

 Реле  кстати прилично кушают.

паспортное потребление (если не ошибаюсь) 25мА.

 

bwn пишет:

Территориально девайс на селе находится или в городе?

город. Подключен девайс к стабилизатору напряжения, от которого питается котел БАКСИ,,,

bwn
Offline
Зарегистрирован: 25.08.2014

Тады наверно все таки оптосимистор с детектором 0. Нагрузка большая через реле запитана?

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

bwn пишет:

Тады наверно все таки оптосимистор с детектором 0. Нагрузка большая через реле запитана?

Управляет котлом БАКСИ... 

bwn
Offline
Зарегистрирован: 25.08.2014

Управляет - включает и выключает или какие то функции?

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

В котле есть контакты для подключения термостата, к ним и подключен. Управляет отоплением.

bwn
Offline
Зарегистрирован: 25.08.2014

Если стабилизатор с электронным регулированием (внутри не ЛАТР), то попробовать включить БП девайса до стабилизатора. Оптопара для этих целей вряд ли подойдет, да и бессмысленно.

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Нагрузка на реле не большая, т.к. он подает лишь управляющий сигнал. Есть контакт-включается котел, нет контакта-выключается.

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

bwn пишет:

Если стабилизатор с электронным регулированием (внутри не ЛАТР), то попробовать включить БП девайса до стабилизатора. Оптопара для этих целей вряд ли подойдет, да и бессмысленно.

Вроде электронный(без ЛАТРа). Попробую!

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Включение термостата до стабилизатора положительного результата не дало. Только что опять завис. Но вот, что я заметил. термостат уходит в перезагрузку только после включения реле. Если температура находится вне пределов включения реле, термостат не зависает.

 

bwn
Offline
Зарегистрирован: 25.08.2014

У вас похоже что то связанное с питанием, при включении котла заряжаются кондеры + включается и насос (реактивная нагрузка), она по всей видимости и дает помеху. Но судя, что это не всегда, работает еще какой то фактор. А значит искать и исключать возможные причины.

Сажать на линию от другого автомата, увеличивать кондеры на выходе БП, пробовать другой БП. На вскидку это не скажешь.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Адаптер 9 Вольт 1 Ампер, Ардуино Дуемиланове, DS18B20 на трубе подачи,  ЛЦД шилд, блок с оптронами на 2 реле ( из поднебесной) , ту-же самую перемычку на котле Юнкерсе включала-выключала, два года у соседа проработало без вопросов.

Любая цировая техника отличается от аналоговой большей устойчивостью к помехам. Где вы их ловите?????????

Например:

Даллас шина с термометрами, паук из непонятных кабелей  идущий в разные концы нескольких 4-х этажных зданий (цеха и гостиница), ужасные комбинации из линий и звезды, витая пара, сигнализационный кабель и ещё хрен знает что за кабеля.

Работает три года без проблемм, АйПишник посмотреть не дам-  начнут пароли к  конфигурации подбирать .... .

msg31
Offline
Зарегистрирован: 01.12.2013

Тима пишет:

Всем доброго...

Есть проблемка с терамостатом. Фото выкладывал здесь: http://arduino.ru/forum/proekty/termorele-dlya-kholodilnika-na-arduino-pro-mini-i-ds18b20#comment-87678

Термостат собран на: про-микро+oled 0.96"+ ds18b20+реле. Питается от зарядки телефона. Проблема в том, что 

Поставь для начала блок питания на 9Вольт.

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Поставил транзистор для развязки катушки реле и выхода дуины... Пока полет нормальный.

Далее мне нужен совет...

Приехали радиомодули с шифратором/дешифратором. http://www.ebay.com/itm/261072159491?_trksid=p2060778.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT Хочу по радио управлять котлом относительно температуры в соседней комнате. Вопрос в том, как это лучше сделать? Озвучу свои мысли по этому поводу. По принципу "вкл пока есть сигнал" делать не хочется, потому как радиомодуль при включении котла будет в режиме постоянной "прием/передача".  Думаю сделать так: подал импульс на 1й канал-котел включился, подал импульс на 2йканал-отключился. В этом случае, если в режиме "вкл" произойдет сбой и котел отключится, термостат будет "думать" что котел включен, т.к. обратной связи нету. Думаю надо подавать импульс на 1й канал каждые 5 минут для включения и на 2й канал каждые 5 минут для выключения. В таком случае при сбое котел включится/выключится от повторного сигнала.

Что можете посоветовать? 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Я бы всякие "модули" не брал когда есть с пультом и в корпусе.... и в два раза дешевле..... с вашим-же шифратором-дешифратором ...

http://www.banggood.com/Wireless-2-Channels-220V-Lamp-Remote-Control-Switch-Transmitter-p-959065.html?utm_source=google&utm_medium=cpc&utm_content=all&utm_campaign=crn-sc-unbeatable&utm_design=19

http://www.banggood.com/Wireless-4-Channels-220V-Lamp-Remote-Control-Switch-Transmitter-p-959056.html

 

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

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

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Без проблем термостат проработал 3 дня.  Опять глючит! Развязка транзистором проблему не решила.

Вот скетч загруженный в дуину:

#include <Arduino.h>
#include <Wire.h>
#include <MicroLCD.h>
#include <SPI.h>

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

int out = 6;  //выход реле
float t;  //температура
float ton = 24.0; //температура включения
float toff = 24.5; //температура выключения
int a = 0;
int b = 0;


LCD_SSD1306 lcd;


void setup()
{
  
        digitalWrite(9,HIGH);  //кнопка "выбор"
        digitalWrite(8,HIGH);  //кнопка "минус"
        digitalWrite(7,HIGH);  //кнопка "плюс"

        sensors.begin();
        pinMode(out, OUTPUT); 
	lcd.begin();
        lcd.clear();
        lcd.setCursor(0, 1);
	lcd.setFont(FONT_SIZE_MEDIUM);
        lcd.print("Termo-control");
	delay(1000);
        lcd.clear();
        lcd.setCursor(10, 1); lcd.print("T=");
        lcd.setCursor(10, 3); lcd.print("Toff=");
        lcd.setCursor(10, 5); lcd.print("Ton=");
}

void loop() {
  sensors.requestTemperatures();
  t=sensors.getTempCByIndex(0);
  lcd.setCursor(30, 1);  lcd.print(sensors.getTempCByIndex(0),1);
  
  lcd.print("  ");
  lcd.setCursor(55, 3); lcd.print(toff,1);
  lcd.setCursor(55, 5); lcd.print(ton,1);

  delay(100);
  
  if (digitalRead(9) == LOW) { //при нажатии кнопки "меню"...
    a = a + 1;
    b=0;   
  while (a ==1) {
      lcd.setCursor(0,3); lcd.print('>');  //выделяем изменяемый параметр
      if (digitalRead(7) == LOW) { toff = toff + 0.1; b=0;} // нажатием "+" увеличиваем
      if (digitalRead(8) == LOW) { toff = toff - 0.1; b=0;}  //нажатием "-" уменьшаем
      lcd.setCursor(55, 3); lcd.print(toff,1);
      delay(300);
      
      b=b+1;
      if (b>30){a=3;}
      
      if (digitalRead(9) == LOW) { a = a + 1; b=0;} // нажатие кнопки "меню"...
     
        }
  while(a ==2) {
      lcd.setCursor(0,3); lcd.print(' ');  // переходим к следующему параметру
      lcd.setCursor(0,5); lcd.print('>');
      if (digitalRead(7) == LOW) { ton = ton + 0.1; b=0;}
      if (digitalRead(8) == LOW) { ton = ton - 0.1; b=0;}
      lcd.setCursor(55, 5); lcd.print(ton,1);
      delay(300);
      
      b=b+1;
      if (b>30){a=3;} //При бездействии в течении 30 циклов в "меню" выходим из настроек
      
      if (digitalRead(9) == LOW) { a = a + 1; }
      }
   if (a >2) {
      lcd.setCursor(0,3); lcd.print(' ');
      lcd.setCursor(0,5); lcd.print(' ');
      a=0;
   }
  }
  if (t<ton){  // если температура ниже уставки ...
    digitalWrite(out, HIGH);  // включаем реле
    lcd.setCursor(100, 1); lcd.print("*");
  }
  if (t>toff){   // если температура выше уставки...
    digitalWrite(out, LOW); // выключаем реле
    lcd.setCursor(100, 1); lcd.print(" ");
  }
 delay(1000);
}

Может я что-то не доглядел...?

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Повесьте питание ардуины (временно) на отдельную батарейку. Как можно транзистором что-то развязать - я не очень понимаю... Я бы там где-нибудь оптопару поставил.

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Andrey_Y_Ostanovsky пишет:

Повесьте питание ардуины (временно) на отдельную батарейку. Как можно транзистором что-то развязать - я не очень понимаю... Я бы там где-нибудь оптопару поставил.

Сейчас питаю от другой зарядки, более мощной. Посмотрим что получится.

А реле подключил так:

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Походу дело было в блоке питания. После смены бп зависаний небыло.

Теперь пробую сделать управление по радиомодулю.

Проблема в том, что модули работают на расстоянии не более 5-7 см.

Соединяю по схеме:

   

Только вместо светодиода реле. Питание передатчика и приемника от 5 вольт. Пробовал распрямлять антены, толку никакого.

Может я что не так делаю?

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Увеличение напряжения питания передатчика до 12 вольт результата не дало...

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

расстроены частоты передатчика и приёмника.... покрутите подстроечник на передатчике, найдите уверенный приём.... эта пара уверенно работает с улицы метров за 50...70 на 7 этаж кирпичного дома

можно ещё витки катушек подвигать на приёмнике ( где 3 и 5 витков ).....

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Я бы не крутил контура без приборов... 

Я  бы сначала выяснил у кого сбилась частота с помощью 1. Второго комплекта, 2. радио термометра- осциллографом, 3. брелка от сигнализации- осциллографом. И только настороив приёмник занимался передатчиком.

П.С. Там где две катушки и круглый фильтр - это передатчик.

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Есть 2 таких комплекта: http://www.ebay.com/itm/433Mhz-RF-transmitter-and-receiver-link-kit-for-Arduino-ARM-MC-U-remote-control-/371160758776?pt=LH_DefaultDomain_0&hash=item566ae7b9f8

Я сравнил приемники и они практически идентичны, за исключением того, что к одному припаяна плата с дешифратором, попробую перепаять приемник...

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Смена приемника результата не дала!  (((

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Найдите рабочую пару, а потом меняйте что-то для проверки.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

trembo пишет:

Я бы не крутил контура без приборов... 

Я  бы сначала выяснил у кого сбилась частота с помощью 1. Второго комплекта, 2. радио термометра- осциллографом, 3. брелка от сигнализации- осциллографом. И только настороив приёмник занимался передатчиком.

П.С. Там где две катушки и круглый фильтр - это передатчик.

да, конечно же наоборот :)

 

бескорпусные комплекты часто приходят и на 315 и на 433 Mhz , а вот в таком виде - http://www.ebay.com/itm/IC2262-2272-4-channel-wireless-remote-control-kits-4-key-wireless-remote-control-/281037024484?pt=LH_DefaultDomain_0&hash=item416f1cace4 - всё отлично

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

А длина антены роль играет? в описаниях написаны разные размеры.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Играет, но не на 5-ти метрах прямой видимости. В памяти отложилось 433 Мгц - 17.5 сантиметров

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

SU-27-16 пишет:

бескорпусные комплекты часто приходят и на 315 и на 433 Mhz , а вот в таком виде - http://www.ebay.com/itm/IC2262-2272-4-channel-wireless-remote-control-kits-4-key-wireless-remote-control-/281037024484?pt=LH_DefaultDomain_0&hash=item416f1cace4 - всё отлично

Это можно выяснить глянув на фильтр передатчика: http://www.ebay.com/itm/5-PCS-433-92MHz-TO-39-433MHZ-433M-433-92M-RF-SAW-Filter-R433-92-ROUND-433-92-/371098516211

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Блин, хрень какая-то. Делаю все как написано здесь: http://arduinobasics.blogspot.ru/2014/06/433-mhz-rf-module-with-arduino-tutorial.html

Единственное, на передатчике стоит мини, на приемнике нано. На расстоянии около метра работает, дальше нивкакую. Антены припаял 32см на приемнике и 25 на передатчике.

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

Здесь http://smartliving.ru/forum/viewtopic.php?f=8&t=611&start=50Ф вычитал, что модули(и приемник и передатчик), для лучшей работы надо запитать от 12 вольт. буду пробоватью...

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

чем сильнее орёшь - тем дальше слышно - не ваш вариант :(   у вас приёмник и передатчик - не согласованны по частоте :(

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

А как можно настроить частоты не имея под рукой осцилографа? И как настраивать, "крутилка" есть только на приемнике...

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Тима пишет:

А как можно настроить частоты не имея под рукой осцилографа? И как настраивать, "крутилка" есть только на приемнике...

 на передатчике - менять шаг катушек 3 витка и 5 витков....

на приёмнике - крутить подстроечник С

......осциллограф - не моможет :(

...заказать у продавца СОГЛАСОВАННЫЕ по частоте приёмник и передатчик :(

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

http://www.ebay.com/itm/IC2262-2272-4-channel-wireless-remote-control-ki...

...не реклама , проблем - не было :)

Тима
Тима аватар
Offline
Зарегистрирован: 11.04.2013

А получится использовать NRF24L01 в связке со сдвиговым регистором 74HC595(без дуины)От тоже вроде имеет SPI...

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

нет :(