Fórum témák
» Több friss téma |
Ezt olvastam a korábban linkelt oldalon. Biztosan van valami rendszer a ROM kód generálásban, vagy a ROM kód egy része valamitől függ, ezért írja az oldal is, hogy néhány byte fix.
A scratchpad-ben vannak állandó értékek, a ROM kódeban csak egy. Nem kevered a kettőt?
Keverni nem keverem. Amit linkeltem, abban írja, hogy a ROM kódnak ilyennek kell lennie. Az okát fejből nem.tudom, mindjárt elolvasom ismét. Mindenhol ezt hozzák egyébként fel, így lehet tesztelni, hogy fake-e a DS18b20 vagy sem.
Meg van: "It is a fake if its ROM address does not follow the pattern 28-xx-xx-xx-xx-00-00-xx . (Maxim's ROM is essentially a 48-bit counter with the most significant bits still at 0.) ". A miértjét ne tőlem kérdezd. A hozzászólás módosítva: Ápr 17, 2020
Az adatlapban nem ez van. Előbb-utóbb kelleni fog az összes bájt, még ha nem is a közeli jövőben.
Végignéztem a raktárkészletem, hamis szenzor ügyben!
A képen látható bal oldaliból 4db-ot találtam. 0.5°C-onként változik a hőmérséklet amikor kiolvasom, és 70°C környékén egyszerűen nem válaszol a kérésekre, semmire. A középsőből 15db-ot találtam, relatív sokáig tart a konverzió, 70°C környékén lekapcsol. A jobb oldali pedig tökéletesen működik (15db-ot találtam), 120°C-ig melegítettem, semmi gondot nem okozott, és sokkal gyorsabban kész a konverzió, mint a középsőnél (0.5-0.7mp). ROM kódilag mindegyik hamis, ezt én is alá tudom támasztani, mert Ebayesek. A program alap dallas simple példaprogram (skip ROM, konverzió indítás az alapértelmezett felbontással, megvárja amíg kész, majd soros portra kiírja). Tehát van hamis, hamis ami magas hőmérsékleten leáll, és hamis ami fél fokos felbontást tud és leáll, ha túl meleg Eddig is mindig teszteltem a szenzorokat, mikor beépítettem, úgy tűnik, jó zacskóból válogattam.
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.
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
Szia!
A HESTORE-s alsó adatlap megmutatja !
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.
Köszi, akkor is kell az ellenállás, ha SONOFF-TH10-es kapcsolóhoz kell?
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.
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.
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.
"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!
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.
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
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?
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...
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...
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
Í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.
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...
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.
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?
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.
Innentől kezdve kb. csak a logikai analizátor és/vagy oszcilloszkóp tudna érdemben segíteni. Ellenőrizni kellene az adatfolyamot.
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...
Lehet, hogy a tápegység zavarja a rendszert.
|
Bejelentkezés
Hirdetés |