Éppen megfelene, mivel 8 hőmérési pontból 6 0-max 120C ig kellene, és csak kettő ami füsthőmérsékletet mér 0-600ig . Azonban a vezeték hossza miatt illetve az elvezetés helye miatt rossz egy kicsit a dolog, mivel a szerelt fém kémény közvetlen közelében kell elvezetnem a mérővezetéket, ami nem ritkán ~ 500 C ezt tudtommal csak a K-elem kivitelezése oldja meg, mivel végig hőálló teflonban van a merev fém szál. A pontossága egészen jó, mivel kalibrálja magát, csak mérési hibákat csinál időnként (akár több perc is eltelik két hiba között) egy percig mér 80-82C között, majd egy ciklus erejéig kiír egy 30C-s értéket, ami lehetetlen egy forráspont közeli anyagnál.
Az SD-kártya csak a flash memória felülírására szolgál. Rámásolod gyökérbe a megszerkesztett HMI-filet és berakod az SD kártyát a kijelzőbe, egy újraindítás után arról bebootol, és installálja a flash-be.Utána ki kell venni az SD-t és ismét restrart, mert ha nem veszed ki akkor megint onnan bootol. Fel lehet tölteni a kommunikációs porton keresztül is, de bevallom töredelmesen nem bajlódtam vele, mivel az SD szerintem sokkal egyszerűbb... Ha letöltöd a szerkesztőt van benne "emulátor" is amivel meglátod, hogy milyen üzenetet ad, ha megnyomsz pl egy gombot, stb...
Nekem két oldalon 20 gomb van, jó minőségű háttérkép, 8db változó értékének megjelenítése, és egy globális változó a PID cél értékéhez, mivel el akartam kerülni, hogy véletlenül mást lássak visszajelezve, mint amire ténylegesen szabályzok. Mindez 1,6 MB-ot foglal a flashből ami a 7"nál 32 MB tehát bőven jó... mérettől függően 4-32MBig kapható. Lehet vele "csalni" a sima kiírásokat ami állandó, mint megnevezés, mértékegység, ilyesmi... rászerkesztettem a háttérképre, így nem kell külön szövegdobozt csinálni. A karakterek kezelése a szerkesztőjének kicsit otromba, mivel nagy méretben kicsit pixeles... ezért írtam, hogy a szerkesztőn volna még mit fejleszteniük, de így is öröm-boldogság, hogy elérhető áron van ilyen :D
Magyar leírást nem találtam hozzá sehol, sem fórumban semmi, úgyhogy az általam megszerzett tudás több hétnyi kutatómunka eredménye. :-) Több library kering a neten eléggé nagy szívás volt megtalálni ami egyszerű, és normálisan működik. Mire megszólítottam arduinon keresztül szerencsétlent... és még gombokat is nyomogassak... a BLINK program után nagy feladat volt, de megy.
Jelenleg az üzemben napi 10-18 órát működik kb 2 hónapja, néha a program akad ki a MEGÁN, mert nem vezérli a motort, ami érdekes, mert a mért adatokat frissíti, tehét a ciklus fut, de vezérlőjelet nem kap a motor de ezt loggolás nélkül nem tudom elkapni...
Kb egy képernyő mekkora helyet foglal el úgy átlagban? Nyilván függ a tartalomtól... de mégis.
Csak SD-n lehet tárolni a képernyőt, vagy a flashban is elfér valamennyi? Vagy az sd csak "adatátvitelre" kell, hogy a pc-n megszerkesztett anyagot, így áttolod, közvetlenűl PC-ről programozható? Mintha nem látnék ilyen verziót.
PLC-re HMI felületet már sokat csináltam,d e ott közvetlenül a saját programozóval programozható az eszköz általában.
Még másztam bele annyira, hogy átlássam, de most rákeresve nagyon tetszik, pont ilyet keresek. Úgyhogy bocs a sok kérdésért :-)
Az ára meg annyi amennyi, nem tudok mit csinálni vele :-(. Visszajön az időben, mert már hetek oda küzdök nem kevés órát elszúrva egy kis lcd-vel és még csak nagyon alapon működik, a teljes grafikát c-ben írom hozzá, ami azért elég tökölős.
Azt hittem már kihúztad a kábelt és megnézted alacsony sebességen hogy működik-e a soros :-)
Első körben ezt tenném, illetve valahol középen beleraknék egy erősítőt. Na nem kell vad dologra gondolni, egy komolyabb schmidt trigger talán elég 74hct 14, 114 vagy ilyesmi..
Egy esetleges gondolat, vagy nevezzük plusz esélynek :-). A MAXIM-nak vannak jó kis sima ttl soros - RS232 IC-i nagy sávszélességgel, és messzire elvihetők, egyszerű eszköz.
A MAX3222-3237 - MAX32xx családnál nézelődj, két darab kell neked belőle, és csak rákötös a két szabad rx-tx vonaladra, semmi más nem kell neki csak táp.
Ami a lényege hogy a TTL szintű jeleket átkonvertálja RS232-re ami egy nagyobb fesz-szintű busz, messzebbre el tudod vinni, belül az IC mindent megcsinál.
Van más gyártmány is, de ezek elég jó darabok.
Ez is járható út lehet szerintem. Én pl egyszer használtam, amikor vonalkód olvasót kellett meghajtanom - arra is van külön típus, mert spec vonalkódolvasó volt több rx-tx vonala, kb 50 méterre kellett elvinnem, és bírta. Bocs előbb nem jutott eszembe.
Darabja 500-1500ft magassága, attól függ hány csatorna van benne. Elég gyorsan beszerezhető és kipróbálható.
Sajnos még mindig nem tudok dűlőrejutni ami a kommunikációt illeti. Digitális lábakból 4 van még szabad, Analógból csak 1-et használok, Rx-Tx is van még üresen. Még mindig vacilálok mit kellene választani, ha rendelni kell akkor időt kell rá szánni. Jobban belelátva tudsz valamit ajánlani?
Igen ahogy írtad csak az adatokat küldöd neki, a megjelenítést saját memóriából csinálja. Én körbejártam a témát mielőtt megvettem, láttam, hogy drágább de nagyon megéri mivel nincs vele macera :D
A Maxokat azért választottam, mert az elvezetésük a mérési pontok távolsága miatt szükséges volt olyan mérőeszközt választani, aminek a mérési pontja külön van az elektronikától. A leghosszabb hőelemem 5m-es és mérővezeték a kémény mellett megy el ami nem ritkán több száz fokos. Ezt csak hőelemmel tudtam megoldani.
Az optocsatolós leválasztást hogy lehet megoldani?
Az első összeállításnál sokkal-sokkal több mérési hibám volt míg rá nem jöttem, hogy mindenért a közös potenciál a felelős, mivel a K-elem hegesztési pontja hozzáér a fém szonda mérőfalához, az rá van roppantva a mérővezeték fém hálós "szigeteléséhez" ezek pedig menetesen csatlakoznak a réz üst mérésipontjaiba, mind-mind közös potenciálra került. Ezt elkerülendő szétkaptam a mérőszondákat, és egy régi rossz vasalóból kiműtött teflon csővel elektromosan elszigeteltem a fészektől, így a rendszeres hiba meg is szűnt. Gondolom így az optocsatolós leválasztást el lehet kerülni. Szerintem a programban kellene valamit módosítani, talán a méréshatárt, érzékenységet csökkenteni, mert az átlagolás nem lett teljes megoldás, mivel a 6 db 10-es elemű tömb feltöltésével megnőtt a ciklusidőm.
A táp nem tudom mennyire jelenthet gondot, mert az egész egy 600W-os ATX-tápról jár, a hőelemek a 3,3V-os kimenetről a relé az 5V-osról az arduino, és a léptetőmotor 12V-ről. Szkóppal nem tudtam megnézni, de feszültség és áram mérés alatt minden stabil volt. Ha feszültségingadozás miatt lenne a félremérés, akkor gondolom mivel a 6 hőmérő egy tápon van szinte egyszerre olvasom a jelüket, akkor egyszerre mérnének félre, de nem van ami többször, van ami kevesebbszer és sosem egyszerre.
Mármint úgy értem, kb ugyanúgy használható mint egy PLC-nél egy HMI? ott is külön felprogramozód magát a kijelzőt, saját flash-e van, aztán adott utasításokra váltogatsz, adott helyekre berak adatot vagy éppen kiolvas.
Jól értem akkor, hogy a teljes képet gyakorlatilag beszerkesztheted a saját szerkesztőjével, és a fogadott adatokat meg beadod adott helyre amit ő feldolgoz nem tudom én mi alapján?
Több képernyőt is létrehozhatsz, ami között valahogy váltani tudsz?
Amivel most küszködök, ott a képet is az Arduino maga állítja elő. le is köti szinte teljes mértékben.....
Bocsi, tegnap nem láttam a kérdést ... Nem tudom melyik kijelzőre gondolsz, de az enyém marha egyszerű és nagyszerű, csak kicsit drága... nekem ez van :
fix 5V-os táp, Rx, Tx, tehát ha jól tudom soros porton keresztül csatlakozik. Érintője nagyon jó, nem egy modern okostelefon, de messze jobb mint amit vártam.
A programozása gyerekjáték library-vel.
Összes ami szükséges:
#include <Nextion.h> //meghívom a könyvtárat
Nextion myNextion(nextion, 9600); //Nextion könyvtár létrehozása myNextion néven, sorosport sebessége 9600bps
Setupban:
myNextion.init(); //pontosan nem tudom miért de kell :D gondolom a kommunikációt hozza létre vele
Loopban:
myNextion.setComponentText("press", String(barValue)); // Adatok kiküldése a kijelzőre .
.
.
stb
ha az érintőt akarom beolvasni akkor
String message = myNextion.listen(); //check for message
if (message == "65 0 c 1 ffff ffff ffff"){ // ha megnyomok egy gombot, akkor tetszőleges karaktersort küldhetünk vele, én a gomb címét figyelem
lehet beolvasni belső változót:
float value = myNextion.getComponentValue("va0");
nagyon praktikus és egyszerű első kijelzőm, de nagyon meg vagyok elégedve vele. És átcsúszott a vámon is :D
Van egy letölthető szerkesztőprogramja ahol a felületét kompletten meg lehet csinálni, létrehozhatsz gombokat, érintő felületeket, folyamatábrákat, gauge-eket szinte bármit. A szerkesztő kicsit macerás, kicsit kínai volna még mit fejleszteni rajta, de mindenre rá lehet jönni. A kész felületet kiexportálod, és egy micro SD kártyára másolva a fájlt, ráinstallálod az elkészült anyagot. Ujraindítás után már memóriából jár a program.
A kissebbek jóval olcsóbbak, de nekem ez a méret kellett.
A vezetékelést ne figyeld, itt még tesztüzem volt. :-)
Eddig nagyon jól működik, de nagyon érzékeny a tápra! Jelenleg kb napi 10-18 órát jár egyhuzamban kb egy hónapja, hibamentesen. Ha elkészül a másik kijelzés akkor be fogom altatni, hogy ne járjon mindig.
Ezért lehetőleg külön táppal kell ellátni és a kommunikációját optocsatolóval leválasztani.
A számítógépek tápja teljesen megzavarja a mérést.
Először azt hittem, hogy elromlott.
Mintaként egy arduinóra (NANO) 3 MAX6675 került. Amelyiken a K-elem lebegett a levegőben az rendben mért, amelyik a füstcsőbe lett helyezve az össze-vissza, sőt volt hogy semmit sem (0) mért.
A következő teszt ESP-vel történt, wifin küldte az adatokat, így rendben működött.
Van egy mega ami a két üst adatait figyeli, kapcsolja, motort vezérel, kijelzőnek "dumál" :D
A felmelegedett szeszpárát egy nagy palackos hűtő hűti ismét cseppfolyósra, amin a vizet hidrofor tartályból cseréljük szakaszosan. Ezt az előbbitől teljesen független Mega figyeli, ha felmelegedett a hűtővíz 70C-re akkor relét behúzza, ami egy mágnesszelepet nyit, ha lehűlt 40 alá akkor zár, és vár...
Tervem az volt, hogy a két mega által mért adatot egy másik Megára összeszedem, ami USB-n géphez van kötve, Serial.print és minden adatom egy helyen van.
A képen látható "folyamatábra" kerülne a tv-re, ide kell összeszedni mindent. (1.0-ás verzió, még csak demó :-) )
Ezt a kijelzőt mennyire macerás programozni? Látom fizikailag több összekötés is lehetséges, spi, soros meg 16 lábon, talán a fóliabillentyűzeten keresztül.
Szóval írhatnál róla egy kicsit, mert hasonlót keresek ilyesmi méretben. Most egy 3.5-össel küszködök, de az annyira nem tuti sajnos, ez sokkal szebben mutat a képek alapján.
Nem ismerem az eszközt, így érdemben nem tudok nyilatkozni. De llaán ezt a párszázas tételt kibírhatja a fejlesztést, még akkor is ha vakvágány :-)
Ami inkább neccesebb, hogy egyirányú így ebben a formában és nem tudjuk mennyire robosztus. Azaz pl érzékenység, zavarvédelem, stb.
Két eszköz között akarsz kommunikálni vagy több eszköztől is várnál adatokat?
Az adatok mennyiségét azért kérdeztem, mert soros port esetén a legalacsonyabb sebességgel - ami ide bőven elég - az elég lehet neked. Esetleg egy jelkondicionálás scmitt trigger formájában is belejöhet a képbe, ami egyszerű de nagyszerű. Én elsőre ezt próbálnám ki, egyszerűbb vezetéknélküli eszközökre nem bíznék komolyabb feladatot, mert nem elég megbízhatóak általában.
Igen egy pálinkafőzdébe készült, a látott pontokon mérem a hőmérsékleteket, a kapott értékek függvényében relé húzza be a cefre illetve sisakban elhelyezett világításokat, a füst hőmérsékletekre PID szabályzó számolja egy huzatszabályzó pillangó állását, majd ezt egy léptetőmotor követi le. Így az alátüzeléses üst gázoshoz hasonlóan szabályozható. Az értékek jelenleg egy Nextion 7"-os érintős kijelzőn olvashatók, állíthatók. A másik arduino a hűtőtornyokat vezérli. Minden mért értéket össze akarok fésülni egy számítógépre, amire írtam egy programot Labview-ben, ami grafikusan megjelenít mindent tartályostól, ez egy tv-n fog megjelenni a főzőtérben, azonnal minden egy helyen. :D
Nagy dolog, de olyan 90%-on állok :D Hónapok óta szenvedek, első programozásom, de most is működik.
Csatolok két képet, az egyik főzés adatait tartalmazza látható hogy a kb 3 órás mintavételezés során néha elcsúszott némi adat (kb 3x) passzolom hogy mitől lehetett... USB-n volt rákötve egy gép az arduinóra, és Serial.print parancsokkal jöttek az adatok.
A másik képen ebből az adatgyüjtésből készült grafikon látható, de rengeteg a félremérés, látszik a beeső "tüskéken" mindent K-elemekkel mérek, tudom pontatlanok, érzékenyek, de a helyi adottság miatt szükséges volt ezt választani. Hogy ezt elkerülhessem betettem egy-egy 10 elemű tömböt, (jelenleg feltöltésnél delay nélkül) és ennek átlagát íratom ki.
Ezek után úgy belassult a programom, hogy 3 másodpercenként hajlandó csak lefutni... nincs delay sehol, az összes lehetséges float-ot átdeklaráltam integernek... Végülis elég a 3 sec, de nem gondoltam volna, hogy 6 db tömb így belassít... Ezek ellenére még mindig van félremérés, pl sisakra mér 85C-t bekapcsolja a sisak világítást, következő ciklusban már csak 35-nek méri, így kikapcsolja, de utána újra 85C. ezt változó időközönként teszi változó ütemben... valahogy stabilizálni kellene az értéket, de még nem tudom, hogy.
Jó lenne loggolnom folyamatosan, de ehhez szükséges valami úton-módon mentenem az adatokat.
Cel 250.00 Sisak: 67.00 Cefre 62.75 Fust: 506.00 F_Sisak: 82.75 F_Cefre 51.50 F_Fust: 249.00 Nyomas -0.01 Motor 0.00
Természetesen ezek csökkenthetők, vagy akár a szöveges részek el is hagyhatók, (csak a könnyebb beazonosíthatóságot hivatottak szolgálni). Valójában járható a Wifis jeltovábbítás is mivel van router a helységben, de ha lehet ki szeretném hagyni mint újabb hibalehetőséget. Most találtam e-bayen APC220 vezeték nélküli adattovábbítót, bár amiket hirtelen néztem inkább fogadni tud adatot segítségével az arduino mint adni. Ha úgy tetszik távirányítóként használják (bár gondolom nem jelent problémát oda-vissza)
Amivel megpróbálkoznék az a soros ami benne van az eszközben is, de árnyékolt jó minőségű alacsony kapacitású kábellel (árnyékolt UTP vagy minek hívják azaz árnyékolt ethernet, hirtelen nem tudom, talán stp kábel, a biztonságtechnikai nem biztos hogy jó max ha van otthon és egy próbát megér) és alacsony sebességen. Az alacsony sebesség az 2400 legyen, ne több elsőre)
nem tudom mennyi adatot kell küldened, és mennyire kritikus a sebesség. Viszont redundánsan csináld meg az a adatátküldést, mert sok a hibalehetőség/tévesztés ha soroson akarod. Azaz pl küld át többször is, vagy küld el invertálva és ellenőrizd, stb. Egy próbát megér, de a 25 méter nagyon sok.
Ha nem megy ilyen egyszerűen akkor soros rs485 konverter majd rs485 vissza sorosra. Nem összekeverendő a RS232.vel mert az is soros, de más jelszintekkel! Vittem már rs432-vel is jelett 200 méterre, és működött, de nagy ritkán tévesztett sajnos.
Vagy ahogy mondták marad az ethernet is mint lehetőség, esetleg vezetéknélküliség.
Köszönöm, a probléma, hogy nem vagyok túl jártas az informatikában és az adatátvitelben. Az előbb leírtak szerint szeretnék néhány adatot eljuttatni ~ 25m-re két arduino között. Nem tudom, hogy melyik kommunikációs "nyelvet" válasszam. Ha van lehetőség akkor különböző fordító és jelerősítő IC-k nélkül, mivel a padláson fog keresztülmenni a vezeték. 8-eres biztonságtechnikai kábellel szeretném megoldani, tehát az árnyékolás adott... ( lehet túl egyszerűen gondolom, de úgy képzeltem, hogy küldőn küldöm, fogadón fogadom, mindenféle IC nélkül.) Nincs ilyen egyszerű megoldás erre a távolságra?