Tud valaki ajánlani egy jó soros datalogger programot PC-re? Olyanra lenne szükségem ami COM-portról érkező adatokat egy excelbe vagy txt-be gyüjti. Használtam egy nagyon jót AGG soft, Advanced Serial Datalogger néven, de sajnos csak trial volt, ami lejárt, és nem sikerült teljeset leszednem belőle...
ESP-01 -re akartam rákötni, annak 2 IO pinje van kivezetve. Az NRF24 pedig SPI-vel megy, amihez 3 kell. Trükközni kellett. A neten találtam egy megoldást, de 2 napon keresztül nem sikerült összehoznom (nem sikerült adatot átküldenem vele Arduino-ról ESP-re), így kerestem más megoldást. Pedig ígéretesnek tűnt amiket tud az NRF24, és még gondolkozok néha rajta, hogy újból meg kéne próbálni.
Köszi. Biztos jó dolog lehet ez, de olcsó alkatrészekből szeretném összerakni, az ár is fontos, mert sokat szeretnék készíteni belőle.
Kb max 100 byte átvitel szükséges, néhány percenként.
Amúgy most is működik, csak még nem vagyok elégedett az eredménnyel.
De amúgy lehet gond az is, ha 3-4V körüli feszről hajtom az ATmega328p-t 16MHz-en?
Nem tudom, hogy a proci hibázik-e az időkkel vagy az RF modul. 4V felett pontosabb értékek jönnek, alatta 100-200 us eltérés is előfordul a jelhosszúságokban.
(Szeretném majd 4MHz-en futtatni a procit, csak még nem jutottam oda, hogy kipróbáljam.)
Az utóbbin van kvarc és lehet kapni adóból alacsonyabb feszültségen működőt, valamelyiken van fém árnyékolás az IC-n.
Ezek megbízhatóbbak és működnek úgy alacsony feszültségen (kb 3.3V), mint pl a sima 12V-on?
Én a projektemhez a simát kezdtem használni, kb 4V feszültséggel hajtom az adót.
Küzdök az átvitellel, hogy jó legyen a hatótáv és a megbízhatóság. Annak örülnék, ha mondjuk 1000 adatból max kb 1 veszne el, és épületen belül zavaró tényezők között kb 20 méterre megbízhatóan működne, akár 2-3 falon keresztül, és kevés energiát fogyasztana.
Saját protokollt használók, mert ATmega328p-vel küldöm ESP8266-re (az ESP-n a virtualwire-t nem sikerült használnom, és az NRF24L01-et sem sikerült).
Igen! Lassan írok az ITEAD Studio-nak a reklámozási jogdíjakért :D
Több oldalon, bármilyen adat, vagy "mutatós kijelző" (gauge) akár bitkolbász, :-) vagy bármi amit el tudsz képzelni. Csak beépített hangszóró nincs.
Mivel tapicskolós ezért visszafele is bármi elküldhető. Egyszerű, nagyszerű, szép. És ha van valami CNC-s ismerős, még nyilvános a védőburkolat 3D-s modellje is.
A programom szívesen bemásolnám, de a hossza miatt lehet sokaknak nem tetszene. Ha visszaolvasol, akkor leírtam, hogy ha a library-t használod milyen parancsokra van szüksége a változók kiíratásához, illetve visszaolvasásához. (egy-egy sor...)
Be is altathatod, dimmelheted, bármi... ezért választottam, mert sokkal egyszerűbb mint akár csak egy 8 szegmenses kijelző, és látványnak sem utolsó.
Ha jól értem ezzel a csodakijelzővel egy több oldalas menü is megvalósítható, ahol a változók értékei beolvashatók a "kijelzőbe", felülírhatóak és visszaküldhetőek az ardunak. Ha így van akkor ez kell nekem, nem agyalok a 4 soros lcd menün tovább.
A projected részleteit megosztanád esetleg? Nem másolni akarom, csak ötletet lopni az akvárium vezérlőmhöz.
Jelenleg jól működik a leszigetelés, néztem a képen szereplő optocsatolót, tetszetős darab, és vissza is invertálja a jelet. Végső megoldásnak nem rossz, rendelek is belőle, azonban nagyon telepakoltam már a dobozt amibe építettem, így nem nagyon férek el... de sokkal elegánsabb megoldás mint az enyém. Miért kell kettő a két irány miatt? Az SCK CS MISO, mindegyike 2 irányú?
A külön tápfeszről járást pont a zavarérzékenysége miatt csináltam, mivel a MAX 3-5,5V ig üzemel, így 3,3-at elegendőnek gondoltam. Erről a kimenetről csak a MAX-ok járnak, az 5V-ról a relék működnek, amik behúzáskor megránthatják a tápot.
A kódrészlet ami véleményem szerint lassít:
Eleinte minden float ként volt deklarálva, gondoltam biztos a lebegőpontos számítás miatt lassul, de nem. Már minden integer-ként van meghívva, de így is "lassú". Ez valójában csak a kijelző kezelésénél okoz gondot, mivel változtatok egy értéken, a kijelző elküldi, 3 sec mulva eljut az arduinohoz, ujjab 3 sec mire ki is írja... tehát egy gombnyomásra 6 másodpercet kell várni. Így már kicsit sok...
for(int i=0; i < 10; i++) { sisakTomb[i] = thermocouple.readCelsius(); //elmented a hőmérséklet értékét atlag_s += sisakTomb[i]; //összeadod az elemeket
}
sisak = atlag_s / 10;
for(int i=0; i < 10; i++) { cefreTomb[i] = thermocouple1.readCelsius(); //elmented a hőmérséklet értékét atlag_c += cefreTomb[i]; //összeadod az elemeket
}
cefre = atlag_c / 10;
for(int i=0; i < 20; i++) { fustTomb[i] = thermocouple2.readCelsius(); //elmented a hőmérséklet értékét atlag_f += fustTomb[i]; //összeadod az elemeket
}
fust = atlag_f / 20;
for(int i=0; i < 10; i++) { sisak1Tomb[i] = thermocouple3.readCelsius(); //elmented a hőmérséklet értékét atlag_s1 += sisak1Tomb[i]; //összeadod az elemeket
}
sisak1 = atlag_s1 / 10;
for(int i=0; i < 10; i++) { cefre1Tomb[i] = thermocouple4.readCelsius(); //elmented a hőmérséklet értékét atlag_c1 += cefre1Tomb[i]; //összeadod az elemeket
}
cefre1 = atlag_c1 / 10;
for(int i=0; i < 10; i++) { fust1Tomb[i] = thermocouple5.readCelsius(); //elmented a hőmérséklet értékét atlag_f1 += fust1Tomb[i]; //összeadod az elemeket
Ki fogom próbálni a javasolt megoldást, azonban a neten való turkálásban rábukkantam egy talán megfelelő wireless megoldásra is ami az NRF24L01, megrendeltem, kíváncsi leszek rá.
Iparinak ipari a környezet, de nem irányítja a lepárlást, minden folyamatos emberi felügyelet alatt van, ez mindössze csak a kényelmesebb megfigyelést teszi lehetővé. Ha meghal, legfeljebb nem lesz bekapcsolva az üst belsejében a világítás, és nem lehet látni a forrásban lévő anyagot. Az idei szezonig még csak látüveg sem volt rajta, nem hogy világítás. Egyedüli beleszólása a huzatszabályzásnak van, ami csak a folyamatosan azonos teljesítmény leadását segíti. Eddig ezt úgy értük el, hogy ~ 5 percenként 3 darab fát tettem a tűzre, állandó huzattal, most 20 percenként teszek rá 12 db-ot és a huzat szabályozás "beosztja" azt. Ha megáll, akkor kikapcsolom, és jobban odafigyelünk.
A kommunikáció pedig csak a mért adatok megjelenítésében segítenek.
1-2 órája a REX-es topikban érdeklődtem pont arduino-s füsthőfok méréssel kapcsolatban...
Nekem az a gondom, hogy a MAX6675-ös modul + K elemmel mért füsthőfok elmarad a kazán saját szenzora és egy analóg füsthőmérő által mért értéktől is, 40-50°C-al. Nem konstans a különbség, ha nem ég a tűz a kazánban, akkor csak 6-8°C. Mi okozhatja ezt? A modul közvetlenül az arduino mellett van, a K elem kb 2 m-re. A K elem vezetékét sorkapoccsal és 1m .22-es kábellel toldottam meg, hogy elérjen a helyére. Ez lehet gond? A teszt alatt nem volt toldás, akkor is lényegesen alacsonyabb értéket mutatott a másik két szenzornál. (nem emlékszem pontosan, de talán nem volt ennyire nagy a differencia.)
Jól látod, hogy a közös potenciál és az arra ülő zavaró jelek okozzák a hibás működés nagy részét.
A teflonos elszigetelés nem biztos, hogy tartós lesz. Tartós csak akkor lesz, ha teljesen elszigeteled elektromosan. Ezért mondtam, hogy külön táp és optocsatoló.
Nem láttam még kész formában, tehát neked kell(ene) elkészíteni.
A számítógép tápegysége elég sok zavart generál.
A MAX6675 meg erre túl érzékeny.
Nem a feszültségingadozás okoz hibát.
Kérdésem, hogy miért megy a MAX és az arduino különböző feszültségről?
Én füsthőmérséklet mérésére használom. Másodpercenként egy mérés és az utolsó 4 mérés átlagát számolom. Jelenleg építkezés miatt szétszerelve. Talán novemberben visszateszem.
Ha lassú lett akkor valamit nem jól programoztál le.
Ha bemásolod a releváns részletet, biztosan fognak segíteni.
Az opto: 3 vonalat kell leválasztani. CS, SCK, MISO vonalakat.
Azaz a max IC RS232-re konvertálja a sima sorost, az ebbe be, kábel kihúz másik végén vissza. Ha nem menne simán a max ic-vel. Azt nem tudom, ebben mi van :-(.
Megkérdezhetem melyik volt az a libary, amit sikerült magadévá tenni, és jól használható? :-)
Hát arduino keretrendszerben valóban nehézkes a loggolás, az egyetlen esély az gyakorlatilag a soros porton történő adatkiküldés, és abból okoskodni. Ha komolyabb loggolás/debugger kell, akkor nem ezt az IDE-t kell használni.
Igen, kb ennyi kell a max-hoz, nem több, halál egyszerű dolog, elsőre azt mondanám, el fog menni 25 méteren. Az RS232 jelzsinttje magasabb feszben, ekkora még szokott tolerálni á legalábbis nekem ez volt vele a tapasztalatom..
Ha nem járható, akkor viszont mindenképpen az RS485 felé indulnék el. alapból ezt használják az iparban, robosztus, jól bevált dolog. Két vagy négyvezetékes verziót (szimmetrikus és aszimmetrikus jelvezetés) szoktak használni, neked a sima kétvezetékes is jó lehet szerintem ebben az esetben.
Én ipari környezetben ilyen modulokra amiket írtál - nem mernék bízni semmilyem komolyabb szabályzást. Túl nagy galibát okozhat. Vannak ipari vezetéknélküli rendszerek nagy redundáns jeltovábbítással, de annak nem ennyi az ára. Ez jó otthonra, meg ide oda, de üzembe én be nem tenném.