Fórum témák
» Több friss téma |
Olvasd el a dush.bas 4. és a termometr.bas 8. sorát. Más panel kell a két verzióhoz. Idézet: „dush.bas Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.5 , Db7 = Portc.4 , E = Portc.1 , Rs = Portc.0” Idézet: „termometr.bas: Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5” Más panel kell a két programhoz.... Az utóbbihoz jó a panel. A hozzászólás módosítva: Jan 8, 2016
Vagy át kell írni az LCD lábkiosztás részét egyformára, és újrafordítani a forrást..
Idézet gfj -től:
Idézet: „Programot írni nem tudok...csak beégetni.” Ebből arra következtettem, hogy a forrást tartalmazó csomagban levő hex -ekkel próbálkozik. Nem én építeném meg, de még a Bascom fordításban sem tudok segíteni.
Ezzel én is így vagyok! Nekem sincs basic fordítóm avrhez, csak C-hez.Mondjuk ez egy jó alkalom hogy feltankoljak egy bézik fordítóból. Tud nekem valaki ajánlani olyat privibe?
Szia!
Bascom-AVR. Ha jól tudom, méretkorlát van benne, ingyenesen letölthető. Egyébként gfj kolléga szerintem rossz rart linkelt, amit nekem adott abban stimmel az LCD lábkiosztás, és 1MHz az órajel. Próbanyákon kipróbálva működik. Igaz, csak 2 DS-t találtam, de azokkal szépen megy. Ha a kiírandó szöveget módosítod, 2x16-os LCD- is megy. Itt a forrás: A hozzászólás módosítva: Jan 9, 2016
Szia!
A 18B20 valamikor ősszel lett vásárolva a HEStore-ban. A másik 18B20P az már van 2-3 éves.
Van Bascom AVR-m. Azzal próbálkozom. Na szóval az alábbi program felismeri a szenzorokat és mér is. A másik nem. Lehet, hogy rosszat linkeltem be...akkor elnézést!Nekem viszont négy érzékelő kezelésére van szükségem...az a program viszont nem ismeri fel a szenzorokat. Felrakom mind a kettőt!Mind a kettő betöltődik..a programok futnak...csak az egyik nem inicializálja a szenzorokat. Én még mindig a ds-k esetleges paraméter változására gyanakodom. A kapcsolásokat kipróbáltam atmega8 és atmega8-16pu -val is. A helyzet ugyanaz volt mind a kettőnél!
Két érzékelős: 'Termometr 4 punktowy DS18b20 by Duch na podstawie materiałów znalezionych w sieci 'Kontakt duszkowski@o2.pl
'Koniec programu A hozzászólás módosítva: Jan 9, 2016
Én pedig novemberben néztem át egy bolt teljes készletét...ott dolgoztam valamikor eladóként/EC Fehérvár/...így megtehettem. Ez 31 db volt. Ebből 3db-t ismert fel. Utána rendeltem az ebay-ról 10db-t. Ebből pedig egyet sem. Mármint a 4 érzékelős változat. A két érzékelős simán viszi az összeset.
Kukáztam egy 3. szenzort. (kiszedtem egy hőmérőből...) 3 DS esetén NEM akart inicializálni!
Érdekes módon 4k7 10k-ra emelésével viszont úja működik.
ezt most kipróbálom....igen...de akkor mekkorára csökken vajon az érzékelő maximális távolsága..a központtól?
A hozzászólás módosítva: Jan 9, 2016
Idézet: „Érdekes módon 4k7 10k-ra emelésével viszont úja működik.” Lehet emiatt szívtam én is? Építettem egy hete egy áramkört PIC32-vel, és bizonytalanul működött, a Search ROM másodiknak találta meg az egyetlen szenzort, és nagyon bizonytalanul működött, minden ötödik-tizedik olvasásra volt csak CRC helyes mért adat, legtöbbször 0xFF-ek jöttek vissza, tehát a Match ROM sem volt jó valószínűleg (A search által visszaadott egyetlen ROM kód viszont CRC helyes volt érdekes módon). Már minden időzítést leszimuláltam, us-on belül tökéletes. Billegtettem egy lábat megszakításból, a mért frekvencia tökéletesen egyezik a számítottal. Egyszerűen nem volt már semmi ötletem, mi lehet a gond, fel is adtam, mivel ez egy hobbi projekt volt csak, mondván majd máskor előveszem újra. Viszont most hogy írod, akkor ugrott be, hogy 2k2 ellenállást használtam, mert hosszú vezetéket kell meghajtania, legyen erősebb felhúzás és nem próbáltam meg nagyobbal. Egy másik áramkörben, amiben 16F hajtja meg a szenzorokat, ott ugyanezek az ebay-es szenzorok tökéletesen mennek, igaz 4k7 felhúzóval. Alkalomadtán teszek nagyobb felhúzót és megnézem újra, mi történik.
Így, hogy kicseréltem én is 10k-ra...egyet már felismer a 4 verziós....valószínű, hogy teszek oda egy trimmert és megnézem, hogy melyik az az ellenálás érték amelynél esetleg mind a négyet felismeri...
Ezt a CRC kódot hogyan lehet kiszámolni a vett adatokból?
Néztem a leírást, de nem sikerült rájönnöm. Ehhez kevés az én angol tudásom.
Nem tudom már, hol találtam, de ez a két verzió van 1wire kommunikációhoz. Mindkét verziónál a crc számoló függvénynek meg kell adni a tömböt, amire a crc-t akarod számolni, és második paraméternek, hogy a tömbből hány bájtra számolja. Pl. a rom kódnál crc(tomb, 7) kell, míg a scratchpad-nál crc(tomb, 8). És ha a függvény ugyanazt adja vissza, mint ami a tomb[8] vagy tomb[9]-ben szerepel, akkor stimmel a crc.
Azóta olvastam valahol, hogy ha crc(tomb, 8) illetve crc(tomb, 9)-el hívod, vagyis a crc bájtot is beleveszed a számításva, akkor a függvénynek nullát kell visszaadnia, ha stimmel a crc. Én az előbbi formában használtam mindkettőt, utóbbit még nem próbáltam. Idézet: „És ha a függvény ugyanazt adja vissza, mint ami a tomb[8] vagy tomb[9]-ben szerepel, akkor stimmel a crc.” Helyesbítés: És ha a függvény ugyanazt adja vissza, mint ami a tomb[7] vagy tomb[8]-ban szerepel, akkor stimmel a crc.
Köszönöm a segítséget!
Átolvastam Watt útmutatását és rájöttem, hogy ezt én nem fogom leprogramozni! Keresnem kell kész kódot ... És meg is érkezett!
A felhúzó ellenállások változtatása sem járt eredménnyel. Még mindig ott tartok, hogy a két érzékelős variácó simán felismeri bármelyik szenzort...míg a négy érzékelős nem.
Nos, azt hiszem kimerültünk:
Nem tudjuk, a 4 érzékelős program milyen verziója fut. Nem tudjuk, hogy egyáltalán kommunikál -e a vonalon, ír -e ki valamit az LCD re. Nem tartjuk megfelelőnek a panel zavarszűrését. Fel kellene tenni az ajánlott kondenzátorokat (3-10 Ft / darab). Meg kellene mérni a PORTD.5 -ön a jelalakot (Ajánlottam két olcsó analizátort). Mivel nincs további információ, nem tudonk újat mondani... "A dolgok sokféleképen lehetnek rosszak, de csak egyféle módon jók."
De tudjuk mert feltettem. http://www.hobbielektronika.hu/forum/topic_post_1887231.html#1887231
Mindkét esetben a körülmények ugyan azok. Nincs 100 nf ez igaz..de a két érzékelős még is működik...és felismeri a szenzorokat Tehát a panel jó!Az érzékelők is azonosak!Való igaz analizátorral még nem néztem...de per pillanat nincs rá keret. Majd holnap megnézem szkóppal.
Sziasztok! Sokat játszottam én is az adott szenzorral (szenzorokkal) Ugyanis először az S20-at használtam, újabban be lehet szerezni vízmentes kapszulában 5m vezetékkel Ds18B20-t (2-3$) áttértem erre. A kiolvasás ugyanaz, csak a felbontás jobb. Az utolsó pár oldal vitájához néhány észrevétel. Nem ismerem pontosan a kapcsolást, de a Quartz egy fontos alkatrész lehet, főleg a két érzékelős megoldásban. Én 4db-ot olvasok, ezeket viszont 4066 kapukkal kapcsolgatom. Általában univerzálisan módosítható projektekben használom. Be kellett látnom, hogy az impulzusok idejére rendkivül érzékeny(!),ez az adatlapból tisztán látszik. Miután szkóppal felvértezve próbálkoztam, nem volt gondom. Ami még megjegyzésre kivánkozik, ha 20-30C környékén jól mér az előfordul, hogy 100C környékén nem olvas. Ekkor, még módosítgatni kell az időkön. A modulrendszerű PIC programozás topicban kb fél éve tettem fel működő programokat.
Ha több szenzort akarunk egyidejüleg olyan alkalmazásban, ami mást is csinál még, akkor valamilyen áthidaló megoldással problémamentesen lehet többszörözni. Jelenleg egy Kb 1-30db ig megoldáson dolgozom, hamarosan készen lesz. PIC 12F1840 Uarton továbbküldve (RS485) cím szerint. 10mmx32mm nyákon elfér. 12mm átmérőjű 4:1 zsugorcsőben Pl: Cat6 Utp-vel több 100 méter távolságra is elvihető. Teljes megoldás a már jelzett topicban részletesebben. "Amatőr gyakorlatban" ennél pontosabb, megismételhető hőmérést nehéz csinálni. Mellékeltem egy nyáktervet, ennek egyik oldalán további MAX6675 hőmérés távadás is ki van alakítva. Az van csak beforrasztva amelyik kell... A hozzászólás módosítva: Jan 11, 2016
Megkeresem...mert a pic-s is érdekel. Teljesen mindegy mivel, csak működjön 4-6 szondával és egy vonalról...
A hozzászólás módosítva: Jan 12, 2016
Keresem, hogyan is működik a BASCOM 1-Wire könyvtára. Közben eljutottam a Tavir AVR oldalra. Felkeltette a figyelmemet a 1-Wire eszközök parazita tápellátása.
Nem az okozza a problémát, hogy csak a felhúzó ellenálláson keresztül kapják a tápfeszültséget? Megírtam már PIC-re a saját könyvtáramat, abban minden reset pulzus előtt a 1-Wire lábat kimenetnek kapcsolom és magas szintet adok ki rá egy időre. Aztán kezdem a kommunikációt. A hőmérséklet mérő eszközöt a mérés ideje alatt nagyobb áramot igényelnek. Ez alatt az idő alatt is érdemes a vonalat aktívan a tápfeszültségre kapcsolni. A hozzászólás módosítva: Jan 12, 2016
Csak arra az időre kell az erősebb felhúzás (illetve kimenetnek kapcsolás), amíg a hőmérséklet konverzió vagy az EEPROM írás tart. Egyébként nem kell, elmegy parazita tápról is.
Nálam be volt kötve a táp is, nem parazita módban próbáltam.
Érdekes ez a szenvedés, nem értem miért nem működik neked.
Tettem fel két fájlt, ha van soros portod akkor próbáld ki melyik mit ír, ezek biztos működnek 6 érzékelővel 30-40m utp-n rendes 5v-os táppal 4,7k val felhúzva(de 10kval is működött). Ki ollóztam ami neme kell bele, egyébként egy kazánházba kínai szenzorokkal 4 éve megy, -20 és +90C közt méricskélnek. Én nem kerestetem a buszon hanem ID alapján kérdezgetem le őket. A panelen van 4,7K 0,6w és a tápon 100nf kerámia kondi. A kábel sima gagyi fali utp és a szivattyúk és mágnes szelepek kábeleivel megy egy tálcában. Eddig egy gondom van amire még nem volt megoldás de nem is fontos mert ritka és nem zavaró, az az hogy ha felkapcsolom a világítást(régi fénycső armatúrák) néha el a kapcsolás pillanatában eldobja azt a szenzort CRC hibával amit épp kérdezett. De mivel 20 másodpercenként kérdezgetem ez nem számít. Na mind1 a lényeg hogy extrém környezetben is működik stabilan. Próbáld ki. üdv, g
Helló!
Gondolkodok, hogy hogyan lehetne használni ezeket a szenzorokat közös DATA vezetékkel? Mármint a problémának azt tartom, hogy hogyan azonosítom be? Már a legegyszerűbb feladatnál is nehézkes, pl. belső/külső hőmérő. Melyik szenzor van bent, és melyik kint? Van több megoldás: be lehet programozni egy "szenzor csere" menüpontot, de ennek szerintem automatikusnak kellene lennie. Ugye ha külön csatlakozóval vannak a szenzorok felszerelve, a simán felcserélem őket nem segít. Lehetne tippelni, hogy télen amelyik hidegebb, az van kint, nyáron meg fordítva, de ha én éppen tavasszal használnám a készüléket, akkor ez nem megoldás. Akkor sem, ha valaki a radiátort vagy a kazánhoz visszatérő csövet szeretné mérni (csak tegyük fel), akkor hogyan különböztetem meg őket? És ha szenzorcsere történik, mert az egyik bedöglött, akkor lehet, hogy az eddig megszokott sorrend felcserélődik. Vagy meg kellene kérni a usert-t, hogy: "Dugd be a benti szenzort", "Most a kintit", és elmenteni a ROM kódjukat? Ez is macera. 10 szenzornál meg túl sok munka. Most külön lábon vannak a szenzorok, így pontosan tudom, hogy melyik-melyik, csere esetén se lesz probléma, mert átugrom a ROM kódot, tehát így felhasználóbarát ez a megoldás. De el lehet érni hasonlót úgy is, ha minden szenzor egy kábelen van? 10 szenzornál 10 láb túl sok. De ha közös lábon vannak, akkor meg honnan tudom, hogy melyik hol van?
Egyszerű a dolog. Adsz a szenzoroknak egy számot vagy azonosítót, pl. kint és bent amihez hozzárendeled a szenzorok ROM kódjait amit a menüben fel tudsz cserélni. Utána belemész a menübe és megfogod azt a szenzort amit benti mérésre szánsz. Ha a bent nevű azonosítónál nőtt a hőmérséklet akkor jó a szenzorok sorrendje, ha nem akkor felcseréled az azonosítókat.
Nézd meg az a kódot amit az előző h.sz.-hoz csatoltam.
A kikommenteled ezt a részt:
Ami alatta van kikommentelve arról kiveszed a kommentet,
És át írod a neked megfelelő azonosítókra. Ennyi. Innentől a saját ID-án fogja megszólítani a buszon a szenzort az avr, és csak az válaszol amelyiket kérdezed. Így mindig tudod hogy melyik melyik. Egyszer kell az ID-t lekérdezni mindegyiktől, azt bevasalod a progiba, vagy én én már újabban az eeprom-ba hogy weben át tudjam írni ha csere van.
Azt tudom, hogy hogyan kell ROM kódot keresni, és elmenteni, de jó lenne, ha automatán be tudná azonosítani, hogy melyik-melyik (fizikailag, nem kód alapján), cserekor is automata legyen az átállás, és ne kelljen menübe beleírni semmi cserét, vagy programot módosítani az új ROM kóddal és újra feltölteni. Szerintem ez nem megoldható, csak ha külön lábakon van minden szenzor.
A hozzászólás módosítva: Jan 13, 2016
|
Bejelentkezés
Hirdetés |