Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
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 .
Hat igen, epp ilyen csalokon kellene peldat statualni, nyilvanos akasztas es tarsai
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.
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
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.
É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...
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! Idézet: Ehhez előbb a linker állományban több DATABANK szekciót össze kell vonni, hogy beleférjen. „hogy lehet kb 1k RAM-ot lefoglalni egy tömbbe”
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?
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
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.>
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.
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. Idézet: 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 „A komparátor feszültség referencia kimenetet lehet használni AD feszültség referenciának?”
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?
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
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
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é
Egy 16F193x -ben van 1.024 V referencia...
É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,
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.
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.
Ebből csináltam énis a gondom az h. az sspstat,0 (bf) bit nem 0. mikor az lenne a dolga
A probléma megoldódott! (sikerűlt végre megírni) KÖSZÖNÖM mindenkinek a segítségét.
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. Idézet: 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 össszes AD-val kapcsolatos időzítési érték a leghosszabbra van húzva hogy hátha.” 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!
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.
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. 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?
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.
|
Bejelentkezés
Hirdetés |