Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Még támadt egy mentő ötletem a timeres megoldásra, mégpedig, hogy a processzor gombnyomásra ne reseteljen, hanem menjen a megfelelő ciklushoz, tehát nem állnak alaphelyzetbe a regiszterek és a timer is fut közben. Ennek a megoldására a kikapcsolás időzítő ciklusba beraktam a következő sorokat:
Tehát gombnyomás hatására a start részhez ugrik és legenerálja a számokat, és a timer is fut ez idő alatt, tehát nem fogja ugyan azt az értéket adni. Működőképes ez a megoldás?
Köszönöm a segítséget, most már OK! A Timer már egy másik verzióban be volt kapcsolva, nem jó forrást küldtem, de az oszcillátor típus valóban rosszul volt beállítva. Érdekes, hogy ugyanezzel a HS-el más progik már futottak...
Köszönöm még egyszer!
Ez már tárgytalan. Hagytam a franca, ahogy ajánlottad, a Timeres változatot, helyette kiválasztottam a legelső véletlen szám generátort a megadott oldalról és most tökéletesen működik.
Nagyon köszönöm a segítséget, sokat segítettél!
Sziasztok(eredetileg nyitottam külön topikot, de már első hozzászólásban megírták, hogy ide írjak...
Szóval: Van egy pickit2-m(piros gombbal ellátott darab) ami működik is a hozzá adott low pin count demo boarddal, amiben egy pic16f690 van betéve és pár led meg hasonlók. Ezt az előbb néztem meg, hogy megy, be is írtam egy pici progit tesztnek... Van egy pic18f4550-es 40-lábas nagyobb picem is, elvileg támogatja a pickit2 és a szoftvere is, gyakorlatilag folyton azt írja ki, hogy vpp voltage level error. Egy hatlábú tüskesorra forrasztottam rá kábeleket, a picet betettem egy breadbordba és a következő bekötés van: vpp -> vpp vdd -> vdd vss ->vss pgd -> pgd pgc -> pgc az auxot és a pgm-et lógni hagytam, illetve mindkettő vdd és vss be van kötve(bár próbáltam úgy is, hogy csak egy legyen bekötbe...) eredetileg vdd-errort is írt, ezután csináltam troubleshootingot a pickit2 programjában és 3,4v-szerű eredmények voltak 5 helyett, ezért a picnek adtam külső 5v-os áramot elemről. Ezután már csak a vdd-s probléma maradt, gyenge az usb-m talán, vagy valamit benézek, vagy más dolog??? ui.: Egyébként Az előbb visszadugtam a pickitet üresen és úgy se ismerte fel, majd megpróbáltam a többi usb portot és ott se, aztán visszadugtam az egeret az usb portjába és nem mozdul!!! Meghalt a pickitem és kinyírta az usb-portjaimat utána??? Egyébként laptopról próbálkozok és korábban többször is használtam a kitet, remélem nem az volt hogy összeért valami, ami miatt elromlott valami, ami miatt mikor üresen bedugtam kinyírta a portokat, mert ennél azért lehetne jobban védve a cucc!!!(eredeti pickit2, nem utánépített!) szóval Help! **** későbbi hozzászólásom fenti topikban: **** Minek lehet bejelölni hogy egy új topik pic mikrovezérlőhöz tartozik, ha minden pices izét ide kell írni? Amúgy mikortól kell valaminek külön topikot nyitni és meddig számít egy téma olyannak, hogy az ömlesztett pices topikba írjam be? Majd megpróbálok ehhez igazodni legközelebb, sorry... Amúgy direkt keresgéltem először kicsit van-e konkrétan ilyen téma, de nem igazán dobott ki a kereső... ui.: Az usb-m nem halt meg szerencsére, csak a windows kicsit összekavarodott a sok próbálkozásomtól, a pickit továbbra is megy! Legalább ez jó hír **** +Verziószámok: **** Application Version(pickit2): 2.11.00 Device File Version: 1.12.00 OS Firmware Version: 2.20.00
Kicsit lassabban, összeszedettebben haladjunk, az talán eredményre fog vezetni!
Először is a PICkit2 progi troubleshoot-ját mérd végig úgy, hogy a PICkit2-re ne dugj semmi külső áramkört rá. A feszültségértékeket a PICkit2 kimenetein mérd meg egy multiméterrel, ne azt akard elhinni, amit a program kiír! (Egy zárójeles kérdés: a Vpp error-t a PICkit2 progi vagy az MPLAB írta ki neked?) Ha a troubleshoot-nál mindent jónak mérsz, akkor próbáld meg a 18F4550-et hozzákapcsolni a PICkit2-höz úgy, ahogy leírtad korábban, az AUX és PGM lábakat hagyd bekötetlenül. A PIC-nek két-két Vdd és Vss lába van, ezeket mindegyiket kösd be! A Vdd és Vss lábak közé az IC minkét oldalán tegyél egy-egy 100nF (kerámia) kondenzátort! Még mielőtt csatlakoztatnád a programozót a PIC-edhez, előtte mérd végig multiméter "csipogójával", hogy minden jól van-e kötve és nincs-e rövidzár olyan vezetékek között, ahol nem szabad lennie! A programozó csatlakoztatása után próbáld meg bekapcsolni a Vdd-t (a checkboxszal), és mérd meg a multiméterrel a 18F4550 lábain, hogy mennyi van ott! Ha ez normális érték, akkor a PICkit2 progiban a "check communication"-re kattintva fel kellene ismernie a PIC-et. Ha menet közben bármi rendelleneset tapasztalsz, akkor azt írd meg ide!
A PICCOLO projekt honlapján minden kérdésedre (a leendőkre is) megtalálod a választ. Most elsősegélyként az A kísérleti áramkör című fejezetet ajánlom szíves figyelmedbe. Vedd észre, hogy a PIC18F4550 mindkét Vdd és Vss lábát be kell kötni, és a körülötte levő kondenzátorok is kellenek (minimum 2 db 100 nF a Vdd-VSS lábak között, és egy 470 nF a Vusb és Vss között.
De én nem akarok usb bootloaderezni egyelőre, csak sima icsp-ről programozni a pickittel, lehettőleg úgy, hogy a táp is onnan jöjjön(értem ezalatt, hogy az usb-s és a másik láb közöttit ilyenkor is be kell-e kötni?)
Sajnos nincs jelenleg ilyen kondim kéznél, viszont ezek tényleg nem voltak ott, a többi ugyanúgy van kb... Idézet: Tegyél akkor be 2-3 100 nF-ost párhuzamosan! „Sajnos nincs jelenleg ilyen kondim kéznél”
-Troubleshootot megcsináltam, üresen minden jó(de a pickit, az eredeti demoboarddal is megy), viszont multiméterrel nem néztem meg. Valahol van egy sárga szép fater multimétere, de nem tudom hol van :no: (már multkor is kerestem...)
-Az errort a pickit progija írta ki, abban jobban bízok valamiért, mint a mplabban és azt szoktam használni... -Kerámia kondi nem volt betéve, sajnos nem is látok a közelben. Enélkül nem tudom valahogy megoldani?(kis 10mikrós kondi 5db és 2 200mikrós van csak otthon ha jól látom), egyébként enélkül ennyire hibás lenne? Ez nem csak zajszűrésnek van? -Rövidzár és egyéb dolgok a multiméter hiánya miatt, csak szemre nézve vannak ellenőrízve, de jónak látszik... Forrasztások is jónak tűnnek és táp ha a többit lehízom, akkor átmegy(rátettem egy ledet egy ellenállással és világított). Ha be van kötve a vdd és vss, akkor viszont csak kicsit tud világítani(elmegy a fesz gondolom, ezt érzékelheti a pickit is). Mejd megpróbálok keresni itthon vagy beszerezni megfelelő kondit és akkor meglátom mi lesz, mindenesetre köszönöm a válaszokat, lehet hogy csak ez a baj...
A Vusb-n nem lévő konditól a PICkit2 még fel kell ismerje és tökéletesen kell kezelje a 18F4550-et, én is használok 4550-et olyan áramkörben, ahol a közelben sincs USB, és a Vusb láb csak lóg a levegőben. A Vpp error biztos nem ezen múlik, ott más gond lesz.
Idézet: Akkor a code_examples.zip letöltése és kibontása után keresd meg az include mappában a piccolo_config.h állományt, és tedd kommentté a„De én nem akarok usb bootloaderezni egyelőre”
A kondenzátorok hiánya nem okozhat túláramfelvételt. Ha a LED-en látod, hogy nincs meg a megfelelő mértékű Vdd, akkor ott más lesz a gond! Ezért kellene végigmérni multiméterrel a kísérleti panelt, amibe betetted a PIC-et. Apropó: a PIC nem melegszik jól érezhetően, amikor rákapcsolod a Vdd-t?
A problémádat vagy valamilyen zárlat okozza a PIC áramkörében, vagy rossz esetben hibás a PIC (ha új, és nem kötötted rosszul rá a vezetékeket, akkor ennek nem sok esélye van). A kondenzátorok ugyan létfontosságúak a PIC mellett, de azok nélkül is nagy valószínűséggel fel fogja ismerni a PIC-et a programozó, ha más probléma nincs már. Vdd és Vpp errorokat semmiképp nem szabad látnod normális működés esetén, kondenzátorok nélkül a felismertetés/programozás lehet bizonytalan. Nekem sikerült nemrég úgy "pofonvágni" pont egy 4550-et, hogy azóta látszólag működik (programozható, fut benne a programom is), de az áramfelvétele megnőtt kb. a normális érték 10-szeresére. A hibát én követtem el, óvatlan voltam az áramkörben piszkáláskor és sikerült tizenpár voltnak valahova hozzáérnie a PIC lábaihoz. Csak pár pillanat volt, de a PIC nem élte túl.
Ha USB-ről adok neki vdd-t, akkor a leden látszik, hogy nem elég nagy a vdd. Ha külső áramforrásról(9V-os elem egy tápkockával -> 5V) adok a picnek tápot, akkor a led továbbra is világít ha bekötöm az 5V közé...
Viszont a 12voltos vpp-t továbbra is problémásnak találja a pickit2 szoftvere. szerintem jogosan, de nem mértem rá(bár gondolom úgyis csak rövid időre kapcsolná be...) Nem vagyok benne teljesen biztos, hogy nem-e ért össze valami, bár mindent megtettem hogy ilyen ne legyen, egyébként a pic régebb óta megvan már, de csak most bontottam ki a csomagolásából, szóval tök újnak számít. Nem örülnék ha kinyírtam volna... Ami még eszembe jutott, de nem próbáltam ki, az az, hogy a pic lábára én adok 12 voltot közvetlenül, a 2 icsp kommunikációs lábat pedig normálisan a pickitre, így felvehetne ó sok áramot, de ha azt a 12voltot mondjuk kapcsolgatni is kell, nem csak folyton adni vagy ilyesmi, akkor ez baromság, így nem akartam kipróbálni ezt... ui.: Egyáltalán nem érzem viszont hogy melegedne a pic...
Multiméter nélkül nehéz lesz továbblépni. Ha vannak ellenállásaid, annyit még megtehetnél, hogy a troubleshoot-ot úgy játszod végig, hogy a Vdd-Vss közé egy kb. 100 ohm ellenállást teszel, a Vpp-Vss közé meg egy kb. 2.5k-sat. Ezek olyan terhelést adnak, amit a PICkit2-nek tudnia kell meghajtani, és ha ezeket rendben teljesíti is, akkor a 18F4550-nel sem szabad, hogy gondja legyen. Ha a PICkit2 a fent leírt terheléses méréseket zokszó nélkül teljesíti, akkor a PIC-kel, vagy annak az környezetével, összeköttetéseivel van mégis a baj.
Ha már nincs kéznél multiméter, akkor próbáld a 100 ohm-ot bekapcsolt Vdd-nél odaérinteni meg levenni és közben figyeld a próba LED-eddel, hogy változik-e a fényerő. Ha netán jelentősen változna a fényerő, esetleg Vdd error-t kapnál, amikor az ellenállást odaérinted, akkor meg kellene próbálni egy másik USB kábellel.
Kipróbálom...
Amúgy tényleg elég hosszú az usb kábele, van itthon sokkal rövidebb is...
Hmmmmmmm, ez durva.
A vdd még ok, bár leesett 4egész valamennyire, a vpp viszont már úgy se jó, ha csak 1kiloohm-os ellenállás van betéve(ilyenkor 10voltra esik és rögtön vpp-errort ad...) jah a 10 volt az a pickit mérése és a vdd jóságát megerősíteni látszik, hogy a led is kb. ugyanúgy világít) Ennyire gyenge az usb-port erőssége a laptopomon? megnézem rövidebb kábellel is, mert ez kicsit durva...
Rövidebb kábellel az 1kohm ellenállással megvan a rendes 12V, amennyiben rányomom a picet is, de külső táppal, akkor 7,5V-ot mér a pickit(korábban nem is tudott mérni, vagy nem írt ide semmit troubleshootnál)
Meg fogom nézni egy másik gépen is...
Így se akar menni, valamit szerintem elbaltázok, összeér valami valahol vagy nem érintkezik valami valahol, vagy tudom is én, az is lehet hogy már megint a breadboard valahol nem normális(feljebb vannak részek, ahol már nem érintkezik pl.). Olyan is volt, hogy mozgattam az egészet és néha volt elég vpp, de csak a troubleshootnál, másik helyen nem, pedig semmi se ért össze max a kábelek a boritásukkal, szóval nem is értem...
Nah majd egyszer kevésbé éhesen és fáradtan megnézem.... Amúgy kipróbáltam más gépen is, asztalin, de ott még 7 volt se lett, csak 6 amit összekapart a cucc... ui.: Az hogy mozgatásra néha megvan a fesz, azt mutatná, hogy valami rosszul összeér, de lehet, hogy csak a breadboard akkor elkezd nem érintkezni és emaitt(mivel akkor nincs leterhelve) tényleg kijön a 12v, csak hát nem jut el a chipig Szerintem ez lehet ilyenkor, mert a forrasztások csúnyácskák, de nem érnek össze és a többi kábel sincs olyan közel egymáshoz hogy bajt okozhasson könnyen. Na meg volt hogy nem volt vpp problem és egyszerűen csak nem ismert fel eszközt, szerintem ez is a fentit támasztja alá. Egyébként ha elemről járatom akkor az elem elég rövid idő után már atomforró, szóval nem kizárt, hogy ez is átalakult ilyen 10x annyit fogyasztó ördöggé Mindenesetre majd apámmal is átnézetem mit raktam össze, ő jobban ért az elektronikához nálam, még mindig... Legközelebb akkor írok csak, ha valami értelmes dolog lesz(vagy ha valakinek csodaötlete támad)
Sziasztok
szeretném megkérdezni hogy használok 1 PIC18F2320-as mikrovezérlőt, és olyan jellegű problémám van vele, hogy időnként magátol ujraindulgat! kérdésem annyi lenne hogy ezt valamiféle reset okozhatja? konfig biteknél egyedül BROWN OUT reset van engedélyezve! de maga a tápfesz meg nem szokott ingadozni fixen 4.9V szokott lenni!
Szia!
WDT biztos ki van kapcsolva? Ezen kívül személy szerint nekem kétszer volt az a probléma hogy újraindulgatott a PIC: Az egyik az volt hogy negatív feszültséget kapott az A/D bemenet, a másik pedig hogy a veremtár túlcsordult.
Igen a WDT biztosan kivan kapcsolva én A/D nem használok ennél a pogramnál Picnél de viszont hogy esetleg a veremtárakkal mi lehet a helyzet azt nemtudom C-ben van irva a program.
Szerintem igen kis esélye van hogy a veremtár túlcsordulna, igazából csak úgy érdekességképp írtam.
Ezt a helyzetet én sem egészen értem, mert nem mindig csinálja és gondolom ha valami külső hardveres hókuszpókusz okozná, akkor majdnem állandóan jelentkezne ez a probléma!
A Brown Out resetet tudod ellenőrizni is. Vagy azt csinálod, hogy debuggerrel ellenőrzöd a bit állapotát, vagy akasztasz egy LEDet valamelyik kimenetre, és a program kezdetén feltétel vizsgálattal megnézed, hogy az RCON regiszter /BOR bitje 0. Ha 0, akkor bekapcsolod a LEDet és végtelen ciklusba kényszeríted a mikrovezérlő programját. Ha 1 az érték, akkor mehet tovább. Így ha a LED világít, akkor reset forrása a BOR.
Köszi
sajnos ennyire már nem vagyok jó Pices, de azért megpróbálom C-ben még inkább nehezebb lesz.
Szia!
Ennyit erról, hogy milyen programok vannak a feltöltöttek között....
Az alábbi pszeudo kód szerint próbálkoznék:
Szia!
Ha többször leültök játszani, és mindig bekapcsolásra indul a dobókocka, a számok sorrendje ismétlődhet....
Ezt én is észrevettem. Sajnos tudtommal nincs mit tenni ellene.
|
Bejelentkezés
Hirdetés |