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   539 / 1209
(#) eSDi válasza tango51 hozzászólására (») Jún 23, 2014 /
 
Üdv!

Az egyik olyan 16bit-es számlálót kell használnod, aminek van külső órajel bemenete. Arra megy majd a mérendő jel. Viszont ezt a jelet kapuzni kell. 1s-os GATE-el 65535Hz-ig tudsz majd mérni 1Hz-es felbontással. 100ms-os GATE-el már elérhető az 50MHz is, de előosztót kell a Timer-nél beállítanod. Bővebben: Link innen el tudsz indulni, ha tanulmányozod a programját.
(#) Hp41C válasza tango51 hozzászólására (») Jún 23, 2014 /
 
Ha a mérés alatt még mást is szeretnél a kontrollerrel végezni:
Válaszd a Timer1 -et vagy a Timer3 -at (Ha timer0 lehet 16 bites is, akkor a kontroller min. 18F). Az előosztót állítsd be, hogy igaz legyen az alábbi képlet: 20ns < Tt1p < (Tcy+40) / N. A timer2 /vel és egy CCP modullal könnyen megoldható az 1 s (vagy bármi más) kapuidő külső alkatrészek nélkül (egy átkötést leszámítva). A CCP capture módban a Timer1 vagy Timer3 16 bites értékét a CCP bemenet vátásakor eltárolja. Az esetleges túlcsordulásokat programmal lehet számolni. Mivel minden funkció megszakítással kezelhető, a műszer bármi mást is csinálhat a mérés közben.
50MHz esetén a 100Hz felbontás min. 2 ppm -es időalapot igényel. A normál quartz 20..50 ppm -es, a tokozott oszcillátor 20..10 ppm -es. A pontosabbak pokoli drágák. Egy 20 ppm -es időalappal nincs értelme 1 kHz -es felbontás alá menni.
A hozzászólás módosítva: Jún 23, 2014
(#) don_peter hozzászólása Jún 23, 2014 /
 
Srácok, nem vagyok nagy guru az elektronikában, így ismét hozzátok fordulok.
A kérdésem a linkelt kapcsolásom egy két pontjára írányul.
Ez egy Bináris óra alap panelja lenne:

1. véleményetek szerint hová érdemesebb vagy célszerűbb raknom a kristályt a kölök panel alá vagy is a PIC alá vagy esetleg a PIC mellé?
Azért ez a kérdés mivel SMD kivitelben van a PIC így egy kölökpanelt készítek és azt fogom tüskesorosan rányomni a főpanelre.
Tehát 1-es vagy a 2-es helyre tegyem a kristályt?

2. a második kérdésem az akuval kapcsolatban lenne.
Egy másik topikban láttam ezt az akus kiegészítést ami a főnyák bal szélén foglal helyet.
Egy 3-5v-os elem kerülne majd bekötésre az esetleges áramszünetekből adódó ismételt beállítások elkerülése érdekében.

Kérlek benneteket ellenőriztek le, hogy lehetőleg ne jöjjön ki semmiből sem a füst.
Köszönöm.
(#) eSDi válasza don_peter hozzászólására (») Jún 23, 2014 /
 
Üdv!

Ha befér a kispanel alá, akkor ott jobb, mert közelebb van a PIC-hez.

Az akkus rész nem jó. Így töltődne, de nem jut vissza a fesz a stab kimenetére.
A mellékelt kapcsolás szerint kellene megoldanod.

A sávvezetéseket még nézd át szerintem, ha te alkottad. Lehet még optimalizálni pár helyen (pl.: a felső részen a GND vezetése nem túl optimális).
A hozzászólás módosítva: Jún 23, 2014
(#) don_peter válasza eSDi hozzászólására (») Jún 23, 2014 /
 
Köszönöm.
Módosítottam, így már jó lesz?

Azon agyalok, hogy mekkora kapacitású aku kellene ahhoz, hogy akár egy napot is elmenjen a kapcsolás.

ui: bináris óra 20db led kapcsolgatása..
A hozzászólás módosítva: Jún 23, 2014
(#) eSDi válasza don_peter hozzászólására (») Jún 23, 2014 /
 
Így jó lesz. A kellő akku kapacitást, csak úgy tudot meghatározni, ha megméred a stab IC után az áramfelvételt, akkor amikor a legtöbb LED világít. Ha multiplexelve vannak a LED-ek, akkor akár elég sokáig is működhet. Az ilyen eszközöknél, áramszünet esetén általában csak az óra jár és nincs kijelzés, így nagyon sokáig működhet.
(#) Pali79 válasza don_peter hozzászólására (») Jún 23, 2014 /
 
200 mA-rel számolva (ami elég sok) egy napra 4,8 Ah-ás akksi kellene. Ezért szoktak RTC ic-t berakni, az egy gombelemmel hetekig elmegy, viszont nincs kijelzés ha nincs áram.
(#) don_peter válasza eSDi hozzászólására (») Jún 23, 2014 /
 
Értem és köszönöm a segítséget és a kimerítő választ.

Igen multiplexelve lesznek a ledek.
Arra is gondoltam amit említettél (csak az ic kap áramot, ha nincs hálózat), de ahhoz az egész nyákot újra kell tervezzem. (Későbbiekben egy újabb változatban már így lesz)
Lényegében elmondható, hogy 1-3óránál tovább nem szokott áramszünet lenni így maximum ezen idővel kell számoljak és ahogy mondtad kimérem majd az áramfelvételt és ahhoz mérten teszek rá akut..

Pali79-nek is megy ez a válasz:
Közben én is számolgattam és ha jó a gondolatmenetem a legtöbb led akkor világít amikor 17:37:37 következik be, ekkor 14db led villanik fel egyszerre vagy is multiplexelve.
1led kb. 20mA-ert fogyaszt, vagy is 20x14 == 280 + egyéb áramkör.
Tehát kb. 300mA-es lenne a maximum fogyasztása az órának.
Nyilván itt minden állásban ki kellene számolnom mennyit fogyaszt és azt átlagolnom szóval ez csak tényleg a maximum felvétel meghatározására lehet jó. (Persze nem pontos így sem)


Köszönöm.
(#) Bakman válasza eSDi hozzászólására (») Jún 23, 2014 /
 
Pongyolán foglmazva: 12 V-tal tölteni egy 12 V-os akksit? Kevés.
A hozzászólás módosítva: Jún 23, 2014
(#) eSDi válasza Bakman hozzászólására (») Jún 23, 2014 /
 
Ez csak egy példa volt...
(#) eSDi válasza don_peter hozzászólására (») Jún 23, 2014 /
 
A számításod nem biztos, hogy jó, mert a multiplex miatt csak egy kis időre villannak fel a ledek. Magyarán a kitöltési tényezőnek megfelelő áramot fogsz mérni majd.
(#) Kovabe hozzászólása Jún 23, 2014 /
 
Sziasztok
Szenvedek az mplab-el de nem sikerül a dolog.
Abban kérném a segítségeteket hogy egy adott asm file-t hogy tudok belezsufolni egy 12F675-be mert amikor exportálok akkor 91kb-os file-t csinál mig nekem sokkal kissebb hely áll rendelkezésemre.
Ha feltöltöm ide a file-t akkor valaki tud segíteni a forditásban?
Üdv Kovács G
A hozzászólás módosítva: Jún 23, 2014
(#) icserny válasza Kovabe hozzászólására (») Jún 23, 2014 /
 
Nem a fájlméret számít, hanem az, hogy a memóriában mettől-meddig helyezkedik el a program. Kis gyakorlattal az Intel HEX formátumú állományból is kiolvasható, de az MPLAB Memory Gauge menüpont is elárulja.
(#) Kovabe válasza icserny hozzászólására (») Jún 23, 2014 /
 
Az igazság. idáig flowcode-al irogattam programokat de most találtam egy file-t amit kicsit modosítanom kellene majd leforditani hex-be de ez az MpLab nekem magas
(#) Bakman válasza eSDi hozzászólására (») Jún 23, 2014 /
 
Rendben, csak a hibás példa ragadós...
(#) Kovabe válasza icserny hozzászólására (») Jún 23, 2014 /
 
Közben megoldodott, rosszul másoltam be az asm file-t.
(#) Kovabe hozzászólása Jún 23, 2014 /
 
Még egy gond amire nem tudok gombotvarrni, egy hibaüzenetett kapok de nem tudom miért.
Idézet:
„Programming Target (2014.06.23. 21:51:51)
PIC12F675 found (Rev 0xB)
Erasing Target
Programming Debug Executive (0x-300 - 0x3FF)
Verifying Debug Executive (0x300 - 0x3FF)
Programming Debug Vector
Verifying Debug Vector
Programming Configuration Memory
Verifying Configuration Memory
PK2Error0028: Unable to enter debug mode
NOTE: This device requires an ICD Header for debug. See "Header Specification" DS51292.
PICkit 2 Ready”

Valaki meg tudja mondani mi a baj?
A hozzászólás módosítva: Jún 23, 2014
(#) don_peter válasza Kovabe hozzászólására (») Jún 23, 2014 / 1
 
Így elsőre: DEBUG módban van a program.
Állítsd RELEASE-re.
A hozzászólás módosítva: Jún 23, 2014
(#) kissi válasza Kovabe hozzászólására (») Jún 23, 2014 / 1
 
Szerintem nem programozóként, hanem debuggerként használod a PK2-t ( a PROGRAMMER-nél válaszd ki, ne a DEBUGGER fülön!) !
(#) Kovabe válasza don_peter hozzászólására (») Jún 24, 2014 /
 
Igen köszönöm sikerült.
(#) Pali79 hozzászólása Jún 24, 2014 /
 
Sebességmérőt szeretnék készíteni 16F877A-val és egy kis segítségre lenne szükségem. Odáig eljutottam, hogy a CCP2-vel figyelek egy HALL szenzort. Minden kiolvasás hatására az Timer1 értékét elmenti két-két regiszterbe, tehát minden második kiolvasásra van két eredmény amiből számolni lehet. Nekem a kiolvasások között eltelt időre lenne szükségem a sebességhez. A példa szerint a két esemény között eltelt idő = az elmentett értékek különbsége · Timer1 léptetőjel periódusideje.
Az elmentett értékek különbsége megvan a példában is. A gondom a Timer1 periódusidejével van, mert ha a PIC-et is hajtó órajelet veszem alapul akkor ha jól tudom a periódusidő a frekvencia reciproka, ami egy baromi kicsi szám mégpedig másodpercben. Nem tudom ezzel, hogy kell számolni.
(#) brato válasza Pali79 hozzászólására (») Jún 24, 2014 /
 
A TMR1 az a PIC órajel negyedével léptet. Figyeled a periódusidőnél a TMR1 túlcsordulását is?
(#) Pali79 válasza brato hozzászólására (») Jún 24, 2014 /
 
Tudom, hogy a negyedével léptet de az is sok vagyis a periódusidő olyan kicsi, hogy nem tudom hogyan számoljak vele. A túlcsordulással nem foglalkozik a példa, így én sem, eddig. Tudom, hogy kellene, de azt sem tudom, hogy azzal mit kezdjek. Ezért is kellene a segítség.
(#) kissi válasza Pali79 hozzászólására (») Jún 24, 2014 /
 
Szia!
Idézet:
„Minden kiolvasás hatására az Timer1 értékét elmenti két-két regiszterbe, tehát minden második kiolvasásra van két eredmény amiből számolni lehet.”
Nem, minden olvasás után tudsz számolni, mert az előzőhöz képest tudod, hány impulzus jött be ! Itt figyelned kell a túlcsordulást, mert ha adat1=10500, adat2= 50500, akkor ugyanilyen sebesség mellett adat3=90500 lenne, de a 16 bites számláló ezt adat3=90500-65536 értéken fogja megjeleníteni, miközben beállítja a túlcsordulás jelzését is !

Azt, hogy ez mennyi idő, azt pedig a következőképpen tudod meghatározni:
adat2-adat1= 40000, azaz ennyit számolt, egy lépés az órajel frekijének a negyedével történik, tehát pl. fosc= 4MHZ esetén 1 us a léptetési idő, amiből a 40000 db pont 40 ms-ot ér !

Remélem nem volt túl bonyolult ilyen tömören leírva ?!

Sok sikert!
(#) tango51 válasza icserny hozzászólására (») Jún 24, 2014 /
 
Köszönöm a gyors választ.
(#) tango51 válasza eSDi hozzászólására (») Jún 24, 2014 /
 
Köszi a segitséget. Teljesen kezdö vagyok, és minden segitség jol jön.
(#) tango51 hozzászólása Jún 24, 2014 /
 
Üdv mindenkinek.
Köszönöm az eddigi válaszokat és linket. Még egy kérdés lenne. Ha a 16f84 helyett
16f884 vagy 887-et használok a 16f84-es progija probaképpen betölthetö-e és müködik-e
vele. Ugyanis igazábol egy többfunkcios müszer lenne. L-C-ESR-F.
(#) kissi válasza tango51 hozzászólására (») Jún 24, 2014 /
 
Simán nem, átdolgozva persze megoldható, de kezdőnek nem biztos, hogy egyszerű !
(#) Pali79 válasza kissi hozzászólására (») Jún 24, 2014 /
 
Hát nem teljesen értem, már csak azért sem, mert a példa tök mást mond: Bővebben: Link

Az időt értem csak azt nem, hogy ezt, hogy kell átültetni a kódba.
A hozzászólás módosítva: Jún 24, 2014
(#) kissi válasza Pali79 hozzászólására (») Jún 24, 2014 /
 
Szia!

A példa egy elvet akar bemutatni és csak két mintából számolna, pontosabban azt mutatja meg, hogy milyen elven mérheted meg a két minta között eltelt időd a CCP modul segítségével!
Nem foglalkozik azzal, hogy nullázza a számlálót, az esetleges túlcsordulás sem érdekli...
Igazából a CCP modul használatához egy kis adalék.
Csak utal arra, hogy a két mintát ki kell vonni egymásból ( adat2 -adat1 az írásomban ), időtartam számítás ( léptetési idő * darabszám= 40 ms ), konverzió és kijelzés: ezek a kapott eredmény megjelenítéséhez kellenek, ezt nem írtam az előző hozzászólásomban ( mert nem ez volt a kérdés ! ).

Idézet:
„Az időt értem csak azt nem, hogy ezt, hogy kell átültetni a kódba.”
Ez a programozás, ha most kezded, akkor ne ezzel kezdj szerintem!
Következő: »»   539 / 1209
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