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   264 / 1207
(#) llaczo válasza Stadi hozzászólására (») Jún 3, 2012 /
 
Köszi az infót. Nekem is van egy alap C és C++ jó vastag könyvem, viszont PIC környezetben nem igazán tudtam használni (persze ez nem biztos hogy a könyv hibája).
(#) pajti2 válasza llaczo hozzászólására (») Jún 3, 2012 /
 
A C++ csak azoknak kell, akik nem tudnak C-ben programozni
(#) mate_x válasza pajti2 hozzászólására (») Jún 3, 2012 /
 
Bizony csinálhat olyat. Én a 3.3V-os feszültségstabilizátorából kifelejtettem a hidegítő kondenzátort, és ettől néha teljesen meghülyült és csak formázással lehetett törölni A kondenzátor bekötésétől már jó volt..
(#) atiotezer hozzászólása Jún 3, 2012 /
 
Sziasztok

Nem tudjátok az mitől lehet, hogy a PICkit2 (gyári +legújabb firmware) néha a PIC18F258-at 18F882-nek ismeri fel? Valamikor meg csak simán Unsupported Device-nak.

Két új PiC-el is ugyanaz, semmi nincs rákötve, csak próbapanelen van összedugva.

258.jpg
    
(#) nedudgi válasza atiotezer hozzászólására (») Jún 3, 2012 /
 
Hosszú vezeték, esetleg kapacitás vagy ellenállás a PGC vagy PGD lábon, futó program okozhat ilyen hibát.
(#) atiotezer válasza nedudgi hozzászólására (») Jún 3, 2012 /
 
10cm-es a vezeték, a PGC és a PGD lábakat csak programozásra használja. Külső stabil 5V-ről is ez van.

A PIC új, ESD zacsiban tárolt.
(#) Hp41C válasza atiotezer hozzászólására (») Jún 3, 2012 /
 
A Vdd és a Vss között van-e kondenzátor? Mekkora? A PICKit2 adja a táplálást a programozás alatt? Nincs túlterhelve? Elegendően nagy a Vdd? A Vdd ráadására elindulhat a program a programozandó PIC -ben, ha gyorsan kimenetté állítja a PGD és / vagy PGC vonalakat, akkor nem tudja felvenni a programozó a kapcsolatot a kontrollerrel.
(#) aroxol hozzászólása Jún 3, 2012 /
 
Sziasztok!

Tudna valaki segiteni értelmezni az alábbit.
Szeretnék egy pár porton high-low-t állitani, gondolom hogy itt kellene pic18:

; ------------------------------- MEGSZAKITASOK beállítása -------------------------------------------



BSF RCON,7; ENABLE IT priority
CLRF INTCON; GLOBAL ÉS PERIFÉRIA IT TILTÁS
CLrf INTCON3; INT 1, 2 IT TILTÁS
CLRF PIE1
CLRF PIE2
CLRF PIE3
CLRF PIE4
CLRF PIE5
bsf INTCON,5; TMR0 IT ENGEDÉLYEZÉS
BSF INTCON2,2; TMR0 PRIORITY HIGH
BSF PIE2,1; TIMER 3 IT ENGEDÉLYEÉS
BSF IPR2,1; IT PRIORITÁS MAGAS
BSF PIE1,1; TMR2 IT ENABLE
BSF PIE5,1; TMR5 IT ENABLE
BSF IPR5,1
BSF IPR1,1
(#) fatti.tomtom hozzászólása Jún 3, 2012 /
 
Üdv minden Olvasónak...
Szóval... Van egy egyszerű fejlesztésem pic16f628a-ra. Szeretném, ha már a fejlesztés alatt egy ICSP port is a rendelkezésemre állna. A mellékelt ábrán látható a lényeg... A kérdésem az, hogy áttanulmányozva a neten található ICSP tudományokat áramköri környezetben címszó eredményeit (WATT mester tanulmányait messzemenően elismerve), nem tudom eldönteni, hogy szükség van-e a jumperekre (Szeretném egyszerűen elhagyni őket... S az ICSP porton keresztül egy "Szilva féle" PICKIT2 klónnal minden féle egyéb tápról leválasztva felprogramozni azt.). A rajzon csak a lényeg látható, a kivezetett ICSP és a hozzá galvanikusan kapcsolódó egyéb alkatrészek. A többi port ki és bemenetei, a külső kvarc mind-mind irreleváns. A 4. lábon lévő Vpp semmi másra nincs használva, csak programozásra. A Vdd egy schottky diódán leválasztva a többi fogyasztótól a programozás idejére. Normál működés esetén a diódán keresztül kap a pic tápot, de visszafele az egyéb fogyasztók táp nélkül nem számba vehetők. Marad a 12. és 13. láb a CLK és DAT (rajzon egy-egy jumperrel leválasztva programozáskor). Mindkettő egy-egy felhúzó ellenállással is bír normál üzemmódban. De programozáskor ezek úgy viselkednek, mint két sorba kapcsolt ellenállás a CLK és DAT lábak között...
Sokat tapasztalt kollégáknak (Nektek...) mi a véleményük, kellenek-e az áramkörbe a jumperek? Kell-e leválasztás, vagy sem? Jó-e a táppal soros schottky dióda, vagy helyette egy ellenállás lenne a jobb? Van-e értelme a 10-100K-s ellenállásnak a 4. láb Vpp és +5V között?
Megköszönve megtisztelő válaszotokat...
Üdv!
fatti
(#) Hp41C válasza fatti.tomtom hozzászólására (») Jún 3, 2012 /
 
Szia!

A PICKit2 a PGC és PGD vonalakon 4k7 lehúzó ellenállással rendelkezik, így a 10k felhúzás nem lehet bekötve a programozás alatt. Esetleg nagyobb ellenállás használata esetén elmaradhatna a jumper, ekkor az ellenállások a PIC 14. lábaihoz menjenek.

A Vpp lábat a Vdd -re kell húzni 10k ellenállással.
(#) vilmosd válasza fatti.tomtom hozzászólására (») Jún 3, 2012 /
 
A dioda a tapban nem egeszen szerencses megoldas. Amugy nem ertem a tap levalasztast, mert a PK2 figyeli hogy a PIC-nek van-e tapja, es csak akkor kapcsolja ra, ha nincs mas oldalrol megtaplalva. A MCLR-t feltetlen ra kell kotni a VDD-re egy 10 k-n keresztul. Rossz gyakorlat ezt a labat logva hagyni, mert nincs benne felso vedodioda, es sztatikusan feltoltodhet a halalos feszultsegig. A MCHP tobb AN-ben leirja az ICSP programozas modjat. A PGD es a PGC labakra egyszerubb 1-1 470 ohm, 1 kohm ellenallast betenni levalasztas gyanant, ha ezek bemenetek. Persze ha ezek kimenetek akkor ez nem igen jo megoldas.
(#) fatti.tomtom válasza Hp41C hozzászólására (») Jún 3, 2012 /
 
Szia! Köszönöm a gyors választ... Az R1 és R2 ellenállások nem nyomógombbal, hanem optocsatolóval lesznek működtetve. Így nem igazán növelhető az értékük a végtelenségig. A Vpp 4. lábon lévő felhúzást megértem... OK! Még egyszer nagyon megköszönöm az építő hozzászólást. Üdv! fatti
(#) fatti.tomtom válasza vilmosd hozzászólására (») Jún 3, 2012 /
 
Szia! Köszi a gyors választ! Az áramkör nem fog tápot kapni programozáskor. Ettől még be lehet csapni a PICKIT2-t esetleg tápérzékelés ügyileg. Viszont a schotky dióda mögött olyan egyéb fogyasztók vannak amelyek összességében akár több A-t is zabálhatnak normál működés esetén (2-3000µF puffer kondi, + többi alkatrész, melyek akár csúcsban esznek 1-2-3A-t is...). Na most ez a terhelés kiakasztja a PICKIT2 felől érkező tápot programozáskor. Ezért valami visszafele történő leválasztás elkerülhetetlen!
Igen, a PGD és PGC lábak bemenetek (opto kapuk a nyomógombok helyén le testre...)! Viszont a 2*10k ellenállás akár leválasztás is lehetne ebben az esetben? És ez az ötlet adta a kérdésem lényegi alapját is! Igaz ez 2*10K a DAT és CLK lábak között, plusz a kicsi ellenállás le testre, amit a többi fogyasztó jelent a közös +5V-on... A 4. láb MCLR és 10K egyértelmű! Köszönettel a válaszért! Üdv! fatti
(#) szabo.gth hozzászólása Jún 4, 2012 /
 
Sziasztok!
Segítséget szeretnék Tőletek kérni.
dsPIC33FJ16GS402 típusú vezérlőt szeretnék a PicKit2 klónommal programozni. A vezérlő 3-3.6 volt feszültségen üzemel, a PicKit2 klónom pedig nem tudja változtatni a kimeneti feszültségét. Ez nem is lenne probléma, egy egyszerű kiegészítő áramkörrel a vdd-t le tudom vinni 3V-ra, a vpp-t pedig 9-re.
A kérdésem a következő: a PGEC és PGED jeleket is illesztenem kell a szinthez? Az adatlapban az állt, hogy azok a kivezetések "5V tolerant"-ok, viszont az égetőm nem tudom, hogy a kontroller 3.3V-os jelszintjét minek érzékeli.
Ha illeszteni kell, hogyan tudom ezt megoldani, hogy mindkét irányban működjön?

Köszönöm előre is a segítséget.
(#) Zsora válasza fatti.tomtom hozzászólására (») Jún 4, 2012 /
 
Én a mellékelt kép szerint csinálnám. (Viszont így a negatív gobkezelést át kell írni pozitívra.)

ICSP.JPG
    
(#) Zsora válasza Zsora hozzászólására (») Jún 4, 2012 /
 
Az R3 ellenállást inkább a dióda után kellene kötni...
(#) fatti.tomtom válasza Zsora hozzászólására (») Jún 4, 2012 /
 
Szia! Köszönöm szépen az ötleteket és a rajzot. Összemontírozom azokat és közzéteszem egy válaszban hamarosan... Üdv! fatti
(#) TakiG válasza fatti.tomtom hozzászólására (») Jún 4, 2012 /
 
Szia! Létezik már egy ilyen 3.3V-os adapter, a pickit2 klón építés topikban megtalálod. Itt a kapcsolás, de valahol korábban volt hozzá nyákterv is, ugyanabban a topkban.
(#) fatti.tomtom válasza szabo.gth hozzászólására (») Jún 4, 2012 /
 
Szia! A válaszodat véletlenül nekem címezte a kolléga, ezért továbbítom... A többit lásd: egy bejegyzéssel feljebb... Üdv! fatti
(#) icserny válasza szabo.gth hozzászólására (») Jún 4, 2012 /
 
Idézet:
„A kérdésem a következő: a PGEC és PGED jeleket is illesztenem kell a szinthez?”
Természetesen. Ebben a fórumban az #5 hozzászólást nézd meg!
(#) n_yálastrubadúr hozzászólása Jún 4, 2012 /
 
Szép napot, estét!
Régen voltam itt. Építenem kellene egy mikrovezérlővel és 15 darab 18b20 szenzorral hőmérőt. Erre ha lenne konkrét megoldás nagyon megköszönném, mert nagyon időhiányban vagyok. Köszi
(#) kissi válasza n_yálastrubadúr hozzászólására (») Jún 4, 2012 /
 
Ez megoldható, de nem az "ide izibe" kategória !

Steve
(#) n_yálastrubadúr válasza kissi hozzászólására (») Jún 4, 2012 /
 
Ja, igen tudom. Csak a sürgősségét rámsózták. Nemtudom hogy mitévő legyek, mert egy darabnak sem tudom megoldani a protokollját "izibe". Szóval az is lehet, hogy diódával analog módon tenném. De az idő ami kétségekbe ejt.
(#) bbalazs_ válasza n_yálastrubadúr hozzászólására (») Jún 4, 2012 /
 
Ha PIC, akkor azt javaslom, hogy 15 kulon lab vigyen egy-egy egyvezetekest. Ha valami miatt megis a lancos technika kell, akkor nem lesz egyszeru, mert nehez on-fly az egyedi sorszamot kizsarolni beloluk (nekem legalabbis nem sikerult). Ha tudod, az mas kerdes, de akkor bele kell kodolni a hardverbe...
Ha kell, tudok kuldeni PIC-es forrast egy homerore.
(#) kissi válasza n_yálastrubadúr hozzászólására (») Jún 4, 2012 /
 
Küldtem mailt!

Steve
(#) pajti2 hozzászólása Jún 4, 2012 /
 
Valaki mérte már meg, mit tudnak sebességre a pic32mx1-esek ? Ram-ba töltve biztos viszi a program a 40mhz-et, de mi a szitu flash-ből?
(#) vilmosd válasza n_yálastrubadúr hozzászólására (») Jún 5, 2012 / 1
 
Mi a pontossagi igeny? Mert ha nem kell a 0,0625 C osztas, hanem 1/4 C eleg akkor inkabb analog (TC1047A, MCP9700A ) AD atalakitoval. Raadasul sokkal olcsobb. Igaz egy 16F887 nem tud 15 csatornat, de 2 db CD4051 16 csatornat ossze tud muxolni 1 vagy 2 vonalra. Ja persze 1/4 C felbontashoz 2,56 V Vref illik amit egy TL431 plusz egy-ket ellenallas, es egy 500 ohmos trimmerrel felepitheto. Lenyeges szempont, hogy az erzekelore kozvetlen kell rakni 100 nF kondit, es a kimenettel sorosan egy 470 ohmos ellenallast. Igy akar 100 meterre is elviheto a jel. A SW AD csatorna feldolgozasa, ami nem nagy kunszt. Egyszerubb mint az "onewire" programozasa.
(#) lutyii hozzászólása Jún 5, 2012 /
 
Sziasztok!
Az alábbi problémába ütköztem; adott 16F887-es MCU DIL tokozással tökéletesen működik a tesztprogi, míg QFP tkozással hülyeségeket csinál.
A progi elég egyszerű, így fest a main fgv;
  1. void main( void ){
  2.     SETUP_CCP1( CCP_OFF );
  3.     SETUP_CCP2( CCP_OFF );
  4.     setup_comparator( NC_NC_NC_NC );
  5.     setup_oscillator( OSC_8MHZ );
  6.     SETUP_ADC( ADC_OFF );
  7.     SETUP_ADC_PORTS( NO_ANALOGS  );
  8.  
  9.   while( true ){
  10.       delay_ms( 1000 );
  11.       c = input_b();
  12.       putc( c );
  13.   }
  14. }

Compiler: CCS C v4.114 + MPLAB v8.76
QFP tokozásnál az RB port 0.bitjét folyamatos 1-nek olvassa és az RB port 3.bitjét folyamatos 0-nak olvassa. Hangsúlyozom a DIL tokozással megy. Gondoltam, hogy esetleg megsütöttem a beforrasztásnál, ezért készítettem egy másik panelt is, de azon is pont így viselkedik. Ha műszerrel rámérek a lábra akkor a kívánt feszültségeket mérem rajtuk. A lábkiosztás a panelen a datasheetnek megfelelő.
Valakinek ötlete?
Gondoltam esetleg másik compilerrel próbálkozni ?
Valaki találkozott már hasonlóval?
(Bocsi, kicsit hosszú lett)

Lutyii[i]
(#) Hp41C válasza lutyii hozzászólására (») Jún 5, 2012 /
 
Szia!

Ha egy CMOS bemenet nincs sehová kötve, azon bármilyen szint beállhat...
Idézet:
„3.4.2 WEAK PULL-UPS
Each of the PORTB pins has an individually configurable internal weak pull-up. Control bits WPUB<7:0> enable or disable each pull-up (see Register 3-7). Each weak pull-up is automatically turned off when the port pin is configured as an output. All pull-ups are disabled on a Power-on Reset by the RBPU bit of the OPTION register.”
(#) lutyii válasza Hp41C hozzászólására (») Jún 5, 2012 /
 
Szia!
Külső lehúzó ellenállást raktam az RB port minden lábára, és ennek megfelelően "csak" a ráadott jelszint jelenik meg rajta. RB3-ra adott jelet 0-nak olvassa, mintha nem is lenne.
Érdekes, hogy az alsó nibble egy bittel el van csúszva a ráadott jelhez képest, pl ha a RB.2-ra adok magas jelet, akkor a beolvasott érték 0x09 (0b00001001) RB0-t mindig magasnak olvassa. Ha RB1-re, akkor 0x05, ha RB0-ra, akkor pedig 0x03-at olvas. Olyan mintha a datasheetben lévő lábkiosztást elrontották volna. Leírás szerint 7.8 lábak VDD-k, azonban ha elrontották és a 8-as láb valójában már az RB0, akkor az mindent megmagyarázna.
Következő: »»   264 / 1207
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