Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
Tulajdonképpen a kérdés I2C-s szenzorok reset-álásával kapcsolatos, de valószínűleg itt is jó helyen lesz.. "I2C" keresésre legalábbis - érthetően - kidobta ezt a topicot is. Ami adott: Kontrollerhez I2C buszon csatlakozik egy csokor szenzor. SCL, SDA 2.2kOhmon felhúzva tápra. A szenzorok egy p-csatornás FETen keresztül kapnak tápot. Ennek az az oka, hogy ha valamelyik szenzor behülyül, lehessen az egész buszt reset-álni. A probléma: Hiába veszem el a tápját az I2C busznak, a tápra húzott SCL, DSA lábakról valahogy mégis "visszajut" a szenzorok VDD lábaira 3V körüli feszültség. Abban sem vagyok biztos, hogy ez a szenzoroknak olyan baromi jót tesz. Külön RST lábuk egyébként nincs a szenzoroknak. Szükség lehet-e egyáltalán tudni reset-álni I2C-s eszközöket? Vagy ezek atombomba biztosak (tapasztalat szerint)? Persze az is lehet, hogy RESET idejére az összes többi lábat is lehúzom 0-ra (SLC, SDA, összes egyéb logikai vezérlő láb). Ezeken kívül tudok-e ajánlani valamit? Köszönöm! Ádám
Ertem. Raadasul a 10mA 50V-on eleg sok es felesleges disszipaciot okoz. A FET miatt nem kell ekkora aram, mert alacsony frekvencian akarod hasznalni. De attol meg ez az aramgeneratoros szinttatevo nagyon jo dolog. Ha az 50V stabil, akkor persze lehet foldelt emitterrel dolgozni es egy sima osztoval (33k, 8.2k) megcsinalni, hogy a FET GS kozott csak 8-10V legyen. Es akkor a LED-et is tudod a kollektorrol hajtani akár az 5V-rol. Csak a LED-del meg sorba kell kotni egy diodat, es esetleg a LED-del parhuzamosan egy nagyobb ellenallast.
Ja, es persze megteheted azt is, hogy az elozo kapcsolasnal, ha nem ulteted be a led-et, akkor rovidre razod a helyet.. A hozzászólás módosítva: Nov 27, 2013
Hogy egy adott I2C egységet hogy lehet resetelni azt a leírása tartalmazza. Alapban két megoldás létezik:
- van erre megfelelő controll beállítás (controll regiszter). - általános buszra kiadott RESET (General Call), ez a 00 címre kiadott 06h utasítás, amit a legtöbb eszköz felismer.
Köszönöm! Hasznos infó.
Nekem még azzal van gondom (még így is), hogy mi van, ha egy I2C eszköz totál lehal.. akkor küldhetek én neki bármilyen parancsot... mondjuk gondolom, erre elég kicsi az esély.
Ha már semmilyen parancsot nem fogad el úgysem tudod mi lehet a baja. Kiírhatod a kijelzőre, hogy "Kérem nyomja meg a nagy piros gombot (és nyugodjon békében )", vagy automatikusan újraindítasz mindent mint a Windows.
Idézet: „Kérem nyomja meg a nagy piros gombot (és nyugodjon békében )” - Ne !! - Miért?? - Bumm...
Sziasztok!
Egy kis segítséget szeretnék kérni. A "PIC (AVR) vezérlése Android telefonnal" cikkben lévő kezdetleges kapcsolást építettem meg. Megvan hozzá az ethernet modul, PIC és HEX. MPlabot használok ICD2-vel. A HEX-et importálom, beégetem a PIC-be. Utána meg szeretném adni neki az adatokat (IP címeket....). A leírásban szerepel, hogy az EEPROM-ba kell ezeket megadni. A View fülben kiválasztom az EEProm-ot. Megnyílik az ablak. Itt, hogy kell megadni az adatokat? Csatoltam egy képet az elképzelésemről. Beégetem a PIC-be. Összedugom a hálózatot. A routerben engedélyeztem az IP címet és a fizikai IP-t. Sajnos nem látom se a telefonon helyi hálózaton se rápingelve az eszközre. Valaki már kísérletezett vele? A segítséget előre is köszönöm. Üdv. Krisztián
Gondolom azért az IP beállításokat is hexában adtad meg, mint a MAC címet.
Szia!
A gazdasági megfontolásokat mindig mindenki maga végezze.... Csak az idézetben is szereplő állításra írtam a véleményemet.
Azon gondolkoztam milyen módon akarsz csatlakozni a relékhez. RJ45-ös csatlakozósorból biztos lehet egy tonnát bontani. ( Nekem is van pár használt switch .)
Relékhez? A jelfogókra gondolsz? Ezeket itt jelfogóknak nevezik, nem reléknek. Hasonlóak de teljesen másak.
Ezt nem igazán tudom elmagyarázni neked úgy hogy nem ismered a berendezést. Azt pedig elmesélni itt nem csak hogy keményen off lenne, hanem borzasztó hosszú is lenne... A lényeg hogy a jelfogókra való csatlakozás a legkisebb probléma. Ahhoz csak forrasztgatni kell egy csomót aztán kész. Itt olvashatsz róla egy nagyon kicsit: Bővebben: Link vagy erre keress rá: "Domino 70 biztosítóberendezés" A hozzászólás módosítva: Nov 28, 2013
Ez egy életekre kiható információkat megjelenítő, feldolgozó készülék lesz, amit itt a hobbi elektronikán tervezgetsz velünk? Ja és a legfontosabb szempont, hogy a legolcsóbb legyen? Valamit nem értek, az biztos...
A hozzászólás módosítva: Nov 28, 2013
Ha ez tenyleg ilyen nagybiztonsagu berendezes kell legyen, akkor esetleg par hidegito kondi elferne a shift-regiszterek tapjain. Meg némi jelkondicionalas az orajeleken, zavarvedelem... Foleg, ahol 50V-os relék (jelfogók, ugyanaz) csattognak.
... Azon a nyamvadt, drága, lassú I2C -s portbővítőn legalább egy ACK van az átvitel ellenőrzésére, sőt a kiírt adat visszaolvasható is, ami további önteszt funkciókat is megvalősíthatóvá tesz. Az árkülönbség 16 bitre: MCP23017 270+Áfa, Shift regiszter (2 * 50) + Áfa....
A hozzászólás módosítva: Nov 28, 2013
Attila! Nem akarok kvartyokni, de azt már tudom, melyik mertóra nem ülök, ha ettől a készüléktől fog függni, hogy jön-e szembe egy másik!
Komolyra fordítva a szót, ezt valóban tisztességesen kell megcsinálni, és nem 20ezerből, hanem 200-ból, ha kell... Részemről offot befejeztem, sok sikert!
A dolog már ott necces, hogy ilyen kritikus alkalmazásokhoz Microchip mikrovezérlőt sem volna szabad használni, hanem minősített (EC 61508 and ISO 26262) eszközöket és szoftvereket.
Pl. a Texas Instruments a Hercules (TMS470M, TMS570 és RM4x) mikrovezérlőivel nyomul ezen a területen. Bővebben: Link A hozzászólás módosítva: Nov 28, 2013
Félre értitek...
Ez a teszter nem egy élet és vagyonbiztonságot biztosító berendezés része lesz, melyet ezen okból ultraszuperbiztosra kell megépíteni stb. Hanem egy attól független eszköz ami a biztosító berendezés egyes részeit (jelfogó-egységeit) képes tesztelni. Amit én magam is megtehetnék manuálisan; hogy egy digimultival végigsípolgatom a hátlapján lévő érintkezőket a rajzokról leolvasott szisztéma szerint, csak ez órákba telne. Viszont a mikrovezérlő megcsinálja automatikusan és összemérhetetlenül gyorsabban, hibázás nélkül. Mert az ő 'keze' nem remeg hogy a digimulti mérőcsúcsa véletlen arrébb csússzon és a rajzokat sem olvassa félre. Ennyi, nem több! A tesztelendő jelfogóegység a tesztelés idejére nem is része a biztosító berendezésnek, hiszen ki kell belőle venni és a teszt idejére egy csereegységgel pótolni. Magyarán képzeljetek el két robotkart, a két robotkar kezében pedig egy digimulti két mérőcsúcsát. A digimulti sípoló (dióda/szakadás vizsgáló) módba van kapcsolva. Utána leprogramozom a két robotkart hogy szúrja oda a mérőcsúcsokat az össze tartozó pontokhoz és ha sípolást hall akkor jöhet a következő két összetartó pont. Ha nem hall sípolást akkor pedig mondja azt hogy az egység pontosan itt kontakthibás. Na én pontosan ilyen berendezést készítek, csak nincsenek robotkarok. Ha ezzel a berendezéssel én az élet és vagyonbiztonságot veszélyeztetném a rám bízott berendezésben melynek helyes működéséért felelek, nem csak a munkahelyemet veszteném el azonnal hanem másnap börtönbe is kerülnék. Eszem ágában sincs ilyesmit tenni, de ez a teszter totálisan más dolgot művel. De ha még ezzel sem győztelek meg titeket, elárulom hogy ez nem csak az én pici fejecskémben van meg hanem már sokkal magasabb, vezetői pozíciókban is tudnak a projektről és alapanyagokat biztosítanak hozzá. Szóval ha hülye vagyok, akkor nem csak én. Idézet: Nem, nem ertjuk.„Félre értitek...” Idézet: Pont ez a lenyeg! Az o keze is remeg, ha libeg a fold, szutykos az orajel, ha a tapja zajos, ha stb...Nem az a baj, hogy nem mukodik 24/7-ben 10 evig felugyelet nelkul. Az a baj, ha félremér valamit, es azt mondja egy eppen hibas relére, hogy az jo. Az termeszetes, hogy egy ilyen teszter sokkal jobb es esszerubb dolog, mint kezzel meregetni. De attol meg ugy kell megepiteni, hogy jol mukodjon. „Mert az ő 'keze' nem remeg” Idézet: Ez számomra eddig is nyilvánvaló volt. De az ellenőrzés sem lehet megbízhatatlanabb, mint a végrehajtás. Vagy tévednék?„a biztosító berendezés egyes részeit (jelfogó-egységeit) képes tesztelni.” Ebbő a szempontból én a soros portbővítők használatát is aggályosnak tartom (az órajel vonalán egy zajimpulzus helyiérték tévedést okozhat). Megbízhatóság szempontjából talán jobb a 8 bites párhuzamos busz használata, amit lentebb ajánlott Foxi63 fórumtársunk. A PIC18F8722-nek ez talán nem gond, hiszen tartalmazza a külső busz meghajtót (lásd: extended microcontroller mód).
Csak hallomásból ismerem (édesapám piszkálgatta ezeket), de én is Ganz ösztöndíjas voltam egyetemista koromban, gyakorlati időben dolgoztam náluk, de akkor már egy 8085 alapú rendszert használtak (spéci Videoton TV-kel ).
Ez az ellenőrzés a semminél sokkal jobb lesz (bár önmagában a vasútirányítás egy nagy megbízhatóságú rendszer, emlékszem még a visszajelző izzók kiégését is vissza kellett jelezni). Gondolom a relékötéseket akarod ellenőrizni nem átvenni az irányítást . Az RJ45-re a dobozból való kivezetésre gondoltam (nem hiszem, hogy az irányításra véglegesen bármit ráköthetsz, max. a teszt idejére).
Sziasztok!
PIC18F46j50-el mókolgatok, és szeretném őt kirángatni sleep-ből. Ha interrupt on change történik az RB7 vagy RB6-on akkor szépen feléled, de ha RB2 (INT2)-n egy gombbal lehúzom a földre akkor nem éled fel. (bemenetre vannak állítva, és belső felhúzó ellenállás is bevan állítva) Az alábbi kódrészletet használom:
Nem tudjátok mit rontok el? Köszi előre is!!
Ki vannak találva erre szoftveres és hardveres megoldások (régóta). Már harminc évvel ezelőtt is soros porton ment az egész. (Gondolj bele 1-2km távoli váltó, vezeték a sínek mellett, nagyfesz. pár méterre, vonat szikrázik , a szigetelt sínen mikor átmegy a vonat néhány 10Ohm a változás, és a vagonokat is meg kellett számolni ...)
De ez már nagyon nem ide való. A lényeg: egy teszt nem teszt, a műszered legalább arra jó lesz, hogy megmondja 10 esetből legalább nyolcszor jól kapcsol . A hibás reléállásokat a rendszernek úgyis magától ki kell szűrnie.
AD átalakítót letiltottad a lábról?
Nem használtam azon a lábon AD átalakítót, de kipróbáltam ADCON0bits.ADON = 0; -t és még mindig nem ébred fel. :\
Idézet: „Ebből a szempontból én a soros portbővítők használatát is aggályosnak tartom (az órajel vonalán egy zajimpulzus helyiérték tévedést okozhat).” A párhuzamos átvitel is pont olyan sérülékeny lehet, mint a soros. A soros I2C hátrányát inkább a nyitott kollektoros jelek okozhatnak. De pont miattuk a komparálási szintek magasabbak (5V táp esetén min. 4V szemben a TTL 1.1..1,4V -jával és a HC 2.5V -jábval.) Egy zavarjel az írási jelen ugyan úgy okozhat problémát a párhuzamos rendszerben, mint a soros átvitelnél. Az SPI felületen ráadásul nincs semlilyen visszajelzés, szemben az I2C byte-onkénti ACK -jával. Persze minden portbővítő helyett lehet mikrokontrollert használni, a bele írt programmal a táviratot ellenőrizni végrehajtás előtt. Többször 10 relé/jelfogó és ugyanannyi nyomógomb már négyzetméteres méreteket jelent. Ilyen méretek mellett a párhuztamos átvitel sok problémát vethet fel: Referencia pont potenciál eltolódás, jelváltozási sebesség korlátozás minden meghajtónál, a vonalak lezárása a vevőknél, a föld vezeték keresztmetszete (minimum annnyi, mint az átvitt jelek vezetékeinek keresztmetszetének összege), csaklakozók...
Nem az átalakítót magát kell letiltani, hanem a lábról kell letiltani az analóg bemenetet. ANCON1bits.PCFG8=1; ha minden igaz, adatlap 349. oldal
A hozzászólás módosítva: Nov 28, 2013
Sajnos ez sem segít Nem tudom mit felejtek el...
Ha ismernétek a biztosító berendezést és annak működését, tudnátok hogy milyen alaptalan a félelmetek. Oké, akkor lássuk mi történik pontosan:
Szólnak nekem hogy biztber hiba van. Én erre odamegyek a berendezéshez és kitalálom hogy a hiba a nagy rendszer melyik egységében van. Ezt az egységet megfogom és kiveszem a rendszerből, majd elviszem a teszteremhez és rádugom, majd elindytom a tesztet. Innentől három dolog történhet: 1.- Hibásnak vél egy olyan érintkezőt ami tényleg kontakthibás. Azaz jól működik a teszter! Megtisztítom az adott érintkezőt és mindenki boldog. 2.- Hibásnak vél olyan érintkezőt amelyik nem is kontakthibás valójában. Ebben az esetben annyi történik hogy feleslegesen tisztítok meg egy érintkezőt. Hűha... 3.- Jónak vél egy olyan érintkezőt ami valójában kontakthibás. Ebben az esetben a jónak vélt de valójában kh-s egységet visszateszem a rendszerbe és azt tapasztalom hogy továbbra sem jó. Ekkor elkönyvelem hogy sz@r a teszterem de semmi rossz nem történik és a hibakeresést folytatom a szokásos módszerekkel. Na jó sejtem hogy most meg azt mondjátok hogy mi van ha a teszterrel új hibát teszek az egységbe. Nos ha ismerétek a berendezést tudnátok hogy ez fizikailag képtelenség, értelmetlen. De egye fene, valahogy beletett a teszter még egy hibát! Mi történik? Jobb esetben a teszteren kibukik hibával, a legeslegroszabb esetben pedig a teszter a hiba beletétele után jónak minősíti. Így visszarakom az egységet a helyére és azt tapasztalom hogy továbbra is rossz a berendezés. Ennyi. A biztosító berendezés ugyanis egy hihetetlenül jól átgondolt berendezés, többszörösen túl van biztosítva és ha bármilyen hiba van akkor automatikusan a legbiztonságosabb üzemmódba lép. Azaz inkább megállítja a vonatokat de egyszerre akár több hiba megléte esetén sem ejt csorbát az élet és vagyonbiztonságban. A hozzászólás módosítva: Nov 28, 2013
Attila!
Én értem, hogy mit írsz és nem is akarok vitázni veled, mert nincs miről. Annyit kérek/kérünk, hogy vedd figyelembe, hogy itt már nem a hobbi kategóriáról folyik a diskurzus, hanem egy olyan ipari berendezésről, ami közvetlen vagy közvetve áll kapcsolatban a laikus embertömeggel. A többiek felszisszenése is ebből adódik, illetve a speciális felhasználási területéből, amire itt a fórumon nem vagyunk felkészülve. Remélem, érthető volt a magyarázatom. Megértésedet köszönjük!
Hát...nem. Kipróbálom. Köszi a tanácsot.
|
Bejelentkezés
Hirdetés |