English  Deutsch
Biosolar Forum  =>  Mérésadatgyűjtés  =>  Arduinolapozz: « előző   1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21   következő »
Mielőtt kérdezel olvasd el a témához tartozó KIEMELT CIKKEKET!
2014-12-05
11:50:30
#47940
Sziasztok,

Ebayen találtam egy rs232-wifi modult ESP8266-Serial-WIFI-Wireless-TransceiveR-Module-Send-Receive-LWIP-AP-STA

Van benne beépített IP stack, működik AP és STA módban is. Open source a firmware-e, alakult köré fejlesztői csoport. Az egész kevesebb mint 1000HUfért túl szép, hogy igaz legyen. Rendeltem néhány darabot kipróbálásra. A leírása alapján nagyon egyszerű használni, arduinóhoz tökéletesnek néz ki.

T.
fusimisiVálasz erre
2014-11-22
19:58:44
#47846
Kicsit dolgoztam az energiamonitorozáson.
A villamos fogyasztás meg a napelem termelés monitorozáshoz megépítettem a V3 as SMD panelt. Az eredeti tervben 100A es lakatfogókat használtak a pontosabb méréshez 30A est használtam. Kicsit többet kellett kalibrálni meg utánanézni mi a különbség a 100as és a 30as között - sikerült. Az üres panelt meg a CPU SMT cuccot rendeltem csak meg. Szépen összeforrasztottam itthoni anyagokból. A 2 szabályozó IC-t a Microchip-től kértem, mintába :) elküldték.
Íme




Az eddigi V2 es szuperül működött, gázmérő monitor lett belőle - kiegészítve egy TCRT5000 infrás reflektív szenzorral. (A mérő utolsó számjegyén a "6" os számon lévő tükör 1 impulzus.)




Az elemes működés 4 nap :( - a szenzor miatt - így jelenleg egy 6V os zselés aksiról üzemel. Ki kell építenem oda valami tápot USB vagy 5V.
A rendszer HOPE RF 868MHz modulokkal kommunikál - jelenleg 7 node/arduino működik, mind elemes működésű van olyan node ami április óta megy és még 2.5V van benne.



Elkészült a kis rádiós energiamonitor kijelzőm - OEM leírások alapján.
www.openenergymonitor.org/emon/emonglcd

Ez egy próba diagram beillesztés
www.emoncms.org/vis/bargraph?feedid=45289&colour=EDC240&interval=86400&units=kWh&dp=1&scale=1&delta=0&embed=1%22%3E%3C/iframe%3E

Itt a kijelző



szocsmarciVálasz erre
2014-11-20
06:23:56
Előzmény: forrest #47825#47831
A puding próbája:

unsigned long previousMillis = 4294960000; // induló idő azért, hogy ne kelljen 49 napot várni
unsigned long currentMillis;
unsigned long lastReadTime; // végleges programban: unsigned long lastReadTime=0;
long interval = 1000; // intervallum


void setup() {
Serial.begin(9600);

// a végleges programban ez nem kell, csak a lastReadTime deklarációjában 0-zni az értékét
lastReadTime = previousMillis;
}

void loop()
{
// aktuális idő kiszámítása - indulás óta eltelt + konstans (~49nap)
// a végleges programban a previousMillis nem szerepel
currentMillis = previousMillis + millis();

if (currentMillis - lastReadTime > interval) {

lastReadTime = currentMillis;

Serial.print("Aktualis ido: ");
//prints time since program started
Serial.print(currentMillis);
Serial.print(". Eltelt ido: ");
//prints time since program started
// ide irhattam volna millis()-t is.
Serial.println(currentMillis - previousMillis);
// Serial.println(millis());

delay(1000);
}
}


Nincs elakadás, hibajelzés, adatvesztés, vagy rossz adat.
Biztos innen vetted a typecast-os megoldást: www.playground.arduino.cc/Code/TimingRollover
Valószínű nem érek fel hozzá szellemileg, de szerintem egyszerűbben megoldhatta volna, ha nem a 0-hoz viszonyít, hanem magát a két számot vonja ki egymásból és azt viszonyítja az eltéréshez.

Egyébként amit Te írtál az kicsit furcsa:
unsigned long currentMillis, previousMillis;
if ((unsigned long)(currentMillis - previousMillis) >= interval){ ...
Két (unsigned int) különbségét a processzor szerintem automatikusan unsigned int-nek veszi, emiatt felesleges ezt újból megadni. A fenti hivatkozásomban egyébként if( (long)( millis() - lWaitMillis ) >= 0) szerepel, tehát NEM UNSIGNED long.
2014-11-19
21:00:27
Előzmény: szocsmarci #47820#47825
Szerintem probléma. Az igaz, hogy a számláló átpörög és 0-ról indul, de amihez viszonyítom az nem:
például ezt a feltételt vizsgálva (TEMPREADdebounceDelay = 1000):

if ((millis() - lastTEMPREADDebounceTime) > TEMPREADdebounceDelay) {
//itt olvasom a hőmérőket
}

az átfordulás után mégha nem is az összes, de a legfontosabb last...debouncetime-ok túl nagy értéken maradnak.

Én most már nem írom át sajátomat, de találtam egy sokkal elegánsabb megoldást:

unsigned long currentMillis = millis();
if ((unsigned long)(currentMillis - previousMillis) >= interval){
...
}

ez kivégzi a negatív előjelet, nem kell külön figyelni, átfordult-e :)




2014-11-19
20:37:37
#47823
Lassan kezdem feladni az arduinos mérésemet.
Csináltattam az acélcsöveimhez alu profilokat, amiknek az egyik oldala íves, hogy felfeküdjön a csövön. Be is pasztáztam, rá is szorítottam, előtte lecsoszoltam a rozsdát. A furat az aluprofilban 6,5mm, a szonda 6,2mm de oda is tettem pasztát.
A profil kb 2x hosszabb a ds18b20 hüvelyezett része és 30mm széles.
A csövet és külön a mérőrészt leszigeteltem.
Ennek ellenére a 75 fokos kazánból a csövön csak 65-öt mérek.
Miért???

szocsmarciVálasz erre
2014-11-19
19:13:06
Előzmény: forrest #47305#47820
"millis() overflow (ill. reset): teljesen jogos észrevétel, egy napja azon töröm a fejem, miért nem jött elő. "

Azért nem jött elő, mert nem probléma. Ha túlcsordul a számláló, akkor az eredmény akkor is jó lesz.

Hexában számolva (2 a 32-en bit)-1 = FFFFF
0-FFFFF = F00001. Az első F-et elhagyja a processzor, mivel nem fér be a regiszterbe, tehát az eredmény 00001 lesz.
dpsslaserVálasz erre
2014-11-12
22:24:08
Előzmény: szocsmarci #47730#47731
Fotorol nem sok látszik néhol Grünpower nem kell szivatyú a saját ~3m maggasága gravitáciosan folyik ezért nem jó a váltó szelep annak elég szükk a keresztetszete a rendszer darabosan lett fejlestve épitve igy vanak benne esztétikai problémák....
A lenti bolyer a kazán vizköpnyes maxek kivitel (futés/villany) még ezeket a funkciokat fejlesztem tovább programba a diferencia melé....
diohéjba ennyi a történetem!
Természetesen a fustcsö már kazánra való van 2mm.....
Bocsánat az irási problémákért magyar csak második nyelvem!
szocsmarciVálasz erre
2014-11-12
22:09:26
Előzmény: dpsslaser #47728#47730
1. Hidraulikus oldalról nem tudom elképzelni, hogyan fog üzemelni. Ide szerintem egy bronzházas szivattyú kellett volna,a mi a melegvizet keringteti a Grünpower és a villanybojler közt. Ha mégis motoros golyóscsapokat szeretnél, akkor a két bojler hideg ágába kell tenni őket. Egyszerűbb lett volna egy váltószelepet alkalmazni.

2. A flexibilis cső nem tartós, 5-10 évente ajánlatos cserélni őket.

3. A kazán füstcsövét cseréld ki. Ez első ránézésre is egy vékonyfalú kb 1mm vastag zománcozott cső, ezek is csak pár évig bírják.
dpsslaserVálasz erre
2014-11-12
21:41:00
Előzmény: szocsmarci #47727#47728
Az "indir_puff_kulonbseg" nem tudom mit takar. A két hőmérő közti különbséget, vagy a kapcsolási hiszterézist?

indir_puff_kulonbseg igen kapcsolási hiszterézist!

Lesz még további bele fejlesztés is programba de ez a diferencial rész meg fogot igazán!

Minden féle képen digitális szenzorokat szeretek használni a hosszú kábelezés miat nem annyira zavar érzékenyek mind az analog illesztésü megoldások pt100...1000!

Köszönöm a kodot átnézem és probálgatom!

Ha elakadnék ujra kérdeznék majd?!

projekt:

www.users.atw.hu/jeges2009/images/napkollektor(07).jpg

www.users.atw.hu/jeges2009/images/napkollektor(04).jpg

www.users.atw.hu/jeges2009/images/napkollektor(11).jpg


www.users.atw.hu/jeges2009/images/bekotes.jpg

szocsmarciVálasz erre
2014-11-12
21:27:31
Előzmény: dpsslaser #47725#47727
Köszönöm, hogy megszólítottál, de nem biztos, hogy én vagyok a legalkalmasabb erre a kérdésre. De mivel egyszerűnek tartom, megpróbálok válaszolni.

Tehát, összefoglalva a kérdést:
Van 2db ds18b20 hőmérő. A cél egy elektromos jel (digitális output), ami akkor magas, amikor egy bizonyos hőmérséklet különbséget meghalad a két hőmérő által mért érték. Ezt a digitális jelet viszed tovább egy relére, ami egy motoros csapot vagy szivattyút vezérel.

Ezeket Te adtad meg:
indir_puff_kulonbseg ????
homero1 = 1. hőmérő
homero6 = 2. hőmérő

Az "indir_puff_kulonbseg" nem tudom mit takar. A két hőmérő közti különbséget, vagy a kapcsolási hiszterézist?
Ha a hiszterézist, akkor kiküszöbölhető a gyors ki-be kapcsolás. Remélem erre gondoltál, ennek értékét 2-5°C közé saccolom. Jele legyen dt_alap.

Tegyük fel, hogy a napkollektoros Grünpower bojlere az 1. hőmérő, ez a preferált tartály.
Tegyük fel azt is, hogy mondjuk 35°C alatt ne kapcsoljon be a jel, mert felesleges a langyos/hideg vizet ráengedni a rendszerre.

boolean kimeneti_jel = false;
int dt_alap = 2; // alap kapcsolási hiszterézis
int dt_minimumvedelem = 2; // minimumvédelem hiszterézise
int minimumvedelem = 35; // ez alatt ne mukodjön a Grünpoweres tartály
boolean tartaly1_hideg = false // ez egy flag

Loop () {
if (homero1 > (homero6 + dt) { kimeneti_jel = true}
if (homero1 < (homero6 ) { kimeneti_jel = false}
// eddig az történt, ha a Grünpoweres tartály melegebb 2°-kal, mint a másik,
// akkor a jel bekapcsol, ha hidegebb, akkor lekapcsol, ha pedig az eltérés
// 2°C-on belül van, akkor nem történik semmi

if ( homero1 < minimumvedelem ) {
kimeneti_jel = false;
tartaly1_hideg = true;
}
if ( (homero1 > (minimumvedelem + dt_minimumvedelem) && (tartaly1_hideg)) {
tartaly1_hideg = false;
// ez a rész nem befolyásolja a kimeneti jelet, az majd a következő
// ciklusban lesz kiértékelve
}

digitalWrite(Relay_pin, kimeneti_jel);
//Kimeneti jel kirtakása a megfelelő portra ami a Relay_pin száma ebben az esetben

delay(10000); //Várakozás

}

Ezt még ki kell egészíteni a dallasok mérésével, meg még pár sorral. Őszintén szólva egyszerűnek tűnik a feladat, de nem biztos, hogy az lesz Neked.
Ezt nézd meg: www.conrad.hu/conrad.php?name=Products&pid=191253
Árban olcsóbb, mint ha magad építed meg, és mindent itthon veszel meg darabonként.
dpsslaserVálasz erre
2014-11-12
20:11:55
#47725
szia! szocsmarci!

Szetnék töled tanácsot kérni matematikai számitásba hogy lehet felvázolni egyszerü hömérséglet külömbség számitást?

http://biosolar.hu/forum/113

köszönöm hogy elolvastad!


dpsslaserVálasz erre
2014-11-09
00:59:19
Előzmény: forrest #47691#47692
Eröl a sorol van szó

-------------------------------------------------

if ((homero1-homero_indirekt > indir_puff_kulonbseg) && (homero1 >= indir_puff_minpuff) && (homero_indirekt <= indir_puff_maxindirekt))

-------------------------------------------------
Én most használom homero1 és homeo6 szenzoron!


homero1>homero6 diferrencial kapcsolás csak igy müködik sajnos!

igy nem homero1<homero6 !

............................................

Ami szükséges paraméterezés:

indir_puff_kulonbseg

homero1

homero6

............................................

79.172.211.91/~perceshu/futes/futes_forrest.zip

A motoros golyoscsapok ez kép szerint müködnek:

dc 5v röl






2014-11-08
21:55:38
Előzmény: dpsslaser #47690#47691
Ehhez legegyszerűbb, ha megtartod a kódból azt a részt, ami most nálam az indirektet tölti (homero1 (fűtési puffer teteje) és homero_indirekt (indirekt tároló hőfoka)).
A homero_indirektre vonatkozó kód, ahol menüből állítható, hogy melyik a fizikai hőmérőt vegye figyelembe nem kell, fixen használsz egyet.
A többi nagyrésze is (menü, eeprom írás/olvasás, fűtésköri szivattyú vezérlése) mehet a levesbe, nem kell.

Esetleg meghagyod mégis a menüből azt a pontot, amiben a homero1 és homero_indirekt közti különbséget lehet állítani, bár sok értelmét nem látom, úgyis a melegebbikből vennél ki.
LCD-t érdemes meghagyni teszthez is meg később sem árthat.

Azt egyszerű eldönteni, hogy melyik a melegebb, de a két motoros szelep vezérlése nem tudom hogy menne. Ezek 4 pólusú 220V-ról vezérelhetőek, vagy valami kisfeszültségű, esetleg modulált jel kell nekik?
Végálláskapcsolás van bennük?

Jó a video, tetszik a potméteres szabályzás (ha jól képzelem szocsmarci is ilyesmit tervez/csinál éppen, megúszható a menü vele)
dpsslaserVálasz erre
2014-11-08
20:50:20
Előzmény: forrest #47683#47690
Szia!

Nézegetem a vezérlőd kódját de csak egy bizonyos részére lenne csak szükségem a diferencial termosztát érdekelne vagyis 2db ds18b20 között lehessen állítani a hő különbséget!
Van kettő melegöviz használati tartály egyik (grunpoweres gravitációs vákuumcsöves)
másik egy (vízköpenyes központi futésel + villany fűthető) tartályonként egy egy motoros szelep vezérlés a melegviz hálózatra kapcsolva és ezt kellene vezérelni amelyik melegebb az legyen a melegviz hálózaton mindig!
Ide sima differenciál termosztát megfelelne bőven szerintem arduino alapra...

valami hasonlot:

www.youtube.com/watch?v=HlvU_6S-07g


dpsslaserVálasz erre
2014-11-08
10:45:04
Előzmény: zsezse #47555#47687
Lm393 a ludas van olyan környezetbe épitve hogy min 7v felet hajlandó müködni engem is szivatot már meg egy kapacitiv kapcsolásban ......
dpsslaserVálasz erre
2014-11-08
10:19:23
Előzmény: forrest #47683#47686
Szia!

Nagyon köszönöm a rajzot igy nagy segitség megértésben!
Most tanulmányozgatom aztán majd kérdeznék még......
2014-11-07
21:47:14
Előzmény: dpsslaser #47651#47683
na nagyjából leskicceltem. Szerintem a program megértésében nem sokat segít, de ezen ne múljon :) kérdezz nyugodtan ha van bármi konkrét a progival kapcsolatban.




2014-11-03
19:45:29
Előzmény: dpsslaser #47651#47652
Persze, csak egy a bibi: le kell rajzolnom, lévén csak a fejemben meg megépítve létezik. Egyébként egyszerű, mivel lusta voltam rendes nyákot csinálni:

- arduino uno, ebbe beledugva a kombinált lcd+keypad shield. Ezzel nulla vezetékezéssel megoldva az lcd+gombok
- hozzájön egy 2-es sainsmartos (de szerintem összes többi is ugyanaz) relébox: kisilabizáltam/mértem melyik szabad pin hova van vezetve LCD boardon, innen 2 megy a relék jel pinjére. Relék gnd+Vcc-je arduinorol közös nálam, nincs bajom a zajjal amit szivattyúk löknek esetleg, mégcsak a leválasztással se törődtem (rövid teszt után, ez persze más szivattyúnál lehet kell)
- 2 másik pin egy előtét ellenállásal 2 LED-re kötve (ez totál elhagyható, LCD is rajzolja ha megy a szivattyú)
- egyik bemenet digitpin meg szintén pullup v pulldownal (ezt majd megnézem pontosan) 5V-ra: ezen kapcsol a szobatermosztát reléje. Mákom volt, kb 15m 1.5-ös kábel toldással, de 5V stabilan jelez rajt, nem kellett magasabb fesz + extra relé vagy elektronika.
- másik bemenet digitpin meg a onewire busz: nincs semmi elektronika, UTP kábel, ez is arduinorol kap gnd+Vcc-t, RJ11-es csatlakozókkal hogy könnyen lehessen cserélni.

Az össz elektronika az 2-3 pullup/down ellenállás, meg 2 led egy lyukacsos próbanyákon összevezetékezve (vezeték csatlakozások oldhatók azért).

A héten lerajzolom, meg ráírom mostani kód szerint melyik pin melyik, és feltöltöm.

dpsslaserVálasz erre
2014-11-03
18:32:57
Előzmény: forrest #47277#47651
Szia forrest!

Ehhez a programhoz lehetne kérni eletronikus kapcsolási rajzot (schematics) sokat segítene a program megértéssében!

79.172.211.91/~perceshu/futes/futes_forrest.zip

köszönöm!
2014-10-22
15:43:13
Előzmény: grano #47567#47568
szellozteto rendszerhez szeretnem illeszteni
Azt szeretnem megallapitani, hogy sokan vagyunk a lakasban es megnott a CO2 szint a lakasban, tehat tessek erosebb fokozatba kapcsolni a ventiket.
szoval nem mission critical alkalmazas:) csak egy kis plusz ficsör.
2014-10-22
15:15:22
Előzmény: zsezse #47566#47567
zsezse:
mihez akarod használni?
2014-10-22
15:06:44
Előzmény: balu #47558#47566
futeni egyebkent fut
mindegy, nem irtak rola tul jokat, ugyhogy inkabb lecserelem egy masikra.

2014-10-20
21:47:37
Előzmény: zsezse #47555#47558
Bár most egy sincs nálam, de emlékeim szerint a fütés miatt kell neki a 6V.

Egyébként találkoztam olyan példánnyal , ahol a DC aljzat alatt meg volt szakadva a fólia és igy nem tudott fűteni(mérni).

Tipp: Mérd meg a 2 középső lábon, hogy odaér-e a fűtés.
( www.playground.arduino.cc/uploads/Main/alchoolau5.jpg )

2014-10-20
08:19:14
#47555
hi

hasznal valaki ilyen CO2 szenzort?
www.ebay.com/itm/MG811-MG-811-CO2-Carbon-Dioxide-Sensor-Module-for-Arduino-/321171363099

elvileg ez a 4 labas verzio: Vcc, Aout, Dout, GND
a leiras szerint 6V kell neki illetve van ahol azt irjak eleg az 5V is, mert "fel boostolja" 6ra.
a leiras alapjan 30-50mV -ot kellene kiadnia az analog labon, ahhoz kepest nekem ilyen 0.15-0.2V kozott ad ki es nem annyira akar valtozni semmit se, hiaba lehelgetem.
talaltam egy topicot, ahol a sracnak ugyanez volt a baja
www.forum.arduino.cc/index.php/topic,259751.0.html

vegul nem talalt ra megoldast.
hmm
itt se irnak biztatokat:
www.mtsacelectricalballoon.blogspot.hu/2014/08/sainsmart-mg811-carbon-dioxide-gas-co2.html


ha +12Vot adok a szenzornak, akkor 2.5V-ot mutat, ami elvileg akar jo is lehet.

mindenesetre most rendeltem egy masikat, amin kulon fűtő kör van.
2014-10-20
07:55:59
Előzmény: szocsmarci #47552#47554
puffer led: jó ötlet (látványos, és egyszerűbb egy pillantással leolvasni, mint 3-4 számértékből). Ha ahhoz kellene, hogy tud-e a ház még meleget kapni, akkor beletennék egy olyant, hogy mondjuk 35-40° alatt ne számítson egyáltalán. De ahogy olvasom inkább azt jelezné, hogy mennyire kellhet még fűteni, ott meg pont jó így.

leírtad a lényeget: a dallas kényelmes :) Én az egész buszt + az egyes hőmérőket is RJ11-el szereltem, könnyű cserélni ha netán majd kell.

t0: azt hittem a külső az a t1 (rajzról). Azért kérdeztem rá, mert szerintem egy (programozható) szobatermosztáttal legalább annyit lehet spórolni, mint az előremenő hőfokkal.
Erre csak 5-6 évvel ezelőtti gázfogyasztásos méréseim vannak, de akkor arra jutottam, hogy érdemes belőni jól.
Persze ez erősen szokásfüggő, ha valaki kisgyerekkel mindig otthon van akkor nem játszik nagy szerepet, fix hőfok kell, max éjjel lehet levenni, ahhoz meg nem kell a programozható (sőt egy RTC az arduinoba (napi időponthoz) + szobahőmérő kiválthatja).


Biosolar Forum  =>  Mérésadatgyűjtés  =>  Arduinolapozz: « előző   1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21   következő »
Copyright © 2005-2017 Bernáth Róbert
Minden jog fenntartva