Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Vannak olyan modulok, amiknek a kontraszt lábán lévő feszültséggel GND alá is le kell menni, hogy megfelelő legyen a kontrasztjuk. Én azt gondolom, hogy a te modulod nem ilyen, mert mint korábban írtad, sikerült teljesen fekete kockákat beállítani. Az iniciálatlan kijelzőnél oda illik állítani a kontrasztot, ahol ezek a kockák épp elkezdenek "feketedni", ha sikeres lesz az init, az így beállított kijelzőn biztod fogsz látni képet. Aztán majd még korrigálhatod a kontrasztot. A Vdd felé halványulni, a GND felé sötétedni fog.
Idézet: „Érdekes, hogy 3+1-szer kell kiadni a Funkció beállítást mielőtt még bármit is csinálhatnék vele.” Igen, lehet, hogy érdekes, de biztos módkiválasztást eredményez(4bit-8bit). Ennél a szakasznál az is meg van adva, hogy mennyit kell várakozni a lépések között. Ezt az időt túl lehet lépni, az nem baj. Idézet: „Illetve figyelni kell a Busy fleget.” Régebben én is mindig figyeltem ezt a flaget, most legutóbb időzítésekkel oldottam meg, ahogy itt sokan ajánlották. Egyszerűbb a kód és úgy látszik jól működik(C18-ban írtam).
PIC18F-es(lehet másikakra is igaz...) probléma MikroBasic(6.0)-el:
PORTB.1=NOT PORTB.1 PORTB.1 0 volt az elején, majd kivillantja, és úgymarad Utána jött a LATB-s ötlet, mert elvileg ott lehet írni doksi szerint. Nem lett jó. aztán találtam ezt: Portb1andnot-tal a helyes szintaxis a PORTB.1=(NOT PORTB.1) (vagy LATB.1=...)helyett PORTB.1=1 AND (NOT PORTB.1) ![]()
Régebben csináltam egyszerű kiírást, ott a busy flaget nem is nézte, csak írt rá megfelelő késleltetéssel, így elég egyszerű lett a rutin. Vmelyik drótot nem is kellett bekötni. Azaz talán gnd-re kellett tenni. Nem emlékszem
![]()
Szia!
A fordítók különféle típussal kezelhetnek operátorokat. Vizsgáld meg, hogy a NOT a műveletet byte-osan vagy bitesen végzi el. Egy kritikus esetben a fordított kód assembly szinten történő vizsgálata adhatja meg a pontos választ. Szia.
Halihó!
16F871-el szeretnék az egyik lábon feszültséget mérni. Egy analóg portot ki is néztem már magamnak, az RA3-at. CR2032-es, 3V-os lapos elemnek szeretném a feszültségét nézni. Az lenne a kérdésem, hogy szükséges-e a port, és az elem közé korlátozó ellenállást, vagy valamit betenni? Csak ez az egy feladata lenne, ennél nagyobb feszültséget nem fog mérni.
Nem lényeges ellenállás, egy 100nF-os kerámiakondenzátor a láb közelében viszont jól jöhet.
De azt gondold végig, hogy ha a kontroller nem kap tápot, és az elem rajta marad, akkor a lábon levő védődiódán keresztül mégis jut majd feszültség a kontrollerre.
Kicsit utánaolvastam, és azt írja, hogy C-ben ok, de Pascal, és Basic nem szereti. Állítólag Pro-ban jó, de az nekem nincs.
Elvileg byte-ot fordít. Tehát az 1 AND-es megoldás lehet átfordít mást is. Majd megnézem a többi lábat. Akkor marad a feltételes vizsgálat, és kész. Azt nem rontja el tuti. A lényeg, hogy megy a kód.
Jobb lenne, ha inkább asm-et vagy esetleg C-t hasznánál. Basic-et kevesen használják, emiatt kevesen is tudnak segíteni, ha probléma merül fel...
Szia!
A pic tápjának megszünése után a belső védődiódáján kialakuló áram kb egy hét alatt lemeríti az elemet. Az RTC -hez tartozó I2C vonalakak felhúzó ellenállások is a pic tápjára kell kötni, különben az azokon átfolyó áram miatt merül az elem. (Kipróbáltam...) Az újabb pic-eken (16F884-887) van "Ultra low-power wake up", ami csak 200nA-rel terhel. Szia
Vkinek el kell kezdeni
![]() Megnézem a Pro-t. Az oldalon szerepel: " - Fixed: Boolean operations inconsistency solved" Meg a doksiját is megskubizom.
Ez igaz, de az is, hogy "egy fecske nem csinál nyarat"...
Végszükségnek még mindig ott a lehetőség, hogy elolvasd a dokumentációt.
![]()
Telet jobban szeretem
![]()
Erre gondoltam feltételes vizsgálatként
![]() Az interruptnál így csinálom, ott jó is.
Ha 1 rtc óra van csak rajta, akkor sztem elég évente cserélni, és nem merül le.
Attól jóval többet szoktak menni az RTC chipek egy elemről. Inkább 5-10 év a jellemző.
Igen, ez áll az adatlapon. Ha évente cseréli, akkor tuti nem merül le. Évi 200ft. Így talán nem is felejti el. Lehetne bonyolítani, hogy a pic nézze az időt, az elsőt meg írja le eepromba, aztán szóljon x idő után, de minek? Azzal csomó baj lehet. 2-4 évente dolgot meg úgyse számolgatják szerintem. A kérdés a csere. Annyi idő alatt úgyis elmászik, tehát nem baj, ha újra beállítják. Vagy ha kap közben végig tápot, akkor nem nullázódik(ugye?, még nem próbáltam).
És ha rtc mellé teszel egy DS32khz-et, akkor már csak 5-10 év/2 asszem(nem tudom az mennyit eszik). Kicsit off, de másikon nem válaszolt senki. Hol lehet DS32Khz-t venni? Vagy kérjek sample-t?
Idézet: „Igen, ez áll az adatlapon. Ha évente cseréli, akkor tuti nem merül le.” El is mennek annyit. Casio órám is 11 éves korában még ment, azótan nemtudom, hogy hol van ![]() ![]() Hát ha más nem, akkor kérj samplet. Nekem is mindig problémám, hogy hiába nézek ki valami jó cuccot, nem tudom beszerezni. Bár én inkább - ha lehet - át szoktam tervezni más alkatrészre, amit jobban be tudok szerezni. Nem szeretek olyan alkatrészből építeni, aminek a beszerzése kérdéses...
Én se. Most még RTC-vel szenvedek picit. I2C-se ment elsőre, de már megy. Igaz, jelenleg 0-t ad vissza értéknek. Először gondolom bele kell írni vmi configot, aztán utána lehet olvasgatni. Megkeresem a fórumon.
Ha tudtok mondani egy hőkompenzált kvarcot ami itthon is kapható, és32.xxx khz, az is jó. Megnéztem DS32khz adatlapját, és ott látszik a kristályok hőmérsékletérzékenysége. Igazából 20-25 fok a legjobb nekik. De az enyém az megy majd 0 fokban is, meg ~50-ben is. Azon is filóztam, hogy fokonként kimérve a kristály késését, pic-kel kompenzálom, de kijózanodtam ![]()
Idézet: „Azon is filóztam, hogy fokonként kimérve a kristály késését, pic-kel kompenzálom, de kijózanodtam” Miért, ez az egyik legjárhatóbb út egy sima kvarcnál.
Nincs hozzá se hőkamrám, se időm.
![]() ![]() Inicializálást meg közben megtaláltam. Bekapcsoláskor csekkolom a chbitet, és ha 0, akkor szépen villogtatom a kijelzőt, mint a "rádiósébresztős" órák, és minden gombnyomásra(óra, perc) 1-be állítom(persze 1-nél már nem villog).
A CH bit pont fordítva. Most olvasom csak az adatlapot.
Idézet: „Megnéztem DS32khz adatlapját, és ott látszik a kristályok hőmérsékletérzékenysége. Igazából 20-25 fok a legjobb nekik. De az enyém az megy majd 0 fokban is, meg ~50-ben is. Azon is filóztam, hogy fokonként kimérve a kristály késését, pic-kel kompenzálom, de kijózanodtam” Hat igen, mericskelni nem jo otlet. Mindig az a mervado, amit az adatlapban (vagy annak erratajaban) latsz. Az ok egyszeru: Epp kifogsz egy olyat amelyik X modon viselkedik, es ebbol probalsz meg kovetkeztetni a parameterekre, aztan egy masik darabot teszel be ill ha sorozatot csinalsz akkor nyilvan mas darabok kerulnek be mas parameterekkel. Amugy a kristaly egy dolog, az egesz oszcillatornak homerseklet kompenzaltnak kell lennie, hogy kielegito eredmenyt kapj. Nyilvan hangolhatonak is kell lennie ha ennyire nagyon be akarod loni. A velemenyem szerint azonban egyszeruen ki kell jelezni az idot es mikor feltuno, hogy nem jol jar akkor allitani kell rajta -- meg akkor is ha havonta csavargatni kell nem annyira zavaro minthogy ezzel szenvedd el az eleted es rajojj, hogy nem lehet atomorat csinalni egy kristalybol ![]()
Sziaszok!
A oszcillátokok frekvencia szabilitásának növelése érdekében régebben az oszcillátort egy hőszigetelt részbe tették, és fűtötték. A hőmérékletet egyszerűbb szabályozni, mint a frekvenciát korrigálni. 1 ppm eltérés 11.5 naponként egy másodperc eltérést eredményez. Méréséhez legalább 20 bites számláló kell, nem beszélve arról, hogy a méréshez felhasznált oszcillátornak legalább egy nagyságrenddel pontosabbnak kell lennie 0.1 ppm!. Akkor a pic oszcillátorát is hőmérséklet kompenzálással kelll ellátni...
Szia,
Erdekes amit irtal, bevallom a futott hangolasrol meg nem hallottam. Ha mar kicsit offolunk ha valakit erdekel itt van ket cikk amik szerintem jol kozelitik meg a kristaly oszci hangolas problemajat: Oscillator frequency calibration with CL=12.5pF crystal and Ricoh ... Crystal Oscillators and Circuits
Szia!
Pedig a Rádiótechnika tele volt vele (kristály kályha néven), még az elektroncsöves korszakban, amikor nem a fűtésre felhasznált teljesítmény volt a meghatározó. Tranzisztoros változatnál egy teljesítmény tranzisztor hátára tették a kristályt és egy hőmérséklet érzékelőt. Az érzékelő segítségével szabályozták a fűtőteljesítményt - a hőmérsékletet. Ha egy - két fokon belül sikerül tartani a kb. 50 fokos hőmérsékletet, a kristály hőfokfüggési hibája elhanyagolható. Szia.
Ok, köszi mindenkinek. A mérést úgy gondoltam, hogy az egész pices cucc hőmérsékletét nézni, már összerakott állapotban. Na, ezért is vetettem el.
I2C kommunikáció ok, CH bit olvasás ok. Este összedobom az egészet.
A Kyocera is gyárt termosztátba pakolt oszcillátort, meg hőkompenzált kristályoszcillátorokat.
|
Bejelentkezés
Hirdetés |