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   150 / 1210
(#) bbalazs_ válasza n_yálastrubadúr hozzászólására (») Okt 22, 2011 /
 
Az lenne az igazan nagy gaz, ha mondjuk az egyik felet lementene, a masikat nem. Miert nem csak siman 4 byte-t mentesz le, hiszen 32 bitbe boven belefer a 10 millio.
Szoval en tennek bele egy jokora pufferkondit es egy kulso fesz erzekelot az AD-ra. Ha erzekeli, hogy a kulso fesz egy kuszob ala csokken, akkor automatikusan menti a negy byte-ot. Indulaskor pedig onnan tolti be a kezdoerteket.
Az pedig egyertelmu, hogy a kijelzot a kulso aramforras taplalna, a pufferkondi dioda mogott csak a PIC-et pufferelne.

Az eeprom mentesre van peldarutin a PIC adatlapjaban.
Azt masold be, menni fog.
(#) Firefighter1 válasza szitko hozzászólására (») Okt 22, 2011 /
 
Bocsi félreirás volt, mert közbe 6-an beszélnek a fülembe
kerámia akart lenni akkor 100nF-es? köszönöm
(#) Firefighter1 válasza n_yálastrubadúr hozzászólására (») Okt 22, 2011 /
 
Köszönöm
(#) n_yálastrubadúr válasza bbalazs_ hozzászólására (») Okt 22, 2011 /
 
A 628-ban
nincs A/D. A minta szerint csináltam,úgyis hogy ahogy a saját adatlapján van. Menti is, ha kikapcsolom hozzávetőleg onnan ahol volt elindul a program számolgat de ha akármelyik helyiérték 9 után váltaná a következőt inkább nullázódik. Amúgy egy stabkocka + egy viszonylag új 3,7 voltos sanyiericson akksi is lenne benne.

-Ja meg valamikor 0-ról indul-
(#) watt válasza vicsys hozzászólására (») Okt 22, 2011 /
 
Tudom, hogy ez hasznos, de ezeket inkább egy elektronikai alapok topic elejére kéne tenni, és nem a PIC, hanem általában a CMOS áramkörök alapjai lennének. A probléma az, hogy elektronikai alapok nélkül ez nem megy, de ezt nem neked kell bizonygatnom.
Ettől a megjegyzésemtől eltekintve, támogatom az ötletet.
Esetleg a kezdésről írt cikkem linkjét is ajánlhatnám a többi közé? Bővebben: Link

Az MCLR kérdésében is pontosítani érdemes.
Elkerülhetetlen, hogy itt az égetést is belekeverjük.
Tehát, csak akkor kell és szabad 10k-val felhúzni Vdd-re az MCLR-t, ha a PIC saját táppal rendelkezik(céláramkörök, próbapanelek).
Ha nem, mint pl. égető adapterek, akkor a Vss-re kell húzni az MCLR-t. Ekkor nem lehet futtatni a programot, de egy adapterben nem is kell.
Az MCLR-t akkor is húzni kell valahová a céláramkörben, ha belül kikapcsoltuk, és nem használjuk másra, mert csak bemenet lehet, CMOS bemenetet nem szabad lebegtetni a zavarok miatt és egyébként is programozói módba válthat az indukált, vagy sztatikus feszektől, valamint tönkre mehet.

Az XT-t 4MHz alatt használjuk, 4MHz-nél és felette HS. Néhány esetben előfordul, hogy egy 4MHz-es kristály jobban működik XT módban, de nem ez a jellemző.

A felsorolásnek nem kell egyből teljesnek lennie, majd bővítjük egy moderátornak elküldött kérésben.
(#) pcroland válasza Hp41C hozzászólására (») Okt 22, 2011 /
 
Mind a kettőt sikeresen felprogramoztam, töröltem. Az újraprogramozás viszont nem jött össze. PICkit2 programmerben nem tudom programozni úgy a PIC-et, hogy egyszerűen rákötöm a külső 5V-ot a Vss-re és Vdd-re?
(#) n_yálastrubadúr hozzászólása Okt 22, 2011 /
 
Bocsánat. Hogyan lehet, ha lehet programból az egész EEpromot törölni. Mert még újraírás után sis benne marad 'má meg az érték. Mplabban nem is látom hol lehetne törölni
(#) pcroland válasza pcroland hozzászólására (») Okt 22, 2011 /
 
Ja és, hogy, hogy nem kell semmi az adapterbe a foglalatokon kívül, ha PICkit2-ővel programozok. (Emlékeztek mennyit szenvedtem az MCLR ellenállással...)
A zenetom féle adaptert építettem meg.
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Okt 22, 2011 /
 
A szimulátorban leállítod a programot és és az EEPROM adatterületet átírod az ablakában...
(#) Hp41C válasza pcroland hozzászólására (») Okt 22, 2011 /
 
Milyen konfigurációt programozol? Belső oszcillátor, MCLR letiltva, a PGC és / vagy PGD vonal kimenet? Ne adj külső tápot, a PICKit2 programozóban állítsd be a "Use Vpp first program entry" módot. A belső oszcilátor miatt a program elindul, kimenetnek állítja be a PGC/PGD vonalat, mielőtt a programozó elkezdte volna a kommunikációt...
(#) n_yálastrubadúr hozzászólása Okt 22, 2011 /
 
Nemtudsz segíteni abban, hogy, minden helyi értékemnek külön regisztere van amit minden körben beírok az eepromba. Tehát 8 regiszter mentegetek.
(#) pcroland válasza Hp41C hozzászólására (») Okt 22, 2011 /
 
EZ a konfig. Mindegyik láb foglalt, úgyhogy gondolom igen. Az MCLR-t ki kell kapcsolni? Hol lehet beállítani azt, amit írtál?
(#) n_yálastrubadúr hozzászólása Okt 22, 2011 /
 
Ha minden körben mentem az eepromba az infókat akkor ahogy olvasom nagyon gyorsan elhasználódik. Mert soknak tűnik a 100E vagy 1M de ha csak 4MHz megy és egy 400 soros program minden körben ment akkor gyorsan összejön a plafon..??
(#) Norberto válasza n_yálastrubadúr hozzászólására (») Okt 22, 2011 /
 
Ilyen gyakori eseményeket nem szoktak EEPROM-ba írni, ez tény.
(#) n_yálastrubadúr válasza Norberto hozzászólására (») Okt 22, 2011 /
 
Akkor mi módon jegyezzem meg pontosan a visszaszámláó értékét tápkimaradás esetén? Csak egy módja van ha lassítom a mentegetéseimet???
(#) watt válasza n_yálastrubadúr hozzászólására (») Okt 23, 2011 /
 
Az első normális kérdésed, erre válaszolok is.
Kialakítod a tápellátást úgy, hogy áramszünet esetén legyen idő elmenteni az EEPROM-ba az értéket. Ezt diódával, kondival tudod megoldani.
Ki kell alakítani egy gyers ágat, ahol gyorsan megszűnik a feszültség áramkimaradás esetén. A/D-vel, vagy komparátorral figyeled ezt a pontot. A komaprátor gyorsabb(hardver) és ha jól emlékszem a 628A-t használod, abban csak ez van. Köszöbszint átlépése megszakítást generáljon, amikor is elmented a szükséges értékeket. A szimuláció megmondja, hogy mennyi idő alatt történik a mentés(stop watch). Már csak a megfelelő nagyságú kondit kell a PIC tápra akasztani és diódával leválasztani a viszirányú áramokat. Én saccra 1000µF-ra gondolok első körben. Ha kevés duplázd meg, de lehet, hogy 470µF is elég. Nem tudom mennyi a teljes áramfogyasztás. Ha netán túl sok, akkor a PIC-nek külön tápkört kell kialakítani.
(#) Firefighter1 hozzászólása Okt 23, 2011 /
 
Sziasztok...
Mindent összegezve jó az elképzelés?

C1,C4,= ez a kondi
C2, = ez a kondi
C3, = ez a kondi
C5, = ez a kondi
A kivezetés ledeket fog vezérelni valószínű uln-en keresztül.
Illetve a felhúzó ellenállásokra láttam 2.2k Ohm-osat és 470 Ohm-osat is.. Melyik a jobb megoldás? Ha egyáltalán jó az elvi rajz...
Köszönöm...
(#) pcroland válasza Firefighter1 hozzászólására (») Okt 23, 2011 /
 
Már egyszer lerajzoltam neked, hogy mik az alkatrészek értékei. Be is linkeltem a kondikat. Ha az 5V előállításához szükséges kondiknál elakadsz, akkor egy ideig hanyagolni kéne a PIC-eket
(#) bbalazs_ válasza n_yálastrubadúr hozzászólására (») Okt 23, 2011 /
 
Szerintem percenkent boven eleg menteni, ha folyamatosan csinalod. Az aramkimaradas alatt nem tudod, mennyi ido telik el, felesleges masodpercre pontosan ujrainditani.
De inkabb azt javaslom, hogy
1. 32 biten tarold a szamot elojel nelkul
2. a kijelzett szamot ebbol kepezd
3. csak akkor ments, ha elmegy a kulso tap
(#) Hp41C válasza pcroland hozzászólására (») Okt 23, 2011 /
 
Eltaláltam a konfigurációt... Tools / Use Vpp first Program Entry". Nem szabad ebben az esetben kívülről táplálni.

Néha már tényleg kétségbe esek.. A problémára a választ már több, mint egy éve leírtam a cikkben...

FSZPK2_7.JPG
    
(#) n_yálastrubadúr válasza bbalazs_ hozzászólására (») Okt 23, 2011 /
 
Ez jó ötlet. Még 24 biten is elféne a 10M de hogyan fűzöm össze őket, hogyan származtatok belőlük a decimális helyiértéknek megfelelő számot. Az oké hogy 24 bit az 16.772.215 , de hogyan lesz a 3 darab 8 bites regiszteremből ez a decimális szám?
(#) pcroland válasza Hp41C hozzászólására (») Okt 23, 2011 /
 
Köszi! Ha a Use Vpp first-el programozom fel, akkor tudom törölni és újraprogramozni is? Az MCLR-t pipáljam be?
(#) Poostmaster válasza n_yálastrubadúr hozzászólására (») Okt 23, 2011 /
 
Én ennél még egyszerűbben csinálnám.
Mint az elején írtad, 1 év múlva kell kinyílnia. Nem tudjuk, mert nem írtad, hogy ki KELL nyílnia, vagy akkortól lehet. Ez mindenesetre ~8760 óra. Óránként mented. Ez egy 14 bites szám. Az időintervallum alapján nem számít, hogy esetleg kimarad 1-vagy 2 óra. Ráadásul megoldhatod, hogy ha észleled az áramszünetet, (ami feltételezhetően nem gyakran fordul elő) akkor rádugsz egy backup akkus tápot (ha nem építed be) és folytatja a számolást.
(#) bbalazs_ válasza n_yálastrubadúr hozzászólására (») Okt 23, 2011 /
 
Hat, miutan 4MHz-en ketyeg es van idod, mast ugysem csinal a cucc, en igy csinalnam:
Atteszed ideiglenes taroloba az erteket.
Addig vonsz ki belole tizmilliot, amig az eredeti szam ez ala nem csokken. Ahanyszor sikerult, annyi a helyiertek.
Aztan akkor addig vonsz ki belole egymilliot, amig ez ala nem csokken. Annyi a helyiertek, ahanyszor sikerult. A vegen szazezer, tizezer, ezer, szaz, tiz. Ami marad az az utolso helyiertek.
Mivel a PICed 8 bites, ezert 4 (vagy 3) memoriacimet kell ehhez hasznalnod. A neten van sok peldaprogi, hogyan kell tobb byte-os szamokkal muveleteket vegezni.
Sajnos nem egyszeru, mert mindig mind a negy memoriacimmel kell fogalkozni, legalabbis atvitel szempontjabol. Tehat osszeadasnal pl. erdemes az ADC-t hasznalni a sima ADD helyett. Elotte persze carry-t torolni.
(#) n_yálastrubadúr válasza bbalazs_ hozzászólására (») Okt 23, 2011 /
 
Köszi. Jó a Topic, mert kétségbeesnék. Gyakorlatilag ez egy tökéletes kulcs, innen megoldom.
(#) Hp41C válasza pcroland hozzászólására (») Okt 23, 2011 /
 
Idézet:
„Ha a Use Vpp first-el programozom fel, akkor tudom törölni és újraprogramozni is?”

Remélem fogod tudni törölni és programozni... Nem kell bepipálni semmit sem, a program tudja miként kell belépni a programozási módba...
(#) pcroland válasza Hp41C hozzászólására (») Okt 23, 2011 /
 
Rendben. Amúgy már kidobtam azokat a PIC-eket Veszek újat. A Use Vpp first legyen bekapcsolva programozásnál és törlésnél is vagy csak az esetleges törlésnél? Holnap megyek a cuccokért. Akkor már ki is tudom próbálni a PIC-et.
(#) Hp41C válasza bbalazs_ hozzászólására (») Okt 23, 2011 /
 
Nem is tudom megszámolni, hányszor linkeltem már be ezt az oldalt...

Minek ennyit számoltatni a kontrollert??? (70..80) darab 3 byte - os kivonás + (7..8) db byte - os összeadás + ciklus szervezés...

Egy tetszőleges bitszámra bővíthető bináris pakolt BCD átalakító rutin. 16000000 -ig 24 * 4 ciklus egyszerű byte -os műveletekkel...
(#) Hp41C válasza pcroland hozzászólására (») Okt 23, 2011 /
 
Csak nem vitték el máris vasárnap és nemzeti ünnepen...
(#) Hp41C válasza Hp41C hozzászólására (») Okt 23, 2011 /
 
Még egyszer:

Ha a MCLR funkció le van tiltva és a belső oszcilátorral jár a kontroller, a programja elindul a Vdd rákapcslásakor a MCLR láb alacsony szinje ellenére. A program néhány utasításon belül a PGC és / vagy PGD vonalakat kimenetnek állítja be. Hiába viszi a kontrollert programozási módba a programozó, nem fog tudni reagálni az ICSP parancsokra, hiszen nem is érzékel (PGC kimenet) / hibásan veszi (PGD kimenet) az parancsokat. Ekkor kell a "Use Vpp first őrogram entry" mód. Hasonló a szituáció, ha a PGC / PGD lábat T1 oszcilátornak használjuk.

Ha a MCLR fnkció engedélyezett, akkor a programozó reset állapotban tudja tartani a kontrollert a Vdd rákapcsolása alatt és után, a program nem indul el. A MCLR egyből Vpp -re vált, és kezdődhet az ICSP kommunikáció.

Érdemes lenne a "restore" funkciót alkalmazni a "recycle bin" kiválasztott elemeire (pic kontroller)...
Következő: »»   150 / 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