Browse Source

functional code, flashed to refrigerator feb.24

master
Barb 9 months ago
commit
72b319e787
2 changed files with 63 additions and 0 deletions
  1. +60
    -0
      AulaStud_fridge_compressor_timer_controller.ino
  2. +3
    -0
      README.md

+ 60
- 0
AulaStud_fridge_compressor_timer_controller.ino View File

@ -0,0 +1,60 @@
int disable = 0;
int timer = 0;
int timerMAX = 900; //(countdown in seconds)
int fan = 0;
int relayPin = 0;
int fanPin = 1;
void setup() {
// put your setup code here, to run once:
pinMode(relayPin, OUTPUT);
pinMode(fanPin, OUTPUT);
digitalWrite(relayPin, LOW);
digitalWrite(fanPin, LOW);
timer = timerMAX;
}
void loop() {
// put your main code here, to run repeatedly:
// only enable fans after the compressor has been running for a while
if (timer < (timerMAX*4/5) && disable == 0) {
digitalWrite(fanPin, HIGH);
}
else if (timer == timerMAX) {
digitalWrite(fanPin, LOW);
}
// compressor control logic
if (timer > 0 && disable == 0) {
// when compressor is active, countdown moves at 1s/cycle
timer--;
}
else if (timer > 0 && disable == 1) {
// when compressor is off, countdown moves at 5s/cycle
timer = timer - 5;
}
else if (timer == 0) {
// reset countdown timer to max once 0 is reached
timer = timerMAX;
// realy control logic: warning! LOW = active!
if (disable == 0) {
disable = 1;
digitalWrite(relayPin, HIGH);
}
else if (disable == 1) {
disable = 0;
digitalWrite(relayPin, LOW);
}
}
else { //protect against underflow or bitflip
timer = 0;
disable = 1;
}
delay(1000);
}

+ 3
- 0
README.md View File

@ -0,0 +1,3 @@
Controller basato su attiny45, un relé e un FET per il frigorifero usato che abbiamo preso per l'aulastud nel '23.
Abbiamo dovuto sostituire il termostato e il design dell'evaporatore (parte fredda della serpentina) fa sì che ci sia rischio di trasporto di olio dal compressore e che si intasi il sistema se il compressore lavora per troppi minuti di fila (tipicamente dopo 30 minuti, a quel punto tocca staccare il frigo, riscaldarlo con un phon per sturare il blocco di olio, di solito nel reparto freezer, e poi riaccenderlo).
Questo controller è montato DOPO il termostato, in modo da impostare dei limiti di tempo massimo di accensione (15') e minimo di stand-by (3') del compressore. Inoltre, si occupa di accendere delle ventole nel compartimento freezer e frigo che aumentano il COP e permettono la completa evaporazione del refrigerante (butano).

Loading…
Cancel
Save