Stránka 4 z 4

Re: Řízení ventilace-nelze zkompilovat

Napsal: 11 čer 2018, 17:49
od Lubomir
Přesně tak,3x čitlo a dva ventilátory jedoucí spolu.
Rekuperační jednotka pro dům ma 2 ventilátory ale spínání je společné.
Jen při odmražování jeden ventilátor stojí a druhý jede.
To je ale jednoduchá logika v programu.
Proto mě ještě napadla varianta spoždění při snižování rychlostních stupnů.
Ale jak to napsat?
Dají se takto řídit proměnné?

Re: Řízení ventilace-nelze zkompilovat

Napsal: 11 čer 2018, 17:50
od rejze69
Ještě mne napadlo, že vzhledem k tomu, že to bude asi nějaká vzduchotechnika, která pokud ji manuálně zapneš, tak běží na minimální rychlost? Jestli ano možná by bylo dobré dát po jednom čidle CO2 a to DHT do odtahu ať to měří tam, kde je smíchaný vzduch ze všech mistností. Pak se to nebude hádat. Zvýší se (CO2 || asi vlhkost) = vyšší rychlost ventilátoru.

Re: Řízení ventilace-nelze zkompilovat

Napsal: 11 čer 2018, 17:55
od rejze69
Jinak pokud jde o časové rozestupy. Je jednodušší nastavit aby čidla měřila jednou třeba za 2 minuty a pak ke změně rychlosti nedojde do dalšího měření, tedy např. 2minuty.

Kód: Vybrat vše

void loop() {
  if ((unsigned long)(millis() - readingTime >= timeout)) {
    readingTime = millis();
    displayUpdate=true;
    readingSensor=true;
}
Takhle. timeout je konstantní proměnná (ty 2minuty v milieekundách) a readingTime je proměnná,která ukládá počátek dalšího intervalu.
readingSensor povolí měření, nebo můžeš rovnou zapsat měřicí cyklus, případně ho zavolat jako funkci.

Re: Řízení ventilace-nelze zkompilovat

Napsal: 11 čer 2018, 18:09
od Lubomir
Zatím to takto mám,že snímače odečítají co 5 min.
Jenomže je to těžkopádné - (začne se vařit v kuchyni bašta,pára stoupá a ventilátor ještě 5 min čeká! potvora)
Takže vyšší rychlost - hned a nižší rychlost za - 5 min.ideál!
Jinak ventilace neustále běžet nemusí,ale šlo by to taky takto zpáchat.

Re: Řízení ventilace-nelze zkompilovat

Napsal: 11 čer 2018, 18:13
od rejze69
Tak po minutě. To relátka tak rychle cvakat nebudou a reakce bude rychlejší.

Re: Řízení ventilace-nelze zkompilovat

Napsal: 11 čer 2018, 18:26
od Lubomir
Jo.Asi nic jiného nezbude.

Re: Řízení ventilace-nelze zkompilovat

Napsal: 02 pro 2018, 09:35
od Lubomir
Ahoj
Zase jdu pro radu.
Vše je funkční,jen mám někdy potíž s vypadkem dat z teplotních senzoru ds18b20 zhruba 3x deně.
To by nevadilo,ale když jsou venku mínusové hodnoty a teplota na čidle skokově klesne při výpadku,spustí se odtávání výměníku,
což je dost plýtvání teplem.
Jak do kodu vsadit časový limit,tedy:když teplota klesne pod 0C PO DOBU 30s zapnu odtávání.?
nyní je: if (tenp_out < 0...) odtavani = 1

Re: Řízení ventilace-nelze zkompilovat

Napsal: 02 pro 2018, 12:46
od jankop
Šlo by to třeba nějak takhle:

Kód: Vybrat vše

#define TimeLimit1 30000 //doba po kterou musi byt teplota pod nulou v milisekundach
float tenp_out;
long int counter;
bool FlagTemp = false;
bool odtavani = false;

void setup() {
  // put your setup code here, to run once:
}
void loop() {
  // put your main code here, to run repeatedly:
  if ((tenp_out < 0) && (FlagTemp == false)) {
    FlagTemp = true;
    counter = millis();
  }
  if (tenp_out >= 0) {
    FlagTemp = false;
   odtavani=false;
  }
  if (((millis() - counter) > TimeLimit1) && (FlagTemp == true)) {
    odtavani=true;
  }
}