Рабочий холодильник с NoFrost

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

У меня когда висло заметил, что при этом дисплей показывал одно и тоже, в смысле при каждом зависании т1 = -10,6 т2 = 4 Defrost. Все время одно и тоже. Как будто зависание правоцировала определенная комбинация цифр. Не заметил, есть что то подобное?

Lachin
Offline
Зарегистрирован: 02.10.2016

Dimmm пишет:

У меня когда висло заметил, что при этом дисплей показывал одно и тоже, в смысле при каждом зависании т1 = -10,6 т2 = 4 Defrost. Все время одно и тоже. Как будто зависание правоцировала определенная комбинация цифр. Не заметил, есть что то подобное?

Именно так и есть,при зависании показывает одно и тоже,пока не перезагружу ардуинку.За сегодня зависла 3 раза,подскажите как бороться с этим недугом. 

Фото та во как все собрано,все контакты зажаты надежно не где не чего не болтается. 

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Ну круто! 

Сдается мне ошибка где то в библиотеке дисплея. Убери из кода вывод лишних символов, типа t, defrost,C и остальной дребедени с ними связанные, оставь только самое нужное - цифры температуры, посмотри что будет)))

Да, и еще можно блок питания проверить, че там проверять не знаю, но че нить проверь (тут все так советуют))).

Lachin
Offline
Зарегистрирован: 02.10.2016

БП проверен,все четко работает,минимальные пульсации.Dimmm а у тебя были зависания в чем была проблема?

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

F- это морозильная камера, С- это холодильная камера, D- это датчик Defrost.

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

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

Lachin
Offline
Зарегистрирован: 02.10.2016

Dimmm пишет:

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

Ок по пробую убрать и глянуть что получится из этого,спасибо.

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

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

Lachin
Offline
Зарегистрирован: 02.10.2016

Dimmm пишет:

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

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

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

А запитайте реле от другого ИП (земли соединить). Думаю там собака роется.
Дисплею то в сущности похрену что отображать.
По питанию, мне кажется или у вас токовый драйвер с понижайкой?

Lachin
Offline
Зарегистрирован: 02.10.2016

bwn пишет:

А запитайте реле от другого ИП (земли соединить). Думаю там собака роется.
Дисплею то в сущности похрену что отображать.
По питанию, мне кажется или у вас токовый драйвер с понижайкой?

На входе стоит AC-DC на 12в потом эти 12в входят на  DC-DC преобразователь и там уже выставлено 5в,и потом эти 5в на ардуинку на релейные модули дисплей.

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

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

Как вариант: если есть еще одна понижайка, попробуйте реле запитать через нее или от отдельной 5В зарядки. А дальше уже смотреть.

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

Lachin пишет:

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

Это из плясок с бубном: минимизировав вывод по шине, снизили вероятность помехи от нее.
А у вас, самая жрущая линия вышла еще и самой длинной.

Lachin
Offline
Зарегистрирован: 02.10.2016

Ок по пробую запить реле отдельно,спасибо.

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

bwn пишет:

Lachin пишет:

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

Это из плясок с бубном: минимизировав вывод по шине, снизили вероятность помехи от нее.
А у вас, самая жрущая линия вышла еще и самой длинной.

Ну да, согласен, насчет плясок. Все методом научного тыка. Пробовал заливать библиотеки для LCD, скачанные с других ресурсов. И вот что интересно, все равно висло, но при этом у разных библитек (я имею ввиду из разных источников, библиотека то вроде одна и та же)))) были разные символы при зависании.

не знаю понятно ли написал...

Lachin
Offline
Зарегистрирован: 02.10.2016

Dimmm пишет:

bwn пишет:

Lachin пишет:

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

Это из плясок с бубном: минимизировав вывод по шине, снизили вероятность помехи от нее.
А у вас, самая жрущая линия вышла еще и самой длинной.

Ну да, согласен, насчет плясок. Все методом научного тыка. Пробовал заливать библиотеки для LCD, скачанные с других ресурсов. И вот что интересно, все равно висло, но при этом у разных библитек (я имею ввиду из разных источников, библиотека то вроде одна и та же)))) были разные символы при зависании.

не знаю понятно ли написал...

