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   399 / 1210
(#) Llajti válasza djadji hozzászólására (») Ápr 11, 2013 /
 
És ha mindazt megcsináltad, amit mrobi írt és még mindig nem jó, küldd el légyszi a legenerált kódot (3 és 2 adc-vel is)! Emlékeim szerint a Flowcode C-t csinál, azt meg tudom gyorsan nézni.
(#) sherlock válasza djadji hozzászólására (») Ápr 11, 2013 /
 
igen, szerintem a chargepump kondik feltöltődési és kisülési idejével függ össze.
(#) Llajti válasza sherlock hozzászólására (») Ápr 11, 2013 /
 
Tényleg, ez csak most jutott eszembe, amikor írtad. Az AD beállításakor több időzítési paramétert kell megadni, amik ha nem megfelelőek, teljesen rosszul működhet.
(#) Dokikaa válasza bbalazs_ hozzászólására (») Ápr 11, 2013 /
 
Értem, köszönöm a választ. Viszont elakadtam. PIC16F690-el próbálkozom, két számot összeadni. Eddig ezt a programot sikerült összehoznom, viszont nemjó, kitudnál segíteni?
Nemkéne bankválasztás, vagy rossz helyre írtam? Bank 1 ben van az accesses, f0h tól ffh címig.
Start ; A program kezdete

bsf STATUS,RP0 ;bank1 választás
bcf TRISC,0 ;c port kimenet
temp equ 0xf1 ;változó létrehozása(bank 1 access)
movlw 0x01 ;
movwf temp ;
bcf STATUS,RP0
; movf 0x01, W
; addwf A_1, W
; movf 0x01,W
movwf PORTC
goto $
end
(#) anemo hozzászólása Ápr 11, 2013 /
 
Sziasztok!

Korábban kértem segítséget egy biztosítóberendezés-szimuláció projekt megvalósításában. (PIC18F4550 TPIC-es soros vezérlések stb.)

Jelenleg ott állok, hogy felprogramoztam a PIC18F4550-est a MCHIP USB - HID - Bootloader hex fájljával. Kipróbáltam, a gép látja is, de pár másodperc után megszakad a kapcsolat. Megnéztem, hogy az 5V stabil táp lecsökken 5V alá, majd lezuhan 3.5-re és végül lecsökken 0-ra. Egy 7805-ös IC-m már meg is adta magát. Nem tudom mi lehet a baj, kiszedtem csak a PIC kapcsolását az áramkörből, ha valaki ránézne, megköszönném!

Üdv!

pic_ear.jpg
    
(#) Hp41C válasza Dokikaa hozzászólására (») Ápr 11, 2013 / 1
 
Idézet:
„Értem, köszönöm a választ. Viszont elakadtam. PIC16F690-el próbálkozom, két számot összeadni. Eddig ezt a programot sikerült összehoznom, viszont nem jó, ki tudnál segíteni?
Nem kéne bankválasztás, vagy rossz helyre írtam? Bank 1 -ben van az accesses, f0h tól ffh címig.”

Jól összekavartak... A kedves tanácsadó a 18F szériáról regélt, Te a hagyományos 16F család egy tagját programozod...

A hagyományos 16F -eken általában nincs Access bank, közös RAM terület van, ami nem úgy működik, ahogy a 18F -eken. Néhány 16F típuson van egy közös RAM terület (0x70.. 0x7F), ami bankiválasztástól függetlenül ugyan azt a 16 rekeszt kezeli. A 16F690 is ilyen.
A 16F -eken az általános célú RAM memória az egyes bankokban 0x20 .. 0x6F, 0xA0.. 0xBF, 0x120 .. 0x16F, 0x1A0 .. 0x1BF közötti címeken érhető el. A típustól függ, melyik bankban mennyi van kiépítve. Némelyiken a 0x110 .. 0x11F ill. a 0x190 .. 0x19F taromány is használható.
Használjuk a gyári ajánlásokat, megkönnyíti a program áttekintését, hordozását más (felépítésű) kontrollerre.
Változó definiálás abszolut kódban:
  1. cblock  0x020
  2. A_1
  3.         endc
  4.  
  5.         cblock  0x0F1
  6. temp
  7.         endc

Bankváltás - tudni fogja, hogy az ANSEL melyik kontrolleren melyik bank -ben van...
  1. banksel ANSEL
  2.         clrf    ANSEL
  3.  
  4.         banksel A_1
  5.         clrf    A_1

Az RC0 a komparátor egyik analóg bemenete. Az ilyen lábakat a kontroller reset után analóg bemenetként kezeli. Az ANSEL resiszterrel digitális módba kell állítanni. Allítsd be az MpLab szimulátorát nyomkövetőnek (debugger), vele épésenként nézheted, mit csinál a program...

690.asm
    
(#) djadji válasza mrobi hozzászólására (») Ápr 11, 2013 /
 
Erre nem is gondoltam, hogy lehúzzam földre. De, ha berakom a harmadik AD-t, akkor elkezd ugrálni a második AD! A harmadik ADvel egyenlőre nem is foglalkozom. Azt szeretném kideríteni, hogy a harmadik AD-t berakom a programba (nincs rákötve semmi, nem is csinálok vele semmit, nem számolom, nem szorzom, stb), akkor miért esek le a második AD időről időre.
Felteszem a C kódot amint hazaérek.
(#) Hp41C válasza anemo hozzászólására (») Ápr 11, 2013 /
 
Szia!
Zárlat a panelen, rossz alkatrész, téves értékű alkatrész, forraszhíd.. Ha automatával tervezted a panelt, az R3 bal oldali kivezetését is rákötötte az RC0 -ra. Ha az RC0 -at alacsony szintű kimenetnek programozod fel, rajta keresztül az 5V -os tápot leföldeled.
(#) Hp41C válasza djadji hozzászólására (») Ápr 11, 2013 /
 
Csatorna válás után min. 2 * TAD kivárás az AD indítása előtt.
(#) Dokikaa válasza Hp41C hozzászólására (») Ápr 11, 2013 /
 
Köszi a segítséget!
(#) anemo válasza Hp41C hozzászólására (») Ápr 11, 2013 /
 
Szia!

Az R3 a valóságban is a RC0-hoz csatlakozik az USB csatlakozásának figyeléséhez (de a függőleges vezetékhez nem, csak hülyén rajzoltam). Mint írtad korábban, egy magas ellenállással kössem egy bemeneti lábra. De akkor ez okozná a zárlatot, mert rossz lábat választottam? Firmware még nincs a PIC-en, csak az alap bootloader, így aztán semmi beállítás nincs még.
(#) Hp41C válasza anemo hozzászólására (») Ápr 11, 2013 /
 
Idézet:
„Az R3 a valóságban is a RC0-hoz csatlakozik az USB csatlakozásának figyeléséhez”

Így gondoltam én is, de a rajz megtévesztő, az alkatrészek végpontjai számítanak csatlakozási pontnak, ott pedig két nem összekötendő vezekék is átmegy. A +5V -ot nem szabad közvetlenül az RC0 -ra kötni. Ha az áramkörben nincs összekötve a +5V az RC0 -lal, akkor jó a kapcsolás e része.
(#) icserny válasza anemo hozzászólására (») Ápr 11, 2013 /
 
Idézet:
„kiszedtem csak a PIC kapcsolását az áramkörből, ha valaki ránézne, megköszönném!”
R4 rossz helyen van és rossz értékű. Nézd meg a Microchip FSUSB demó kártya leírását! Természetesen a tápfeszültség nem ettől esett le, annak valami más oka lehet: zárlatos kondi, miegyéb. Én leginkább a miegyébre gyanakszom...

Ha a Microchip gyári bootloaderét akarod használni, akkor nézd át a CONFIG bitek beállítását, mert a gyári beállítás nem optimális (engedélyezni kell a Brown out Resetet, különben a bootloader kinyírhatja magát a tápfesz lekapcsolásakor!
(#) anemo válasza icserny hozzászólására (») Ápr 11, 2013 /
 
Még Hp41C javaslatára csináltam az USB figyelést: 100k ellenállással rákötöm egy bemeneti lábra az USB 5V-ot, illetve földre kötöm egy alacsony (2k7) ellenállással.

Hát mindent a gyári packból égettem bele, hogy többször ne kelljen égetni. Mivel csak egy alkalmi projekt ez, nem akartam pickitet vásárolni/csinálni. Gondolom akkor, hogy engedélyezzem a BOR-t, ahhoz újra kellene égettetnem az egészet....?
(#) korni.papp válasza bbalazs_ hozzászólására (») Ápr 11, 2013 /
 
És hogyan kezdjek bele?pontosabban hogy hol találok leírést hozzá....Mert googleban nem nagyon találtam olyat ami értelmes dolog.
(#) bbalazs_ válasza korni.papp hozzászólására (») Ápr 11, 2013 /
 
Szerintem PC-n kezdd el a programozast tanulni, ne a PIC-en.
Legalabb, amig az alapveto dolgokat megerted.
A linearis programozas ugyanaz, szoval azokat fel fogod tudni hasznalni a PIC-nel is.
Tulajdonkeppen a programozasi gondolkodast kell elsajatitani, hogy hogyan tudod reszelemekre bontani a problemat, amit aztan mar meg tudsz a geppel oldatni.
Konyvnek meg a konyvtarat javaslom, ott talalsz eleget ezekrol. Az alapok nem valtoztak.
De mindenkeppen parhuzamosan erdemes csinalni a programozast a nagyon egyszeru dolgoktol kezdve. Bepotyogsz egy peldaprogramot, elmented, aztan valtoztatgatod.
Nem csinalhatsz semmi vegzeteset, ha vegleg elrontottad, akkor visszatoltod es kezded elolrol.
(#) icserny válasza anemo hozzászólására (») Ápr 11, 2013 /
 
Idézet:
„100k ellenállással rákötöm egy bemeneti lábra az USB 5V-ot, illetve földre kötöm egy alacsony (2k7) ellenállással.”
Fordítva logikusabb lenne.
Idézet:
„Gondolom akkor, hogy engedélyezzem a BOR-t, ahhoz újra kellene égettetnem az egészet....?”
Ha könnyen megoldható (közeli ismerősnél), akkor ez a legjobb megoldás. A honlapomról letölthető csomagban is található egy ilyen állomány, PICCOLO-HID-Bootloader-PIC18F4550.hex néven.

Ha nem oldható meg könnyen, akkor megvárhatod, amíg "elromlik" a bootloader. Ennek csak az a bibéje, hogy alkalmatlan időben jöhet rá a bolondóra (kikapcsoláskor, a CPU fél-szendergésében ráfut egy laptörlésre...). Akkor muszáj lesz újraírni. Azon viszont érdemes elgondolkodni, hogy milyen feszültségszinten reseteljen a BOR áramkör. Én meggondolatlanul alacsony szintre (2,7 V) állítottam. Jobb volna az adatlapot követni (aszerint csak min. 4,2 V-on garantált a hibátlan működés).
(#) benjami válasza icserny hozzászólására (») Ápr 11, 2013 /
 
Idézet:
„Fordítva logikusabb lenne.”

Szerintem azért 100k-val csatlakozik a PIC lábra az USB +5V-ja mert ha csak az USB-n van meg az 5V, az áramkör saját tápján meg nincs, ne táplálja meg a PIC-et a portlábvédő diódáján keresztül.
(#) anemo válasza icserny hozzászólására (») Ápr 12, 2013 /
 
Köszönöm, a honlap nagyon jó, böngészgetem.

Kiszedtem a PIC-et a foglalatból és csak a tápokat forrasztottam rá... Sajnos így is leszalad a feszültség, úgyhogy gondolom kuka.. A stabilizátort megpróbáltam egy egyszerű leddel, akkor stabil marad.
(#) proba válasza anemo hozzászólására (») Ápr 12, 2013 /
 
Néha ezt a hibát egy fordítva berakott kondi is okozza.
(#) potyo válasza benjami hozzászólására (») Ápr 12, 2013 /
 
A 100k-2k7 ellenállásosztón sosem tudja a lábat logikai 1-be húzni.
(#) Hp41C válasza icserny hozzászólására (») Ápr 12, 2013 /
 
Idézet:
„Idézet:
„100k ellenállással rákötöm egy bemeneti lábra az USB 5V-ot, illetve földre kötöm egy alacsony (2k7) ellenállással.”
Fordítva logikusabb lenne.”


Ha megnéztétek volna a kapcsolási rajzot, kiderült volna, hogy a 2k7 közvetlenül az UBS +5V -jára megy (ott 2 mA terhelést okozva, ha megvan az 5V). Ha nincs meg az USB +5V, akkor földre hűzza a tápot. Az USB +5V pontjáról a pic lábára megy a soros 100k, az itteni impedancia viszonyok mellett röhögve megvan a min. 4V is a magas szinthez. A nagy ellenállás azért kell, hogy saját táp nélkül csatlakoztatva ne csináljon tápfeszültséget az USB +5V a bemenet védődiódáján keresztül. Amit ajánlottam, végiggondoltam, kimértem, bevált, összangban van a Microchip ajánlásával. Bármelyik láb használható a USB csatlakozás érzékelésére csak a MCLR nem. Hogy az FSUSB melyiket használja, az más kérdés, de erről nem írtam semmit sem.
(#) anemo válasza proba hozzászólására (») Ápr 12, 2013 /
 
Már kínomban a tápszűrő kondikat is leszedtem, de úgy is elszáll :S De csinálok új feszszabályzót, aztán meglátom mi lesz. De lehet azért a resetet be kellene kötnöm (?), majd otthon tesztelgetem. Veszek egy Pickit-et hamarosan, de ha tényleg rossz a PIC, nem tudom rámerjem-e a Pickit-et dugni.
(#) icserny válasza Hp41C hozzászólására (») Ápr 12, 2013 /
 
Idézet:
„a 2k7 közvetlenül az UBS +5V -jára megy (ott 2 mA terhelést okozva, ha megvan az 5V).”
Ennek a "kemény" lehúzásnak csak akkor látom értelmét, ha van a kártyán kondenzátor is (max. 10 µF lehet, ha fejből jól emlékszem). Minden más esetben nagyobb ellenállás is lehetne itt, a 2k7 helyett.
(#) szpot hozzászólása Ápr 12, 2013 /
 
Üdv!

Kaptam egy pickit3 mat és nagy problémám lenne vele még nem igazán vagyok jártas a programozásban egyenlőre a kapcsolatot se sikerül létrehozni. Hogy csináljam? MPLab IDE 8.90v van felrakva
(#) tom75 hozzászólása Ápr 12, 2013 /
 
Sziasztok!

3.5 digit-es lcd kijelzőt miként lehet pic-el meghajtani?
Köszi
A hozzászólás módosítva: Ápr 12, 2013
(#) bbalazs_ válasza tom75 hozzászólására (») Ápr 12, 2013 /
 
Ugynevezett multiplexelessel.
Azt hasznaljuk ki, hogy az ember szemenek van tehetetlensegem kb 100Hz felett mar a villogo dolgokat folyamatosan vilagitonak latja.
Igy mindegyik szegmensnek a kozos labait osszekotod, a kozos masik polus ki van vezetve kulon-kulon. Igy tehat egyszer lesz 7 (vagy nyolc a ponttal egyutt) kivezetesed, valamint 4 masik, ami a szegmensek masik vege.
A PIC eloszor tiltja az osszes szegmenst, majd kiadja a 7(8) vezeteken a szam kodjat, aztan engedelyezzuk azt a szegmenst, a tobbit tiltjuk. Utana megint tiltjuk az osszeset, a 7 vezeteken ki a kovetkezo szegmens szamat, majd engedelyezzuk a szegmenst. Es igy szepen sorban. Mikor vegere er, kezdi elolrol. Erdemes megszakitasba tenni, timerrel idozitve.
Ha tul lassu, akkor villogni fog. Ha elmozditod a szemedet oldalra, akkor is erezhetsz villogast rajta.
(#) kissi válasza szpot hozzászólására (») Ápr 12, 2013 /
 
Semmi extra, csak az MPLAB telepítésénél ne vedd ki a PK3 telepítését ( már régen telepítettem, szerintem "alap" beállításoknál semmi gond nincs vele! Azután, ha csatlakoztatod és a programozók között kiválasztod, akkor mennie kell !
szerk.: remélem jól értettem: a kapcsolat a PK3 és az MPLAB között nem megoldott, nem a PIC-et nem érzékeli a PK3 ?!
A hozzászólás módosítva: Ápr 12, 2013
(#) szpot válasza kissi hozzászólására (») Ápr 12, 2013 /
 
Köszönöm! Sikerült elindulni. Viszont most ott akadtam el hogy elindítom az MPLabot és rákötöm a Pickit 3 mat utána kiválasztom és elkezd gondolkodni majd kell neki valami 5 V meg 3,?? valamennyi és csak oké vagy mégsem van ha oké akkor piros hibaüzenet. Mit kell tenni?
(#) kissi válasza szpot hozzászólására (») Ápr 12, 2013 /
 
Valószínűleg azt kérdezi, hogy a programozandó áramköröd saját tápról megy vagy a PK3 adjon neki tápot és Te a saját tápot választod. Mikor ellenőrzi, akkor azt tapasztalja, hogy nincs feszültség és ezt jelzi !
Jó lenne esetleg egy kép vagy a pontos hibaüzenet ( a barátod is tud egyébként segíteni, ha a szöveget beírod a fordítóba és egy kicsiit "beleéled" magad a helyzetbe ! ) !
Következő: »»   399 / 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