Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   957 / 1320
(#) Attila86 válasza tamitsrob hozzászólására (») Ápr 25, 2011 /
 
Találd ki hogy milyen célra szeretnéd használni a PIC-et. Ha PC-re akarod kötni valami miatt, akkor keress egy USB-s példányt. Ha méricskélni szeretnél valami analóg jelet akkor egy 12 bites A/D-jűt, ha kikapcsoláskor adatokat kell elmenteni akkor legyen EEPROM-ja stb... Gondold át mire használnád és aszerint keress mikrovezérlőt. Ha rám hallgatsz akkor mindenképp 18F-eset válassz, sokkal kényelmesebb és egyszerűbb programozni mint a 12F vagy 16F-eseket. A 24F még jobb, de az már szerintem túl bonyolult kezdésnek. (Ez szigorúan csak az én véleményem!)

Konkrétan én két típust tudok neked mondani: Ha USB-t akarsz használni akkor PIC18F14K50. Ha nem kell USB akkor pedig PIC18F25K80. Ez utóbbinak egyetlen nagy hátránya hogy mivel eléggé új mikrovezérlő, ezért PICkit2-vel nem programozható, csak PICkit3-al. De jelen esetben ez nem gond mert mint írtad, te PICkit3-at szándékozol venni. Ez a PIC18F25K80 egyébként sokkal-sokkal jobb mint a hozzá nagyon hasonló régebbi testvére, a PIC18F2523. Olyannyira, hogy csak emiatt vettem én is a múlt héten egy PICkit3-at a PICkit2 mellé.

Egyébként nagyjából szinte teljesen mindegy hogy milyen PIC-et választasz. Icserny oldalán például PIC18F4520-ra (is) találsz tananyagokat, de ezt egy az egyben felhasználhatod bármelyik 18F-es PIC esetében. Nem kell csak azért egy adott típust választani, mert arról találtál egy cikket a neten. Egy 18F-es PIC programjának vagy programrészletének átírása egy másik 18F-esre két perc alatt megvan (vagy 16F-ről 16F-re), egy 16F-ről 18F-re átültetni vagy fordítva viszont már közel sem ilyen egyszerű. Leginkább azért nem, mert más az utasítás-készlete.

Én például úgy választottam az első tanulásra szánt PIC-emet hogy megnéztem a Chipcadben hogy melyik az a 40 lábú 18F-es jószág ami a legolcsóbb és épp van raktáron.
(#) vilmosd válasza tamitsrob hozzászólására (») Ápr 25, 2011 /
 
Hali
Ma mar a PIC-ek a par 100 Ft kategoriatol kaphatoak. A 12F, 16F sorozatbol a CC arlistaja alapjan valaszthatsz. Pl 16F690 olcso, es nagyon sok periferiat tartalmaz (20 labas). 40 labasoknal jo a 16F887. A probapanelhez esetleg talalsz doksit a konyvespolcon. Vasalos technikaval nem egy nagy ordongosseg megcsinalni. Amugy kezdoknek inkabb a 16-os sorozatot ajanlanam, a konyvtarban talalsz konyveket, mintapeldakat is.
(#) icserny válasza tamitsrob hozzászólására (») Ápr 25, 2011 /
 
Idézet:
„Olyan próbapanelt ami a kezdőlapodon látható be lehet szerezni a Chipcad-nél?”
Nem tudom, hogy melyikre gondoltál.
(#) n_yálastrubadúr hozzászólása Ápr 26, 2011 /
 
Jó reggelt!
Szépen lassan a pákavezérlő program végére érek és hogy teszteljem, az egyik kritikus pontjánál megint elakadtam. Az elv ugyanis, az hogy egyszerre mérni és fűteni a pákahegy kiképzéséből adódóan nem lehet. Úgy néz ki hogy az őt mérő A/D konverzió előtt mindenképpen kikapcsolom a fetet egy bcf utasítással és a konverzió végén ha kell visszakapcsol. Nade akármilyen hosszú (mármint nem percek ) várakozást hagyok a rákapcsolt feszültséget méri, mikor elvileg a mérés alatt nem is lehetne rajta semmilyen esetre sem.

jbc.JPG
    
(#) n_yálastrubadúr válasza n_yálastrubadúr hozzászólására (») Ápr 26, 2011 /
 
...mármint a P-fetet bsf-el kapcsolom ki
(#) Hp41C válasza icserny hozzászólására (») Ápr 26, 2011 /
 
Szia!

Tényleg a 20 láb - 16F690 kimaradt...

Breadboard -ra gondolsz. Különféle méretű és minőségű kapható a HE-Store-ben és az alkatrész boltokban Lomex, ElektroKontha, stb..
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Ápr 26, 2011 /
 
Szia!

A mérőkör terhelő impedanciája nagy, a fet és a fűtőbetét kapacitása számottevő. Ha csak a mérőkörrel sül ki a kapacitás, akkor elég nagy beállási idők lehetnek. A mérés előtt a kapacitást ki kellene sütni..
(#) davidovics hozzászólása Ápr 26, 2011 /
 
Sziasztok!
A bátyám nemrég beruházott egy PICkit3-ra és van hozzá egy MPLAB is,de nem tudok PIC-hez programot írni(mivel még nem tanultam programozni) és abban szeretném a segítségeteket kérni,hogy az MPLAB-ban hogyan lehet hex fájlt beleégetni a PIC-be PICkit3-al,illetve,hogy közben mit és hogy kell csinálnom a PICkit3-al.
Az esetleges helyesírás és megfogalmazási hibákért elnézést.
(#) n_yálastrubadúr válasza Hp41C hozzászólására (») Ápr 26, 2011 /
 
Ekkor mi lenne a teendő? Hogy kissüsem a picben a mérő kapacitást? A mostani mellesleg elvi modell a monitor előtt és nincs rajta semmilyen hegy, csak a fet kapcsolt feszültsége vezetve az RA0-ra a potihoz ami a feszültségerősítőt helyettesíti. És a Fet is N-itt (mert az volt kéznél)
  1. BCF             PORTE,0                 ;FET VEZÉRLŐ LÁB = 0 (N-FET)
  2.         CALL    DELAY                   ; 4MHZ 8 BITES KÉSLELTETÉS
  3.  
  4.         ;A/D KONVERZIÓ
  5.         ;..
  6.         ;KIÉRTÉKELŐ ARITMETIKA
  7.  
  8.         ;ÉS HA A REFERNICIÁNÁL KISEBB AKKOR..
  9.  
  10.         BSF             PORTE,1

jbc2.JPG
    
(#) Hp41C válasza davidovics hozzászólására (») Ápr 26, 2011 /
 
Szia!

Csatlakoztasd a PICKit3 -at, de még ne csatlakoztasd a kontrollert. Indítsd el az MpLab -ot, állítsd be a kontroller típusát (Configure / Select device). A File / Import segítségével olvasd be a hex állományt. Válaszd ki a PICkit3 -at programozónak (Programmer / Select programmer / PICKit3). csatlakoztasd a kontrollert a PICKit3 -hoz. Programmer / Connect. Ezután a Programmer Erase -vel törölheted, a Programmer / Program -mal beprogramozhatod, a Programmer / Read -del kiolvashatod, a Programmer / Verify segítségével ellenőrizheted a programozást. Ha kész vagy, a Programmer / Udd off után csatlakoztasd le a kontrollert a PICKit3 -ról...
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Ápr 26, 2011 /
 
Szia!

Ha a fűtőbetét is be lenne ápítve, egy kis értékú terhelő ellenállást képviselne, amin keresztül a fet nF nagyságrendű kapacsitása kisülhetne a mérés előtt. Szerintem a fűtőbetét helyett egy 100 .. 470 ohm ellenállással már elfogadható beállási idő érhető el..
(#) Attila86 hozzászólása Ápr 26, 2011 /
 
Hogyan lehet az, hogy bemenetként konfigurálok egy lábat, majd H szintet kapcsolok rá. Ez után beolvasom a láb állapotát az alábbi módon:
  1. btfss   PORTB, 1

És a PIC nem ugrik, hanem az egyel következő utasítást hajtja végre! Pedig az RB1-es lábán tényleg 5V van, megmértem műszerrel. Az RB1 pedig bemenetként van konfigurálva:
  1. bsf     TRISB, 1                ;RB1 bemenet lesz
(#) Ideiglenes válasza Attila86 hozzászólására (») Ápr 26, 2011 /
 
Attila!

A kérdésed meglehetősen hiányos. Miből derül ki, hogy melyik vezérlővel próbálkozol? Vannak olyanok, amiknek analóg funkciójuk is van az adott lábon. Nem elég csak a TRIS regisztert állítani. Keresd meg a PIC-ed leírásában azt az ábrát, amelyik az adott port adott lábára vonatkozik és alaposan tanulmányozd át!
(#) Attila86 válasza Ideiglenes hozzászólására (») Ápr 26, 2011 /
 
PIC18F25K80-ról van szó. Megnéztem és igen, minden analógként is funkcionáló lábnak meg lehet adni az ANCON0 és ANCON1 regiszterekkel hogy analóg van digitális legyen-e. Eddig nem foglalkoztam vele de most beállítottam:
  1. bcf             ANCON1, ANSEL10 ;RB0 digitális láb lesz

De így sem jó sajnos.
(#) davidovics válasza Hp41C hozzászólására (») Ápr 26, 2011 /
 
Köszönöm szépen!!!
Erre nem jöttem volna rá magamtól
(#) davidovics hozzászólása Ápr 26, 2011 /
 
Még azt szeretném megkérdezni,hogy a pgm-et hova kössem,illetve ha az ic valamelyik lábához kell akkor a 12f629-esnél melyik az a láb?
(#) Hp41C válasza davidovics hozzászólására (») Ápr 26, 2011 /
 
Szia!

A legjobb, ha a PICKit3 6. kivezetésére kötöd.. A 12F629 -nél nincs ilyen láb..
(#) icserny válasza davidovics hozzászólására (») Ápr 26, 2011 /
 
Tudomásom szerint PGM láb csak az önprogramozásra, ill. alacsony feszültségszintű programozásra képes/alkalmas mikrovezérlőknél van. A 12f629 nem ilyen. A PICkit2/3 programozó 6. kivezetése ilyenkor nincs használatban.
(#) davidovics válasza icserny hozzászólására (») Ápr 26, 2011 /
 
Köszönöm,már is okosabb lettem valamivel
(#) Attila86 válasza Attila86 hozzászólására (») Ápr 26, 2011 /
 
Nos, így néz ki lebutítva az amit szeretnék:
  1. bcf             TRISB, 1                ;RB1 kimenet lesz
  2. bcf             ANCON1, ANSEL10 ;RB0 digitális láb lesz
  3. bsf             TRISB, 0                ;RB0 bemenet lesz
  4.  
  5. bsf             LATB, 1
  6. call    delay10ms
  7. call    delay10ms
  8. btfss   PORTB, 0
  9. nop
  10. nop

Az RB0 és RB1 lábak egy 10k-s ellenállással vannak összekötve. Tehát ha H szintet állítok be az RB1-en akkor H szint van az RB0-án is. A programban viszont a btfss után a nem ugrik hanem az első nop-ra lép a PIC, pedig ugrania kellene.
(#) n_yálastrubadúr válasza Hp41C hozzászólására (») Ápr 26, 2011 /
 
Tehát a Fet Source lábát terheljem egy a megadott ellenállásall? Mert akkor fixen mindig 5volton lesz a bemenet. Vagy a fetet zárjam 100- 470ohmal? Vagy nemértem
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Ápr 26, 2011 /
 
Rajzold le a tervezett fűtő - mérőkört!
(#) n_yálastrubadúr válasza Hp41C hozzászólására (») Ápr 26, 2011 /
 
Az gyakorlatilag az első mai kép lenne. De nem értem ha az A/D mérés előtt a fet egy bcf utasítással totálisan áthatolhatatlan a mérés idejére, mikor után lehetősége van abszolút vezetni. Közben mégis teljesen ráteszi az N-fet esetében a 0-át teljesen az RA0- bemnetre pedig a mérés közben ez lehetetlenné van téve
(#) watt válasza n_yálastrubadúr hozzászólására (») Ápr 26, 2011 /
 
Olvasd el amit írsz! Te érted?
(#) n_yálastrubadúr hozzászólása Ápr 26, 2011 /
 
Szóval most így ennyi a teljes programjával. Úgymint üdvözlés, készenlét (150c-re áll a ref 8 perc), alvó (csak a az Atx-tápot állítja le kb 40perc), kilépés és az állapotokhoz tartozó szöveges üzenetek, alvó módban rossz rövid viccek. De a lényeg, hogy a próbámon bebukott ez a ki-be kapcsolgatás ami eléggé sarkalatos része az egésznek. Hogy NEM fűthet miközben mér. Mert az a majdani műveleti erősítőt is plafonra fogja rántani ami nem arányos a valóságos hővel. Ezért a tesztben csak szimplán vezetem vissza a kapcsolt feszt mert elvileg az sem lehetne ott mikor mér!!

jbc3.JPG
    
(#) n_yálastrubadúr hozzászólása Ápr 26, 2011 /
 
Bocsánat ha kicsit zavaros, próbálom érthetőbben. Az elképzelés szerint a mintavételezés idején az a fet nem kapcsolhat 0-át a az analóg bemenetre, így a bemenet csakis a potival beállított értéket képviselheti. A Kékkel jelölt vonal csak akkor lehet 0 ha nem mér mertugye az befolyásolná a mérést

jbc3.JPG
    
(#) Attila86 válasza Attila86 hozzászólására (») Ápr 26, 2011 /
 
Valakinek valami ötlet?
(#) n_yálastrubadúr válasza Attila86 hozzászólására (») Ápr 26, 2011 /
 
Ha rendesen konfigoltad és az általam rendszeresen eltévesztett hibát sem követed el miszerint a Bank1-ben nem Portb-t hanem Trisb-t írsz és a bankváltás is korrekt!! Aztán valóban azt a lábat birizgálod!
Akkor a processzornak nem egyértelmű hol is áll! Próbáld ki hogy ne egymással kösd össze a lábakat, hanem külön 10k-val földre. Így biztosan ha bármelyikre kapcsolsz magasat át fogja ugrani, amit tetszés szerint leddel kijelezhetsz egy porton. Mert a nop utasításos példádban nemtudom a gyakorlatban hogy látod. Amúgy így lebutítva érthetetlen az egész program. A bankváltás pl nem látszik
(#) Attila86 válasza n_yálastrubadúr hozzászólására (») Ápr 26, 2011 /
 
A két NOP azért van hogy a debuggerben lássam melyikre ugrik a PIC. A valóságban a NOP-ok helyén BRA utasítások vannak, de ez a probléma szempontjából mindegy.

A program egyébként két másik I/O lábat használva működik. Bank-ot meg itt nem kell váltani de ha kellene akkor a más lábakra átírt program sem menne, pedig megy. A programban amúgy abszolút semmi más nem történik. A reset vektorról közvetlen erre a néhány sorra ugrik a PIC amit fentebb bemásoltam.
(#) edison14 válasza Attila86 hozzászólására (») Ápr 26, 2011 /
 
Én is megírtam és leszimuláltam a programot de azt csinálja amit neked. Viszont egy érdekes dolgot észrevettem. Stimulust használtam hogy a portb 1. bitjét buzeráljam amikor észrevettem hogy a mplab egy olyan üzenetet dobott ki hogy a b port analóg bemenetként van használva. Pedig az egész ANCON1 sőt a kettes is nullára volt állítva. Viszont meg kéne nézned a konfigurációs biteket hátha ott lesz a kutya elásva és valami más használja azt a lábat. :nemtudom:
Vagy valamilyen regisztert még be kéne állítani?
Következő: »»   957 / 1320
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