Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   628 / 1210
(#) eSDi válasza kt hozzászólására (») Feb 2, 2015 /
 
Ha azt a verziót építetted meg, amelyiben van egy 74LS07-es IC, akkor annak jónak kellene lennie (megépítettem régebben én is). Ebben az esetben nem tudom miért van ott kb. 3V, talán elkötés.
Ha nem, akkor a te géped 3.3V-os LPT porttal rendelkezik, így közvetlenül nem fog működni.
(#) icserny válasza Balagemann2031 hozzászólására (») Feb 2, 2015 /
 
Én nem a forrásfájl, hanem a projekt fájl tartalmára voltam kíváncsi.
A manuális hozzáadás ideiglenesen megoldja a problémádat, de nem ez a normális működés (magától kell megtalálnia). Ha nem oda van telepítve a fordító, ahová a projektben levő elérési útvonal mutat, akkor nyilván nem találja meg. Ilyesmire majd számítani kell, ha a tőlem átvett projekteket próbálod lefordítani.
(#) kt válasza eSDi hozzászólására (») Feb 2, 2015 /
 
Érdekes... Ha bekapcsolom a gépet elsőként 0.9V majd mikor betölt az operációs rendszer 5.15V ra felmegy.
Bejelentkezek , még mindig 5.15V elindítom az égető programot, lemegy 0.9V ra, elindítom az égetést tesztelésképpen, de csak 2.9-3.2V megy fel a H szint... érdekes.
Szóval az égetőn addig át jön 5.15V míg el nem indul teljesen a rendszer és meg nem nyitok egy programot...
Lehet az alaplap akkor már nem tud oda adni elég feszültséget ?
És igen a 74LS07 est építettem meg... Az lesz kipróbálom egy rég géppel.
A hozzászólás módosítva: Feb 2, 2015
(#) icserny válasza Balagemann2031 hozzászólására (») Feb 2, 2015 / 1
 
Idézet:
„a 16 bites piceknél asm-ben hogyan lehet binárisan megadni értéket?”


  1. mov #13, W0            ; decimális
  2. mov #0b1101, W0        ; bináris
  3. mov #0x0d, W0          ; hexadecimális
(#) csiberaptor hozzászólása Feb 2, 2015 /
 
Időzítéssel küzdök, és furcsa eset áll fenn. (18f4520, internal 4Mhz)
7szegmenses kijelzőt multiplexelek tmr0-val.
1 sec-re van állítva, de siet. 10 másodpercenként 1mp-t rá tesz valahol, valamiért.
Nem igazán tudom mire vélni a dolgot.
( T0CON=0b10000011; TMR0H=11; TMR0L=220
Mellékelem a mikroc kód ezen részét.
(#) bbalazs_ válasza eSDi hozzászólására (») Feb 2, 2015 /
 
Ha ugyetlen vagy a programozo ezt nem teszi lehetove, akkor nem tudja, valoban.
Maga a PIC viszont ad ra lehetoseget.
En meg nem lattam alaplapot 3.3V-os LPT-vel, de mindig tanul az ember...
Azert egy szkopot ra kellene akasztani, mert szerintem az a 3V koruli ertek valamilyen pwm eredmenye.
(#) Buvarbeka válasza Hp41C hozzászólására (») Feb 2, 2015 /
 
Igen MPLAB X -et használok, és a 3.3 V is adott, mert a csatlakoztatott adó-vevő modul is 3.3 V-os. Nem debug módban használtam a Pickit 3-t.
(#) AZoli válasza Buvarbeka hozzászólására (») Feb 2, 2015 /
 
Úgy emlékszem van fent a gombok között egy "Make and Program Device". Ezzel tudod Release módban indítani.
(#) Buvarbeka válasza AZoli hozzászólására (») Feb 2, 2015 /
 
Igen, így indítom, ahogy mondod.
(#) usane válasza spgabor hozzászólására (») Feb 2, 2015 /
 
Na megnéztem azt a proteusos rajzot. Nem fix 5V-ot kap, az SDA vezérli, nem kell külön foglalkoznod a multiplexelésel, a 16 bites mintába kell benne lenni a kapcsolóbitnek.
Ahogy Hp41C kolléga leírta korábban úgy kell mennie. Ha nem megy akkor valami nem jó a programmal, vagy az időzítést vagy valami felfutó lefutó jelet cseréltél fel, esetleg nem jól küldöd ki a 16 bites mintát.
(#) Balagemann2031 válasza icserny hozzászólására (») Feb 2, 2015 /
 
Köszönöm! Szerintem rosszul telepíthettem a fordítót...
(#) bbalazs_ válasza csiberaptor hozzászólására (») Feb 2, 2015 /
 
Sajnos a C-hez nem ertek, de pontos idozitest C-ben....? Ez assembly betetert kialt.
Masreszt ahogy torlod a flaget, azonnal allitsd be az uj timer ertekeket.
Azonban 10% elteres mar valami programhibat feltetelez, szerintem nezz utana az osszehasonlitasoknak.
Nem tudom, pontosan mennyi idonkent hivod meg a megszakitast, de szkoppal nezz ra (csak egy portbitet billegtess), hogy a megszakitas ideje jo-e. Ha az jo, akkor csak a szamolasoknal lehet valami gaz.
(#) AZoli válasza Buvarbeka hozzászólására (») Feb 2, 2015 /
 
Volt olyan kontroller, amin csak akkor indult el a program release módban, ha lehúztam róla a Pickit3-at. Nem foglalkoztam vele, adtam neki tápot külön. Gondolom a Pickit reset állapotban tartotta.
(#) icserny válasza AZoli hozzászólására (») Feb 2, 2015 /
 
Idézet:
„Gondolom a Pickit reset állapotban tartotta.”
Erre is kell lenni valami varázslatnak. MPLAB 8 esetén a Programmer menüben a Release from Reset menüpontra kell kattintani.
(#) Buvarbeka válasza icserny hozzászólására (») Feb 2, 2015 /
 
Próbáltam külső táppal is, de akkor sem indul.
(#) icserny válasza Buvarbeka hozzászólására (») Feb 2, 2015 /
 
Hát persze! Amíg az MCRL láb le van húzva, addig mindegy, hogy honnan kap tápot...
(#) kt hozzászólása Feb 2, 2015 /
 
Kikészülök...
Másik gépnél 4.9V a H és 1.1V a L , de így is 99%-nál hibát hoz ki a programozáskor...
(#) Kapagerenda hozzászólása Feb 2, 2015 /
 
Sziasztok,
A mikrokontrollert stabilizált 5 V táplálja. A feszültségszabályozó után 10 µF kondit szoktak rakni, nekem viszont csak 100 µF kondim van jelenleg itthon. Megfelel az is?
(#) foxi63 válasza csiberaptor hozzászólására (») Feb 2, 2015 /
 
Szia!
A hiba elsősorban abban van, hogy amikor beérkezik a tmr0 megszakítás, akkor előbb több feltételes utasítást és elágazást csináltasz, amik ideje meghatározhatatlan, majd a legvégén állítod be az új időt.
Elsőnek az ujidőt állítsad, ezután ráérsz mást mazsolázni.
A másik pedig hogy tmr2-vel pontos 1msec időzítést lehet beállítani, ezt ajánlatos használni.nem kell újraírni a timer2-t.
(#) Bakman válasza Kapagerenda hozzászólására (») Feb 2, 2015 /
 
A szabályzó után már nem kell kondenzátor. A feszültségszabályzó kimenete ideális esetben fix. A nagyobb értékű kondenzátor éppen hátrányos, mert a stabilizátor vagy tápegység "azt hiheti", hogy zárlat van a kimenetén. Fel nem tudom fogni, miért raknak 78xx vagy 79xx kimenetére nagy kondenzátort.
(#) Hp41C válasza Bakman hozzászólására (») Feb 2, 2015 /
 
A 78xx -nek minimum 100nF, de pl. az LM2940 -nek minimum 22µF kondenzátor kell a kimenetére, olyan közel, amilyen közel csak lehet.
(#) Bakman válasza Hp41C hozzászólására (») Feb 2, 2015 /
 
Bemenet elé 330n, kimenet után 100n. Már csak azt kell kideríteni, milyen IC-ről=tápegységről van szó, de minden bizonnyal 78xx 79xx.
(#) Kapagerenda hozzászólása Feb 2, 2015 /
 
LM 7805 ic-ről lenne szó. 10 µF kondit használnak párhuzamosan 100 nF kondival az ic után.
Egyébként a kondenzátor ez esetben azért van, hogy egyenletesebbé tegye a jelet?

01.gif
    
(#) Bakman válasza Kapagerenda hozzászólására (») Feb 2, 2015 /
 
Ha megnézed az adatlapját, akkor ott a bemenetnél 330 nF -os, a kimenetnél 100 nF-os kondenzátor van. Ezeket a lehető legközelebb kell elhelyezni az IC lábaihoz. Természetesen a bemenetet el kell látni pufferkondenzátorral is, a várható terhelés függvényében kb. 2200 µF/A értékűvel. Ha nagyobb, nem baj, kissebb is lehet, csak a hullámzás minimuma ne menjen le a kritikus szintig (7805 esetén kb. 7,5 V). A kimenetére kötött 10 µF-os kondenzátor bedig butaság, nem tudom miért terjed ez a tévhit. A labortáp kimenetére sem kötünk kondenzátort, maga az IC állítja elő a stabil kimeneti feszültséget. Extrém módon változó terhelés esetén pedig nem 78xx IC-t kell használni. Nyílván egy kontroller és környezete nem az.
A hozzászólás módosítva: Feb 2, 2015
(#) csiberaptor válasza foxi63 hozzászólására (») Feb 2, 2015 /
 
Tmr2-t eddig még nem használtam. Most próbálom működésre bírni.
  1. if (TMR2IF_bit){
  2.    Num++;
  3.    if(Num==1000)
  4.    {Sec--; Num=0; }
  5.     TMR2=0;
  6.     PIR1.TMR2IF=0;
  7.    }


  1. INTCON = 0xc0;
  2. T2CON=0b00001101; //tmr2 on, 1:4pre, 1:2post
  3. PIE1=0x02;//tmr2== pr2 interrupt enable
  4. IPR1=0x02;//flag 0
  5. PR2=124;
  6. TMR2=0;

Jelenleg nem csinál semmit. Rosszul értelmeztem az adatlapot, vagy csak kihagytam valamit?
(#) Gery78 hozzászólása Feb 2, 2015 /
 
Sziasztok!
Abban szeretném a segítségeteket kérni, hogy belefutottam egy olyan javításba, ahol az áramkörben van egy PIC is, egy PIC16F630-as típus. Az oszcillátora ennek úgy néz ki, hogy egy háromlábú 4MHz-es kvarc van betéve az OSC in/OSC out lábakra. A kvarc középső lába a GND-n van. A kvarcot külön kivettem, és megvizsgáltam egy kvarc vizsgáló műszerrel, kiválóan működik, a frekimérője mutatta a 4MHz-es jelet. Még annyi, hogy a PIC OSC in/OSC out lábai össze vannak kötve egy 1 MOhmos ellenállással. Ez egy gyári kapcsolás, tehát a PIC-nek menni kellett benne! Az volna a kérdésem, hogyha a PIC elromlik, akkor az oszcillátora is elszáll? Az a hibajelensége az áramkörnek, hogy a kvarcot nem tudom megmérni a szkóppal az áramkörben, mert csak 200mV-os DC-t ad mindkét oszcillátor lábán a PIC-nek. Tehát szerintem az oszcillátora nem működik, gondolom ezt ha jó, akkor a kvarc lábaira rámérve a szkóppal lehetne látni a négyszögjeleket. A másik kérdésem, hogy egy ilyen külső kvarccal működő PIC oszcillátorának minden üzemmódban mennie kell? Tehát ha pl. Sleep módban van, vagy valami tiltja a működését mondjuk az INT lábon keresztül, attól még az oszcillátornak mennie kellene nem? Vagy szerintetek hogyan tudnám megvizsgálni, hogy működik-e ez a PIC? Sajnos a pontos funkcióját nem ismerem az áramkörben, nincs rajzom hozzá.
A hozzászólás módosítva: Feb 2, 2015
(#) Buvarbeka válasza icserny hozzászólására (») Feb 2, 2015 /
 
Az MCLR láb 10K -val a Vdd-re van húzva. Így, ha a tápot rákötöm a vezérlő nem indul. De ha resetelek (MCLR lábat a földre kötöm), a reset után a pic működik. Mit csináljak, hogy ne kelljen minden alkalommal resetelnem?
(#) vicsys válasza Buvarbeka hozzászólására (») Feb 2, 2015 /
 
Az MCLR és GND közé egy 100nF-os kondit.
(#) Buvarbeka válasza vicsys hozzászólására (») Feb 2, 2015 /
 
Van kondi. 100 nf kerámia.
(#) Hp41C válasza Gery78 hozzászólására (») Feb 2, 2015 /
 
Alvó állapotban a belső oszcillátor leáll. Szerintem jó, amit mértél. Az méréshez felhasznált vezeték kapacitása leterheli a lábakat.
Következő: »»   628 / 1210
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