• 1
  • 30
  • 31
  • 32
  • 33
  • 34
Най - вълнуващия въпрос зимно време.
Здравейте,

От Варна съм и изчетох цялата тема, но за съжаление много от нещата които пише не са ми ясни. Никога не съм се занимавал с климатици
Искам да си направя такова отопление в апартамента. Имам прекарани тръби и радиатори по стаите но само до там са нещата при мен.

Има ли някой от Варна, който може да ми сътвори такова чудо?
Имам в едната стая климатик инвертор Фуджицу работи на 110V не знам дали ще стане за тази цел вие ще кажете
2v6 - майстор
bshishkov написа:
Здравейте,

От Варна съм и изчетох цялата тема, но за съжаление много от нещата които пише не са ми ясни. Никога не съм се занимавал с климатици
Искам да си направя такова отопление в апартамента. Имам прекарани тръби и радиатори по стаите но само до там са нещата при мен.

Има ли някой от Варна, който може да ми сътвори такова чудо?
Имам в едната стая климатик инвертор Фуджицу работи на 110V не знам дали ще стане за тази цел вие ще кажете
Става, но трудно.
Ако климатика си работи добре, не е за препоръчване да се разваля.
Климатика си работи много добре но не може да ми стопли и другите стаи а там нямам климатици.
Климатика ми е във всекидневната, в детската имам радиатор маслен на делонги и в спалнята не отопляваме с нищо зимата.
с тези двата уреда си топлим апартамента като на всички стаи вратите стоят отворени и не се затварят, за де се топли всичко.

Но топлината от климатика ме дразни и не ми харесва, някакси не ми е много комфортна самата топлина.
ако не е за препоръчване да се разваля този климатик мога ако трябва друго външно тяло да си взема и да се направи ако ще може да ми отоплява всички стаи с радиаторите които си ги имам в стаите
2v6 - майстор
bshishkov написа:
...ако не е за препоръчване да се разваля този климатик мога ако трябва друго външно тяло да си взема и да се направи ако ще може да ми отоплява всички стаи с радиаторите които си ги имам в стаите
Със съществуващите радиатори и термопомпа предполагам ще може да се отоплява до към 0 градуса. На по-студено ще трябва нещо допълнително.

Ето и последния код за Ардуиното:

Код: Избери всички

#include <ERxPachube.h>
#include <SPI.h>
#include <Ethernet.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <EEPROM.h>
#include "EEPROMAnything.h"
#include <MsTimer2.h>


byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x42, 0x3B };
byte ip[] = { 192,168,0, 82 };
byte gateway[] = {192,168,0,1};	
byte subnet[] = { 255, 255, 255, 0 };

float T61,T62,T63,T64,T65,T66,F,P,P1, PulsePeriod,Q61,Q61f=0,Q62,Q62f=0,temp_f;

volatile long lastFlowPulseTime;
int mode=0,xivelyRet;
long FeedTime, FlowPulseTime, loopTime, SensorsReadTime, Q62Time, modeTime, PauseTime;

// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(2);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);
DeviceAddress DeviceAddress0 = { 0x28, 0xE0, 0xDD, 0xC2, 0x02, 0x00, 0x00, 0xF4 }; //28E0DDC2020000F4
DeviceAddress DeviceAddress1 = { 0x28, 0x26, 0xC4, 0xC2, 0x02, 0x00, 0x00, 0x56 }; //2826C4C202000056
DeviceAddress DeviceAddress2 = { 0x28, 0xB7, 0xD1, 0x11, 0x03, 0x00, 0x00, 0x5C }; //28B7D1110300005C
DeviceAddress DeviceAddress3 = { 0x28, 0x9B, 0xD7, 0x11, 0x03, 0x00, 0x00, 0x0B }; //289BD7110300000B
DeviceAddress DeviceAddress4 = { 0x28, 0x3D, 0xCA, 0x11, 0x03, 0x00, 0x00, 0x75 }; //283DCA1103000075
DeviceAddress DeviceAddress5 = { 0x28, 0x53, 0xC4, 0x11, 0x03, 0x00, 0x00, 0x07 }; //2853C41103000007

ERxPachubeDataOut dataout("key with record permitions", 25242);
EthernetServer webserver(80);

void setup() {
  Ethernet.begin(mac, ip);
  delay(1000);
  // Start up the library
  	dataout.addData(0);
	dataout.addData(1);
	dataout.addData(2);
	dataout.addData(3);
	dataout.addData(4);
	dataout.addData(5);
	dataout.addData(6);
	dataout.addData(7);
	dataout.addData(8);
	dataout.addData(9);
	dataout.addData(10);
	dataout.addData(11);
	dataout.addData(12);
	dataout.addData(13);

  sensors.begin();
  delay(1000);

  attachInterrupt(1, FlowPulseSet, RISING); // Set flow pulse time on rising pin3
  MsTimer2::set(9982, every_10_seconds);
  MsTimer2::start();
  pinMode(4, INPUT);
  digitalWrite(4, HIGH);
  pinMode(5, INPUT);
  digitalWrite(5, HIGH);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, INPUT);
  digitalWrite(8, HIGH);
}

