Fórum témák
» Több friss téma |
Lehet tovább is osztani.
Sziasztok!
Olyan bemenő fokozatot tudtok ajánlani, ami periódusidő és kitöltési tényező mérésére is alkalmas lenne.
A Texas Instruments adatlapja szerint a 74196 Clk1 bemenetén max. 50MHz -ig, a 74LS196 max. 30MHz -ig, a 74S196 pedig 100MHz -ig számol, a tápáramigényük a fenti sorrendben 60mA, 30mA, 120mA.
Érdemesebb a HeStre -ből vagy a Gigatech -nél a MB501L előosztót felhasználni (1.1 GHz -ig 128 vagy 129 -cel lehet osztani. 14mA áramigénnyel, 180 Ft -ert), ameddig a készlet tart. A hozzászólás módosítva: Márc 19, 2014
Mindkettő más célra szolgál. Az MB501 30 MHz alatt nem használható.
Adatlap min 10 MHz !!!! Megépítettem 100-as és 1000-es osztót, tapasztalatból írtam a 30 MHz-et.
Egy 4MHz -cel menő PIC Timer0 256 -os előosztóval 50MHz -ig tudja fogadni a jelet. Egy MB501L pedig lefedi az 1.1 GHz és az 50MHz közötti tartományt. (1.28 GHz mellet a pic már csak 10MHz -t kapna). Az a probléma, hogy nem 10 hatványával oszt, a kapuidő megváltoztatásával kiküszöbölhető. Tapasztalatból írom, a 18F2523 -ra épülő frekvenciamérőm így működik (40MHz órajelle a pic timer1 és CCP modulja mér és a mérés mellett soros vonalon kommunikál), és a PICkit2 -höz is készítettem egy előosztót. Bővebben: Link
A hozzászólás módosítva: Márc 20, 2014
PIC18-al és CCP móddal én is próbálkoztam, de azt tapasztaltam, hogy a TMR1 ilyenkor nem működik aszinkron módban. Gondoltam a többi CCP modullal egyszerű lenne kitöltést és periódusidőt mérni. A PIC16 sorozatnál az általam tesztelteknél működik az aszinkron számlálás, de ezeknek kevés 16 bites számlálója van. Most egy PIC16F1526-on gondolkodom, mivel a család kisebb tagjával (16F1513) jól működik. Nekem a 64/128-as osztás nem probléma mert ASM-ben programoztam .
Már csak egy jó bemenő fokozat kellene. Az itt belinkelt jelformáló eddig a legszimpatikusabb, de hátha van valakinek jobb ötlete .
40 MHz 18F2523:
Idézet: „T13 period synchron: Greater of: 20 ns or (TCY + 40)/N.” Itt TCY = 25 ns. A T13 period = (25 + 40) / 4 = 16.25ns, T13 period = (25 + 40) / 8 = 8.125ns azaz nyugodtan elmegy 4 -es és 8 -as leosztással szinkron módban is 50MHz -ig. Hogy nyolcszor hosszabb a mérési idő? Nem számít ekkora frekvenciánál... A máspodik CCP a timer2 -vel a kapuidőt állítja be. A frekvenciamésédhez nem is kell más alkatrész csak egy kölső átkötés. A hozzászólás módosítva: Márc 20, 2014
Igen én is ebben gondolkodtam (a régebben Nemka által leírt elv), egy 18F25k80-al próbáltam 16MHz TCXO-val (mert ilyenem van). Számolgattam én is, de a gyakorlatban nem működött jól (én nem használtam előosztót), már nem emlékszem mekkora frekinél kezdett el hibázni, de végül még az órajel 64Mhz-re való emelését is elvetettem. A 16F1513-ban úgy néz ki jól működik az aszinkron mód 50MHz-ig (feljebb nem is próbáltam, egy dugdosós panelen van összerakva ).
Idézet a 16(L)F1513 adatlapjából [DS40001624C-page 229]:
Idézet: „21.1.2 TIMER1 MODE RESOURCE Timer1 must be running in Timer mode or Synchronized Counter mode for the CCP module to use the capture feature. In Asynchronous Counter mode, the capture operation may not work.” Akkor hibázik, ha nem tartod be a TABLE 25-10 45, 46, 47 adatait. Adat, 16F1513, 18F2523
Fura, a tapasztalatok nem ezt mutatták, bár a 16F1513-at nem próbáltam szinkron módban, de mindjárt kipróbálom.
A 16F1513 adatlapján "may not work", a 18F2523 adatlapjában "will not work" szerepel...
Csináltam pár képet.
Először szinkron számlálóként (RC oszcillátorról hajtom, ami nem túl stabil, ezért nem egyeznek pontosan az értékek): úgy látszik valahol 4MHz környékétól kezd el "tévedni".
Aszinkronként semmi probléma ( a programban csak az az 1 bit lett átírva):
Igen ezt mondtam én is: 18Fxxxx egyikkel sem ment aszinkronban (fura módon a TMR1 számol , csak a Capture nem működik). 16F-ekkel működött.
A hozzászólás módosítva: Márc 20, 2014
Ja igen, a régi frekimérőm (a zöld kijelzős) F2 bemenete MB501 előosztóval van csinálva.
A hozzászólás módosítva: Márc 20, 2014
Mekkora órafrekvenciával jár a 16F1513?
16MHz oszcillátorról megy. Azért választottam, mert ilyen kaptam TCXO-ban, és pontosan előállítható az 1kHz-es PWM jel, ráadásul az eredetileg tervezett 18F25k80 PLL-lel akár 64MHz-en is mehetett volna, ami pontosította volna a időméréseket. Az elképzelés szerint egy másik timerrel mértem volna az időt két másik CCP modullal egyik a felfutó, másik a lefutó élek között, így mindent ki tudtam volna számolni. De ez megbukott a szinkron mód bizonytalanságán ( "may not work" ). Ezért fordultam vissza a PIC16-os vonalhoz, ahol viszont csak a 16F1526-ban találtam több 16 bites timert a CCP-hez, ez viszont 64 lábú TQFP .
Tehát még gondolkodom, hogy építsek egy nehezebben reprodukálható nagyobb tudásút, vagy egy egyszerű olcsóbbat (a 16F1513 szerintem az egyik legolcsóbb, és már egy ideje használom máshol SSOP tokban). Szerk: És kellene egy jó bemeneti jelformáló, amivel jól lehetne periódusidőt/kitöltési tényezőt mérni (bár gondolkodom egy sima TTL bemeneten is, ami esetleg kimenet is lehetne). A hozzászólás módosítva: Márc 21, 2014
Gondolom nem elégszel meg a 16 bittel, amit a timer biztosít. A bizonytalanság nem abból jön, hogy egyszerrre kell kiszolgálni a timer1 túlcsordulását és a ccp jelzését. Ekkor ugyanis el kell dönteni, hogy az átfordulás volt előbb vagy a ccp jelzése.
Gondoltam a timer árfordulásokat tudom számolni interruptal. Úgyis úgy gondoltam, hogy mondjuk 100kHz fölött nincs értelme időméregetéseknek.
A hozzászólás módosítva: Márc 21, 2014
Vagy te a frekvenciamérésre gondolsz? Ott 1kHz-es jellel mintavételezek, így nem kell törődni az átfordulással (64MHz-ig nem fordulhat át kétszer), csak az időméréseknél kell vele foglalkozni.
Nemrégiben vettem észre, hogy kipróbáltad a módosításomat (nov. 7.-i poszt). Ezen felbuzdulva, tovább fejlesztettem a műszert:
1. további optimalizálás, miután kódismétlést találtam a programban. 2. ha valakinek csak egysoros kijelzője lenne, csináltam egy ilyen verziót is (persze logó nélkül). Ezt csak szimulátoron tudtam tesztelni, de szerintem élesben is jó lesz. 3. egy régebbi tervemet valósítottam meg a napokban, miszerint írja ki a műszer a periódusidőt is. Ime a képek és a programok:
Oops! Lemaradt a képernyő törlés 0Hz-nél. Most már OK.
Sziaszok.
Van egy rádióm,melyben tönkrement a frekimérő ic .Át lehet e ugy írni egy pic es frekimérőt, hogy ne lcd, hanem az eredeti 7 segmenses kijelző mutassa a frekit ?A programozáshoz sajnos nem értek.
Ok köszi,ezt én is láttam,csak az a probléma,hogy az illető 37 .dollárt kér érte,és az kicsit huzós.Olyan programozható frekimérőm van, ami ugyan ezt tudja,csak az lcd kijelzővel működik, és arra gondolam,hogy valaki tudna segíteni a program átírásában.
Szia! Ezt is megpróbálhatod:Digit skála
Szerintem pedig még olcsó is!!
Halvány lila fingod sincs a programozáshoz, ez gondolom kijelenthetem minden sértés nélkül. Mivel az LCD és a multiplexelt 7szegmes led kijelzés köz óriási a különbség, ezért a program átírás meddő gondolat. Egyébként már egy tucat elérhető frekimérő kapcsolás van a netem 7szegmenses LED-re. A kérdés hogyan tudod illeszteni a készülékedbe! A srác ezt megoldotta, annyit kér érte. Azt is meg lehet csinálni, mivel az átalakítási leírás elérhető, még a nyák terv és az alkatrészlista is kibogarázható, hogy megépíted a leírás szerint. De akkor sem lesz programod.. Sajnos a programozás meg nem olyan, hogy én vagy bárki "segít" ad pár tanácsot, és meg van 1 nap alatt, főleg hogy abszolút kezdő vagy. Ha most elkezdenéd intenzíven tanulni, akkor kb 3-4 hónap múlva meg tudnád oldani ezt a problémát, ha meg mással íratod a programot, nagy valószínűséggel az sem lesz ingyen! Remélem segítettem! |
Bejelentkezés
Hirdetés |