Fórum témák
» Több friss téma |
EC -re External Clock
De 32KHz órajelnél baromi lassú lesz a PIC A másik, hogy a belső órajelnél sem döcögősen működik, maximum nem állítod be rendesen.
Visszautalva egy régebbi hozzászólásomra, ahol arról volt szó, hogy a v6 szószátyárabb, mint a v5.
Nos, találtam egy kedves emberkét, aki hajlandó volt tesztelni a v7-et. Hivatalosan megvette, de az XC8-as fordítóból az ingyenes változat fut a Flowcode-ja alatt. PIC16F887 -re a 7-es FC nem volt hajlandó lefordítani a programot. Az emberke addig kínlódott, amíg "kicserélte" a kontrollert egy 16F1947-esre. Ebbe már lefordult a program, a mellékletben látható eredménnyel. A Flowcode v5 és v6 (hivatalosan megvásárolt verzió) teszteket én csináltam, ezekben én is átállítottam a kontrollert, hogy valóban össze lehessen hasonlítani az eredményt. A linkelt hozzászólásomban látható RAM-ROM használati eredmények 16F887-re vonatkoznak.
Már megvettem!!! Az eredmények magukért beszélnek, ezt nem lehet kihagyni.
Dehogy vettem. Legszívesebben a 6-ost is a hajukra kenném, csak az a baj, nem a SW az, amibe bele lehet rúgni.
Igen arra gondoltam, hogy a belsővel néha beállítási gondom van, de össze szokott jönni.
Azért kellene a 32 kHZ-es kristály, mert ha jól tudom ezzel lehet pontos órát készíteni, különben nem jön ki az egész másodperc a megszakítással. Vagy nem jól tudom?
Ha órát akarsz akkor vegyél DS1307 modult, az egy komplett RTC, pic-el csak le kell kérdezned meg írnod. Dátum, óra..stb egyben van.
De le lehet osztani a 4MHz / 8MHz-et is TMR1 / TMR2 -el is 1000Hz-re, az is jó alapnak, bár lehet pár nap alatt 1-2másodpercet csúszik. Ezt nem tudom mert nem próbáltam ilyen hosszú idővel. Persze ne egy IC-t vegyél 700Ft-ért hanem ebay-en komplett modul 3db/ 400Ft A hozzászólás módosítva: Júl 26, 2016
Timer2-vel viszonlyag könnyű egész frekvenciás megszakítást generálni, lásd melléklet. Órához nem igazán pontos a dolog, még külső kvarccal sem (a belső órajel valamennyivel többet csalhat). DS1307-től pontosabb a DS3231. A legpontosab órát pedig úgy lehet készíteni, hogy a pontos időt egy központi jelről veszed, pl. GPS, DCF77 [nem ajánlom], NTP stb.
Érdekes, hogy miért nem a Timer2-t használom, ha azzal lehet egészet előállítani.
Külsővel sem jó órának? Saccra mennyit késik siet belső és külső kristállyal? (egy öntözőhöz kellene időzítőnek. Nem baj ha nem pontos, de 1-2 hónap alatt ne legyen délben 23 óra, mert akkor nagyon rosszkor kezdi a locsolást ) Most azt próbáltam ki, hogy a 886 belső órajelét használom, de a Timer1-re kapcsolok egy 32.768 kvarcot. Nagy nehezen működésre bírtam (valami érintkezési para lehet a teszlapomon, mert amikor megmozgatom az egyik kondit a kristálynál, akkro elkezd működni. De addig csak áll. Érdeke, hogy kondik nélkül is működik a kristály..) A gondom az, és ezt nem értem, hogy a Flowcode megszakítás makrójába csak annyit tettem (tesztnek) hogy egy ledet kapcsoljon ki-be (egy IF-fel). Így egy olyan LED villogást kaptam ami kb 2-3 sec-enként elalszik, kigyullad. Hogy jön ki ez a 2-3 sec egy 32kHZ-es frekiből? Azt vártam, hogy olyan gyorsan fog villogni, hogy nem is látom. Látszik hogy valamit nagyon nem értek ebben a timer-órajel-elő-utóosztó dologban
Öntöző időzítőnek tökéletes a külső kristály , kb évi 5-10s pontatlanságot produkál . (Csináltunk nixi órát kristállyal , tapasztalat !)
Az több mint pontos. Szerintem nekem a belső is elég lenne. Havi 5 perc belefér, annál meg szerintem az is pontosabb. Köszönöm szépen az infót.
MOst 20 Mhz-es kristállyal, timer2-vel próbálkozom.
Csináld 4 megás kristállyal , ne sajnáld azt az 50-100Ft ot ... Én a legegyszerűbb alkalmazásból sem hagyom ki a kristályt , szerintem így stabilabb megbízhatóbb az áramkör .
A hozzászólás módosítva: Júl 29, 2016
Nem túlzás egy kicsit, hogy mindenhova használsz kristályt? Pláne olyan helyen, ahol nem életbevágó a pontosság. Nyolc lábú kontrollernél így már csak négy használható láb marad...
A 32khz kristály 256 timmer számlálóval talán 64 as előosztóval 2s ig világít 2s szünet.
Hogy jön ki? 1/32768s *4*64*256 az kb 2s ez a jelidő utána kimenetváltás szintén ugyan ennyi idő.
Így már érthető, abban csak 4 MHz-es belső oszcillátor van.
Ővele kezdtem és a 4 megás kvarc "berögződéssé " vált ....
Ha az óra kvarc túl lassú , esetleg még a 2.097152 Mhz kvarc is jó lehet a 16 bites timmerhez. Ha öntözőberendezéshez használod , és nem akarsz vele semmi extrát, az egész pic alapórajele is lehetne az órakvarc. Azt a néhány időpontot vígan kiszámolgatná.
Pedig a 32,768kHz-es kristályt pont ehhez találták ki.
16 bites timer regiszterrel ahogy írtad is 2mp a megszakítási ciklus. Viszont a 16 bites regiszterből könnyen lehet 15 bitest csinálni. A megszakítási rutin első sorában H-ba kell állítani a regiszter legfelső bitjét. Én, igaz 18F mikrovezérlőket szoktam használni, a Timer1-et a hozzá tartozó oszcillátorral és az óra kvarccal hagyom hardveresen ketyegni, másodpercenként megszakítást generálva. A PIC órajelének pedig a belső oszcollátort használom, ha nincs más kritikus időzítés a feladatban. Értetlenül is álltam a pár oldallal ezelőtti "csak RTC-vel lehet pontos órát készíteni" kijelentés előtt. Pontosan ugyanolyan kvarc ketyeg itt is, az oszcillátor és az osztó áramkör is pontosan megegyezik egy RTC-ben lévővel, miért ne lehetne ugyanolyan pontos a tisztán mikrovezérlővel kivitelezett óra? A hozzászólás módosítva: Júl 29, 2016
Olvastam és teljesen egyetértek veled, csak egy kicsit bővebben kifejtettem a mikéntjét.
Idézet: És minden órában volt egy trimmerkondi amivel pontosítani lehetett (2 egyformát nem tudtak gyártani) Nem tudom ma mi a helyzet ezekkel az "órakvarcokkal" de egy nagyobb frekvencián dolgozó oszcillátor frekvenciáját leosztva nagyobb pontosság érhető el (szerintem) „32,768kHz-es kristályt pont ehhez találták ki.”
Ez így igaz, a pontos frekvenciát ennél is be kell állítani trimmer kondival.
Viszont a hozzászólásod második felével nem értek egyet. A kvarc névleges frekvenciájához képesti gyártási szórásból adódó %-os eltérésnek nem sok köze van a frekvenciához. A kommersz tömeggyártásban készülő kvarcok általában 30-50ppm-esek, ellenben a 32,768kHz-esek "csak" 20ppm-esek, lehet hogy azért mert ezeket többnyire órák időalapjának használják. A hosszútávú stabilitáshoz viszont itt is kell a termosztát, viszont Bakmannal egyetértve szerintem is a GPS-es pontosítás az egyszerűbb megoldás ha szükséges az abszolút pontosság. A hozzászólás módosítva: Júl 29, 2016
[quote] általában 30-50ppm-esek, ellenben a 32,768kHz-esek "csak" 20ppm-[/quote
Én azért utánaszámolnék hogy az a 20-50ppm mennyi eltérést jelent a két frekvenciához képest 1Hz -re visszaosztva ! De az tuti hogy a GPS az egyik legpontosabb időalap ..
Nyugodtan számolj utána, van is rá számoló a segédprogramok között.
A hozzászólás módosítva: Júl 29, 2016
Akkor itt fogalomzavar van. A ppm-nek semmi köze a frekvenciához. 20ppm=0,002% eltérést jelent. 10MHz-nek nem csak a frekvenciája de a 0,002%-a is pont a tízszerese az 1MHz-ének.
A hozzászólás módosítva: Júl 29, 2016
Az érték 4 megánál 50ppm re 200 Hz
32768 nál 20ppm re 655mHz Első látásra egész nagy a különbség , de 1 Hz re visszaosztva ? 200/4000000= ? 0,655/32768 = ? Ezeket az órakvarcokat csak azért csinálták mert kompromisszumot kötöttek a méret és a lehető legkevesebb osztásarány közt,egyszerűbb volt az osztóáramkör az órachipben olcsóbb volt a gyártása (akkor) A hozzászólás módosítva: Júl 29, 2016
Csak egy apró megjegyzés. Építettem több órát DS1307-tel. A legnagyobb csúszás kb. két perc volt fél év alatt, mindenféle kondenzátor nélkül. Személy szerint az RTC IC-t jobb megoldásnak tartom mert viszonlyag könnyű használni, lehet csatlakoztatni hozzá elemet, ami áramszünet esetén hasznos lehet. Vannak nagyobb kontrollerek, amelyikben eleve van RTC áramkör, de RTC IC-hez elég egy sokkal egyszerűbb is vezérlő is. Azt viszont nem tudom, hogy az előbbiekhez lehet-e backup elemet csatlakoztatni. Ugye Flowcode téma és felvetődik a kérdés, mennyire egyszerű a programmal "kezelni" az ilyen kontrollerek RTC részét...
Én sima 4Megás kvarccal kb 5-10 másodpercet megcsinálok évente , a ds is csak olyan pontos mint a mellérakott kvarc .... A ds ick közül a 3242 (ha jól emlékszem a számára ) már belső kvarcos hőkompenzált az már egészen jó , és flowban is jól használható . A belső rtc-t még nem próbáltam szerintem az 5ös flow még nem is tudja kezelni .Viszont.Ő már evvel az ic vel készült
A hozzászólás módosítva: Júl 29, 2016
Nem állítom, hogy lehetetlen feladat, csak egyszerűbb egy meglévő megoldást felhasználni. Ha a hangolást meg lehetne oldani valamilyen precízós műszerrel (nyílván az egész óra nem érne annyit), gyorsan be lehetne lőni a névleges frekvenciára. DS3231 a belső kvarccal ellátott IC. A kezelése éppen olyan, mint az előbb elmítettnek, csak van pár regiszter, ami eltér.
De nem számoltad végig 200/4000000*32768=1,6384 Hz, ami pont 2,5-szer nagyobb mint a ,65536Hz. Ez persze nem véletlen, hiszen a 50 is 2,5-szer nagyobb mint a 20.
Pont erről beszélek az eltérés értékért oszd vissza az alapfrekvenciához képest a leosztott frekvenciára (egy óránál a kutyát nem érdekli hogy a kristály milyen értékű a lényeg hogy a leosztott frekvencia a végén mennyit mászkál )és ha ezt átgondolod mindenképp a nagyobb frekvencia a nyerő ... A számításodban nem értem miért szorzod a 4 megás eredményét a 32768 al ???? Ne keverd össze a két számítást az két külön érték ! Vagy ha mégis akkor a 0,655 öt is szorozd 4millióval .....
A hozzászólás módosítva: Júl 29, 2016
|
Bejelentkezés
Hirdetés |