Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szuper, éreztem, hogy az a 4k7 túl nagy áramot folyathat, de nem gondoltam, hogy az ICD2 nem tudja lehúzni... A jó öreg 10k!
pickit3-at felejtsd el! ICD3-at mindenki dicseri bar nekem sajnos nincs.
Marad az ICD2.
Szóval a bootloader nem fut normálisan benne, az oszcillátorral lehet baj, mert a PC ismeretlen eszközt talál. A boglyába összeforrasztott PIC24FJXXXGB206-al megy ez a kód. A 210-essel panelen nem megy. Ha külső kvarcal hajtom akkor nem is indul el mindíg. Ha belső oszcira kapcsolom azzal is ugyan ez a helyzet, bár az legalább mindíg elindul. Felrakom a kapcsolási rajzot, hátha valami gáz van vele de én nem találtam hibát. USB-vel nem szívtam még ennyit A rajzot nem lehet feltölteni, mert php fatalerrorvan.
15Pf-et a 10MHz-en kicsit keveslem oda inkább 33pF et tennék!
A VDDCORE kondi az milyen? Oda is tennék egy 100n-t és Tantál kondit. Egy ekkora IC-nek már átgondolt nyák kell. Hanem jó a vonalvezetés, nem lesz stabil.
Ja bocs a rajzon 10Mhz van én 8Mhz használok végül, mert az órajel osztás miatt azt érdemes.
A nyák az gyári, nem házibarkács. Olyan, mintha nem jó frekin menne a cucc. Vddcore az SMD ALUelkó.
Tegyél kerámiát is a VDDCORE-ra. 100-220nF környékét.
Vddcore ráraktam még 100n nincs változás.
15p cseréltem 33p ra nincs változás.
Az IESO (internal external switch over) bitet engedélyeztem és betettem a kódba ezt:
unsigned int pll_startup_counter = 600; CLKDIVbits.PLLEN = 1; while(pll_startup_counter--); Így már stabilan indul de az USB még mindíg felismerhetetlen.
Lehet, hogy a panel gyári kivitelezésű, a tervezés/vonalvezetés attól még lehet hibás. De az elvi kapcsolási rajzon is vannak gondok:
1. Az USB csatlakozó VBUS lábát (pontosabban a rá kötött VBUS bemenetet) device módban egy nagyértékű ellenállással le kell húzni földre, hogy ne lebegjen, amikor nincs a gépre kötve (adatlapi ajánlás). 2. A VUSB lábon nem látok kondenzátort 3. A 30-as (AVDD) lábon nem látok kondenzátort 4. A 2-es lábon (VDD) sem látok kondenzátort
A kondikat pótoltam (otólag) bár nem változott semmi. Meg a 100K-t is a VBUS lábra.
A próbakapcsolás egy zárlatkert ot semilyen kondi nincs csak a vddcore kondija és mégis megy. Próbálkozom tovább. Idézet: „2. A VUSB lábon nem látok kondenzátort” Hogy is van a VUSB-vel, ha tápot kintről kapja? Vagy a 24F-eknél másképp van? (Most nincs erőm adatlapot böngészni... )
Ha a VUSB-t kívülről kapja a PIC, akkor szerintem ugyanúgy kell tekinteni/kezelni, mint a VDD vagy AVDD lábat, elvégre a PIC egy részegységének a tápfeszültsége.
Amúgy sem szoktam igy kívülről táplálni, mert ha csak az usb-t csatlakoztatják akkot a pic-en át folyik a villany és azt nem szereti. Itt most self powered módban megy.
Mindegy szerintem valami a 210-es végű pic-ben másképp működik mint a többiben, csak nem tudok rájönni, hogy mi. Eredetileg PIC24FJ256GB110-et akartam de az nem volt, ezért lett ez a 210. Ránézésre csak a RAM-ban különböznek. Valami beállítás hiányzik talán. A kondenzátorokkal lenne baja, akkor néha felismerné néha nem vagy esetleg leválna a PC-től de nem így van. Tipikusan olyan mint amikor rossz oszcillátort állít be az ember.
Sziasztok
Ma (hosszú idő után) ismét eljutottam egy PIC program beégetéséig Anno az Oshon féle párhuzamos portos égetőt épitettem meg és használtam 16F628-asokhoz, egy PII 400-as gépen. Most egy 3GHz-es asztali illetve egy 2.4 DualCore laptopon próbáltam az égetést... szerencsére találtam egy programot, amely hajlandó működni, ez nem más mint watt Watt PIC Burn F16 & F18 v1.19béta progija. Az égetési sebességet 200-ra állítva, úgy tűnik működik a dolog (PIC18F452) de a sebesség, szóval nem tudom tényleg ilyen lassú egy kb 2k-s program beégetése illetve a flash kiolvasása? Az írás kb 6perc, és a flash beolvasása sem sokkal kevesebb :eek2: Megmondom őszintén, egy kicsit elment a kedvem a dologtól, hiszen még jónéhány verzió illetve javítás van hátra a tökéletes programverzióig, ráadásul majdnem tele lesz a progmem, szóval egy írás 1óra lesz ?! Nem akarom elhinni... Azon gondolkodom, lehet veszek egy PICKIT2 klónt az eBay-en, kb 19EUR ami nem sok, ha tényleg használható lenne. De azért érdekelne a véleményetek az időkkel kapcsolatban. Köszönöm
Én az Oshon égetőt az Oshon programjával használtam mindig is.
http://www.oshonsoft.com/picprog Egy 512 utasítást tartalmazó program kb 4-6másodperc volt vele beégetéskor. A PicKit2 klón PIC-jébe ~20 másodperc alatt programozta a programot. A kiolvasásra nem emlékszem, de gyorsabb volt természetesen.
Kitaláltam egy a PIC-es panelmérőimben alkalmazott átlagolási rutinhoz hasonló algoritmust, amivel már váltakozófeszültséget is tudok mérni. Este tíztől reggel hatig ezt írtam, és tök jól működik! Ez az algoritmus nem 64db 12 bites mintát átlagol hanem 8192db 16 biteset és ráadásul nem kell hozzá tábla sem. Sőt, nem csak az egyszerű átlagot adja meg hanem a valódi effektív értéket ("true RMS") és a legnagyobb illetve legkisebb mintát is ügyesen kikeresi (Ucs-cs).
Na de a lényeg: Még hiányzik egy matematikai rutin hozzá hogy valódi effektívet mérjek. Egy hat bájtos számnak a négyzetgyökét kellene kiszámolni. Hol találok ilyen rutint? (Kerestem már pár helyen de ott nem volt.)
Szia!
A sebességről a védett módú operaciós rendszer tehet... A felhasználói programok nem érik el a portokat, egy - egy utasítás helyett hosszú rutinok futnak le - persze a rutinok alatt a megszakítások kiszolgálása is lefut. Ezeket a programozókat (lpt, com stb) - ha egyáltalán működnek az újabb gépekkel - legfeljebb arra lehet használni, hogy egy másik programozóban levő kontrollert felprogramozz. Neked szerencséd van, mert fel tudod programozni a 18F2550 -et a PICKit2 klónhoz (kb 2000 - 2500 Ft anyagköltség a minimál verzió).
Szia!
Algoritmusokat itt találhatsz... Idézet: Valamit félreértettél, mert nem a VBUS-ról, hanem a VUSB-ről volt szó! Azt láthatóan kívülről (mármint a PIC-en kívülről) táplálod, mert a 3,3 V-os tápfeszre van kötve.„Amúgy sem szoktam igy kívülről táplálni, mert ha csak az usb-t csatlakoztatják akkot a pic-en át folyik a villany és azt nem szereti. Itt most self powered módban megy.” Idézet: Ezt könnyű ellenőrizni, ha csinálsz egy 1 Hz-es ledvillogtatást, és stopper vagy karóra segítségevel leméred 10-30 felvillanás idejét. Az okát pedig akkor tudunk segíteni kideríteni, ha becsatolod a konfigurációs regiszterek beállítását, és a programbeli inicializálást (ami az órajel kiválasztását és frekvenciáját módosíthatja). „Tipikusan olyan mint amikor rossz oszcillátort állít be az ember.”
Üdv !
Itt a config beállítás: _CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & FWDTEN_OFF & ICS_PGx1) _CONFIG2( IESO_ON & FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMOD_HS & FNOSC_PRIPLL & PLLDIV_DIV4 & PLL96MHZ_OFF & IOL1WAY_ON) _CONFIG3( WPCFG_WPCFGDIS & WPDIS_WPDIS) //Disable erase/write protect of all memory regions. A fúrcsa az az egészben hogy a demóprojektben a PLL96MHZ_OFF opció van gyárilag beállítva. Tehát a main kód elején kellene a PLLEN=1 bitet beállítani, de a projektben ilyen sehol nem volt, én tettem bele. A másik, hogyha a IESO_ON-t OFF-ba teszem, akkor nem indul el. Tehát csak akkor megy ha engedélyezem a clock switchet. Jelenleg 16Mhz kvarc van a panelen ezért van a PLLDIV_DIV4. Közben rájöttem, ogy azért kell a IESO_ON mert átkapcsol a belső oszcillátorra. Tehát elindul a led villogás és a kvarcot egy vsipesszel rövidrezárom a led akkor is villog, tehát a Primary osc. nem megy ezért kapcsol át belsőre.
Mű ködik készvan!
Köszönöm a segítséget. A Külső osc valami oknál fogva el van kötve.
Ha ilyen lassú, akkor elég sok gond lehet az áramköröddel, vagy a vezetékek hosszával minőségével, esetleg a PC portoddal. Nézzd át, rövidítsd a kábeleket, hátha gyorsabban is megy. Normális esetben 1 perc max egy ekkora PIC teleégetése. A PK2 gyorsabb, de mindig az egész memóriát teleégeti, így nem lehet összehasonlítani egy kicsi program égetési idejével jól működő LPT-s áramkör esetén. A Verfy módot próbáld ki fejlesztéskor, az csak az eltéréseket égeti bele a PIC-be(18F-eknél működik csak!) Ha ügyesen szervezed a programot, akkor egy-egy módosítás néhány másodpercbe telik, és a memóriát is kíméli.
A PK2 építése ennek ellenére ajánlott, természetesen... Idézet: A PIC24FJ64GB004 projektben viszont benne van, s az ottani kommentből úgy tűnik, hogy bizonyos PIC24 vezérlőknél a HS+PLL bekapcsolása automatikusan engedélyezi a PLL96MHZ-et is, míg másoknál ezt külön kell bekapcsolni. Mindenesetre a "kézi" engedélyezés nem árthat...„A furcsa az az egészben hogy a demóprojektben a PLL96MHZ_OFF opció van gyárilag beállítva. Tehát a main kód elején kellene a PLLEN=1 bitet beállítani, de a projektben ilyen sehol nem volt, én tettem bele.” Az adatlap sematikus vázlatából nem derült ki számomra, hogy melyik mikrovezérlőnél mi a PLL96MHZ bit szerepe.
Köszönöm szépen mindenkinek a tanácsokat.
Az egyébként régen tökéletesen és villámgyorsan működő égetőm most úgy volt hajlandó egyáltalán felismerni a PIC-t, hogy watt oldalán olvasott infók alapján beforrasztottam a két db 22nF-os kondit a két vonalra... A kábel eredetileg kb 1,5m volt, ezt hiába rövidítettem meg kb 30cm-re ettől nem változott semmi. Az az érdekes, hogy a felismerés megy 7-es sebességtől már, de az olvasás és írás kb. 200-as értéknél ok. Így viszont a beolvasás is több perc, olyan lassan megy a folyamatjelző csíj, hogy szörnyű Kipróbáltam (mégesgyszer) az Oshon féle progit, ott 2-30-ig állíthatok valamiféle időt, de teljesen mindegy az érték, mert az írás és olvasás sebessége ettől egyáltalán nem változik, ott egy szám mutatja az aktuális byte-ot, és pörög mint a... de persze nem éget illetve csak ff olvas... Én megmondom őszintén, mivel két gépen ugyanaz a jelenség, az XP-re illetve az inpout32.dll-re gyanakszom, ebből több verziót is találtam a neten, de miután biosban és az eszközkezelőben minden lehetőséget végigpróbáltam, már elment tőle a kedvem, nem is bízom benne, hogy eredményre jutnék, csak eltökölöm az időt, és azt hiszem feleslegesen. Most jut eszembe, az előbb említett oldalon az ötletek között szerepelt a 7407, nekem 74LS06 volt, ezt is kicseréltem és ezek után kezdett működni a dolog. Mondjuk nem LS típus, azt nem találtam itthon, még esetleg az lehet(ne) a bűnös, nem tudom
Szerintem inkább 22pF kellene oda azokra a vonalakra.
Szia!
Úgy, egyszerűen nem lehet cserélni a 74(LS)07 -et 74(LS)06 -ra. A 7407 egy nem invertáló nyitott kollktoros meghajtó, a 7406 egy invertáló nyitott kollktoros meghajtó. A programban valahol be kellene állítani, vagy a kiválasztott programhoz valót kell használni.
Sziasztok
Szeretnék használni egy LM335-ös hőszenzort, de van mellette egy DS18B20-as szenzorom is, azt gondoltam hogy az LM335-ös szenzort bekötöm így és bekalibrálom a poti segítségével. Ha ugyanazt az értéket olvasom ki mindkettőből akkor a potit kiveszem lemérem és beteszek helyette 2 ellenállást és így kapok egy pontos hőszenzort. Jó elgondolás ez?
Nem egyszerű? A programok támogatják a vonalak beállíthatóságát. Véleményem szerint, aki PIC-et akar programozni, annak ismernie kéne az égető(főleg az ilyen faék felépítésű) működését és annak megfelelően beállítania a programot. Ezt csak azért írom, mert számomra nagyon fura, hogy feltételezni kényszerülünk, hogy ezt valaki nem tudja, azaz fel kell hívni rá a figyelmet. Lassan kész óvoda leszünk!
|
Bejelentkezés
Hirdetés |