Dimmm при зависании символы остаются одни и те же,но при этом сам компрессор продолжает работать,а все показания датчиков и время зависло,делаем перезагрузку ардуинки и все опять работает,может проработать и 3 часа а может и через 30 минут зависнуть,в момент включения реле компрессора питание 5в не проседает,и пульсации нет не каких ну как сказать нет есть но очень минимальные,пробовал подать отдельно питание на реле,зависание остались,буду убирать лишние из кода там посмотрим что будет дальше. 
 
На  насчет плясок не понял что вы имели виду?
Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

про пляски в #62 написано, это тут любят так обозвать бессмысленные, по мнению местных профи, телодвижения начинающих в области обнаружения проблемы и попыток ее решения))

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

Lachin, вы чем определяете, что нет просадки в момент включения компрессора. Это прямое указание на х-вый БП. Лечение - увеличение буферных емкостей и дросселей. В виде подпорки ватчдог.

Lachin
Offline
Зарегистрирован: 02.10.2016

bwn пишет:

Lachin, вы чем определяете, что нет просадки в момент включения компрессора. Это прямое указание на х-вый БП. Лечение - увеличение буферных емкостей и дросселей. В виде подпорки ватчдог.

Проверял прибором,хорошо,по пробую заменить БП.

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

Lachin пишет:

bwn пишет:

Lachin, вы чем определяете, что нет просадки в момент включения компрессора. Это прямое указание на х-вый БП. Лечение - увеличение буферных емкостей и дросселей. В виде подпорки ватчдог.

Проверял прибором,хорошо,по пробую заменить БП.

Приборы разные нужны, приборы разные важны. Если прибор зовут не осциллограф, хрен вы чего увидите.

Lachin
Offline
Зарегистрирован: 02.10.2016

bwn пишет:

Lachin пишет:

bwn пишет:

Lachin, вы чем определяете, что нет просадки в момент включения компрессора. Это прямое указание на х-вый БП. Лечение - увеличение буферных емкостей и дросселей. В виде подпорки ватчдог.

Проверял прибором,хорошо,по пробую заменить БП.

Приборы разные нужны, приборы разные важны. Если прибор зовут не осциллограф, хрен вы чего увидите.

Осциллографом.

Lachin
Offline
Зарегистрирован: 02.10.2016

Привет,вроде зависания пропали,убрал лишние буквы с кода,но есть такая проблема,иногда появляются лишние буквы на дисплей,например если показывает датчик под номером два температуру ну скажем должен показывать 2.50 градуса,то он может показывать 2.5678 ну что то ти по такова,а остальные два датчика показывают нормально,и еще где отображается время там  например первый запуск ардуинки,время начинает показывать 1 мин потом 2 минуты,и в какой то момент может место двух или трех показать 300,то есть добовляет лишние цифры в чем может быть проблема? Спасибо.

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Ага! Я же говорил! 

Да не парься про буквы-цифры, температура под контролем и ладно.

Ну если уж парит, то попробуй поискать другую библиотеку LCD. Я много перебрал, прежде, чем забыл про эту проблему. К сожалению, даже не помню с какого ресурса скачивал.

Lachin
Offline
Зарегистрирован: 02.10.2016

Dimmm это конечно не проблема,но напрягает если честно,думал может надо добавить такое lcd.clear(); ? если вставить в loop то начинает мерцать дисплей,вот и не знаю как  правильно сделать. 

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Lachin пишет:

Dimmm это конечно не проблема,но напрягает если честно,думал может надо добавить такое lcd.clear(); ? если вставить в loop то начинает мерцать дисплей,вот и не знаю как  правильно сделать. 

У меня в коде очистка дисплея после срабатывания оттайки каждые 4 часа. 

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Почитал твой код, что то как то мудренно.

Lachin
Offline
Зарегистрирован: 02.10.2016

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

Что именно мудренно ?

 

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Да фиг знает... Три температурных датчика, за чем?... Почему не четыре? Столько гиммора вокруг просто включения компрессора для поддержания температуры. Чем проще, тем лучше, меньше шагов, меньше ошибок.

Lachin
Offline
Зарегистрирован: 02.10.2016

3 датчик это для самого дефроста,то есть он смотрит за оттайкои 

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

А в штатном исполнении он был?

Lachin
Offline
Зарегистрирован: 02.10.2016

Нет не было,было всего 2 датчика,и термофьюз 

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Блин! А я ж вроде тебе писал код?! Не подошел что ли?

Lachin
Offline
Зарегистрирован: 02.10.2016

Dimmm пишет:

Блин! А я ж вроде тебе писал код?! Не подошел что ли?

Я его еще не пробовал,этот код ты вроде как выложил самом последнем посте? 

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Нет, он у тебя на почте. Как раз второй вентилятор в твоем холодильнике и натолкнул меня на идею о регулировке температуры в холодильной камере в моем холодильнике.

Lachin
Offline
Зарегистрирован: 02.10.2016

Dimmm пишет:

Нет, он у тебя на почте. Как раз второй вентилятор в твоем холодильнике и натолкнул меня на идею о регулировке температуры в холодильной камере в моем холодильнике.

Так тут что ты выложил тоже вроде со вторым вентилятором ? или этот что последнем посте код не пойдет.

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Lachin пишет:

Dimmm пишет:

Нет, он у тебя на почте. Как раз второй вентилятор в твоем холодильнике и натолкнул меня на идею о регулировке температуры в холодильной камере в моем холодильнике.

Так тут что ты выложил тоже вроде со вторым вентилятором ? или этот что последнем посте код не пойдет.

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

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Lachin пишет:

Нет не было,было всего 2 датчика,и термофьюз 

Нахрена козе баян? или собаке пятая нога? За чем воткнул третий датчик на тэн для оттайки?

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

Lachin
Offline
Зарегистрирован: 02.10.2016

Код нашел,его обязательно залью, Dimmm за код спасибо тебе.

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

Lachin пишет:

Код нашел,его обязательно залью, Dimmm за код спасибо тебе.

Скажешь как работает

Lachin
Offline
Зарегистрирован: 02.10.2016

Dimmm пишет:

Lachin пишет:

Код нашел,его обязательно залью, Dimmm за код спасибо тебе.

Скажешь как работает

Обязательно.

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

Вот, аватарка китайской барышни красиво написала. (69 пост)

y_moroz
Offline
Зарегистрирован: 08.06.2017

Lachin пишет:

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

Это виснет китайский дисплей (слетает инициализация) через импульсную помеху. Надо сначала слать данные в дисплей, подождать немного, запустить компресор/вентилятор,опять подождать когда пройдут переходные процессы, тогда можно опять слать в дисплей команды. И для страховки иногда воткнуть команду инициализации дисплея, но она затратная по времени.

Еще можно подключить дисплей по 8-битной шине, тоже должно решить проблему. Ну и провода покороче.

Также долго искал причины таких зависаний на самодельном термостате для газового котла.

tonton2
Offline
Зарегистрирован: 07.08.2017

Dubrii Den,

U menia kholodilnik takoy ge kak u Lachin.

ya khotshu programirovat  kontrolor

u menia vsyu evo electritsheskaya schema

Blagadaryu vas za pomotsh.

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

tonton2 пишет:

Dubrii Den,

U menia kholodilnik takoy ge kak u Lachin.

ya khotshu programirovat  kontrolor

u menia vsyu evo electritsheskaya schema

Blagadaryu vas za pomotsh.

в добрый путь! :)

tonton2
Offline
Зарегистрирован: 07.08.2017

spassiba vam

tonton2
Offline
Зарегистрирован: 07.08.2017

Dubrii vetcher DIMMM
seyshas temperatura moevo kholodilnika meniaetsa postayanno(umenshaetsa i uvelitshivetsa s signalom).
Ya dumayu shto eto proiskhodit ot elektronoy karti.
Ya Shital shto vi otpavili LACHINU rabotshii KOD evo kholodilnika(GR-642AVP).Mogiti li vi otpavit mne tot ge Kod.
Spassiba za raneye.

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016
 
#include <Wire.h>
 
#include <OneWire.h>
 
#include <DallasTemperature.h>
 
#include <LiquidCrystal_I2C.h>
 
 
// дисплей 1602
 
LiquidCrystal_I2C lcd(0x27, 16, 2);// set the LCD address to 0x27 for a 16 chars and 2 line display
 
// два датчика температуры DS18B20 на пин 2
 
 
#define TEMP_WIRE_BUS 2
OneWire tempWire(TEMP_WIRE_BUS); //объявили переменную датчиков
DallasTemperature TempSensors(&tempWire); //объявили структуру типа Даллас термометр
DeviceAddress coolThermometer = {
  0x28, 0xFF, 0xC0, 0xC6, 0x43, 0x16, 0x04, 0xA8
};
DeviceAddress tenThermometer = {
  0x28, 0xFF, 0x23, 0xFC, 0x43, 0x16, 0x03, 0xEC
};
// define variables
float tempSensor[2]; // массив куда читается температура c датчиков.
byte qty; // количество градусников на шине.
 
// счетчик
unsigned long prevMillis; // последний момент времени, когда вкл оттайка
unsigned long currentMillis;
// таймер
unsigned long OnTimeT = 90000; // длительность работы тэна (в миллисекундах)
unsigned long OffTimeT = 15000000; // длительность не работы тэна (в миллисекундах)
//////////////////////////////////////////////////////////////////
//про холодильник
#define ReleC  4  // реле компрессора
#define ReleF  5 // реле вентилятора
#define ReleT  6 // реле оттайки
#define LedT  13 // свет оттайки
boolean state = false;
// /////////////////////////////////////////////////////////////////
void getTemp() { // читаем температуру и заполняем массив
  TempSensors.requestTemperatures(); //команда сенсорам заполнить свою память новыми данными
  tempSensor[0] = TempSensors.getTempC(coolThermometer);
  tempSensor[1] = TempSensors.getTempC(tenThermometer);
 
}
// /////////////////////////////////////////////////////////////////
// пороговые значения температуры
float tempC;
int t1 = -16; //порог выключения компрессора
int t2 = -14; // порог включения компрессора
int t3 = 1; //порог выключения вентилятора 
int t4 = 2; // порог включения вентилятора 
// /////////////////////////////////////////////////////////////////
// работа компрессора
void comprFun()
{
  if (tempSensor[0] > t2) {
    state = true;
    digitalWrite(ReleC, LOW);
   digitalWrite(ReleF, LOW);
  }
  if (tempSensor[0] < t1) {
    digitalWrite(ReleC, HIGH);
    digitalWrite(ReleF, HIGH);
    state = false;
  }
}
 
 
// режим оттайки
void deFrost()
{
  digitalWrite (ReleT, LOW);
  digitalWrite (LedT, HIGH);
  state = true;
  delay(OnTimeT);
 
  digitalWrite (ReleT, HIGH);
  digitalWrite (LedT, LOW);
  state = false;
  lcd.clear();
}
/////// вывод инфы на экран
void printData() {
  lcd.setCursor(0, 0);
  lcd.print("1:");
  lcd.print(tempSensor[0]);  // показываем температуру с датчика 1
 
  lcd.setCursor(8, 0);
  lcd.print("2:"); // показываем температуру с датчика 2
  lcd.print(tempSensor[1]);
 
}
// /////////////////////////////////////////////////////////////////
 
// ////////////////////////////////////////////////////////////////////
void setup() {
  pinMode(ReleC, OUTPUT);
  digitalWrite(ReleC, HIGH);
  pinMode(ReleF, OUTPUT);
  digitalWrite(ReleF, HIGH);
  pinMode(ReleT, OUTPUT);
  digitalWrite(ReleT, HIGH);
  pinMode(LedT, OUTPUT);
 
  TempSensors.begin(); //инициализируем сенсоры
  lcd.begin();
  lcd.backlight();
 
  Serial.begin(9600);//инициализируем серийный порт
}
// //////////////////////////////////////////////////////////////////
 
// /////////////////////////////////////////////////////////////////
void loop() {
 
  getTemp(); // читаем температуру с датчиков
  printData();
  currentMillis = millis(); // текущее время в миллисекундах
  lcd.setCursor(0, 1);
  lcd.print(OffTimeT / 1000 - (currentMillis / 1000 - prevMillis / 1000));
 
  if (state == false && (currentMillis - prevMillis) > OffTimeT) {
 
    deFrost();
    prevMillis = currentMillis;
  }
  else
 
    comprFun();
 
 }
// /////////////////////////////////////////////////////////////////
tonton2
Offline
Зарегистрирован: 07.08.2017

dubrii utro

Spassiba bolshoi DIMMM

Dimmm
Dimmm аватар
Offline
Зарегистрирован: 07.11.2016

tonton2 пишет:

dubrii utro

Spassiba bolshoi DIMMM

 

Попробуй сначало, если что, напишешь, поправим.

tonton2
Offline
Зарегистрирован: 07.08.2017

ok ya sdelayu eto zavtra

spassiba

tonton2
Offline
Зарегистрирован: 07.08.2017

Dubrii vetsher,

LACHIN ispavil evo kholodelnik ?