Fórum témák

» Több friss téma
Fórum
Keresés
Lapozás: OK   4 / 40
(#) kormika hozzászólása Szept 25, 2020
Megoldódott a probléma, igazából az okot nem tudom műszerezettség hiányában kideríteni, de valószínűleg valami zajt szedett össze az a kb. 4cm-es vezeték, amivel a kis kiegészítő panel és maga a vezérlő van összekötve. Az adatvonal 1,5-es vezetékét lecseréltem egy darab árnyékolt biztonságtechnikai kábelre, aminek a 4 erét párhuzamosan kötöttem, az árnyékolást pedig a kis panelnál bekötöttem a GND-re. Nem értem, hogy ha a szenzorok több méteres árnyékolatlan kábele nem szed össze semmit, akkor az a kis 4cm-es vezeték mit szedhetett össze... Egy szó mint száz, ezzel a kis darab árnyékolt kábellel helyreállt a rend, 3,3k van felhúzónak, minden maradt az eredeti felállásban és most működik. Köszönöm mindenkinek a segítő hozzászólásokat.
(#) usane válasza kormika hozzászólására (») Szept 25, 2020
Kábel nem okozhatja, nekem 5-6 méteres is van az infrás asztalban árnyékolatlanul fut az infrafóliák alatt. Zavartalanul üzemelnek a fóliák fűtése közben is. 7 szenzor 4k7 ellenállással és mégcsak fel sem húztam mindet, csak a multiplexer adatvonalát ha jól emlékszem. Nálam is HEStore-os szenzorok vannak, igaz nem a csöves változat, hanem a normál TO-92, valamint nálam nem kapcsitáp hajtja, hanem csináltam hozzá normál egyenirányított tápot 1117-es LDO-val, és ESP-vel megy nem Arduinoval. Van egy PIC-es változatom is ugyanebben a felállásban, az is simán ment. Nálam is van Nextion kommunikáció is, valamint az ESP-s változat WiFi-n is kommunikál zavartalanul. A kódot nem tudom jó-e, én nem használtam a Dallas könyvtárat csak a onewire-t a multiplexeres megoldás miatt.
(#) Kovidivi válasza Bakman hozzászólására (») Szept 24, 2020
Jogos...
(#) Bakman válasza Bakman hozzászólására (») Szept 24, 2020
Mármint annak elektromágneses sugárzása.
(#) kormika válasza Bakman hozzászólására (») Szept 24, 2020
Nehezen tudom elképzelni, hogy ennyi szűrésen keresztül átjut valami a tápmodulból, de holnap megpróbálom úgy, hogy a szenzorokat másik tápról járatom, mondjuk 3 ceruzaelemről, hogy esély ne legyen bármiféle zajra a tápon.
(#) Bakman válasza kormika hozzászólására (») Szept 24, 2020
Lehet, hogy a tápegység zavarja a rendszert.
(#) kormika hozzászólása Szept 24, 2020
Most megpróbáltam 3,3k-val, semmi, 2,2k-val semmi, 1k-val szintén süket. Dugdosós próbapanelen egy másik arduino nano ugyanezzel a progival, minden tápszűrés és külső felhúzó ellenállás nélkül, az arduino saját belső felhúzóját használva USB-ről táplálva megy a 4 szenzorral...
(#) Bakman válasza kormika hozzászólására (») Szept 24, 2020
Innentől kezdve kb. csak a logikai analizátor és/vagy oszcilloszkóp tudna érdemben segíteni. Ellenőrizni kellene az adatfolyamot.
(#) kormika válasza Bakman hozzászólására (») Szept 24, 2020
A szenzorok a HEStore-ból vannak, fém védőcsöves, gyárilag 2m vezetékkel. A programban semmilyen megszakítás nincsen, beolvassa a 4 szenzort az arduino gyári példaprogijából Ctrl+C Ctrl+V módon átemelt sorokkal, ezeknek az értékeit sorosan elküldi a Nextion kijelzőnek, majd az értékek alapján egyszerű if-es relációkkal kapcsolja a 4 db relét, amiből kettő 2db keringető szivattyút kapcsol, a másik kettő relé pedig egy motoros keverőszelepet vezérel. Őszintén megmondom, hogy nem tudom milyen órajellel megy most az arduinon nanom, soha nem volt ilyen jellegű problémám velük, szóval nem foglalkoztam még ezen részével.
(#) Bakman válasza kormika hozzászólására (») Szept 24, 2020
Meglepő, hogy a nagyobb ellenállással ment, pont fordítva kellett volna. Honnan vannak a szenzorok? Az Arduino programjában fut valamilyen megszakítás? Az meg tudja keverni a dolgokat, lévén a szenzor kommunikációja idő alapú. Feljebb tudod tornázni a kontroller órajelét?
(#) kormika válasza Bakman hozzászólására (») Szept 24, 2020
A fojtó a gyári tápegység után van, aztán kb. 3000µF-nyi kis ESR kondi és erről megy maga az arduino, meg igazából a Nextion kijelző kivételével minden. A kis panelen 2db 6,3V 100µF LOW ESR kondi, egy 100nF fóliakondi és 2db 4,7µF kerámiakondi van a tápon, és egy darab 8,2k ellenállás felhúzónak. 4,7k-val kezdtem, azzal nem ment, tettem 2,2k-t, azzal sem, végül a 8,2k-val működött rendesen.
(#) kormika válasza Kovidivi hozzászólására (») Szept 24, 2020
Szia!
Az említett másik gépben is árnyékolatlan kábellel vannak bekötve a szenzorok és egy kábecsatornában fut a 3 fázisú motor frekivátóból jövő kábeleivel olyan 3 méter hosszan és ott semmi gond. Ezért vagyok tanácstalan...
(#) kormika válasza kormika hozzászólására (») Szept 24, 2020
Így néz ki maga a kapcsolás, a bal oldali kissebb dobozban egy külön táp lakik a Nextion számára, illetve a kommunikációért felelős szintillesztés és zavarszűrés is ebben van, a jobb oldali nagyobb dobozban van a 3A-es táp, az arduino és 4 relé a meghajtással együtt. A jobb felső sarokban levő kis panelen vannak a plussz szűrőkondik a felhúzóellenállással, ide csatlakozik jelen esetben egy darab DS18B20 szenzor, amivel szintén nem működik.
(#) Bakman válasza Kovidivi hozzászólására (») Szept 24, 2020
DS18B20, 1-Wire protokoll.
(#) Bakman válasza kormika hozzászólására (») Szept 24, 2020
A tápegység kiementéről szedd le a fojtótekercset, a felhúzóellenállás legyen 3.3 kΩ. A "további 2 kis ESR elko" mit takar? Hol vannak? Remélhetőleg nem az adatvezetéken, azon csak a felhúzó legyen. 1-Wire használata esetén az árnyékolás és/vagy a nem használt vezetékek bekötése a kábelben csak árt az egésznek, jól csináltad, hogy nem használtál árnyékolt vezetéket.
A hozzászólás módosítva: Szept 24, 2020
(#) Kovidivi válasza kormika hozzászólására (») Szept 24, 2020
Ha jól értem, ez a baj:
"So the maximum bus length of an I2C link is about 1 meter at 100 Kbaud, or 10 meters at 10 Kbaud. Unshielded cable typically has much less capacitance, but should only be used within an otherwise shielded enclosure.".
I2C kommunikációt olyan 1m-ig használunk...
(#) kormika válasza pipi hozzászólására (») Szept 24, 2020
Szia!
Egy tápról megy minden, 5V 3A-es kapcsitáp, fojtóval, kis ESR-es kondikkal és jóminőségű kerámiákkal szűrve. A táp és az arduino be van dobozolva egy kalapsínes dobozba, sorkapcsokkal van bekötve egy külön kis panel, amin van a felhúzóellenállás és további 2 kis ESR elko, egy fólia és két kerámiakondi, erre a panelre csatlakoznak a szenzorok. Nem árnyékolt kábelt használtam, mert a gyárilag védőcsőben levő szenzorok gyári kábele sem árnyékolt. Szkópom sajnos nincsen, hogy a jelalakot ellenőrizzem. Azért nem értem az egészet, mert a nappaliban a PC-nél összekötve az egész áramkört működött, aztán felszereltem a mosókonyhába a falra egy erre a célre felrakott falon kívüli lakáselosztóba, ugyanúgy bekötöttem mindent, a kábelhossz változott, és már nem megy, azóta már visszahoztam a nappaliba, itt a szenzorok gyári kábeleivel bekötve már megint nem megy, pedig most ugyanaz a felállás, mint délután, amikor a program íródott és működött...
(#) pipi válasza kormika hozzászólására (») Szept 24, 2020
Hali!
Van rendes tápjuk a dallas-oknak? Szűrőkondit sem árt a szenzor tápjára tenni. Árnyékolt kábel?
Zajos egyéb elektromos cucc tápkábel közelében? Szkóppal nézted a jelalakot?
(#) kormika hozzászólása Szept 24, 2020
Sziasztok!
A topik címében szereplő szenzorokkal és egy arduino nanoval építek fűtésvezérlést, és ezek a szenzorok kikészítenek. Egyszer tökéletesen működik minden, aztán mind a négy szenzort -127 fokosnak olvassa az arduino. Próbára összerakva sem működött az adatlap szerinti 4,7k-s felhúzó ellenállással, 8,2k-val ment a hőmérés. A helyén telepítve az eszközt, 2 szenzor nem a gyári kábellel csatlakozik, hanem toldva lettek, egy kb. 2 méteres kábel végére csatlakozik a 2 szenzor párhuzamosan, és ez a kábel csatlakozik a sorkapocsba a másik 2 szenzor gyári kábelével együtt. Ebben a felállásban már megint -127 fokot ír az arduino mindegyik szenzorra. Nem tudom eldönteni, hogy szoftveres, vagy hardveres a probléma. A szenzorok az arduino A0 bemenetére csatlakoznak, de ez elvileg nem okozhat problémát, egy másik gépemben szintén az A0-ra csatlakozik 2db szenzor, 4,7k felhúzóval és ott semmi gond. Mellékelem a kódot is, hátha ott van valami hiba, amit nem veszek észre... A válaszokat előre is köszönöm.
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3.  
  4. #define ONE_WIRE_BUS A0
  5.  
  6. OneWire oneWire(ONE_WIRE_BUS);
  7.  
  8. DallasTemperature sensors(&oneWire);
  9.  
  10. const int OUT1=2;
  11. const int OUT2=4;
  12. const int OUT3=3;
  13. const int OUT4=5;
  14. int Kazan=0;
  15. int PFElore=0;
  16. int Benti=0;
  17. int Kinti=0;
  18.  
  19. int Value = 0;
  20. int PumpEnable = 0;
  21.  
  22. void setup() {
  23.   pinMode(OUT1, OUTPUT);
  24.   pinMode(OUT2, OUTPUT);
  25.   pinMode(OUT3, OUTPUT);
  26.   pinMode(OUT4, OUTPUT);
  27.   pinMode(A0, INPUT);
  28.   pinMode(A6, INPUT_PULLUP);
  29.   Serial.begin(9600);
  30.   sensors.begin();
  31.   delay(500);
  32.  
  33.   Serial.write("tm0.en=0");
  34.   Serial.write(0xff);
  35.   Serial.write(0xff);
  36.   Serial.write(0xff);
  37.   Serial.write("tm1.en=0");
  38.   Serial.write(0xff);
  39.   Serial.write(0xff);
  40.   Serial.write(0xff);
  41. }
  42.  
  43. void loop() {
  44.   sensors.requestTemperatures();
  45.   Kazan=sensors.getTempCByIndex(0);
  46.   Serial.print("n0.val=");
  47.   Serial.print(Kazan);
  48.   Serial.write(0xff);
  49.   Serial.write(0xff);
  50.   Serial.write(0xff);
  51.  
  52.   sensors.requestTemperatures();
  53.   PFElore=sensors.getTempCByIndex(1);
  54.   Serial.print("n3.val=");
  55.   Serial.print(PFElore);
  56.   Serial.write(0xff);
  57.   Serial.write(0xff);
  58.   Serial.write(0xff);
  59.  
  60.   sensors.requestTemperatures();
  61.   Benti=sensors.getTempCByIndex(2);
  62.   Serial.print("n2.val=");
  63.   Serial.print(Benti);
  64.   Serial.write(0xff);
  65.   Serial.write(0xff);
  66.   Serial.write(0xff);
  67.  
  68.   sensors.requestTemperatures();
  69.   Kinti=sensors.getTempCByIndex(3);
  70.   Serial.print("n1.val=");
  71.   Serial.print(Kinti);
  72.   Serial.write(0xff);
  73.   Serial.write(0xff);
  74.   Serial.write(0xff);
  75.  
  76.   if(Kazan>50){
  77.     if(PumpEnable==1){
  78.     digitalWrite(OUT1, HIGH);
  79.     Serial.write("tm0.en=1");
  80.     Serial.write(0xff);
  81.     Serial.write(0xff);
  82.     Serial.write(0xff);
  83.     }
  84.     if(PumpEnable==0){
  85.     digitalWrite(OUT1, LOW);
  86.     Serial.write("tm0.en=0");
  87.     Serial.write(0xff);
  88.     Serial.write(0xff);
  89.     Serial.write(0xff);      
  90.     }
  91.   }
  92.  
  93.   if(Kazan<45){
  94.     digitalWrite(OUT1, LOW);
  95.     Serial.write("tm0.en=0");
  96.     Serial.write(0xff);
  97.     Serial.write(0xff);
  98.     Serial.write(0xff);
  99.   }
  100.  
  101.   if(Kazan>40){
  102.     digitalWrite(OUT2, HIGH);
  103.     Serial.write("tm1.en=1");
  104.     Serial.write(0xff);
  105.     Serial.write(0xff);
  106.     Serial.write(0xff);
  107.   }
  108.  
  109.   if(Kazan<35){
  110.     digitalWrite(OUT2, LOW);
  111.     Serial.write("tm1.en=0");
  112.     Serial.write(0xff);
  113.     Serial.write(0xff);
  114.     Serial.write(0xff);
  115.   }
  116.   if(PFElore>36){
  117.     digitalWrite(OUT4, HIGH);
  118.     delay(200);
  119.     digitalWrite(OUT4, LOW);
  120.   }
  121.   if(PFElore<34){
  122.     digitalWrite(OUT3, HIGH);
  123.     delay(200);
  124.     digitalWrite(OUT3, LOW);
  125.   }
  126.   Value = analogRead(A6);
  127.   if(Value>900){
  128.     PumpEnable = 1;
  129.     Serial.write("vis p2,1");
  130.     Serial.write(0xff);
  131.     Serial.write(0xff);
  132.     Serial.write(0xff);
  133.   }
  134.   else{
  135.     PumpEnable = 0;
  136.     Serial.write("vis p2,0");
  137.     Serial.write(0xff);
  138.     Serial.write(0xff);
  139.     Serial.write(0xff);
  140.   }
  141.        
  142.   delay(5000);
  143.      
  144. }

A kódban a soros kommunikáció egy nextion kijelzőnek szól, de az szerintem nem zavarhat bele a hőmérésbe...
A hozzászólás módosítva: Szept 24, 2020
(#) NaSa2 válasza Kovidivi hozzászólására (») Jún 3, 2020
"Próbáld ki egy Arduinos libbel"
azzal nem tudom, az nincs.
Viszont azt hittem mindent kipróbáltam mielőtt írok, de nem, mert a hiba az általam használt példában volt.
Nevezetesen:
.......
unsigned *temp; // és e miatt volt rossz helyesen: unsigned temp;
.......
temp = Ow_Read(&PORTE, 2);
temp = (Ow_Read(&PORTE, 2) << 8) + temp;
......
ha valaki szintén bele akadna
Ettől független köszönöm a segítő szándékot!
(#) Kovidivi válasza NaSa2 hozzászólására (») Jún 2, 2020
Próbáld ki egy Arduinos libbel! Így ki tudod zárni a programozási hibákat. Lehet, hogy csak a kommunikáció csúszik el. Fogj egy Arduino Nano-t/Uno-t, ráforrasztva egy tüskesor csatlakozót, le tudod az összes szenzorod tesztelni, mindentől függetlenül.
(#) Bakman válasza NaSa2 hozzászólására (») Jún 2, 2020
Pár hozzászólást elolvasol visszafelé haladva az időben és láthatsz egyéb anomáliákat is távolkeleti szenzor esetén.
(#) NaSa2 hozzászólása Jún 2, 2020
Sziasztok!
adott egy DS18B20 ként vásárolt (aliról) szenzor.
nekem olybá tűnik, hogy a felső bájt el van csúszva egy bittel. tapasztalt már valaki ilyet?
például 35.8 Celsiusra így jön ki az adat:
alsó Bájt: ‭0011 1110‬
felső Bájt 0000 0100
összerakva: 0100 0011 1110
az alsó négy bit a 6,25 milli fokonként, tehát az egész hőfokra maradna a :
0100 0011 ami 67 Celsius lenne, először próbáltam, még plusz egy bittel jobbra forgatva, akkor ez 33 Celsius lenne, ami kontrollal nem pontos, viszont ha csak a felső négy bitet forgatom el jobbra 1 bittel, akkor pontos!
0010 0011 35 Celsius, és 1110 * 0,0625 0,8125 azaz 35,81 Celsius
így pontosan mér, csak fura számomra, hogy a 4. bitet el kell dobni.
(#) eProgress válasza neogeo2 hozzászólására (») Ápr 29, 2020
Köszi, akkor is kell az ellenállás, ha SONOFF-TH10-es kapcsolóhoz kell?
(#) neogeo2 válasza kissi hozzászólására (») Ápr 28, 2020
Ja bocsánat, mellényomtam.
(#) kissi válasza neogeo2 hozzászólására (») Ápr 28, 2020
Én nem !
(#) neogeo2 válasza kissi hozzászólására (») Ápr 27, 2020
Elvileg a piros a táp+, a fekete a táp-, a sárga az adat. A sárgát ne felejtsd el felhúzni egy 10k-val.
(#) kissi válasza eProgress hozzászólására (») Ápr 27, 2020
Szia!

A HESTORE-s alsó adatlap megmutatja !
(#) eProgress hozzászólása Ápr 27, 2020
Sziasztok!

Tudna valaki segíteni, hogy ennek a vezetékes szenzornak mi lehet a helyes csatlakozása a jack-hez?

https://www.hestore.hu/prod_10039062.html

Köszi
(#) Bell válasza Kovidivi hozzászólására (») Ápr 20, 2020
Többször tapasztaltam, hogy az Alin, Ebay-en vásárolt elektronikus áramkörök paramétereinek nagyobb a szórása, pl. lassabbak.
Következő: »»   4 / 40
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem