Uit Hack42
Ga naar: navigatie, zoeken
Project: Verwarming
Schroefje24.png
Schroefje24.png
Schroefje24.png
Schroefje24.png
Verwarming Picture.jpg

Verwarming

Naam Verwarming
Door eightdot
Status Uitvoer
Madskillz Burnin, onderhandelen, aansluiten, bewateren
Doel / Omschrijving
Awesome cheap, a lot of heat
Alle Projecten - Project Toevoegen
File:Verwarming_Picture.jpg noez


Stook howto

Basic hardware uitleg (de knopjes)

  • 1 klep aan de schoorsteen uitgang bovenop de kachel, hierna te noemen schoorsteenregelaar
Deze klep kan rechtop staan en liggen, rechtop staat de schoorsteen helemaal open, liggend een klein beetje.
KAN HEET WORDEN!
  • 1 Schuif op de aslade.
deze regelt de luchttoevoer naar het vuur

Het aanmaken van de kachel

  • Neem je papieren pyromaandiploma.
  • Stapel er wat dun(ner) hout in een 'luchtige' vorm.
  • Stapel daar bovenop wat dikker hout (droog svp)
  • Stop er een aanmaakblokje (of 2) in en steek die aan.
  • Zet de schoorsteenregelaar open
  • Zet de asladeschuif open
  • Steek de fik erin


Geniet nu met mate.

notes:

  • leg NIETS op de kachel wegens daarom.
  • zet je tas/jas/hackable object niet in de buurt van de kachel
  • Ja, ook de schoorsteen is heet.
  • ga niet op de tegels staan, dat doet de kachel al voor ons.
  • als de kachel goed brandt, kan er ook een wat vochtiger blok op. vochtig hout voorlopig niet drogen op de kachel, en niet zonder direct toezicht.

Bijvullen van de kachel

  • Zet de schoorsteenregelaar op open
  • Open de deur
  • Stop er hout in
  • Doe de deur dicht
  • ???
  • Profit!

Plaatjes

Er zijn wat grafiekjes van de kachel.

Brandstof en As

Dit is een HOUTkachel, geen allesbrander.

Hout mag alleen de kachel is als er geen verf of andere rotzooi op zit. Spijkers/schroeven zijn geen bezwaar. Spaanplaat is gestolde Brinta, geen hout. MDF is gestolde Bambix, ook geen hout. Bladeren roken alleen maar en geven veel as. Ditto voor karton en papier. Geld: nooit geprobeerd, be my guest...

hier komt: procedure voor aanvoer brandstof


Afvoer van as:

Neem de aslade op het moment dat de kachel uit is. Doe de inhoud van de lade in de daarvoor bestemde emmer*. Voeg water toe tot er zeker geen risico op brand meer is. Gooi dan de inhoud van de emmer op een passende plek weg (buiten het pand).

*De emmer wordt nog geregeld.

Controller

Tech. doc *NOT FOR USERS*

230V

schema comming..

Groep 16 -> WCD hoog in de vensterbank -> controller daar:

fuse 1 1A -> pomp

fuse 2 1A

         -> if(overtemp) then valve.lower else K3
         -> if(K1) then valve.lower 
            else if (K2) then valve.higher

fuse 3 1A -> voeding 24V

24V

schema comming..

24v psu ->

       -> controller pcb 
       -> if (!K3) sound alarm (tmp disabled)
       -> if (K3 && D2) then K1
       -> if (K3 && D3) then K2

pcb

schema comming..

Sanguino based

Terminals Left Top (Right to Left)

1 Gnd
2 Rs232 Tx (serial1, to bar pc?)
3 n/c
4 n/c

Terminals Right Top (Right to Left)

1 Gnd
2 +24Vdc in
3 +Alarm
4 OC Colder (D2->K1)
5 OC Hotter (D3->K2)
6 n/c

Terminals Right bottom (Top to Bottom)

1  Gnd
2  +5Vdc out
3  Analog0 in Kachel.Hot (LM335Z to gnd, 4k7 to +5v)
4  Analog1 in Kachel.Cold?
5  Analog2 in CV.Cold?
6  Analog3 in Lounge room temp?
7  Analog4 in Outside temp?
8  Analog5 in schoorsteen temp?
9  Analog6 in ?
10 Analog7 in Valve.position?

6 pin connector left (right to left) for arduino programming

1 gnd
2 gnd (DTR?)
3 n/c
4 Rx
5 Tx
6 RTS (reset)

8 pin connector left (right to left) for bootloader programming

1 n/c
2 n/c
3 SCLK
4 MISO
5 MOSI
6 #Reset
7 
8 Gnd


software

int sensor0,sensor1,sensor2,sensor3,sensor4,sensor5,sensor6,sensor7;
int curstep;
int valvestate;
void readall();
void opending(int halfsteps,int wait);
void closeding(int halfsteps,int wait);

void setup()
{
 Serial1.begin(9600);   
   pinMode(0, OUTPUT);     //debug
   pinMode(1, OUTPUT);     //colder
   pinMode(2, OUTPUT);     //hotter 
   valvestate=0;
}
void opending(int halfsteps,int wait) {
 Serial1.print("opening ");
 Serial1.print(halfsteps);
 Serial1.print("/2step\r\n");
 digitalWrite(1, HIGH);  //START COLDER
 valvestate=4;
 for(curstep=0;curstep<8*halfsteps;curstep++) {
   readall();
   delay(1000);
 }
 digitalWrite(1, LOW);   //STOP  COLDER
 valvestate=3;
 for(curstep=0;curstep<wait;curstep++) {
   readall();
   delay(1000);
 }
 valvestate=0;
}
void closeding(int halfsteps,int wait) {
 Serial1.print("closing ");
 Serial1.print(halfsteps);
 Serial1.print("/2step\r\n");
 digitalWrite(2, HIGH);  //START HOTTER
 valvestate=2;
 for(curstep=0;curstep<8*halfsteps;curstep++) {
   readall();
   delay(1000);
 }
 digitalWrite(2, LOW);   //STOP  HOTTER
 valvestate=1;
 for(curstep=0;curstep<wait;curstep++) {
   readall();
   delay(1000);
 }
 valvestate=0;
}
void readall()
{
 sensor0 = analogRead(0);
 sensor1 = analogRead(1);
 sensor2 = analogRead(2);
 sensor3 = analogRead(3);
 sensor4 = analogRead(4);
 sensor5 = analogRead(5);
 sensor6 = analogRead(6);
 sensor7 = analogRead(7);
 sensor0=sensor0*5-2730;
 sensor1=sensor1*5-2730;
 sensor2=sensor2*5-2730;
 sensor3=sensor3*5-2730;
 sensor4=sensor4*5-2730;
 sensor5=sensor5*5-2730;
 sensor6=sensor6*5-2730;
 sensor7=sensor7*5-2730; 
 Serial1.print("Sensors ");
 Serial1.print(sensor0); Serial1.print(" ");
 Serial1.print(sensor1); Serial1.print(" ");
 Serial1.print(sensor2); Serial1.print(" ");
 Serial1.print(sensor3); Serial1.print(" ");
 Serial1.print(sensor4); Serial1.print(" ");
 Serial1.print(sensor5); Serial1.print(" ");
 Serial1.print(sensor6); Serial1.print(" ");
 Serial1.print(sensor7); Serial1.print(" ");
 Serial1.print(valvestate); Serial1.print(" ");
 Serial1.print(curstep); Serial1.print(" ");
 Serial1.print("\r\n"); 
}
void loop()
{
 int maxstate;
 readall();
 if(               sensor0 > 800)
 {
   opending(4,45);
   maxstate=20;
 }else if(sensor1<410 && sensor0 < 400)
 {
   if(maxstate>0) 
   {
     maxstate--;
     closeding(4,45);
   }
 }else if(sensor1>700 && sensor0 > 700)
 {
   opending(2,45);
   maxstate=20;
 }else if(sensor1>500 && sensor0 > 700)
 {
  opending(1,45);
  maxstate=20;
 }else if(sensor1>400 && sensor0 < 650)
 {
   if(maxstate>0) 
   {
     maxstate--;
     closeding(1,30);
   }
 }else if(              sensor0 < 600)
 {
   if(maxstate>0) 
   {
     maxstate--;
     closeding(2,45);
   }
 }
 // if(sensor1>400 && sensor0 < 650) niks;
 delay(1000);
}

matrix of what the code does

Main goal: trying to keep output between 65 and 70 (just random numbers, but they seem to work well)

input output action
>80 open fast
>70 >70 open normal
>50 >70 open slow
<41 <40 close fast
>40 <65 close slow
<60 close normal
>65 <70 nothing (seems to be the right output)

sensors

LM335Z

Voorheen

Probleem

  • Het is koud

Oplossing

  • Verwarmingstoestel

Er is een houtkachel van 21Kw (16Kw CV en 5Kw ruimte) in KKN6. Deze kachel beschikt over 2 aansluitingen voor de CV, 1 toevoer van 'koud' water en 1 afvoer van warm water. Hij staat in de lounge (1.09) en is daar aangesloten op het CV systeem wat er al is. Hiermee kan in ieder geval de hele westelijke kant begane grond verwarmd worden.

  • Brandstof
Hout is op KKN gratis of bijna gratis te regelen.
Hout is Elders[tm] vaak gratis of goedkoop te krijgen als je zelf transport verzorgt.
  • Status
Kachel staat
Leidingen CV (water) zijn aangesloten en op druk
Pomp draait
Schoorsteen werkt.
Hout is aanwezig. Maar meer voorraad is welkom.
er is nog geen antivries in het slapende circuit gedaan.