Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   554 / 1318
(#) gydanee válasza gulasoft hozzászólására (») Aug 25, 2009 / 1
 
A 101 az 100 PIKO farádos kondi! Amúgy itt te magad is megtudod nézni.
(#) potyo válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
A 101-et úgy értelmezzük, hogy 10 és utána annyi nulla, ahányas szám van, és ez pF-ban lesz. Tehát a 101 az 100pF.
(#) gulasoft válasza potyo hozzászólására (») Aug 25, 2009 /
 
A francba akkor forraszthatom ki őket.
Csináltam viszont egy vadi új projektet beemeltem az interrup c-t amibe nuku konfig bit állító, és ugyan ezt a failed verify hibaüzenetet adja.
(#) icserny válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
Nézd már meg, hogy nálad mi van a header fájlban!
Ezt írtad: _CONFIG1(JTAGEN_OFF & FWDTEN_OFF)

Nálam ez van:
  1. #define FWDTEN_OFF           0x7F7F
  2. #define JTAGEN_OFF           0x3FFF

Ezek "ÉS" kapcsolatából 0x3F7F lesz, tehát a visszaolvasott érték jó. Lehet, hogy a PICkit2 (vagy mivel égetsz?) szoftvered a ludas?
(#) gulasoft válasza icserny hozzászólására (») Aug 25, 2009 /
 
_CONFIG1(JTAGEN_OFF & FWDTEN_OFF)
_CONFIG2(FNOSC_FRCPLL & POSCMOD_NONE)
most ez a kettő van bent, pickit2-vel égetek.
A 2v2 van fent, ma szedtem le a microchip oldaláról,az az érdekes, hogy a pickit2v2.exe azt a hex file-t amit az mplab csinál hiba nélkül kiírja és a verify sem ír hibát.
Kicseréltem közben a kondikat.
(#) gulasoft válasza icserny hozzászólására (») Aug 25, 2009 /
 
Egyébként meg ha jó ha nem jó akkor sem áll át 32Mhz-re, innentől elég gáz. Mondjuk kénytelen leszek berakni egy 20MHz-s quartzot.
(#) gulasoft válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
itt vannak a konfig bitek, ezek szerint be kéne állnia de a számítás szerint maradt 8MHz-es.
Sajnos a konfig biteket csak képként tudom menteni, de csatoltam.

1.png
    
(#) rponert válasza szilva hozzászólására (») Aug 25, 2009 /
 
A problémát az osztási hiba okozza. A 32768Hz-es quartz-al azért nincs problémád mert a mikrovezérlők számlálói bináris osztókat tartalmaznak és a 32768=2^15-en. A 11 illetve 12 MHz es kvarc esetén mindig marad akkora osztási hibád amely meghaladja a kvarz gyártásából adódó frekvencia hibát. Vagyis sem a 11Mhz sem a 12MHz nem egyezik meg 2 egyik egész számú hatványával sem így az osztási hibát csak akkor tudod elkerülni ha megfelelő kvarcot választasz. A 32768Hz-es kvarcot pont az óra alapú ídőzítésekhez fejlesztették ki és alkalmazzák.
(#) watt válasza rponert hozzászólására (») Aug 26, 2009 /
 
Bármilyen osztást meg lehet oldani! Nem ez a gond! Az okokat már leírták, nem olvastad(ppm)?
(#) frecsko válasza icserny hozzászólására (») Aug 26, 2009 /
 
És az értékek amiket csökkentek azokkal nem kell számolni?
(#) icserny válasza frecsko hozzászólására (») Aug 26, 2009 /
 
Idézet:
„És az értékek amiket csökkentek azokkal nem kell számolni?”


De kell, hiszen azokból jön ki az utasításciklusok száma (már beleértettem az ismétlődéseket).
Például a legbelső ciklusban így alakul az utasítások végrehajtása:

  1. MOVLW   d'5'    1
  2.         MOVWF   T3      1  (T3=5)
  3. ------------------------------------
  4. DEL2:   NOP             1
  5.         DECFSZ  T3,f    1  (T3=4)      
  6.         GOTO    DEL2    2      
  7. ------------------------------------
  8.         NOP             1
  9.         DECFSZ  T3,f    1  (T3=3)      
  10.         GOTO    DEL2    2      
  11. ------------------------------------
  12.         NOP             1
  13.         DECFSZ  T3,f    1  (T3=2)      
  14.         GOTO    DEL2 2 
  15. ------------------------------------
  16.         NOP             1
  17.         DECFSZ  T3,f    1  (T3=1)      
  18.         GOTO    DEL2 2
  19. ------------------------------------
  20.         NOP             1
  21.         DECFSZ  T3,f    2  (T3=0)
(#) lidi válasza rponert hozzászólására (») Aug 26, 2009 /
 
A maradékokkal nincs semmi gond, el kell rakni őket, és később felhasználva ez a hiba kiküszöbölhető. Szerintem Szilva is tud erről. Első hozzászólásként pont az ő tudását megkérdőjelezni, hááát Na nembaj, üdvözlünk a fórumon.
(#) szilva válasza rponert hozzászólására (») Aug 26, 2009 /
 
Kizárt dolog, hogy osztási hibából adódna, a timerek megfelelő beállításával pontosan lehet 11 vagy 12 egész számú többszörösével osztani. Pl 110000-rel leosztva a 11MHz-et kapsz 100 megszakítást másodpercenként, amiben szoftveresen lehet századmásodpercekkel növelgetni az időt (vagy minden századik interruptban egy másodperccel). A számolás, az osztás pontos, nem közelítő. A közelítő osztásból adódó pontatlanság olyan mértékű lenne, hogy pár óra elteltével komoly eltérést tapasztalnál az időben.
(#) watt válasza lidi hozzászólására (») Aug 26, 2009 /
 
De még maradék sincs...
(#) Hp41C válasza szilva hozzászólására (») Aug 26, 2009 /
 
Sziasztok!

A quartz pontosságára a frekvencia feltüntetéséből lehet következtetni.
11MHz - 12 MHz megadás max. 1% tűrés,
12.000000 Mhz - 30-50 ppm.
32768 kHz - a tűrés +/- 0.5 Hz -> 15ppm

A régi ellenállás (számmal kiírt) megadás is ilyen volt
1K, 1K1, 1K14 stb.
(#) frecsko válasza icserny hozzászólására (») Aug 26, 2009 /
 
Tehát akkor így lenne: 4*25ciklus / 4Mhz.
A két ciklust amikor berakom a csökkenteni kívánt értéket a W-be azt hozzá kell adnom?
(#) frecsko hozzászólása Aug 26, 2009 /
 
illetve F-be rakom
(#) icserny válasza frecsko hozzászólására (») Aug 26, 2009 /
 
Idézet:
„A két ciklust amikor berakom a csökkenteni kívánt értéket a W-be azt hozzá kell adnom?”

Természetesen.

A 25-öt nem tudom, hogy honnan vetted. Nekem a két előkészítő utasítással is csak 21 lett.
(#) lidi válasza watt hozzászólására (») Aug 26, 2009 /
 
Már nem emlékszem pontosan, de egyszer számoltam így időt. Hogy adogattam össze valami értékeket, és mikor elért egy számig, akkor növeltem a másodperc számlálót, de nem nulláztam hanem kivontam belőle az elérendő célt, így a maradékom megmaradt, és később az került növelésre. Így végülis nem veszett el. Ezzel a módszerrel az időmérés hosszútávon pontos volt, bár 1mp nem mindig tartott ugyanannyi ideig teljesen pontosan. Na ez kicsit zavaros volt, de mindegy is. Annyi féle képpen lehet PIC el időt mérni.
(#) watt válasza lidi hozzászólására (») Aug 26, 2009 /
 
Persze, sok a lehetőség, viszont itt arról volt szó, hogy miért pontatlanabb egy nagyfrekis kristály, mint egy órakristály. Megállapodtunk, hogy attól, hogy azokat pontosabbra lehet gyártani és nem azért mert nem lehet a nagyobb frekiseket leosztani a kívánt időintervallumra.
Varázsszó a ppm.
(De ezt nem is neked címzem, csak úgy összefoglalóként...)
(#) elektroláma hozzászólása Aug 26, 2009 /
 
PWM jellel hogyan tudok fix feszültségeket kiadni?
RC tag kell a kimenetre? Illetve milyen PWM kitöltés/frekvenci mellett kell?
(#) elektroláma válasza elektroláma hozzászólására (») Aug 26, 2009 /
 
0-5V tartományban, és egyenfeszültség, kis terheléssel.
(#) gulasoft hozzászólása Aug 26, 2009 /
 
Na sikerült írni a config biteket, szerintem valami kontakt probléma volt.
Ami viszont még mindíg nem tiszta, hogy a belső oszcillátor 8MHz-ja PLL-el 32Mhz-ra nő, akkor a 4mp-es váltások miért 2 mp-re csökkenek. Tehát semmit nem állítok a progin csak a belső oszcillátornak megadon a pll-t. Erre kéne egy okos válasz. fosc/2/64 az 250.000 mivel minden 10.-nél lép ezért 25.000 az időzítő.
32000000/2/64=250.000 és ezzel is 2mp jön ki ami nem jöhet ki. Nem 2-vel kell osztani fosc-ot?
(#) icserny válasza elektroláma hozzászólására (») Aug 26, 2009 /
 
Idézet:
„PWM jellel hogyan tudok fix feszültségeket kiadni?”

Sehogy, hiszen a PWM pont arról szól, hogy ki-be kapcsolgat egy logikai kimenetet. Analóg jel akkor lesz belőle, ha a kijövő impulzussorozatot pl. egy RC taggal megintegrálod. Némely esetbe a fogyasztó végzi el az integrálást: pl. izzólámpa vagy villanymotor tehetetlensége, LED esetén a szemünk tehetetlensége.

(#) elektroláma válasza icserny hozzászólására (») Aug 26, 2009 /
 
Ez az integrálás érdekelne. R*C>>T képletet találtam. Tehát 1K, meg 100nF elég, ha elég sűrűn dobálom kifelé?
(#) frecsko válasza icserny hozzászólására (») Aug 26, 2009 /
 
A 25 az onnan jött, hogy a T1 : 10 , T2 : 10 , T3 : 5. 10+10+5=25. Tehát nekem 25-ször fog lejönni a :
[nop 1
decfsz T3 1
goto 2]
(#) potyo válasza elektroláma hozzászólására (») Aug 26, 2009 /
 
Idézet:
„ha elég sűrűn dobálom kifelé?”


Az, hogy elég sűrűn, az nem meghatározása valaminek. Számold ki, hogy milyen frekvenciát tudsz előállítani a PWM kimenettel és az alapján számolj hozzá RC szűrőt. A frekvenciában még az adatlap is segít táblázatos formában.
(#) watt válasza elektroláma hozzászólására (») Aug 26, 2009 /
 
Van egy úgynevezett - FilterLab - szűrőméretező program, amit többek között a PWM segédként ajánl a gyártó(Az irományokat is olvasd el hozzá!). Igaz ezek aktív szűrők, ami ajánlott is, mert a sima RC kevés lesz sok esetben a megfelelő szűréshez. Megjegyzem az első rendű, az egy sima RC szűrő OPA-val megtámogatva...
(#) icserny válasza frecsko hozzászólására (») Aug 26, 2009 /
 
Nem jó, a számlálók nemösszeadódnak, hanem összeszorzódnak! Persze nem ilyen egyszerűen...
Papíron, ceruzával kövesd a programot, akkor mindenre fény derül!
(#) icserny válasza gulasoft hozzászólására (») Aug 26, 2009 /
 
Nem lehetne azt a programot belinkelni?
Mellesleg ha 1 mp-ként kapcsolgatod a LED-et, akkor 2 mp-ként fog pislogni (1 mp ON, 1 mp OFF). Így számoltad?
Következő: »»   554 / 1318
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem