Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
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.
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. Idézet: Nem tudom, hogy melyikre gondoltál. „Olyan próbapanelt ami a kezdőlapodon látható be lehet szerezni a Chipcad-nél?”
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.
...mármint a P-fetet bsf-el kapcsolom ki
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..
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..
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. ![]()
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)
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...
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..
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:
É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:
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!
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:
De így sem jó sajnos. ![]()
Köszönöm szépen!!!
Erre nem jöttem volna rá magamtól ![]()
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?
Szia!
A legjobb, ha a PICKit3 6. kivezetésére kötöd.. A 12F629 -nél nincs ilyen láb..
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.
Köszönöm,már is okosabb lettem valamivel
![]()
Nos, így néz ki lebutítva az amit szeretnék:
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.
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
![]()
Rajzold le a tervezett fűtő - mérőkört!
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
![]()
Olvasd el amit írsz! Te érted?
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!!
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
![]()
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
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.
É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? |
Bejelentkezés
Hirdetés |