Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szerintem azonnal leáll az oszci a mérővezeték vagy a műszer bemeneti kapacitásától.
Esetleg egy kapacitív osztót ki lehet alakítani a kristálynál, mondjuk egy sorba kapcsolt 22pF-ből és 22nF-ből, ennek az eredője a 22pF-től alig kisebb. A kristály melletti kondenzátor (22pF) helyére egy ilyen osztót építve úgy, hogy a 22nF legyen a föld felé, akkor már a 22nF-on nagy valószínűséggel tudsz mérni a szkóppal. Persze a kristály lábán lévő feszültség 1/1000-ét látod, azaz 1mV/osztás állásban használva a szkópot valójában 1mV/osztás lesz a kijelzés.
... azaz 1mV/osztás állásban használva a szkópot valójában 1V/osztás lesz a kijelzés.
Üdv Mindenkinek!
Volna egy kérdésem: Winpic800 programban olvastam, hogy ha Pic32-őt akarok programozni akkor 2-Wire ICSP, 4-Wire JTAG-ot ír. Ez azt jelenti pl. 2 kábelen kell összekötni az alábbi módban? Vagy valami mást?
Elegendo szokott lenni egy kabel is - tobb vezetekes...
De felre teve a trefat, legjobb ha megnezed az adatlapot, ill a programmers manualt, mi is csak onnan tudnank megmondani a valaszt. ICSP-nek csak az adat ill a clock az ami ket bekotest igenyel, ezenkivul tap ill programozo feszultseget is be kell kotni - hacsak nem sajat magad taplalod ezeket. A Vss-t akkor is be kell kotni (foldet) hogy egy potencialon legyenek biztosan. Vpp-t is, tehat nem lehet sporolni ezen tul sokat. LVP modban talan meg lehet oldani maskepp is, de nem egeszseges - ha kevesebb vezetek kell akkor javasolnam, hogy tegy ra egy bootloadert es soroson keresztul frissitsd a firmware-ed.
Üdv mindenkinek!
Az agyam kezdi ledobni az ékszíjat mert egy alap dolog szívat. #include <12f629.h> #zero_ram #fuses xt, NOWDT, NOPUT, BROWNOUT, NOPROTECT #use delay(clock=4000000) main () { int x; for(; { x=1000; delay_ms(x); output_toggle(PIN_a2); } } Tehát elvileg az A2 n lévő led másodpercenként villan fel másodpercig. Gyakorlatilag villog mint a fene, kb fél másodpercenként fél mp re. MCRL láb + on, a pic új. Mit rontottam el a progiba? Előre is köszönöm.
probald meg igy:
x=1000L; Alapban ugyanis a konstansokat byte meretunek veszi, 'L' -lel castolod long-osnak...
Üdv!
A hiba maradt Megnéztem másik progival a pic et (sima delay:ms(1000)) és így ment.
Magyaran ha nem valtozobol hanem kozvetlen ertekbol dolgozik a fuggveny akkor jo?
Miről jár ez a PIC? Az az XT fuse azt mondja nekem, hogy külső rezonátorról/kvarcról, de lehet, hogy nem így akartad. A másik progi, ami jól működik, nem véletlenül internal 4MHz-et használ?
Szia!
Igen, ott a hiba, ahol trudnai mondja. Az x-et 8 bitesnek (ccs-ben az int alapból 8 bit!) adtad meg, az 1000 meg nem fér bele 8 bitbe, csak 16-ba, de a fordító eleve az alsó 8 bitet rakja a delay-be és erről nem is szól neked. (pontosabban arról nem szól, hogy x-be csak egy 16 biten ábrázolható értéket raktál. :bonk A 1000L castolással is ugyanaz történik, azért nincs változás. Az x-et add meg 16 bitesnek: int16 x.
Pontosítom: Nem a delay-be rak a fordító eleve 8 bitet, hanem itt az x-be.
Köszönöm mindenkinek, összejött.
Általába külső 4MHz et használok mert a belső oszcival nem boldogulok Ha már az oszcinál járunk, az mitől függ, hogy pl 30 vayg 33 Pf os kondit kell rakni? Erre nem találtam választ sehol Idézet: „Ha már az oszcinál járunk, az mitől függ, hogy pl 30 vayg 33 Pf os kondit kell rakni? Erre nem találtam választ sehol” Adatlap! Általában 16F-nél 14-2., 18F-nél 2. fejezet.
Sziasztok !
Építgetek egy motorvezérlőt és az érdekelne hogy a PIC lábára közvetlenül lehet e kötni pl egy végálláskapcsolót kb 5 m vezetékkel? A zavarérzékenységere gondolok (Rf zavarok, pl mobil, vagy hálózati brumm, statikus feszültségek...stb) Vagy már érdemes ilyenkor egy tranzisztorral rángatni a bemenetet? Vagy elég csak a PIC bemenetet szűrni?
Attól függ, mennyire lehet terhelni a jeladót. Ha lehet, mondjuk 20mA-el egy le, vagy felhúzó ellenállással, akkor lehet hosszú is a vezeték, ha nem, akkor még a jeladóhoz kell építeni egy jel illesztőt, amit már lehet terhelni. Tehát a megoldást nem a PIC lábánál kell keresni...
Ha azt mondom, hogy minden válasz megvan az adatlapokban, akkor hidd el nem túlzok...
A jeladó esetemben két db reed relé ami a két végállást jelzi a PIC felé. Én úgy gondoltam hogy tranzisztorral kapcsolgatom a PIC bemeneteit. Így el van válsztva a PIC a hosszú kábeltől, a tranzisztor bázisát szűrögetem, a PIC bemeneteinél pedig a belső felhúzást állítanám be.
Hu hat ez meg milyen fordito? Eddig ami PIC-es C-t lattam annal mindnel 16 bites volt az int, es long 32 bites, ill volt amelyiknel volt short long 24 bites meg short int 8 bites (ugyanaz mint char)
Na mindegy, en ezert nem gondoltam ilyesmire
Hát igen, ccs-ben meg van variálva: a short 1 bites, a long 16, a long long meg 32 , de aki nem ehhez van szokva, átállíthatja - a hogy a kézikönyv írja - "traditional C convention"-re...
Nem értettél meg úgy tűnik. Ha 20mA-t bír a jeladó, akkor nem kell semmi, csak megfelelő le, vagy felhúzó ellenállás. De tőlem annyi tranyót teszel bele, meg szűrőket, amennyit akarsz, csak akkor nem értem miért kérdezel meg valamit, ha már előre eldöntötted a megoldást(ami egyébként szerintem nem jó...)
Az lenne a lényeg, amit watt is körvonalazott, hogy a hosszú vezetéken follyon viszonylag nagy áram, így biztosítható, hogy a vezetéken a külső zavarok minél kisebb káros jelet (zajt) generáljanak.
Azaz a kapcsolóhoz hiába teszel bármilyen zavarvédett tranzisztoros áramkört, ha a hosszú vezetéken csak a PIC felhúzó ellenállása által gnerált pártíz uA-es áramot hajtod át. Ezért javasolta watt is a 20mA áramot, amit 5V-os táp esetén egy 250ohm-os felhúzó ellenállással biztosíthatsz a PIC lábánál, a vezeték másik végén lévő reed pedig a föld felé zár. Ilyen áramnál már valószínűleg nem kell külön zavarvédelmet építeni a reed-kontaktushoz - persze az kell ehhez, hogy a kiválasztott reed a 20mA-t biztonságosan tudja kapcsolni. (Ha a környezet olyan erősen zavarterhelt, hogy ez nem elég, akkor valószínűleg szükség lesz pl. 50ohm-os jeladóra a reednél és jelvevőre a PIC-nél, esetleg optocsatolós elválasztásra is.)
Nem, nem döntöttem el hogyan fogom megcsinálni. Ezért kérdeztem meg hogy jó e amit meg akarok valósítani a gyakorlatban..tehát nem jó. Köszi a választ.
Nem a reed nél akartam szürni (ott minek?) hanem az elválasztó tranzisztor bázisánál. Lerajzoltam nagyvonalakban , értékek nélkül kb hogyan gondoltam. A PIC lábánál lévő kapacitás amolyan hardveres prell mentesítés lenne. De mindegy mert Watt már írta hogy nem lesz így jó. Tehát elvetettem. A statikus feszültségekre nem lesz érzékeny ha közvetlen a bemenetre akasztok 5 méter kábelt? (pl ha műszálas pulcsiban tapogatják a kábelt, mondjuk ez végletes csak érdekel...) A PIC ben milyen értékű felhúzóellenállás lehet? Adatlapban nem találtam erre utalást.
Köszönöm mindkettőtöknek a választ.
A pic-ben nem felhúzóellenállás van, hanem áramgenerátor. Jellemzően 50-400uA közötti az értéke.
Volna 1 kérdésem.
Ha egy PIC-ben már van progi akkor kitom azt törölni?? Ha levan kodolva akkor is ?
Azt hogy nem jó, korrigálom, inkább azon kéne elgondolkodni, hogy miért kéne plusz alkatrész, ha nem szükséges.
A sztatikus feszre a testhez képest nem lehet érzékeny a bemenet, ha 270...560ohm-al felhúzod tápra a vonalat a PIC lábánál. Akár még egy LED- is beférhet jelzőnek a felhúzó körbe.
Ki bizony. (feltéve, hogy flash van benne programmemóriának)
A "le van kodolva" alatt nyilvan a kod vedelmet (code protection) erted. Azt csak bulk erase-zel lehet torolni - legotbb programozoban egyszeruen kivalasztod, hogy "torles" vagy "erase" ha angol nyelvu, es utana mar lehet ujra programozni.
Ahogy watt mar irta, torlest csak flashes memoriaju PIC eseten lehet megtenni, azaz 12F... 16F... 18F... stb sorozatoknal. CMOS memoriajuaknal nem lehet torolni, azok egyszer irhatoak, ezek a "C" jelzesuek, pl 16C... kezdetu PIC-ek.
A PIC labai eleg jol meg vannak vedve (diodakkal) igy az ESC eleg jol ki van szurve. Amit szoktak csinalni, hogy egy aramkorlatozot beraknak a bemenet ele - pl egy ellenallast.
Ok, köszi az infót mindenkinek. Minek bonyolítsam az életemet ha nem muszáj...? Nem kap tranzisztort a bemenet, a LED pedig jó ötlet. Így az állapot visszajelzésére nem kell elpazarolnom még 2 kimenetet. Ez esetben pedig elég lesz egy 8 lábú PIC is a 628A helyett. Király Köszi!
|
Bejelentkezés
Hirdetés |