Řízení ventilace-nelze zkompilovat
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Re: Řízení ventilace-nelze zkompilovat
Tady pisou, ze DTH22 potrebuje az 2s na inicializaci a nacteni dat - to ale neznamena, ze musis cekat v delay(2000) a nic nedelat. Klidne mezitim muzes delat cokoli jineho a data si nacist az budou pripravena.
http://phgame.cz/PHGame_serialy/serialy ... zor-dht-22
Tady je datasheet, kde pisou, ze komunikace sama trva 5ms
http://www.adafruit.com/datasheets/DHT22.pdf
takze klidne muzes nahodit vsechna DTH naraz, pak si zobrazit menu, precist si DS18B20 cidla, zareagovat na menu a az utecou 2 sec, tak nacist hodnoty z kazdeho DTH22, zase mu rict at meri znova, zobrazit hodnoty, reagovat na vstup od uzivatele, ... po delsi dobe si zase precist ty nestastny DTH22 atd atd ...
http://phgame.cz/PHGame_serialy/serialy ... zor-dht-22
Tady je datasheet, kde pisou, ze komunikace sama trva 5ms
http://www.adafruit.com/datasheets/DHT22.pdf
takze klidne muzes nahodit vsechna DTH naraz, pak si zobrazit menu, precist si DS18B20 cidla, zareagovat na menu a az utecou 2 sec, tak nacist hodnoty z kazdeho DTH22, zase mu rict at meri znova, zobrazit hodnoty, reagovat na vstup od uzivatele, ... po delsi dobe si zase precist ty nestastny DTH22 atd atd ...
Re: Řízení ventilace-nelze zkompilovat
Ano.
Delay nepoužívám nikde,jen previousMillis,kdy se program nezastavuje.Ale přes to,program dojede až k DHT a čeká na všechna čidla a při tom se nedá pohybovat v menu.Výsledek je že reakce na joystik trvá přez 1 s
Delay nepoužívám nikde,jen previousMillis,kdy se program nezastavuje.Ale přes to,program dojede až k DHT a čeká na všechna čidla a při tom se nedá pohybovat v menu.Výsledek je že reakce na joystik trvá přez 1 s
Re: Řízení ventilace-nelze zkompilovat
Pak je otazka, jak to DHT ovladas, jestli ta knihovna, kterou jsi pouzil, umoznuje poslat inicializaci zvlast a zvlast cist vysledek, nebo jestli to spoji do jedine operace, behem niz trapne ceka na vysledek a blokuje rozumne pouzivani
(jako to treba dela analogRead() ze zakladnich funkci - taky posle inicializaci cteni hodnoty z pinu a trapne ceka na vysledek, zatimco by arduino klidne mohlo pracovat, nez se ta analogova hodnota nacte a pak ji jen rychle precist)
Pripadne zda ta knihovna neumoznuje oboji pristup nejak (nebo pokud sis to psal sam, tak jak to cteni delas).
Pokud ta knihovna umoznuje jen blokujici cteni (hanba, fuj), tak mas tri zakladni moznosti:
- pouzit lepsi knihovnu
- opravit tu stavajici
- napsat si to cele sam
(jako to treba dela analogRead() ze zakladnich funkci - taky posle inicializaci cteni hodnoty z pinu a trapne ceka na vysledek, zatimco by arduino klidne mohlo pracovat, nez se ta analogova hodnota nacte a pak ji jen rychle precist)
Pripadne zda ta knihovna neumoznuje oboji pristup nejak (nebo pokud sis to psal sam, tak jak to cteni delas).
Pokud ta knihovna umoznuje jen blokujici cteni (hanba, fuj), tak mas tri zakladni moznosti:
- pouzit lepsi knihovnu
- opravit tu stavajici
- napsat si to cele sam
Re: Řízení ventilace-nelze zkompilovat
Ahoj
Zase dotaz na Dht22 senzor.
Mám k jednomu čidlu stíněný kabel asi 16m,u senzoru 4k7 na signální vodič a ještě blokující kond.100n.
I tak se mi občas stane že vypadne jeden cyklus spojení a na displeji se zobrazí (nan).
To by vůbec nevadilo,ovšem při tom krátkém výpadku,se zastaví i ventilátory!
Lze čidlu domluvit aby při takovém výpadku použilo předešlá data bez zastavení ventilátoru??
Díky
Zase dotaz na Dht22 senzor.
Mám k jednomu čidlu stíněný kabel asi 16m,u senzoru 4k7 na signální vodič a ještě blokující kond.100n.
I tak se mi občas stane že vypadne jeden cyklus spojení a na displeji se zobrazí (nan).
To by vůbec nevadilo,ovšem při tom krátkém výpadku,se zastaví i ventilátory!
Lze čidlu domluvit aby při takovém výpadku použilo předešlá data bez zastavení ventilátoru??
Díky
Re: Řízení ventilace-nelze zkompilovat
Tak jsi odpovím.
Našel jsem v DHT knihovně pomoc "isnan",která přes proměnnou lze zpětně vyvolat.
Tak to nějak zkusím zapsat.
Našel jsem v DHT knihovně pomoc "isnan",která přes proměnnou lze zpětně vyvolat.
Tak to nějak zkusím zapsat.
Re: Řízení ventilace-nelze zkompilovat
Ahoj
Mám ještě prosbu o (nakopnutí).
Jak by šla zavézt hystereze,u proměnného vstupu CO2 a přepínání výkonu pomocí 4x relé?
Mám ještě prosbu o (nakopnutí).
Jak by šla zavézt hystereze,u proměnného vstupu CO2 a přepínání výkonu pomocí 4x relé?
Kód: Vybrat vše
else if(CO2 > CO2_min && CO2 < CO2_max )
{
digitalWrite(R_1_IN, HIGH);
digitalWrite(R_2_IN, LOW);
digitalWrite(R_1_OUT, HIGH);
digitalWrite(R_2_OUT, LOW);
state_Sfan = 1;
state_Efan = 1;
}
else if ( CO2 > CO2_max )
{
digitalWrite(R_1_IN, LOW);
digitalWrite(R_2_IN, HIGH);
digitalWrite(R_1_OUT, LOW);
digitalWrite(R_2_OUT, HIGH);
state_Sfan = 2;
state_Efan = 2;
Re: Řízení ventilace-nelze zkompilovat
Myslíš určitou minimální hysterezi,která nebude vždy na stejných hodnotách? Tedy rozdíl mezi min a max třeba 10 jednotek, ale s možností posouvat ji škálou?
Re: Řízení ventilace-nelze zkompilovat
Ahoj
Ano,přesně tak,
Malá hystereze 10 PPm CO2,aby nedocházelo k neustálemu cvakání rele a zatěžování ventilátoru,
U jednoho rele to není problém,ale u 2 a více rele které se zapínají a vypínají v návaznosti si nevím rady.
Zatím testuju s pevnýma hodnotama dosazenýma místo CO2-Min a CO2-max.Jen mě nenapadá jak hysterezy vřadit mezi 2 rele.
Díky
Ano,přesně tak,
Malá hystereze 10 PPm CO2,aby nedocházelo k neustálemu cvakání rele a zatěžování ventilátoru,
U jednoho rele to není problém,ale u 2 a více rele které se zapínají a vypínají v návaznosti si nevím rady.
Zatím testuju s pevnýma hodnotama dosazenýma místo CO2-Min a CO2-max.Jen mě nenapadá jak hysterezy vřadit mezi 2 rele.
Díky
Re: Řízení ventilace-nelze zkompilovat
Něco podobného jsem řešil.
Je to snad srozumitelně okomentované. V mém případě jde o nastavování hodnot podle kterých má spínat čerpadlo. Při tom je potřeba,aby nastavované hodnoty zůstaly v povolených mezích 2-5bar,aby rozdíl mezi horní a dolní hodnotou byl min 1bar(hystereze),ale zároveň ta hystereze nebyla v pevně stanoveném místě. Když tedy s horní hodnotou ustoupím nahoru,spodní se k ní zase může přiblížit až na 1bar,pokud pak chci s horní dolů musím nejdřív snížit spodní na rodíl větší než 1bar. Chtělo by to ještě kdybys popsal jestli jde o ukládání přednastavených hodnot,nebo přímo práci s měřenými hodnotami. Co se měří je jedno,ale potřeboval bych vědět co porovnáváš a co za jakých okolností spínáš a vypínáš.Víc přibliž co to má dělat.
Kód: Vybrat vše
//--------------------------------------------------------------
void pressSetup() {
byte HiPress=EEPROM.read(11); //promenne pro nastaveni tlaku
byte LoPress=EEPROM.read(10);
switch(Set) {
case 1:
HiPress=(EEPROM.read(11)+krok); //Inkrementace od puvodni hodnoty
if(HiPress > 50) { //nastaveni horni meze
HiPress=50;
krok--;
}
else if(HiPress < LoPress+10) { // vymezeni minimalni hystereze 1 bar
HiPress=(LoPress+10);
krok++;
}
if (EnterFlag == true) { //po stisku enter
EEPROM.update(11, HiPress); // uloz hodnotu
Set++; //prejdi na dalsi polozku
}
break;
case 2:
LoPress=(EEPROM.read(10)+krok); //inkrementace puvodni hodnoty
if(LoPress < 20) { //nastaveni spodni meze
LoPress=20;
krok++;
}
else if(LoPress > HiPress-10) { // minimalni hystereze 1 bar
LoPress=(HiPress-10);
krok--;
}
if (EnterFlag == true) { //po stisku enter
EEPROM.update(10, LoPress); //uloz hodnotu
Set++; //prejdi na default
}
break;
default: // vynulovani pro dalsi cyklus nastaveni
krok=0;
Set=1;
mod=0; // a navrat do hlavniho programu
Re: Řízení ventilace-nelze zkompilovat
Ahoj
To je pěkně a jednoduše napsané,smekám.
Zkoušel jsem různé (mrtvé) body,které cvakání spíše zvětšilo,ale takto nee.
Samozdřejmě je nejdůležitější aby se neseply obě relé najednou-to se ventilátoru fakt nelíbí.
Spínám dvě rychlosti dvou ventilátoru(každá rychkost jedním relé),pro rekuperační jednotku.Umí 4 rychlosti ale zatím zkouším jen 2 abych se v tom neztratil.
Je to zatím na základě čidla CO2.Větší hodnota CO2 -vyšší rychlost.
Později přidám ovládání i na základě čidla vlhkosti DHT22.
Problém je že tu hysterezi musím dostat (mezi) relé + dolní a horní meze.
Díky!
To je pěkně a jednoduše napsané,smekám.
Zkoušel jsem různé (mrtvé) body,které cvakání spíše zvětšilo,ale takto nee.
Samozdřejmě je nejdůležitější aby se neseply obě relé najednou-to se ventilátoru fakt nelíbí.
Spínám dvě rychlosti dvou ventilátoru(každá rychkost jedním relé),pro rekuperační jednotku.Umí 4 rychlosti ale zatím zkouším jen 2 abych se v tom neztratil.
Je to zatím na základě čidla CO2.Větší hodnota CO2 -vyšší rychlost.
Později přidám ovládání i na základě čidla vlhkosti DHT22.
Problém je že tu hysterezi musím dostat (mezi) relé + dolní a horní meze.
Díky!
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů