Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1048 / 1320
(#) dinokal válasza trudnai hozzászólására (») Jan 18, 2012 /
 
Amit írtál még működhetne is.
A magyar bíróságokat ismerve egy pereskedés több év lehet, rengeteg járkálás, és pénz. Ennyit nem ér. Nagyobb baj az, hogy sokan megunják, és szándékosan rosszul, vagy alig működő kódokat vagy csak részleteket tesznek közzé. Most kezdtem C-vel foglalkozni, vén fejjel elég nehéz. Nemegyszer más programjait nézegetem hogy tanuljak belőle. Ha egy ilyen épphogy csak működő valamit nézek, még luftom sincs miért nem úgy működik ahogy kell, vagy nagy nehezen megtanulok valami baromságot, amit sokkal egyszerűbben meg lehetne csinálni. A hozzám hasonló kezdőkkel csesznek ki, pedig én soha nem fogok más cuccából sorozatgyártást csinálni. Még a sajátomból sem, nem hogy máséból .
(#) trudnai válasza dinokal hozzászólására (») Jan 18, 2012 /
 
Hat igen, epp ilyen csalokon kellene peldat statualni, nyilvanos akasztas es tarsai
(#) Nyuzoka hozzászólása Jan 19, 2012 /
 
Sziasztok segítséget szeretnék kérni.
Pic 16f887 hez szeretnék illeszteni egy PIR szernzort (LHI958) és és azt se nagyon tudom hogy ogy álljak neki mert az álltalam elképzelt dolog nemmegy (GND Source közé 47K és úgy a Sourcről veszem a jelet, Drain 2,2K át VCC re. AD vel nézem a változást de beaáll 1 értékre és ott is marad.
(#) Attila86 hozzászólása Jan 20, 2012 /
 
Audio spektrum analizátort szeretnék készíteni mikrovezérlővel. Szerencsére ez a videó (Bővebben: Link) meggyőzött hogy nem kell hozzá dsPIC hanem elég a hozzám egyenlőre még jóval közelebb álló PIC18F is.

Utánaolvastam az FFT-nek de ez iszonyatosan magas, mire teljesen megérteném és főleg míg leprogramoznám assembly-ben, nyugdíjas lennék. Úgyhogy inkább keresgéltem kész assembly rutint és találtam is egyet:
Bővebben: Link
Vagy itt van ez, de szerintem ez ugyan az:
Bővebben: Link

De öhmm... hogy a bánatba kell ezt használni? Olyan hosszú és bonyolult a kód hogy egyszerűen képtelen vagyok átlátni hogy mit kell vele csinálni. Nekem a 20Hz-20kHz tartományból (lehet 100Hz és 10kHz is ha az könnyebb) kellene 16 frekvencia értéke és elég három bites felbontással.

Itt van még egy konkrétan PIC18F4550-re, csak sajnos ez C-ben:
Bővebben: Link
(#) kukac_24 válasza Attila86 hozzászólására (») Jan 20, 2012 /
 
Helló, az ilyen bonyolultabb dolgokat nem véletlen írják pl C-ben. A CCS C compilerhez pl van FFT funkció én a helyedben ilyesmivel próbálkoznék.
A mellékelt linken egyénként a FFT.INC file részt ha megnézed, az van odaírva angolul, hogy ezt a rutint C-böl fordították vissza ASM-be.
(#) Hp41C válasza Attila86 hozzászólására (») Jan 20, 2012 /
 
És még azt is odaírták:
Idézet:
„Complex FFT, radix-1, decimation in place, 128 points”

Fel kell tölteni a komplex buffer valós részét az vett mintákkal, a képzetes részét nullázni. Meg kell hívni az fft rutint. A bufferben a komplex spektrum lesz...
(#) Kisvé hozzászólása Jan 21, 2012 /
 
Helló!
Egy gyors kérdésem lenne:
Nem találtam sehol, hogy c18-ban hogy lehet kb 1k RAM-ot lefoglalni egy tömbbet. " #pragma udata valami " direktívát találtam, de ez még nem tűnt elegendőnek.
Előre is kösz!
(#) icserny válasza Kisvé hozzászólására (») Jan 21, 2012 /
 
Idézet:
„hogy lehet kb 1k RAM-ot lefoglalni egy tömbbe”
Ehhez előbb a linker állományban több DATABANK szekciót össze kell vonni, hogy beleférjen.
(#) Kisvé válasza icserny hozzászólására (») Jan 21, 2012 /
 
Ezer hála és köszönet.
A lehető legnagyobbra állítottam:
DATABANK NAME=gpr0 START=0x60 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0xDFF

Az eredeti:
DATABANK NAME=gpr0 START=0x60 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=gpr4 START=0x400 END=0x4FF
DATABANK NAME=gpr5 START=0x500 END=0x5FF
DATABANK NAME=gpr6 START=0x600 END=0x6FF
DATABANK NAME=gpr7 START=0x700 END=0x7FF
DATABANK NAME=gpr8 START=0x800 END=0x8FF
DATABANK NAME=gpr9 START=0x900 END=0x9FF
DATABANK NAME=gprA START=0xA00 END=0xAFF
DATABANK NAME=gprB START=0xB00 END=0xBFF
DATABANK NAME=gprC START=0xC00 END=0xCFF
DATABANK NAME=gprD START=0xD00 END=0xDFF

Jár valami egyéb következménnyel azon kívül, hogy most le tudta fordítani?
(#) Mate78 hozzászólása Jan 21, 2012 /
 
Sziasztok

A komparátor feszültség referencia kimenetet lehet használni AD feszültség referenciának?Kellene egy 2,56V-os Vref, 18F4520 a PIC típusa.
köszi
(#) Hp41C válasza Mate78 hozzászólására (») Jan 21, 2012 /
 
Ha kívülsől visszavezeted... De az A/D felbontása romlik, ha a referencia bemenetek közti feszültség < 3V. Ld. Table 28-28 - A01 paraméter.>
(#) vilmosd válasza Mate78 hozzászólására (») Jan 22, 2012 /
 
Jobban jarnal egy TL431 IC + 1 ellenallas es egy poti. A stabilitasa sokkal jobb mint a sima 7805 stabilizatornak. A Vref hasznalhato a belso AD-hez referenciakent.
(#) Nyuzoka hozzászólása Jan 22, 2012 /
 
Sziasztok

Microchip példaprgram alapján próbálok slave eszközként működtetni egy 16f887est kevés sikerrel.
Mégcsak az interruptig sem érek el. A master program valószínűleg jó mert az kezel egy RTC-t és egy EEpromot is.
Előre is köszi a helpet.

i2c.asm
    
(#) icserny válasza Mate78 hozzászólására (») Jan 22, 2012 /
 
Idézet:
„A komparátor feszültség referencia kimenetet lehet használni AD feszültség referenciának?”
Ennek mi volna az értelme? A PIC18F4520-nak tudtommal nincs belső referenciája, a CVREF csupán a tápfeszültséget osztja le, egy digitális potméterhez hasonlóan. Bővebben: Link
(#) Mezoas válasza Nyuzoka hozzászólására (») Jan 22, 2012 /
 
Ez engem is érdekelne, mert én korábban képtelen voltam kétféle 18F PIC-nél SPI slave módot működtetni. (Ez a slave téma nem a PIC-ek erőssége.)
Esetleg tud valaki ajánlani olyan PIC-et (legjobb a 18F volna), amit mostanában vett, és sikerült a fent említett funkciót beüzemelni?
(#) El_Pinyo válasza Mezoas hozzászólására (») Jan 22, 2012 /
 
A microchip honlapon található egy embedded code source nevű oldal, ahol elég sok demo alkalmazást lehet letölteni. Van SPI és I2C slave konfiguráció is, igaz csak a 18F- től kezdődően, de kiindulásnak jó lehet. SPI Slave példák
(#) Hp41C válasza Nyuzoka hozzászólására (») Jan 22, 2012 /
 
Sajnos igen vegyes a típuskészlet. Ugyanis volt a SSI -ben egy következetlenség, így kétféle működési móddal készültek a kontrollerek.
AN00734b Appendix C
(#) Mate78 hozzászólása Jan 22, 2012 /
 
Köszönöm mindenkinek a segítséget.
Így,hogy csak a tápfeszültséget osztja le, nem vagyok előrébb stabilitás miatt.Maradok akkor a külső referencia előállításnál.
üdv

Máté
(#) Hp41C válasza Mate78 hozzászólására (») Jan 22, 2012 /
 
Egy 16F193x -ben van 1.024 V referencia...
(#) Kisvé válasza Mate78 hozzászólására (») Jan 22, 2012 /
 
Én a 18f26k22-ben használtam belső referenciát (1,024V, 2,048V és 4,096V). Az benne a jó, hogy porogramból meg lehet mérni A/D-val, hogy pontosan mennyi,
(#) Mate78 válasza Hp41C hozzászólására (») Jan 22, 2012 /
 
18F4520-assal kell megoldani a feladatot, mert a program többi része is ara lett megírva már, illetve az van csak itthon,de legközelebb már tudni fogom, hogy van olyan típus amiben már benne van a referencia forrás.
(#) Mezoas válasza El_Pinyo hozzászólására (») Jan 22, 2012 /
 
Tetszik ez az oldal, a keresési találatok között van is egy slave példa 18F4685-re. Letöltve viszont kiderül, hogy csak egy szoftveres master példa, ami szépen le is fordul mellesleg (MCC18).
A többi meg 16 bites kontroller, amivel most nem kívánok foglalatoskodni.
(#) Nyuzoka válasza Hp41C hozzászólására (») Jan 23, 2012 /
 
Ebből csináltam énis a gondom az h. az sspstat,0 (bf) bit nem 0. mikor az lenne a dolga
(#) Nyuzoka hozzászólása Jan 23, 2012 /
 
A probléma megoldódott! (sikerűlt végre megírni) KÖSZÖNÖM mindenkinek a segítségét.
(#) Lucifer hozzászólása Jan 23, 2012 /
 
Helló mindenki!


Van egy 18F46K80 alapú kapcsolásom amiben szeretném kihasználni a belső 2.048 Voltos referenciát,de ez a hulladék alacsony feszültségnél 17% fentebb 3% hibával mér. Nagyjából ugyanez igaz a 4.096 Voltos refre is. VCC-ről mérve jól mér igaz az nekem nem megfelelő pontosságú.

Namost a tények:
Táp agyonszűrve. 100nF mindenhol, jelenleg labortápról jár. A belső regulátor kikapcsolva 100nF kondi a VCAP lábon.
Belső 8Mhz oszciról megy, nem sleepelek, de elvileg ennek nem kellene ekkora gondot olkozni.
A multiméterem kalibrált 6 digites.
Az össszes AD-val kapcsolatos időzítési érték a leghosszabbra van húzva hogy hátha. De nem.

Bármi ötletet szívesen látok a kanna benzin+gyufa kombón kívül.
(#) icserny válasza Lucifer hozzászólására (») Jan 23, 2012 /
 
Idézet:
„Az össszes AD-val kapcsolatos időzítési érték a leghosszabbra van húzva hogy hátha.”
A TAD ne legyen hosszabb a minimálisan szükségesnél, mert az pontatlanságot okozhat! Esetedben az adatlap szerint 8 Tosc ajánlott (ADCS[2:0] = 001 ).

Az Errata szerint az ADC nem teljesíti a specifikációt. Javaslat: földre zárt bemenetnél kalibrálni kell az offsetet.

A bemenő jelet nem tudom, miről veszed, de ne legyen nagyobb a forrásimpedancia az adatlapban megadottnál!
(#) Hp41C válasza Lucifer hozzászólására (») Jan 23, 2012 /
 
Az A/D specifikációja (amit nem tejlesít) még tartalmaz egy sort: Itt írtam néhány hozzászólásssal előbb. Ez esetben Table 31-25.
(#) Lucifer válasza Hp41C hozzászólására (») Jan 23, 2012 /
 
Eredeti terv az volt, hogy egy MPC9701 lesz rajta, de a méréseket labortáppal végeztem, mindkettő kimeneti impedanciája alacsony.

A TAD valóban rosszul volt megadva, de nem javított a helyzeten.
GND-re húzva tényleg van 7-8 offsete.
12 bites pontosság esetében viszont valóban nem megfelelő a 2.048 Voltos VREF.

Feltoltam hát 4.096-ra, de az eredmény így is ugyanúgy lehangoló.

Mondjuk az errata fényében igazán már meg sem lepődök.

Ilyenkor mindig felsírok, hogy könyörgöm, hogyan lehet egyátalán ilyet eladni.

Hálásan köszönöm a segítségeteket, illetve levonnámm a legfőbb konzekvenciát: fejlesztés az errata tanulmányozásával kezdődik. A legfontosabbat nem írnám ide mert az nem polkorrekt.
(#) potyo válasza Lucifer hozzászólására (») Jan 23, 2012 /
 
Idézet:
„Eredeti terv az volt, hogy egy MPC9701 lesz rajta, de a méréseket labortáppal végeztem, mindkettő kimeneti impedanciája alacsony.”


Ez pontosan hogyan is néz ki? Van a PIC bemeneténél valami kondenzátor, ami meg is valósítja az alacsony impedanciát?
(#) Lucifer válasza potyo hozzászólására (») Jan 24, 2012 /
 
Az adatlap tipikusra 20 Ohmot ír, 100KHz felett is 1K alatt marad. Amúgy van egy-egy 100nF közvetlenül a PIC mellett az analóg vonalon mivel a hőmérő adatlapja ezt javasolta.
Következő: »»   1048 / 1320
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