Fórum témák
» Több friss téma |
Idézet: „szabályozható trimmer” Erre mi szükség ?
Valami ilyesmire gondoltam csak nem tudtam ilyen szépen megfogalmazni. Egyébként tegnap elvégeztem a házi feladat egy részét amit adtatok. A belső órajel és az RTC között pontossági különbség is van vagy csak a kimenetek (sec, min, óra, nap, év) miatt használjátok (remélem nemsokára én is:crazy
Kerestem amit ajánlottatok helyi kereskedésben, de csak RTC 58321 periféria áramkört találtam, ha jól láttam itt nincs soros kapcsolódásra lehetőség (D0-D3), mert nem látom az SCL és az SDA lábat amivel ez elvileg elvégezhető, vagy itt az SDA lábra rákötöm és az órajellel segítségével a PIC szétválogatja? https://www.ret.hu/media/product/9508/625781/RTC58321.pdf köszönöm a segítséget
Ez van a "kereskedésben" Egy picit pontatlanabb mint amit először ajánlottunk de a kezelése ugyanaz
A hozzászólás módosítva: Dec 21, 2022
IC szinten nem érdemes foglalkoznod vele, vegyél modult az kész
Ha nem akarsz naptározni és hetekre előre redőnyt programozni, akkor a belső órajeles óra is tökéletes. Még valódi órát sem kell írni hozzá csak egy számlálót ha minden nap ugyanakkor akarod zárni nyitni. A hozzászólás módosítva: Dec 21, 2022
Minimálisan el lehet húzni a frekvenciát, ezzel is lehet pontosítani az időt, de természetesen lehet idő korrigáló változóval is amit menüből lehet állítani..
Félreérted az egész RTC koncepciót.
Mindkét láb kell, SCL és SDA is. SCL az órajel, SDA pedig az adat. Az I2C egy kommunikációs protokoll, jelen esetben a PIC a mester, az RTC IC a szolga. A PIC kérdezgeti az RTC IC-t, az meg válaszol, elmondja az időt, dátumot stb. Beállításkor a PIC mondja meg, adott pillanatban mennyi az idő és ezt az IC átveszi, onnan folytatja a számlálást. A PIC a kapott adatcsomagokból a beleírt program segítségével (jó esetben) szétválogatja az adatokat, úgy mint óra, perc, másodperc, nap, hónap, év stb. Ezekkel az adatokkal már azt csinálsz, amit akarsz. Előnye az RTC IC-nek, hogy lehet rá rakni kis elemet, amellyel évekig elvan áramszünet esetén is.
Ott azt a égetésnél gondolod vagy a kijelzőn gombokkal?
Mindkét megoldás járható , a második talán annyiból jobb hogy nem kell szétszedni a cuccost a pontosításhoz .
A hozzászólás módosítva: Dec 21, 2022
Ezt a részét értem, a kérdés csak az volt, hogy ennél az IC leírásában nem találtam SCL és SCA lábat, mert ha külön lábakon hívom le, akkor egyértelmű, ha nem akkor a címeket (óra ,nap stb) hogy kérem le mert nincs hozzá semmi, vagy csak nem találtam
Egyszerűen másfajta kommunikációt használ az az ic amit te találtál .
timer0 frekvenciáját lehet set-elni egy sor C-vel kerekre.
Én a timer2-t szeretem használni a megszakításhoz az kerek értékre beállítható , rollover 256 os értékét 250 re átírva a páros értékű osztások kerek értéket adnak (ha kerek értékű a kvarc )
A hozzászólás módosítva: Dec 21, 2022
Ahol van, és ahol más nem használja... ott kitűnő választás.
A quartz-ok nem halálpontosak, és ezt a pontatlanságot lehet kihúzni a trimmerrel, hiába állítod be kerek értékre a timert ha az órajel naponta x-szer csak 1-el is kevesebb vagy több.
Erre találtam ki azt hogy a fix megszakítást egy menüből állítható változóval trimmelem , bőven elég +1-1 értéket állítani a pontosság eléréséhez És ezt a részt egy második menüben állítom hogy a normál beállításnál ne lehessen elállítani .
A hozzászólás módosítva: Dec 21, 2022
írtam is, hogy vagy hardveresen vagy szoftveresen is lehet
Valóban nem halál pontosak, egy 20ppm-es kristálynak havonta akár 1 perc hibája is lehet.
Van még kicsit drágábban 10ppm -es is. Na most te a 20ppm -es kristályt még e trimmerrel megigazítod. Hadd ne mondjam....
Pont az ilyen 1 perceket lehet vele kiszedni, ha tudod mennyit siet vagy késik a rezgőkört hangolhatod jó irányba minimálisan, és lehet hogy havi 1 percet fog késni. De próbáld ki ha nem hiszed.. Csinálj 2 órát az egyikbe 2 egyforma pl 33pF -os kondit rakj a másikba meg 33 27pF-osat. A második sietni fog mindig..
A hozzászólás módosítva: Dec 21, 2022
Sziasztok,áttnézné valaki a következő programot? Aflowcode ban müködik az Isis ben is , de amikor acsibbe szeretném égetni akkor hibát ir . Valoszinü , hogy a pick kit 2 vagy a flowcode beállitásai hibássak. Köszi a segitséget előre is .
A hex szépen kifordul , jó lenne látni milyen hibakódot dob ...
Szia!
A konfigurációs bitek beállításai szerintem nem jók próbáld meg a melléklet szerint. Van egy warning a fordítás során Idézet: ezzel foglalkozni kellene.„Warning: function never returns: 'FCM_Kod' ” Órajelnek 8MHz-et adtál meg, viszont sehol nem látom hogy beállítottad volna az OSCCON regiszteren. A 16f886 alaphelyzetben 4MHz-en ketyeg, ez nem végzetes hiba, csak a program fele sebességgel fut, ahhoz képest amire számítanál.
Köszi a segitséget
Boldog új esztndöt kivánok mindenkinek.
Sziasztok! Jó ideje nem használtam a flowcode6-ot. MOst kezdésnek betettem egy LED-et, a tulajdonságokban kijelöltem a PIC lábát, amihez csatlakozzon. Szimuláció futtatásakor és fordításkor is kiírja, hogy a LED "egy vagy több lába nem kapcsolódik a mikro vezérlőhöz". A szimuláció elindul és villog a led, de HEX-et nem generál belőle.
Eddig ilyennel nem találkoztam. Valaki tudja mi lehet ez? Közben megtaláltam. A panelen csatlakoztattam, de a komponensek között nem. Furcsa ez a 3D panel, nem igazán tudom kezelni. A hozzászólás módosítva: Jan 30, 2023
Tedd fel a fájlt , ha látjuk mit csináltál lehet hogy egyszerűbb mintha csak találgatunk .
Másik kérdésem viszont van, régóta. Mindig problémát okoz, hogyan is állítsam be a Flowcode-ban a PIC órajelét. A Flowcoda-ban Build- Projekt opciókban csak azt állítom be, hogy a program milyen órajelű PIC-hez készüljön el. De ez nem állítja a PIC órajelét valójában. Jól gondolom?
De hol állíthatom a valós PIC órajelét? - Tudom az "OSCCON= 0b01110100;" magában a program kódban, de ez valahogy nem tetszik. - Vagy amikor égetem (én egy külön égető progti használok: Pickit 3 programmer) abban lehet állítani a Config résznél, ha jól gondolom, legalábbis hogy külső, belső, Lp, Xt, stb... De ezt nem lehet valahol a Flowcode-ban beállítani? X menü, Y pontja, hogy a config és az OSCOON hogyan nézzen ki? Szóval: Ti hogyan szoktátok a PIC valós órajelét beállítani? UI: Csak azért kérdezem mert a legtöbb netes példában nincs benne az a ronda OSCCON= sor. Van valahol valami "rejtett" beállítás? Rendszerint nekem elég lenne a belső óra pontossága is, de végül többnyire egy külső kristályt rakok rá, ami nem túl gazdaságos, és felesleges lábakat vesz el.
A Projekt opciókban megadott érték igazábol egy egysoros C kódot generál, ami valami ilyesmi:
OSCCON: tetszik, nem tetszik, ez így működik. Ha belső órajelet használsz, valahogy meg kell mondani a PIC-nek, mire állítsa be a belső órajelet. A regisztert két esetben nem kell piszkálni: 1: Belső órajelet használsz és az alapértelmezett érték megfelel (lásd melléklet, pl. PIC18F14K22). 2: Valamilyen külső órajelet/kvarcot/rezonátort használsz. Külső kristály: Pontosabb mint a belső, cserébe buksz egy-két lábat. Időalapú kommunikációnál és időmérésnél lehet érdekes a pontosság, pl. UART (RS232), 1-Wire (pl. DS18B20), stopperóra. Élvezérelt kommunikációnál, ahol a fel- vagy lefutó élek adják az ütemet és az eszköz nem ragaszkodik kimondottan egy sebességhez (SPI, I2C, 2x16 karakteres LCD kijelző), elég a belső órajel pontossága. Mellékszál: minél bonyolultabb a PIC, annál összetetteb pl. az órajel beállítása is. A hozzászólás módosítva: Jan 30, 2023
Közben úgy vettem észre, hogy a Flowecode Build - Projekt opciók - Beállításoknál levő beállításokat (Watch dog, internal-external clock) azokat átveszi az egétő program.
Viszont akkor nem értem a következőt: - 12F629: Elvileg van benne egy 4MHZ-es óra, ha jól értem ez az alapbeállítás. (mondjuk mi van ha nem ennyivel, hanem kevesebbel szeretném futattni? Erre nem találtam semmit az adatlapján) - Ha beállítom a configban hogy 100 (= INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN) és Flowcode-dal (4 Hhz-re állítva) egy LEDet villogtatok 1 másodpercenként (delay 1 sec) akkor láthatóan gyorsabban villog mint ahogy egy sec eltelik. Értem hogy a belső óra nem pontos, na de ennyire?! Idézet: Igen, mert ezek a konfigurációs beállítások, ezek egy különálló memóriaterületet képviselnek a PIC-ben.„Közben úgy vettem észre, hogy a Flowecode Build - Projekt opciók - Beállításoknál levő beállításokat (Watch dog, internal-external clock) azokat átveszi az egétő program.” Idézet: Ez nem alapbeállítás, hanem egy fix érték, a belső órajel nem lehet sem gyorsabb, sem lassabb.„- 12F629: Elvileg van benne egy 4MHZ-es óra, ha jól értem ez az alapbeállítás. (mondjuk mi van ha nem ennyivel, hanem kevesebbel szeretném futattni? Erre nem találtam semmit az adatlapján)” Idézet: Valószínűleg kalibrálni kell a belső órajelet. Szándékos félreklibrálással lehet gyorsítani/lassítani.„- Ha beállítom a configban hogy 100 (= INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN) és Flowcode-dal (4 Hhz-re állítva) egy LEDet villogtatok 1 másodpercenként (delay 1 sec) akkor láthatóan gyorsabban villog mint ahogy egy sec eltelik. Értem hogy a belső óra nem pontos, na de ennyire?!” Tools menü -> osccal -> Auto Regenerate (miközben a PIC csatlakoztatva van a PICKit3-hoz)
Ó. KÖSZÖNÖM! Sok dolog lett tisztább.
1000 hála! |
Bejelentkezés
Hirdetés |