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   366 / 1210
(#) R4v3n válasza hepi02 hozzászólására (») Feb 7, 2013 /
 
Én is néztem egy support listát, de valami olyasmit olvastam hogy a 18lábasokat nem szereti a Pickit2, de ezek szerint félre érthettem valamit. Köszönöm a Segítséget!
A hozzászólás módosítva: Feb 7, 2013
(#) icserny válasza norbigal hozzászólására (») Feb 7, 2013 /
 
Idézet:
„nem tudom teljesen megöltem-e”
A mikrovezérlőnek ettől nem lehetett baja.
Idézet:
„Ensure proper capacitance on VDDCORE/VCAP pin.”
Az említett láb (+) és a VSS (-) közé egy 10 µF-os kondenzátor kell. Ez rendben van? Ha igen, akkor 2,5 V-os feszültséget kell mérni rajta.
Idézet:
„ami ugye csak rövidzárra utalhat az áramkörben.”
Ennek nézz utána! Lehet fordított polaritással bekötött elko is, vagy tervezési, esetleg forrasztási hiba.
(#) norbigal válasza icserny hozzászólására (») Feb 7, 2013 /
 
Na ez jó hír! Akkor van remény. De a VCAP és VDD között ott van a 10µF-os kondenzátor.... Amit viszont ki bírtam mérni multiméterrel, az cirka 0,7 V az említett két láb között - sőt ez az érték alig 2 másodperc alatt 0-ra is csökken, mire a stabilizátor már forró volt, a PICKit2-vel pedig megszakadt a kapcsolat.
Az Eagle-ben már jópárszor végignéztem az egész kapcsolást, és nem igazán tudok mire gondolni, mert rövidzár biztos nincs, fordított polaritás sem, de már összevetettem az adatlapban lévő lábkiosztást a Microchip-től letölthető hivatalos footprint-ekkel is és abban sincs eltérés. Forrasztási malőrre tippelnék, de elképzelésem nincs hol :| Lehet, hogy tényleg le kell pucolnom egész NYÁK-ot és darabonként visszaforrasztani háta kibukik a hiba....
(#) norbigal hozzászólása Feb 7, 2013 /
 
icserny!

Elkezdtem darabonként leszedni az alkatrészeket és a 3,3V-os stabilizátor szűrőkondenzátorai rövidzárként viselkedtek! :| Ez így totálisan értelmetlenül hangzik, pedig bekötésükre is ügyeltem (lévén, hogy polaritás függő volt mindkettő) de csak akkor kapja meg a kontroller a tápfeszültséget, ha ezeket és magát a stabilizátort is kiiktattam az áramkörből. Feltöltöttem a képet az "életet jelző LED" fényéről. Azt hiszem el kell telnie pár napnak mire ezt megemésztem, viszont a probléma részben még mindig fenn áll, ugyanis:
A PICKit2 már kijelzi, hogy felismerte a PIC24-es eszközt, szintén ezzel a progival képes vagyok kiolvasni a memóriát(bár pár pillanatra olvasás közben befagy a program, amit más PIC-nél nem tapasztaltam de összességében kiírja, hogy DONE. Viszont ha MPLABX-ben be akarom tölteni a megírt programom (ami csak egy main és while ) akkor kiírja, hogy nem képes kommunikálni. Javíts ki ha tévednék, de a kiolvasáshoz és íráshoz is ugyanazokat a lábakat használja a debuger, szóval akkor mi lehet az oka annak, hogy olvasni enged, írni nem? Pontosabban nem is, hogy nem enged, hanem nem is észleli a kontrollert. Nem lenne esetleg erre is valami okos ötleted?
(#) n_yálastrubadúr válasza norbigal hozzászólására (») Feb 7, 2013 /
 
Nézd meg így félig már nyugodtan hogy egyáltalán mi az a regulátor amit vettél, kaptál nem e fordítva kötötted be.
(#) norbigal válasza norbigal hozzászólására (») Feb 7, 2013 /
 
Probléma megoldva! Magától.... Most elindítottam MPLAB_ot és képes volt betölteni a programot. Érdekes, bár lehet zavart okozott, hogy PICkit2 szoftvere mellett akartam MPLAB-ot indítani. Így már csak a stabilizátor körüli sötét foltokat kellene valahogy kivilágosítanom.
(#) norbigal válasza n_yálastrubadúr hozzászólására (») Feb 7, 2013 /
 
Sajnos nem kötöttem be rosszul, mert én is erre gondoltam de elég sokszor átnyálaztam az adatlapját és azt a két ábrát ami pontosan erre a típusra vonatkozik nem lehet mellénézni. :S Főleg, hogy a gyártó oldaláról töltöttem le a saját footprint-jét, szóval még azt sem mondhatom, hogy én szerkesztettem az alkatrészt az Eagle-ben. Sajnos nem értem a dolgot. :| De így már nyugodtabban fogok rajta agyalni, hogy legalább a panel beindult.
(#) mrobi hozzászólása Feb 7, 2013 /
 
Sziasztok! MikroC-t használok. LCD kijelzőre szeretnék kiírni egy számot. Van az 'i' változóm. Ezt átkonvertálom ascii kóddá és csak az első karaktert szeretném kiíratni az első helyre, de valamiért mindig a negyedik helyre íjra.
  1. char mytext[4];
  2. char out;
  3. char i;
  4.  
  5. void main()
  6. {
  7.  
  8.    Lcd_Init();
  9.    Delay_ms(100);
  10.    Lcd_Cmd(_LCD_CURSOR_OFF);
  11.    Lcd_Cmd(_LCD_CLEAR);
  12.    i=0;
  13.    
  14.    while(1)
  15.    {
  16.  
  17.     ByteToStr(i,mytext);
  18.     out=mytext[0];
  19.     Lcd_Out(1,1,out);
  20.     Delay_ms(500);
  21.     i++;
  22.     }
  23. }
(#) icserny válasza mrobi hozzászólására (») Feb 7, 2013 /
 
Nem értek a MikroC függvényeihez, de a leírás alapján úgy látom, hogy ha csak egy karaktert íratsz ki, bölcsebb lenne az Lcd_Chr() függvényt használni.
(#) mrobi válasza icserny hozzászólására (») Feb 7, 2013 /
 
Igen. Bölcsebb lenne. Köszi, így már jó lett!
(#) Balázs 1.3 JTD hozzászólása Feb 7, 2013 /
 
Sziasztok!

Nem találtam meg a megfelelő topikot ahova írhatnék ezügyben, így mivel PIC-es akksitöltőt készítek, így egy ezzel kapcsolatos méretezésbeli kérdést muszáj vagyok itt feltenni.
Az lenne a kérdésem, hogy egy 5W-os ellenállás üzemelhet tartósan 95°C-on? Elvileg csak 1,5wattot disszipál el, ezért nem értem a helyzetet. Maradhat így?

ui:elnézést, hogy nem találtam meg a legmegfelelőbb topikot
(#) n_yálastrubadúr hozzászólása Feb 8, 2013 /
 
Jó napot!
Hogyan kell a válozókat feltűntetni, ha a különböző eljárásaim szét vannak szedve különböző forrásokban. Ha egymás alatt vannak jó, csak részegységeket különbontva mindegyik kapott egy önálló forrást.
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Feb 8, 2013 /
 
Az extern -nek nézz utána...
(#) n_yálastrubadúr válasza Hp41C hozzászólására (») Feb 8, 2013 /
 
Köszi! Ilyen tipusú változókat kell létrejozni?
(#) n_yálastrubadúr hozzászólása Feb 8, 2013 /
 
A kézikönyvből nem sok mindent tudtam kihámozni. Ha létrehozom egy extern char x; ként akkor:
Error [499] ; 0. undefined symbol:
_x(hi-tech.obj)
ezt írja.
(#) n_yálastrubadúr hozzászólása Feb 8, 2013 /
 
Nemtudom jól értem e ,de az extern külső szubrutinokat tesz lehetővé más forrásfájlból aminek xx.h a kiterjesztése tehát header? És azt includ-olni is kell. Nekem ezek az összetevők xx.c, xy.c stb.
A hozzászólás módosítva: Feb 8, 2013
(#) potyo válasza n_yálastrubadúr hozzászólására (») Feb 8, 2013 /
 
Egyik forrásfájlban létre kell hoznod a változót normál módon, a másik fájlban pedig ugyanúgy, csak elé teszed az extern szócskát. Most hogy ezt a .c vagy a .h fájlokba kell-e tenni, azt fejből nem tudom, rég használtam már, de kisérletezd ki, hogy hogyan lesz jó
(#) n_yálastrubadúr válasza potyo hozzászólására (») Feb 8, 2013 /
 
Nagyon köszi!
(#) benjami válasza n_yálastrubadúr hozzászólására (») Feb 8, 2013 /
 
Általában így szokás megoldani.
main.c:
  1. #include "modul1.h"
  2. void main(void)
  3. {
  4.   modul1char = 123;
  5. }

modul1.h:
  1. extern char modul1char;

modul1.c:
  1. char modul1char;

Hogy az extern-t jelen esetben a modul1.h-ba, vagy a main.c-be rakod, a fordítónak teljesen mindegy, hiszen az include tartalmát úgy is copy-paste módon fogja beilleszteni a fordító. Csak azért szokás a h-ba rakni, mert az tulajdonképpen a modulod interfész része.
(#) n_yálastrubadúr válasza benjami hozzászólására (») Feb 8, 2013 /
 
Nekem most nem .h-ban van és nem include képpen. Csak ahogy potyo mondta.
(#) llaczo válasza n_yálastrubadúr hozzászólására (») Feb 8, 2013 /
 
Szia n_yálastrubadúr. Köszi a jó tanácsot. Működik .
Idézet:
„call sample.time ;ki kell várnod a beállási időt”
. Ez volt a megoldás. Mégegyszer köszi. Üdvözlök mindenkit.
(#) bander91 hozzászólása Feb 9, 2013 /
 
Üdv!
Micro c ben irtam egy programot, de mikor betölteném picall-ba akkor hibaüzenetet kapok. (16f84a pic re szeretném.)
"Bad objfile format.
Unexpected EOF in objfile!!!"
Ez mitől lehet? Illetve az jó ha a hex file-t a microc example könyvtárából veszem ki? Mert konvertálási menüpontot nem találtam benne.
A kódom a következő lenne micro c ben:
void main() {

TRISA = 0x00;
TRISB = 0x00;

while (1)
{
PORTB = 1;
Delay_ms(1000);
PORTB = 0;
Delay_ms(1000);
}
}


Köszi a segítséget, ez az első probálkozásom a pic-ek világában, a frissen épített égetőmet szeretném kipróbálni ezzel az egyszerű kis led villogással. Ez az égetőm: http://plc.mechatronika.hu/egeto/eget.htm
(#) norbigal hozzászólása Feb 9, 2013 /
 
Folytattam a PIC24HJ128GP504-es projektem, és készítettem hozzá egy LED-sort is ami szerencsére már pontosan úgy funkcionál ahogy én elképzeltem. Viszont nem világos a PIC elindulása, hiszen:
Ha MPLABX-ből lefordítom a programot és betöltöm a kontrollerbe, akkor az gyönyörűen csinálja amit kell neki.
Ha viszont kilépek MPLAB-ból, és elindítom a PICKit2 szoftverét, majd ráadom a tápfeszültséget (3,3V), akkor - bár a kontroller megkapja a tápot, de a beleírt program nem indul el. Ennek mi lehet az oka? Ha ugyanezt eljátszom egy PIC16F887-es chip-pel, akkor az a tápfeszültség hatására rövid várakozás után elindítja a beleégetett programot, de a 16 bites PIC-nél nem.
(#) icserny válasza norbigal hozzászólására (») Feb 9, 2013 /
 
1. Felteszem, hogy az MCLR lábat nem tartod lehúzva (Release form reset)
2. A programot ne Debug, hanem Release módban fordítsd! (MPLAB ablak beállítási opciója)
(#) norbigal válasza icserny hozzászólására (») Feb 9, 2013 /
 
MCLR-t nem piszkálom, viszont MPLABX-ben nem igazán találom a Release módot, de a vicc, hogy a HELP sem sokat írt róla. De így neten utána keresetem és meg van a válasz. Köszi!
(#) pumpa hozzászólása Feb 9, 2013 /
 
Sziasztok!
Írtam egy kis programot Flowcodal, a szimulációjában jól működik, de a PICkit2 demópanelján csak az első kettő Led villog. Ha lenyomom a nyomógombot nem csinál semmit, pedig akkor kellene villogni a másik két Lednek. Vajon mit nem csináltam jól?
(#) pjg válasza pumpa hozzászólására (») Feb 9, 2013 /
 
Ez nem Flowcode program.
(#) pumpa válasza pjg hozzászólására (») Feb 9, 2013 /
 
A PICkit 2-ből másoltam ide. És itt a Flowcode program.
(#) Kovabe válasza pumpa hozzászólására (») Feb 10, 2013 /
 
Szia
A feltételes elágazásnál ne egyenlöségjellel értelmezzél hanem pl:"Ha Switch >0", igy szerintem biztosabb, lehet hogy hülyeség de nekem igy müködik az összes programom.
(#) pumpa válasza Kovabe hozzászólására (») Feb 10, 2013 /
 
Szia!

Ha így csinálom ahogy Írtad a szimulációba sem megy a nyomógomb,de a PICkít2 próbapanelba megfordultak a Ledek, de nem veszi figyelembe a nyomógombot.
Következő: »»   366 / 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