Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
A WDT-nek saját oszillátora van. Független a pic fosc-jától.
Szia, nekem is megvan az a részletes cucc, AN187 néven fut. De vagy aludnom kéne rá egyet....vagy nem ittam még eleget, de nem értem ami ada van írva... próbálom megfogalmazni amit én értek:
1 reset és presence detect... 2 SROM command... (eddig tisza) ... erre válaszol a mindegyik eszköz a saját ROM kódja 1 bitjével ami ÉS kapcsolatban leolvasható. Na ezt én úgy értelmezem, hogy ha minden 1 akkor 1, ha valami 0 akkor 0, ha mind 0 akkor is 0... ...a master kéri a következőt... ... erre az eszközök válaszolnak az 1. bit complemensével ÉS kapcsolatban.... az elv u.a. , de ebből hogy lesz számomra egyértelmű valami.... és mindez még 63 szor.... hhhhhhhh
Letöltöttem az appnote-ot, annak a végén még C kód is van. Most nincs hozzá agyam, hogy átnézzem, de valami bináris keresést emleget, tehát nyilván a kód és a részletes leírás alapján meg lehet írni akár asm-ben is.
De az is lehet, hogy nem is kell neked ez a keresés! Ha csak arra van szükséged, hogy két eszközt használj, akkor azt is megteheted, hogy egyenként a buszra csatlakoztatva őket kiolvasod az azonosítóikat és eltárolod azokat pl. EEPROM-ban. Ezután már a normál lekérdezéskor nem kell keresni, csak az eltárolt azonosítók alapján megszólítani őket. Ez nem jó megkerülő megoldas?
Ebben teljesen igazad van! De mindezt pár ezer eszköznél....Hát, külön embert kéne foglalkoztassak, aki éleszti a szenzoraimat , de az ötlet jó. Szerintem nekemis már az agyammal van baj...aludnom kéne
Üdv The_Saint
Néztem az adatlapot. Én is láttam hogy mire tud felébredni. Csak azt nem tudom hogy melyikkel a legegyszerüb megcsinálni? A/D az használva lesz. A többi nem. Ismeri valaki a flowecode-t?
Idézet: „Csak azt nem tudom hogy melyikkel a legegyszerüb megcsinálni?” Szerinted mi honnan tudjuk, hogy mi a cél? Nem tudom, hogy hetente vagy fél miliszekundumonként akarod felébreszteni. Enélkül elég nehéz okosnak lenni... Idézet: „Ismeri valaki a flowecode-t?” Van saját topikja,akik oda írnak, feltételezhetően ismerik, vagy ismerni akarják.
Ezt nem értem... Ha sok szenzort használsz, akkor nyilván különböző pontokon vagy kíváncsi a hőmérséklet értékekre , akkor pedig neked tudnod kell, melyik hol mér ( ezt az automatikus felderítés nem tudja megmondani!)!
Így mi értelme van az automatikus felderítésnek? Az algoritmust egyébként szerintem jól látod, azzal a kiegészítéssel, hogy a kontroller visszaadja, hogy milyen bittel akar foglalkozni és amelyik eszköznek valamelyik kiadott bit nem stimmel az lekapcsolódik ( ezt most emlékezetből írtam, remélem jól!). Steve
Sajna a flowcode forumba se tudja senki . Mert még nem használták. A cél az hogy kb 1 óránként felébredjen magátol.
Szia! Érdekelne a kód és a kapcsolás is! Kijelző még nem biztos hogy lesz majd rajta, ha igen, van egy nokia kijelzőm. A szkóp egyik csatornájának van egy egyvoltos kimenete, erről venném a jelet, ramban tárolnám, és ha kell egy D/A átalakítón keresztül kiküldeném a másik csatornára. Max 100KHz-es jelig lenne érdekes, tápegységek, kapcsolók, relék vizsgálatához. Ez analóg szkópon elég bajos dolog a jelek egyszeri gyors lefutása miatt.
Idézet: „A cél az hogy kb 1 óránként felébredjen magátol.” Ugyan, ki adná az eseményjelet hozzá? Tegyél Timer1-re egy órakvarcot, s akkor 2 másodpercenként ébreszthetsz a számláló túlcsordulással! Szoftveresen számlálod az ébresztéseket, s amikor letelt az egy óra, akkor megcsinálod, amit óránként elvégezni akarsz. Ha pedig még nem telt le az egy óra, akkor visszaalvás.
Szia!
Órakvarcról, ha a Timer1 előosztóját is bekapcsoljuk, akkor 4, 8, 16 másodpercenként következik be az ébresztés. De alkalmazható esetleg külső oszcillátor is (pl. 32.768kHz oszcillátor egy 225 módusú CMOS előosztóval - Timer1 külső órajellel, 8-as előosztással pontosan óránként ébreszt.) Ha a Timer1 módusát programozod, akkor az előosztó akár 256-ot is oszthat - felhasználható a belső osztóval is rendelkező bináris osztó CD4060). Ha a készülék hálózati táplálású és a pontosság nem túl nagy igény, a hálózati 50Hz is felhasználható.. Szia
Külső áramkörökre én azért nem gondoltam, mert feltételeztem, hogy az energiatakarékosság miatt fontos az altatás. A Timer1 előosztása valóban bekapcsolható, arról megfeledkeztem.
Hacsak nem egy RTC pl. belső kvarccal. Be lehet állítani azt is, hogy milyen időközönként adjon megszakító jelet a PIC felé. Addig a PIC aludhat...(nekem a hazvezérlőm órája ilyen, bár azt nem kell altatni, hanem 1s-ként ad egy megszakítást.)
Tudom, hogy a flowcodeba külön kel megadni c-be vagy asm-be. Már néztem én is a külföldi forumot amit te is belinkeltél. De azért kérdezem itt mert sajna nem tudok se c-be se asm-be programozni.
Igen, azért kell az alvás mod mert elemröl menne. Plusz külsö energia falok nélkül szeretném megoldani. Jelenleg Timer0 fut a proci de van 32kHz és 4MHz kvarcom is. Még most ismerkedek a Picekkel azért rakok fel hülye kérdéseket. Simpi sokat segitett hogy megértsem a Timer0. Ott valahogy agyhalálom volt. Idézet: „Plusz külsö energia falok nélkül szeretném megoldani” Az RTC(R2025S) nem energiafaló(egy gombelemről évekig elmegy). Ha a PIC alszik, és óránként felébreszti a PIC-et, akkor az kevesebb fogyasztás lesz, mint ha 2sec-enként felébred a PIC számolni. Arról nem is beszélve, hogy mennyivel pontosabb egy beépített kvarc...
Sziasztok!
Segitene valaki egy egyszerű flip-flop-ban, ami zavarvédett? 16f84a köszi... nem tudom mit rontottam el... de össze vissza kapcsol...néha igen, néha nem, néha rögtönki-be kapcsol.. próbáltam RB int.-al is ugy se jobb
Szia!
32.768kHz-n a CD4060 sem zabál sokat (5V-on 5-10uA, 125 fokon <150 uA), az R2025S 3.3V-nál 0.45uA. (A timer 1 osszcillátor 6.5- 65 uA-t fogyaszt 5V-on, amit a külső áramkörök miatt ki lehet kapcsolni) Attól tartok nem ezek fogják lemeríteni az elemeket.... Szia>
Nálam a PIC (16F946) másodpercenként 16-szor ébred fel egy timer1-es órakvarcról, olyankor kezeli a billentyűzetet, az idő számolását és hasonlókat (belső, 8MHz-es órajelről), majd visszaalszik. Közben az LCD üveget folyamatosan frissíti a belső 31kHz-es órajeléről (ezt ilyenkor tudja alvás közben is). Az egész áramkör áramfelvétele 3db AA celláról 6uA körüli. Láttam olyan óra IC-ket, aminél 50uA-es fogyasztás volt megadva...
Végül is én nem azt állítottam, hogy a PIC sokat eszik, hanem azt, hogy többet, ha fel-fel éled, mint ha nem + az RTC.
Köszönöm a segitséget. Van böven információ Igazábol a pontosság nem lényeges. Nekem az is jó lenne ha 65uA enne. Szóval ha nem szeretnék RTC+CD4060-at. Csak a Timer1 orakvarccal. Akkor oda egy 32kHz kell?
Másik kérdés létezik az hogy Timer0-ba belsö oscillatorral ugy hogy semmi nincs rajta "led"2mA vessz fel 5V-4MHz-en?Vagy sz*r a müszerem. Moderálva --vicsys
Szerintem reális a 2mA 4MHz-en. Soknak, vagy kevésnek találod?
Üdv mindenkinek!
Egy kis segítségre lenne szükségem, első PIC-es feladatomnál el is akadtam. A probléma a következő: -Sleep utasítás után nem tudom felébreszteni a PIC-et. Nem akarom, hogy a megszakítást futtason, csak hogy felébredjen és ott folytassa ahol abbahagyta. Ehhez az INTCON regiszterben törlöm a GIE-bitet és csak az INTE bitet engedélyezem. Azt olvastam több helyen a PIC adatlapjában is hogy ezt így kellene csinálni, de csak nem ébred fel. -Olvastam a hobbi elektronika erről szoló cikkét is. -A google-ban is kerestem de mindenhol csak "GIE negedélyezett" verziót találok. Tehát: -44Pin DebugExpress panel -PIC16f887 -RB0/INT külső megszakítás, ( a panelen ezen van a kapcsoló) -Multiméterrel én látom a megfelelő jelszinteket mikor nyomkodom a kapcsolót. A program a következő:
A segítséget előre is köszönöm.
Nem tiltottad le az AD átalakítót így az RB0 lábról a kontroller mindig nulla szintet olvas, így nem csoda, hogy nem történik megszakítás.
Szerk.: ajánlom figyelmedbe ezt a hozzászólást: Link, főleg az ötödik bekezdést. Mert mélyebben belegondolva nálad is emiatt nem működik. Nem + , hanem vagy! Mert így nem azt jelenti, amit szerintem írni szerettél volna! Ha pedig így értetted, akkor csak az RTC+PIC kell, 4060 nem!
Köszi a választ, elolvastam a linkelt hozzászólást, és kipróbálom. Remélem igazad lesz.
Igazábol soknak. De majd kiprobálom 2V-al és külsö oscilátorral és kiderül. Amit írtál áramkör abba az órakvarc mekkora?
Én ugy értettem, hogy egyik se. Bocsi ha félre érthető volt.
Szia!
Csak felsoroltam a lehetőségeket, végülis azt építed meg, amelyik Neked tetszik. Az alábbi három lehetőség (kiszáró) vagylagos: - Pic, TMR1 oszcilátor, 32.768kHz órakvarc, - Pic, külső TMR1 órajel, RTC (amilyent kiválasztasz...), - Pic, külső TMR1 órajel, 32.768kHz órakvarc a CD4040-on (ld. adatlapja - a kvarc oszcillátorra is van példa), 1/256 osztással megy a pic-re. - A timer 1 belső oszcilátora felhasználható más 32 kHz körüli frekvenciára is (32.000kHz-re is). A timer 1 a jelet 1,2,4,8 módusú előosztóról viszi a 16 bites számlálóra. Megszakítás (ébresztés), akkor lesz, ha a 16 bites számláló átfordul (0xFFFF -> 0x0000). A felhasznált kvarc frekvenciájából kiszámíthatod az átfordulások közötti időt.... Szia |
Bejelentkezés
Hirdetés |