void every_10_seconds() 
{
  P1=analogRead(2)/200.0;
  temp_f=Q61f;
  Q61f=temp_f+P1/360;
  sensorsRead();
  feedPachube();
}

void loop()
{
  loopTime=millis();

  flowCalculation(); 
  controlOutput();
  webServer();
}

void controlOutput()
{
  if (digitalRead(8)==0 && mode>0 && mode <9)
  {
        digitalWrite(6, 0); // Stop compressor
        modeTime=loopTime;
        mode=9;
  }
    
  switch ( mode ) 
    {
    case 0 : //Standby
      digitalWrite(7, 0); // Stop fan & 4-way valve
      if (digitalRead(8) && T66<21.5 && loopTime-modeTime>120000)
      {
        digitalWrite(6, 1); // Start compressor
        digitalWrite(7, 1); // Start fan & 4-way valve
        modeTime=loopTime;
        mode=1;
      }
      break;
      
    case 1 : //Heating
      if (loopTime-modeTime>2300000 || T65>44 || (T66>21.5 && digitalRead(6) && loopTime-modeTime>300000)) // Stop heating 
      {
        digitalWrite(6, 0); // Stop compressor
        modeTime=loopTime;
        mode=2;
      }
      if (T62-T63<5+T61/10 && loopTime-modeTime>600000) // Stop for defrosting
      {
        digitalWrite(6, 0); // Stop compressor
        modeTime=loopTime;
        mode=3;
      }
      break;
      
    case 2 : //After heating time
      if (loopTime-modeTime>60000) 
      {
        if (T61>5) digitalWrite(7, 0); // Stop fan & 4-way valve
        modeTime=loopTime;
        PauseTime=(T61+25)*60000;
        mode=8;
      }
      break;

    case 3 : //Afterheating time for fan and 4-way valve before defrosting
      if (loopTime-modeTime>60000)
      {
        modeTime=loopTime;
        if (T61<1)
        {
          digitalWrite(7, 0); // Stop fan & 4-way valve
          mode=4;
        }
        else
        {
          PauseTime=(T61+25)*60000;
          mode=8;
        }
      }
      break;
    
    case 4 :
      if (loopTime-modeTime>120000)  //Delay before compressor start
      {
        digitalWrite(6, 1); // Start compressor
        modeTime=loopTime;
        mode=5;
      }
      break;
      
    case 5 : //Defrosting stage 1
      if (loopTime-modeTime>60000) //Min defrosting time
      {
        mode=6;
      }
      break;
      
    case 6 : //Defrosting stage 2
      if (loopTime-modeTime>300000 || T65>10 || P1>4) //Max defrosting time
      {
        digitalWrite(6, 0); // Stop compressor
        modeTime=loopTime;
        mode=7;
      }
      break;
      
    case 7: //Defrosting stage 3
      if (loopTime-modeTime>60000)
      {
        digitalWrite(7, 1); // Start fan & 4-way valve
        modeTime=loopTime;
        mode=9;
      }
      break;

    case 8: //Hot defrosting or heating pause
      if (loopTime-modeTime>PauseTime)
      {
        modeTime=loopTime;
        mode=9;
      }
      break;

    case 9 : //Record energy
      if (loopTime-modeTime>60000)
      {
        EEPROM_readAnything(0,temp_f);
        Q62=temp_f+Q62f;
        EEPROM_writeAnything(0,Q62);    
        Q62f=0;

        EEPROM_readAnything(4,temp_f);
        Q61=temp_f+Q61f;
        EEPROM_writeAnything(4,Q61);    
        Q61f=0;
        modeTime=loopTime;
        mode=0;
      }
      break;
    
    default: mode=0; 
  }  
}

void feedPachube()
{
  P=F*(T62-T63)*0.00115;
  dataout.updateData(0, T61); //T61, Ambient air temperature
  dataout.updateData(1, T62); //T62 - Heating water temperature
  dataout.updateData(2, T63); //T63 - Return Heating water temperature
  dataout.updateData(3, T64); //T64 - Refrigerant Gas temperature
  dataout.updateData(4, F); //F - Heating water flow, l/h
  dataout.updateData(5, P); //P - Heating power, kW 
  dataout.updateData(6, (1-digitalRead(4))); //Fan feedback
  dataout.updateData(7, P1); //Compressor - Heat pump comressor power consumption, kW 
  dataout.updateData(8, (1-digitalRead(5))); //4-way valve feedback
  EEPROM_readAnything(4,Q61); 
  temp_f=Q61f+Q61;
  dataout.updateData(9, temp_f); //Q61 - Compressor energy input, kWh
  dataout.updateData(10, T65); //T65 - Refrigerant Liquide temperature
  EEPROM_readAnything(0,Q62); 
  temp_f=Q62f+Q62;
  dataout.updateData(11, temp_f); //Q62 - Heating energy output, kWh 
  dataout.updateData(12, T66); //T66 - Room temperature
  dataout.updateData(13, mode); //Operation mode
  xivelyRet=dataout.updatePachube();
}
  
void flowCalculation()
{
  if (lastFlowPulseTime==FlowPulseTime)
  {
    if (loopTime-lastFlowPulseTime>9999) F=0;
  }
  else
  {
    PulsePeriod=lastFlowPulseTime-FlowPulseTime; 
    F=3600000/PulsePeriod;    
    if (F>2000 || F<0) F=0;
    temp_f=Q62f;
    Q62f=(T62-T63)*0.00115+temp_f;
    FlowPulseTime=lastFlowPulseTime;
  }  
}

void FlowPulseSet()
{
  lastFlowPulseTime=millis();
}

void sensorsRead() 
{
  sensors.requestTemperatures(); // Send the command to get temperatures
  delay(1000);
  temp_f=sensors.getTempC(DeviceAddress0);
  if (temp_f>-100 && temp_f<85) T61=temp_f;
  temp_f=sensors.getTempC(DeviceAddress1);
  if (temp_f>-100 && temp_f<85) T62=temp_f;
  temp_f=sensors.getTempC(DeviceAddress2);
  if (temp_f>-100 && temp_f<85) T63=temp_f;
  temp_f=sensors.getTempC(DeviceAddress3);
  if (temp_f>-100 && temp_f<85) T64=temp_f;
  temp_f=sensors.getTempC(DeviceAddress4);
  if (temp_f>-100 && temp_f<85) T65=temp_f;
  temp_f=sensors.getTempC(DeviceAddress5);
  if (temp_f>-100 && temp_f<85) T66=temp_f;
}

void webServer()
{
  // listen for incoming clients
  EthernetClient webclient = webserver.available();
//  Client webclient = webserver.available();

  if (webclient) 
  {
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (webclient.connected()) 
    {
      if (webclient.available()) 
      {
        char c = webclient.read();
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) 
        {
          // send a standard http response header
          webclient.println("HTTP/1.1 200 OK");
          webclient.println("Content-Type: text/html");
          webclient.println();

          webclient.print("loop time: ");
          webclient.print(loopTime/1000);
          webclient.print(" <br>");

          webclient.print("T61: ");
          webclient.print(T61);
          webclient.print(" <sup>o</sup>C<br>");
    
          webclient.print("T62: ");
          webclient.print(T62);
          webclient.print(" <sup>o</sup>C<br>");
    
          webclient.print("T63: ");
          webclient.print(T63);
          webclient.print(" <sup>o</sup>C<br>");
    
          webclient.print("T64: ");
          webclient.print(T64);
          webclient.print(" <sup>o</sup>C<br>");
    
          webclient.print("T65: ");
          webclient.print(T65);
          webclient.print(" <sup>o</sup>C<br><br>");
    
          webclient.print("T66: ");
          webclient.print(T66);
          webclient.print(" <sup>o</sup>C<br><br>");
    
          webclient.print("F: ");
          webclient.print(F);
          webclient.print(" l/h<br>");
    
          webclient.print("P: ");
          webclient.print(P);
          webclient.print(" kW, ");
    
          webclient.print("Q61: ");
          webclient.print(Q61);
          webclient.print(" kWh<br>");
    
          webclient.print("P1: ");
          webclient.print(P1);
          webclient.print(" kW, ");
    
          webclient.print("Q62: ");
          webclient.print(Q62);
          webclient.print("<br>");
    
          webclient.print("Stage: ");
          webclient.print(mode);
          webclient.print("<br>");
    
          webclient.print("Stage time elapsed, sec: ");
          webclient.print((loopTime-modeTime)/1000);
          webclient.print("<br>");
    
          webclient.print("xivelyclient.put returned ");
          webclient.print(xivelyRet);
          webclient.print("<br>");
          
          webclient.print("Xively feed 25242<br>");
       break;
      }
      if (c == '\n') 
      {
        // you're starting a new line
        currentLineIsBlank = true;
      } 
      else if (c != '\r')   
      {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
      }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    webclient.stop();
  }  
}
ventzi48 - специалист
Прочетох всички коментари по темата. Интересуват ме някои подробности и пуснах съобщения на 2V6,JDM ,Filmatoplo на лични съобщения защото темата е замряла във форума. Ако имате възможност ми се обадете.
2v6 - майстор
пон юни 18, 2018 7:15 amventzi48 написа:
Прочетох всички коментари по темата. Интересуват ме някои подробности и пуснах съобщения на 2V6,JDM ,Filmatoplo на лични съобщения защото темата е замряла във форума. Ако имате възможност ми се обадете.
Питай :) Тук ще получиш повече отговори :idea:
  • 1
  • 30
  • 31
  • 32
  • 33
  • 34

Тема "Термопомпа от нов климатик, радиатори и подово" | Включи се в дискусията:


Сподели форума:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: