Насчет защиты от перегрева тена целиком и полностью согласен. Стоит родная плавкая вставка, но в дальнейшем можно продублировать защиту показаниями датчика температуры, который стоит в испарителе.
Задача - через 6 часов после включения, включить тэн для оттайки на 15 секунд, при этом исключить включение компрессора и вентилятора, которые включаются при определенной температуре от термодатчика. Обнулить таймер, опять с учетом температуры включать - выключать компрессор с вентилятором, снова через 6 часов включить оттайку, игнорируя компрессор и т.д.
/*
//#1
компрессор -> 4(Compr_pin) 1 вкл/0 откл
вентилятор -> 5(Fun_pin) 1 вкл/0 откл
DS18B20 -> 2 (TEMP_WIRE_BUS)
1 датчик (coolThermometer)
2 датчик (tenThermometer)
I2C LCD1602 GND -> GND
+5V -> +5V
SDA -> A4(SDA)
SCL -> A5(SCL)
//#2
оттайка -> 6(Ten_pin) 1 вкл/0 откл
светодиод оттайки -> 13(LedTen_pin) 1 вкл/0 откл
*/
//#1
const int Compr_pin = 4; // реле компрессора
const int Fun_pin = 5; // реле вентилятора
uint8_t Comp; // состояние реле копрессора(вентилятора) 1 вкл/0 откл
const float temp_Compr_OFF = -10; //порог выключения компрессора
const float temp_Compr_ON = -8; // порог включения компрессора
#include <Wire.h>
#include <DallasTemperature.h>
#include <OneWire.h>
#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
};
float tempSensor[2]; // массив куда читается температура c датчиков.
void getTemp() { // читаем температуру и заполняем массив
TempSensors.requestTemperatures(); //команда сенсорам заполнить свою память новыми данными
tempSensor[0] = TempSensors.getTempC(coolThermometer);
tempSensor[1] = TempSensors.getTempC(tenThermometer);
}
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);// set the LCD address to 0x27 for a 16 chars and 2 line display
void printData() { /////// вывод инфы на экран
lcd.setCursor(0, 0);
lcd.print("Temp1: ");
lcd.print(tempSensor[0]); // показываем температуру с датчика 1
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Temp2: ");
lcd.print(tempSensor[1]); // показываем температуру с датчика 2
lcd.print("C");
}
//#2
const int Ten_pin = 6; // реле оттайки
const int LedTen_pin = 13; // свет оттайки
uint8_t Ten; // состояние реле оттайки 1 вкл/0 откл
void setup() {
Serial.begin(9600);//инициализируем серийный порт
//#1
pinMode(Compr_pin, OUTPUT); // подключить ноги компрессора и вентилятора
pinMode(Fun_pin, OUTPUT);
digitalWrite(Compr_pin, Comp = 0); // и выключить их
digitalWrite(Fun_pin, Comp);
TempSensors.begin(); //инициализируем сенсоры
lcd.backlight();
//#2
pinMode(Ten_pin, OUTPUT); // подключить ноги отморозки и его индикатора
pinMode(LedTen_pin, OUTPUT);
digitalWrite(Ten_pin, Ten = 0); // и выключить их
digitalWrite(LedTen_pin, Ten);
}
void loop() {
static uint32_t MILLIS = millis(); // текущее время в миллисекундах
//#1
getTemp(); // читаем температуру с датчиков
printData();//печатаем данные
if (!Ten && tempSensor[0] > temp_Compr_ON) { // если температура поднялась и нет режима разморозки
digitalWrite(Compr_pin, Comp = 1); // и включить вентилятор и компрессор
digitalWrite(Fun_pin, Comp);
}
if (tempSensor[0] < temp_Compr_OFF) {
digitalWrite(Compr_pin, Comp = 0); // и выключить вентилятор и компрессор
digitalWrite(Fun_pin, Comp);
}
//#2 oттайка раз в 6 часов оттайка 12 сек
static uint32_t past2 = 0; // последнее время сработки
static uint32_t past1_2 = 0; // последнее время начала оттайки
if (Ten && (MILLIS - past1_2 >= 12000)) { // если прошло время разморозки 12 сек
digitalWrite(Ten_pin, Ten = 0); // и выключить разморозку
digitalWrite(LedTen_pin, Ten);
}
if (MILLIS - past2 >= 600000) { // если прошло 6 часов
past2 = MILLIS;
digitalWrite(Compr_pin, Comp = 0); // и выключить вентилятор и компрессор
digitalWrite(Fun_pin, Comp);
digitalWrite(Ten_pin, Ten = 1); // и включить разморозку
digitalWrite(LedTen_pin, Ten);
past1_2 = MILLIS;
}
}
после включения сразу же включает на долю секунды реле компрессора и вентилятора, потом включает реле оттайки на постоянную. Реле компрессора и вентилятора при этом выключены. Подождал значительное время, оттайка не выключается. Температура растет (вставил инициализацию lcd lcd.unit()), компрессор не включается, оттайка не выключается.
...темку практически по моей специальности (холодильщик) решил направить в нужное русло...
2 (эта причина, почему нельзя делать оттайку 15 сек) дело в том, если вы будете включать и выключать компрессор (менее 5 мин. примерно) то он вскоре выйдет из строя. Это делать нельзя!
По опыту наблюдений могу сказать, очень много зависит от теплопроводности самого ящика, вернее способность его держать низкую температуру. Чем лучше герметичность - тем реже включается компрессор, от качества заправки системы хладогентом - тем быстрее набирает холод, если можно так сказать. У меня в среднем простой компрессора 28-30 минут, за это время температура поднимается от -11 до - 7,95, потом 4,5 минуты работа, опускается до -10,06 и опять простой около получаса. Нормальный режим работы. Даже примерно суточный расход эл энергии замерил ( по счетчику), холодильник "жрет" 2 kW за сутки. Как то так. Могу сказать определенно, такую схему можно интегрировать в абсолютно любой холодильник. Позже приведу свою систему в порядок и выложу фото.
Кстати по оттайке - тэн оттайки у меня включается на 60 секунд, за это время нагрев до температуры таяния льда на испарителе, стекание воды. Установил опытным путем. Специально разбирал морозилку и смотрел за процессом. Нагрев испарителя за это время до +5С.
Есть такая специальность, которую просторечье называют "холодильщики". По аналогии к сантехникам, электриками, механикам и прочим. Вот и у них есть своя фишка. Это физика хладогенов. Под давлением он сжижается отдавая тепло наружу, а при испарении ,переходе в газообразное состояние, охлаждает. Не будем лезть в аммиаки. Там свои нюансы. У каждого хладогена есть своя температура испарения . Так что ниже температуры испарения холодильник не охладит.
Но все это пролог. Хладоген в обычных условиях это газ, и в система в которой он циркулирует не совсем герметична. Так что после покупки и долгого срока работы часть хладогена тю-тю. Компрессор работает , пока не охладит. Датчик работы так устроен. Но что бы охлаждать хладоген должен сжижаться и испарятся. И чем меньше в системе хладогена, тем больше работает компрессор, и тем больше жрет холодильник энергии.
ПС: Домашние холодильники сделаны так, что бы покупатели их не ремонтировали, а покупали новые.
Мой сломался в тот момент, что новый ну никак не входит в планы. Нашел вот дешманский способ вернуть к жизни. Еще дешевле, конечно, пользоваться балконом (благо температура на улице соответствующая). Так то 8 лет отработал верой и правдой. Наверное позову холодильщика подзаправить систему. Увидит мой "модуль управления", офигеет наверное.
Аммиачные работают также, а абсорционные по другому. Темпратуру испарения (кипения) можно получить и значительно ниже чем вы думаете, только компрессор или угробите или надо другой. Система герметична, но из-за того что фреон/хладон является текучей жидкостью - один черт через пайку происход утечка, примерно до 5 грам на год с одной точки, и это нормально, все что выше - не нормально. Если вы зальете фреон в чугунную батарею (предварительно загерметизировав отверстия) то через некоторое время весь фреон выйдет через поры чугуна ))
Домашние холодильники ремонтировать можно, поосто цена вопроса... к примеру датчик конца оттайки к холодильнику как у автора стоит под 60 баксов, а из себя представляет биметалическую таблетку которая смыкается или размыкается при отпределенных температурах. Но имея мозг и прямые руки можно как этот датчик заменить аналогичным так и модуль управления, который стоит тоже не малых денег, что и сделал автор.
На самом деле всю эту электронику (фирменную) можно заменить обычными таймерами и релюхами, и как вариант ардуиной.
Категорически нельзя выключать и тут же включать компрессор, надо ждать минут 5 хотя бы
Согласен. У меня в коде даже места нет такого, чтоб происходило кратковременное вкл/выкл компрессора. Это может произойти если температура морозилки (именно она вкл/выкл компрессор) вдруг поднимется и тут же опуститься, тут же поднимется, но такого не должно вроде случиться.
Да, и только сейчас дошло - организуйте компрессору защиту от пониженного и повышенного напряжения ))
Сейчас мы супер холодильник соберем )) вобщем еще - на экране выводите режимы работы: в оттайке, подается ли напряжение на вентилятор, на компрессор. Потом если что будет легче диагностировать.
Я не силен в коде, я еще не написал ни одного скетча, только жду посылку от наших "друзей", скажите после отттайки 60 сек, что происходит?
После оттайки идет проверка температуры в морозилке и, если она повысилась выше -8С, включается компрессор. По опыту, после оттайки температура в камере примерно -8,3С и еще через минут 5-6 поднимается до -7,9С и включается компрессор.
вобщем еще - на экране выводите режимы работы: в оттайке, подается ли напряжение на вентилятор, на компрессор. Потом если что будет легче диагностировать.
не нужно всего этого - холодильник не должен спамить ега счастливого ползателя служебной инфой.
для диагностики - подключаемый модуль диагностики.
Да, и только сейчас дошло - организуйте компрессору защиту от пониженного и повышенного напряжения ))
Сейчас мы супер холодильник соберем )) вобщем еще - на экране выводите режимы работы: в оттайке, подается ли напряжение на вентилятор, на компрессор. Потом если что будет легче диагностировать.
Защиту для компрессора организовал через хороший сетевой фильтр APC, туда же и дуинка со всем обвесом подключена (оказывается боится помех). На дисплее отображается в обратном отсчете время ( в минутах) до следующего цикла оттайки, при включении компрессора светится FREEZING, после выключения светится WAITING, при включении оттайки DEFROST и в постоянном режиме температура в морозилке.
Я не силен в коде, я еще не написал ни одного скетча, только жду посылку от наших "друзей",
Что и для чего заказал?
Как и многие-для супер пупер метеостанции с СО2 )))
Мегу и датчик влажности, датчик СО2 и пяток датчиков температуры )) еще wifi модуль и радиомодуль )) все китайское.
Это пока для "базы" она будет мерять влажность, температуру и СО2 внутри помещения, будет еще один блок (но это потом, если это не спалю), он будет замерять температуру снаружи, и пару точек внутри стены (на половине глубины, на четверти и на поверхности) и если господь скетч сжалится надо мной - все это будет передаваться на комп. Холодильщик я, по совместительству с кондиционерщиком и вентиляционщиком, и немного отопленец, поэтому тепломассообмен это мое, родное )) буду эксперименты над своим жильем ставить ))
Я с Украины, и нас немного заставляют экономить, поэтому приходится вспоминать что изучал в институте и воплощать в жизнь.
Поторопился я объявить о победе.... Не все так просто. Все-таки не могу победить таймер. После двух суток нормальной работы, в задуманных режимах, вдруг начал виснуть, причем в одном и том же месте. На экране одна и та же температура от первого и второго датчика 1:-10.06 2:-15.31, таймер остановлен (каждый раз новая цифра) и надпись должно быть "waiting", а на экране "freeting", часть от первого "waiting" и от второго "freezing". Как будто переходил из одного режима в другой и завис. После резета опять нормальная работа, но через какое то время снова (см. выше). Не пойму что такое.
Сейчас загружен это скетч
#include <Wire.h>
#include <DallasTemperature.h>
#include <OneWire.h>
// дисплей 1602
#include <LiquidCrystal_I2C.h>
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 = 0; // последний момент времени, когда вкл оттайка
// таймер
long OnTimeTen = 40000; // длительность работы тэна (в миллисекундах)
long OffTimeTen = 18000000; // длительность не работы тэна (в миллисекундах)
//////////////////////////////////////////////////////////////////
//про холодильник
int ReleCompr = 4; // реле компрессора
int ReleComprState = HIGH;
int ReleFun = 5; // реле вентилятора
// int ReleFunState = HIGH;
int ReleTen = 6; // реле оттайки
int ReleTenState = HIGH;
int LedTen = 13; // свет оттайки
// /////////////////////////////////////////////////////////////////
void getTemp(){ // читаем температуру и заполняем массив
TempSensors.requestTemperatures(); //команда сенсорам заполнить свою память новыми данными
tempSensor[0] = TempSensors.getTempC(coolThermometer);
tempSensor[1] = TempSensors.getTempC(tenThermometer);
/*
for (int i = 0; i < qty; i++) tempSensor[i] = TempSensors.getTempCByIndex(i);//в цикле заполняем массив полученными данными, уже приведенными к градусам Цельсия.
*/
}
// /////////////////////////////////////////////////////////////////
// пороговые значения температуры
float tempC;
float t1 = -12; //порог выключения компрессора
float t2 = -10; // порог включения компрессора
// float t3 = -14; //порог включения оттайки
// float t4 = -5.0; //порог выключения оттайки
// /////////////////////////////////////////////////////////////////
// работа компрессора
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(ReleCompr, OUTPUT);
digitalWrite(ReleCompr, ReleComprState);
pinMode(ReleFun, OUTPUT);
digitalWrite(ReleFun, ReleComprState);
pinMode(ReleTen, OUTPUT);
digitalWrite(ReleTen, ReleTenState);
pinMode(LedTen, OUTPUT);
TempSensors.begin(); //инициализируем сенсоры
lcd.init();
lcd.backlight();
Serial.begin(9600);//инициализируем серийный порт
}
// //////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////
void loop() {
getTemp(); // читаем температуру с датчиков
printData();
unsigned long currentMillis = millis(); // текущее время в миллисекундах
lcd.setCursor(0, 1);
lcd.print(currentMillis/1000 - prevMillis/1000);
if((ReleComprState==HIGH) && (currentMillis - prevMillis > OffTimeTen))
{
ReleTenState=LOW;
digitalWrite(ReleTen, ReleTenState);
digitalWrite(LedTen, HIGH);
prevMillis = currentMillis;
lcd.clear();
lcd.setCursor(7, 1);
lcd.print("DEFROST");
}
if ((ReleTenState==LOW) && (currentMillis - prevMillis > OnTimeTen)) {
ReleTenState=HIGH;
digitalWrite(ReleTen, ReleTenState);
digitalWrite(LedTen, LOW);
prevMillis = currentMillis;
lcd.clear();
}
else
{
if ((ReleTenState==HIGH) && (tempSensor[0] > t2)) {
ReleComprState = LOW;
digitalWrite(ReleCompr, ReleComprState);
digitalWrite(ReleFun, ReleComprState);
lcd.setCursor(8, 1);
lcd.print("FREEZING"); }
if (tempSensor[0] < t1) {
ReleComprState = HIGH;
digitalWrite(ReleCompr, ReleComprState);
digitalWrite(ReleFun, ReleComprState);
lcd.setCursor(8, 1);
lcd.print("WAITING ");
}
}
}
// /////////////////////////////////////////////////////////////////
Ребят помогите разобраться с таймером, чувствую в этом проблема.
Насчет защиты от перегрева тена целиком и полностью согласен. Стоит родная плавкая вставка, но в дальнейшем можно продублировать защиту показаниями датчика температуры, который стоит в испарителе.
Задача - через 6 часов после включения, включить тэн для оттайки на 15 секунд, при этом исключить включение компрессора и вентилятора, которые включаются при определенной температуре от термодатчика. Обнулить таймер, опять с учетом температуры включать - выключать компрессор с вентилятором, снова через 6 часов включить оттайку, игнорируя компрессор и т.д.
таймер здесь класс титановый велосипед для delay без delay().
остальное - говорил же, как:
if (таймер) {оттайка;}
if (!оттайка) {компрессор; вентиллятор;}
Спасибо! Сейчас попробую.
Но эту Кибериаду я все-таки тоже хочу победить.
после включения сразу же включает на долю секунды реле компрессора и вентилятора, потом включает реле оттайки на постоянную. Реле компрессора и вентилятора при этом выключены. Подождал значительное время, оттайка не выключается. Температура растет (вставил инициализацию lcd lcd.unit()), компрессор не включается, оттайка не выключается.
Неа, не работает...
Все, я его победил. Выложил сюда
http://arduino.ru/forum/proekty/rabochii-kholodilnik-s-nofrost
...темку практически по моей специальности (холодильщик) решил направить в нужное русло...
2 (эта причина, почему нельзя делать оттайку 15 сек) дело в том, если вы будете включать и выключать компрессор (менее 5 мин. примерно) то он вскоре выйдет из строя. Это делать нельзя!
Написано немного сумбурно.
Можно чуть более определенно:
- что следует делать,
- чего делать категорически не следует.
- что следует делать,
- чего делать категорически не следует.
- следует включать компрессор максимально реже.
- категорически не следует включать компрессор часто.
*выключать можно как угодно. :D
Один раз выключить и больше не включать.
Спасибо, все понял.
По опыту наблюдений могу сказать, очень много зависит от теплопроводности самого ящика, вернее способность его держать низкую температуру. Чем лучше герметичность - тем реже включается компрессор, от качества заправки системы хладогентом - тем быстрее набирает холод, если можно так сказать. У меня в среднем простой компрессора 28-30 минут, за это время температура поднимается от -11 до - 7,95, потом 4,5 минуты работа, опускается до -10,06 и опять простой около получаса. Нормальный режим работы. Даже примерно суточный расход эл энергии замерил ( по счетчику), холодильник "жрет" 2 kW за сутки. Как то так. Могу сказать определенно, такую схему можно интегрировать в абсолютно любой холодильник. Позже приведу свою систему в порядок и выложу фото.
Кстати по оттайке - тэн оттайки у меня включается на 60 секунд, за это время нагрев до температуры таяния льда на испарителе, стекание воды. Установил опытным путем. Специально разбирал морозилку и смотрел за процессом. Нагрев испарителя за это время до +5С.
Есть такая специальность, которую просторечье называют "холодильщики". По аналогии к сантехникам, электриками, механикам и прочим. Вот и у них есть своя фишка. Это физика хладогенов. Под давлением он сжижается отдавая тепло наружу, а при испарении ,переходе в газообразное состояние, охлаждает. Не будем лезть в аммиаки. Там свои нюансы. У каждого хладогена есть своя температура испарения . Так что ниже температуры испарения холодильник не охладит.
Но все это пролог. Хладоген в обычных условиях это газ, и в система в которой он циркулирует не совсем герметична. Так что после покупки и долгого срока работы часть хладогена тю-тю. Компрессор работает , пока не охладит. Датчик работы так устроен. Но что бы охлаждать хладоген должен сжижаться и испарятся. И чем меньше в системе хладогена, тем больше работает компрессор, и тем больше жрет холодильник энергии.
ПС: Домашние холодильники сделаны так, что бы покупатели их не ремонтировали, а покупали новые.
Мой сломался в тот момент, что новый ну никак не входит в планы. Нашел вот дешманский способ вернуть к жизни. Еще дешевле, конечно, пользоваться балконом (благо температура на улице соответствующая). Так то 8 лет отработал верой и правдой. Наверное позову холодильщика подзаправить систему. Увидит мой "модуль управления", офигеет наверное.
Аммиачные работают также, а абсорционные по другому. Темпратуру испарения (кипения) можно получить и значительно ниже чем вы думаете, только компрессор или угробите или надо другой. Система герметична, но из-за того что фреон/хладон является текучей жидкостью - один черт через пайку происход утечка, примерно до 5 грам на год с одной точки, и это нормально, все что выше - не нормально. Если вы зальете фреон в чугунную батарею (предварительно загерметизировав отверстия) то через некоторое время весь фреон выйдет через поры чугуна ))
Домашние холодильники ремонтировать можно, поосто цена вопроса... к примеру датчик конца оттайки к холодильнику как у автора стоит под 60 баксов, а из себя представляет биметалическую таблетку которая смыкается или размыкается при отпределенных температурах. Но имея мозг и прямые руки можно как этот датчик заменить аналогичным так и модуль управления, который стоит тоже не малых денег, что и сделал автор.
На самом деле всю эту электронику (фирменную) можно заменить обычными таймерами и релюхами, и как вариант ардуиной.
Категорически нельзя выключать и тут же включать компрессор, надо ждать минут 5 хотя бы
Категорически нельзя выключать и тут же включать компрессор, надо ждать минут 5 хотя бы
Согласен. У меня в коде даже места нет такого, чтоб происходило кратковременное вкл/выкл компрессора. Это может произойти если температура морозилки (именно она вкл/выкл компрессор) вдруг поднимется и тут же опуститься, тут же поднимется, но такого не должно вроде случиться.
Я не силен в коде, я еще не написал ни одного скетча, только жду посылку от наших "друзей", скажите после отттайки 60 сек, что происходит?
В морозилке у вас не может быть физически молниностного повышения температуры, там инерция... так что за это можно не волноваться.
И чисто из любопытства, а почему выбрана температура минус10, в морозильной камере можно и по ниже..
Да, и только сейчас дошло - организуйте компрессору защиту от пониженного и повышенного напряжения ))
Сейчас мы супер холодильник соберем )) вобщем еще - на экране выводите режимы работы: в оттайке, подается ли напряжение на вентилятор, на компрессор. Потом если что будет легче диагностировать.
Я не силен в коде, я еще не написал ни одного скетча, только жду посылку от наших "друзей", скажите после отттайки 60 сек, что происходит?
После оттайки идет проверка температуры в морозилке и, если она повысилась выше -8С, включается компрессор. По опыту, после оттайки температура в камере примерно -8,3С и еще через минут 5-6 поднимается до -7,9С и включается компрессор.
вобщем еще - на экране выводите режимы работы: в оттайке, подается ли напряжение на вентилятор, на компрессор. Потом если что будет легче диагностировать.
не нужно всего этого - холодильник не должен спамить ега счастливого ползателя служебной инфой.
для диагностики - подключаемый модуль диагностики.
В морозилке у вас не может быть физически молниностного повышения температуры, там инерция... так что за это можно не волноваться.
И чисто из любопытства, а почему выбрана температура минус10, в морозильной камере можно и по ниже..
Я сейчас сделал -12С, думаю хватит. Температуру можно менять в любое время, чем и нравится мне вся эта штука.
Да, и только сейчас дошло - организуйте компрессору защиту от пониженного и повышенного напряжения ))
Сейчас мы супер холодильник соберем )) вобщем еще - на экране выводите режимы работы: в оттайке, подается ли напряжение на вентилятор, на компрессор. Потом если что будет легче диагностировать.
Защиту для компрессора организовал через хороший сетевой фильтр APC, туда же и дуинка со всем обвесом подключена (оказывается боится помех). На дисплее отображается в обратном отсчете время ( в минутах) до следующего цикла оттайки, при включении компрессора светится FREEZING, после выключения светится WAITING, при включении оттайки DEFROST и в постоянном режиме температура в морозилке.
Защиту для компрессора организовал через хороший сетевой фильтр APC
не-не! реле напряжения
дабы не спалить комрессор при <180 или >260 вольт в сети
Точно! Видел такую
Ну тогда выходим на пром. Уровень ))
Я не силен в коде, я еще не написал ни одного скетча, только жду посылку от наших "друзей",
Что и для чего заказал?
Я не силен в коде, я еще не написал ни одного скетча, только жду посылку от наших "друзей",
Что и для чего заказал?
Как и многие-для супер пупер метеостанции с СО2 )))
Мегу и датчик влажности, датчик СО2 и пяток датчиков температуры )) еще wifi модуль и радиомодуль )) все китайское.
Это пока для "базы" она будет мерять влажность, температуру и СО2 внутри помещения, будет еще один блок (но это потом, если это не спалю), он будет замерять температуру снаружи, и пару точек внутри стены (на половине глубины, на четверти и на поверхности) и если господь скетч сжалится надо мной - все это будет передаваться на комп. Холодильщик я, по совместительству с кондиционерщиком и вентиляционщиком, и немного отопленец, поэтому тепломассообмен это мое, родное )) буду эксперименты над своим жильем ставить ))
Я с Украины, и нас немного заставляют экономить, поэтому приходится вспоминать что изучал в институте и воплощать в жизнь.
Понятно. Ну удачи в освоении. и экспериментах.
Спасибо.
Поторопился я объявить о победе.... Не все так просто. Все-таки не могу победить таймер. После двух суток нормальной работы, в задуманных режимах, вдруг начал виснуть, причем в одном и том же месте. На экране одна и та же температура от первого и второго датчика 1:-10.06 2:-15.31, таймер остановлен (каждый раз новая цифра) и надпись должно быть "waiting", а на экране "freeting", часть от первого "waiting" и от второго "freezing". Как будто переходил из одного режима в другой и завис. После резета опять нормальная работа, но через какое то время снова (см. выше). Не пойму что такое.
Сейчас загружен это скетч
Ребят помогите разобраться с таймером, чувствую в этом проблема.
Напомню я не разбираюсь в скетчах, но я холодильщик ))
у вас
"
float
t2 = -10;
// порог включения компрессора
051
// float t3 = -14; //порог включения оттайки"
вам скорее всего это "float t3 = -14" даром не нужно, вы включаете оттайку по времени, какой ф..г какая там температура?
Напомню я не разбираюсь в скетчах, но я холодильщик ))
у вас
"
float
t2 = -10;
// порог включения компрессора
051
// float t3 = -14; //порог включения оттайки"
вам скорее всего это "float t3 = -14" даром не нужно, вы включаете оттайку по времени, какой ф..г какая там температура?
Да, там строка 051 не используется, стоит двойной слэш. Это осталось от первоначального варианта скетча.
Может посоветуете какой-нить программный таймер для атмеги 328, я б его попробовал прикрутить......
класс титановый велосипед для delay без delay().
здесь можно будет реализовать большой интервал?
здесь можно будет реализовать большой интервал?
4294967296 миллисекунд
Хватит
Хватит
ок. 100$
))))
что то не так делаю, попробовал образец скомпилировать, не прошел проверку...
))))
что то не так делаю, попробовал образец скомпилировать, не прошел проверку...
попробовал пример #3 с версией класса #1
что я не так делаю?
блиииииииииин! че то ваще навоз...
нифига.
именно #3 с версией #1
это что за дурь? Arduino: 1.7.8
https://downloads.arduino.cc/arduino-1.6.13-windows.zip
Прикольно, а с этой версией все нормально компилируется. Не помню где я взял 1.7.8, так еще и просит обновить до 1.7.12!!!
Пивасика набулькался, щас все получится.
Интересно.... В версии Arduino 1.6.13 не проходит проверку мой скетч, загруженный сейчас в холодильник! А в 1.7.8 проходит!? Не понял...
Короче, говорит, что в этой строке
comparison signed and unsigned integer expressions wsign compare сравнение знаковые и беззнаковые целые выражения
Короче, говорит, что в этой строке
comparison signed and unsigned integer expressions wsign compare сравнение знаковые и беззнаковые целые выражения
Строчка наверно должна быть такой:
и так тоже пробовал
и нефиг сравнивать знаковые и беззнаковые
unsigned
long
prevMillis
long
OnTimeTen
Короче, говорит, что в этой строке
comparison signed and unsigned integer expressions wsign compare сравнение знаковые и беззнаковые целые выражения
Перевод кодовой строки:
ReleTenState==LOW И (currentMillis - prevMillis) БОЛЬШЕ OnTimeTen
Оператор И имеет больший приоритет чем БОЛЬШЕ.
Короче, говорит, что в этой строке
comparison signed and unsigned integer expressions wsign compare сравнение знаковые и беззнаковые целые выражения
Перевод кодовой строки:
ReleTenState==LOW И (currentMillis - prevMillis) БОЛЬШЕ OnTimeTen
Оператор И имеет больший приоритет чем БОЛЬШЕ.
а, да, есть логика. Скобки понятны.