Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   505 / 1320
(#) menyus hozzászólása Jún 16, 2009 /
 
Sziasztok!

Az érdekelne hogy egy programba lehet e több "SLEEP" utasítást elhelyezni?

Köszi
(#) csanyipal válasza potyo hozzászólására (») Jún 16, 2009 /
 
Idézet:
„Ez után igazából nem értem, hogy neked mi kellene.”

Te nem értettél meg, ennyi. :no:
(#) trudnai válasza menyus hozzászólására (») Jún 16, 2009 /
 
Idézet:
„Az érdekelne hogy egy programba lehet e több "SLEEP" utasítást elhelyezni?”


Maximalisan csak annyit amennyi rendelkezesre allo program-szavak szama -- mar probalkoztam ennel tobbel is de ha csak 1 SLEEP-el is tobbet teszek be sehogy sem fordult le...
(#) Tomi111 válasza kisszee hozzászólására (») Jún 16, 2009 /
 
Üdv!

Köszi kisszee! Ezt az oldalt nem ismertem. Használni fogom.
Potyo, megvan a fájl, így már egyertelmű, hogyan állítsam.

Köszi!

Sziasztok
(#) menyus válasza trudnai hozzászólására (») Jún 16, 2009 /
 
Köszönöm!
(#) MPi-c válasza trudnai hozzászólására (») Jún 16, 2009 /
 
A mai nap eddig legjobb pillanat...
Kösz!
(#) trudnai válasza szilva hozzászólására (») Jún 16, 2009 /
 
Idézet:
„Az access bit alapértelmezését mindenképpen el kell olvasni az adott assembler doksijában, én az MPLAB helpjében ezt találtam:
a RAM access bit
a = 0: RAM location in Access RAM (BSR register is ignored)
a = 1: RAM bank is specified by BSR register (default)

Ennek ellenére tudom, hogy az SFR-ek címzésekor nem kellett az access bitet külön jelölni, mert a címből tudta a fordító.”


Sot, ha udata_acs -re pakolok (ill. ha absolute modban CBLOCK 0-nal levo valtozok az acs ram vegeig) akkor is az access az alapertelmezett -- en erre emlekeztem...
(#) icserny válasza csanyipal hozzászólására (») Jún 16, 2009 /
 
Őszintén szólva én sem értelek! Mennyibe telik az LPT portra csatlakozó pontokra odalökni egy magas (vagy alacsony szintet) és megnézni, hogy a tápfesz vagy a többi jel megjelenik-e a PIC foglalat megfelelő pontján? Csak egy felhúzó ellenállás kell a tápfesz felé.
(#) watt válasza trudnai hozzászólására (») Jún 16, 2009 /
 
Ütős!
(#) potyo hozzászólása Jún 17, 2009 / 1
 
Szokott valaki TL431-et használni referenciának PIC mellé? Az elmúlt 2-3 órát azzal töltöttem, hogy próbáltam rájönni, miért billeg a konverzió eredménye kb. 100-as tartományban a helyes eredmény körül, amikor a TL431 adja a referenciát, és miért áll stabilan az eredmény, ha a Vdd-Vss a referencia. A dolog odáig fajult, hogy a TL431 helyett már egy potméterrel állítottam elő feszültséget a Vref+ lábra, és a konverzió akkor is stabil eredményt ad (persze az eredmény változik attól függően, hogy hol a potméter, kipróbáltam a teljes tartományban). Ha visszateszem a TL431-et, akkor meg összevissza ugrál, tehát egyértelműen a TL431 okozza a gondot. Műszerrel mérve a TL431 is stabil, viszont szkópom nincs, nem tudok rámérni vele, de 100nF kerámiát kapott sajátmagára, és a Vref+ és Vref- közé is a PIC mellé, illetve másik Tl431-et is bepróbáltam. A TL431 referenciája és katódja rövidrezárva, 270 ohmmal felhúzva a tápra és odavezetve az RA3-ra. Anódja az RA2-re kötve, az pedig GND-re, tehát csillagpontos a kialakítás, hogy más tápzaj ne menjen bele a referenciába, illetve a TL431 közvetlenül a PIC lábai mellé is volt betéve, tehát minimálisak a távolságok. A potméter bezzeg 10cm-el arrébbról is elég stabil referenciát ad. Egyszerűen nem tudok rájönni, hogy miért szivat. Már az is érdekes, hogy két műszer szerint is 2,42V van mindegyik TL431-en. Lehet, hogy bevásároltam egy adag hibás TL431-et?




Nos így újabb két órával később kiderült, hogy az általam berakott, a referenciafeszültség stabilitását növelni hivatott 100nF-os kerámiakondenzátor a hunyó a dologban. A TL431 adatlapok böngészése közben lettem figyelmes egy ábrára, ami a stabilitás tartományát mutatja a kapacitív terhelés, katódáram és katódfeszültség függvényében. A 100 nF, 10mA és 2,5V-al szinte nemis tudtam volna jobban az instabil tartomány közepét eltalálni. :guluszem1: Szóval kivettem a 100nF-ot, és atomstabil lett az AD konverzió USB-ről táplálva is, illetve beállt a TL431 is 2,5V-ra.
(#) icserny válasza potyo hozzászólására (») Jún 17, 2009 /
 
Idézet:
„Szokott valaki TL431-et használni referenciának PIC mellé?”

Külső ADC-hez (SPI interface) MAX6325-öt tervezek. Ez is 2,5 V-os és állítólag 1 ppm/C. Ennek minimum 1-2 µF szűrés kell.

A legnagyobb nyűgje az, hogy 5 V-ról nem megy (csak 1,8 V jön ki belőlel), legalább 9-10 V-os bemenőfeszültség kell neki.
(#) trudnai válasza potyo hozzászólására (») Jún 17, 2009 /
 
10mA-t veszel fel a referencia feszultseghez? Csak nekem tunik ez soknak? Vagy van rajta valami mas aramkori elem is?

Amugy a Microchipnek is vannak eleg jo homerseklet kompenzalt referencia fesz aramkorei. Van olyan ami mar ha jol emlekszem 10uA vesztesegarammal dolgozik es max 50mA-t kepes leadni. Jomultkor azon gondolkodtam az lesz a "stab kockam" egy kis aramfelvetelu aramkoromhoz De amugy akar egy egyszeru emitter kovetoben is viszonylag kielegitoen tud mar egy ilyen mukodni ha stabil tapot akar az ember.
(#) watt válasza trudnai hozzászólására (») Jún 17, 2009 /
 
Nem tudom nézted-e, ez a TL431 olyan mint egy zener, csak szabályozni lehet a letörési feszültségét. Ezért folyhat 10mA a terhelő ellenállásán. Az hogy ez sok-e, az attól függ milyen jellegű az áramkör. Ha jól sejtem ez egy akkutöltő lesz, ahol nem számít az amperek mellett ez a "kicsi" áram.
(#) watt válasza icserny hozzászólására (») Jún 17, 2009 /
 
Idézet:
„Külső ADC-hez (SPI interface) MAX6325-öt tervezek.”

Kétségtelen, hogy ez egy precíziós IC, de több ezer forint! Biztosan van olyan alkalmazás, ahová ez szükséges...
(#) szilva válasza potyo hozzászólására (») Jún 17, 2009 /
 
Hm, tanulságos eset.

Én a pákaszabályozóm SMD verziójának "nulladik" példányába utólag tettem bele egy TL431-et, igaz, ott nem az A/D átalakító referenciájaként használtam fel, hanem az ő jele is egy A/D csatorna bemenete lett. A programban minden mérési ciklusban megmérem a TL431 által szolgáltatott 2.5V-os jelet is Vdd referenciával, majd ebből visszaszámolom a többi csatorna jelét is abszolút feszültségértékekre (a későbbi verzióba már nem TL431 került, hanem MCP1525, de a számolás ugyanúgy maradt).

Én azt tapasztaltam, hogy az A/D-kkel akkor tudok legkevésbé zizegős eredményeket elérni, ha 1.5-2.2k soros ellenállást teszek a bemenet elé, és nem közvetlenül a bemeneten hidegítek. A pákaszabályozóban ezért is van úgy kialakítva minden mérendő jel, hogy 2.2k soros -> 100nF hidegítés -> 2.2k soros -> A/D bemenet. Ennél a kialakításnál természetesen a TL431-gyel sem tapasztaltam semmilyen problémát.
(#) trudnai válasza watt hozzászólására (») Jún 17, 2009 /
 
Nem neztem meg csak felkaptam a fejem, hogy ha ref-nek van hasznalva akkor ahhoz kepest sokat eszik (szerintem). Persze abban is igazad van hogy ha a tolto aram ennek tobb tizszerese akkor nem sokat oszt vagy szoroz
(#) Amarton hozzászólása Jún 17, 2009 /
 
Sziasztok!

Olyan problémába ütköztem, hogy egymás után egy soros vonalon ki kell küldenem kb. 100 bitet 2uS bitsebességgel.
Kipróbáltam azt, hogy az SPI kommunikációt beállítva küldözgetem a biteket 8-as csoportokban. Ezzel az volt a baj, hogy minden 8 bit után volt nem kívánt szünet (gondolom, amig az SPI buffert a PIC újratöltöte) és az üzenet így nem lett folytonos.
Van valakinek valamilyen ötlete, hogy hogyan lehetne megvalósítani a 100 db bit átvitelét 2uS-os bitidőkkel?
Gondolkodtam külső egységben is, hogy egy párhuzamos - soros átalakítás vagy ilyesmi, de jobb lenne először csupán szotveresen megoldani, ha lehetséges.
(#) trudnai válasza Amarton hozzászólására (») Jún 17, 2009 /
 
Idézet:
„(gondolom, amig az SPI buffert a PIC újratöltöte) és az üzenet így nem lett folytonos.”


Elmeletileg van egy buffered amibe tudsz bele tolteni amig az elozo byte "folyik" ki. Tehat ennek a reszenek folyamatosnak kell lennie hacsak nincs valami rosszul megirva (pl nem a buffer foglaltsagat hanem a byte elkuldeset figyeli a firmware). Ezt esetleg meg nezd meg, de ha mas nincs akkor bitbang modszerrel lehetne csinalni...
(#) potyo válasza trudnai hozzászólására (») Jún 17, 2009 /
 
A 10mA onnan jött, hogy az adatlapban mindenféle paraméterek 10mA áramra vannak megadva, így első körben ennyire állítottam én is. Vannak nekem is valahol itthon maxim féle referenciáim, de kíváncsi voltam, hogy a TL431-el mit lehet kihozni. Cserébe szórakoztam vele vagy négy órát, de legalább mostmár tudom, hogy ilyen nyűgje van
(#) edison14 hozzászólása Jún 17, 2009 /
 
Szevasztok!

Az lenne a gondom hogy feltelepítettem az mplab 8.1-es verzióját és csináltam egy új projektet úgy ahogy Topi nulláról a robotokig 1.részében le van írva és amikor le akartam fordítani az asm_elso-t ezt írta ki:

Release build of project `D:\ELEKTRO\PIC programozás és robottervezés\gyakorlat\asm_elso\asm_elso.mcp' failed.
Wed Jun 17 20:10:04 2009

és nemtudomom hogy miért?
esetleg tudna valaki egy rövid leírást a beállításról és használatról de lehetőleg magyarul

a választ előre is kösz
(#) potyo válasza edison14 hozzászólására (») Jún 17, 2009 /
 
Idézet:
„és nemtudomom hogy miért?”


Ez jó eséllyen azért van, mert hosszú az elérésu utad, vagy a szóközök, esetleg az ékezetes betűket nem szereti az MPLAB benne. Próbáld ki egyszerűen D:\pic mappában.


Idézet:
„esetleg tudna valaki egy rövid leírást a beállításról és használatról de lehetőleg magyarul”


Olyan nem létezik. Van hozzá angolul leírás, de feltételezem, hogy az nagyon hosszú. Ha magyarul kell, akkor olvasd el ezt a témát az elejétől a végéig.
(#) norby1 válasza edison14 hozzászólására (») Jún 17, 2009 /
 
„esetleg tudna valaki egy rövid leírást a beállításról és használatról de lehetőleg magyarul”

szerintem nincs semmi gond Topi cikkével sem (!) , de itt találsz még leírásokat (google) :

Bővebben: Link ASM-projekt beállítás

Bővebben: Link C18-project beállítás
(#) edison14 hozzászólása Jún 18, 2009 /
 
Kösz szépen a leírások jók és topi leírásával sincs gond
Csak annyi lenne a problémám hogy megépítettem topi másik programozóját és amikor először táplálást kötöttem rá úgy hogy nem volt a számítógéphez kötve és világított a programozás ledje
átnéztem nincs-e valahol zárlat és hogy biztosan jól vannak e a tranzisztorok beültetve de nem találtam semmit

10V vátó megy rá és az LM78L05 és LM78L12 helyett 7805-öt és 7812-t használtam( de szerintem ez nem gond) mellékelem a teljes eagle formátumú fájlokat légyszi segítsetek

nagyon szépen kösz

Nem kell annyi smiley...
-- kobold
(#) icserny válasza edison14 hozzászólására (») Jún 18, 2009 /
 
Kattints a K gombra (keresés a topikban), aztán a csillag helyére írd be a JDM keresőszót!

Röviden: ellenjavalt!
Hosszabban: látogasd meg
Watt honlapját, ott a magyarázaton kívül találsz megoldást is (pl. RS232 ilesztésű programozót, vagy LPT portra csatlakozó mini égetőt).
(#) skeletornb hozzászólása Jún 18, 2009 /
 
Mostanában egy PIC16F884-es mikrovezérlővel "játszok" próbapanelen. Programozónak épített PicKit2-t használok, tápellátásnak pedig a számítógépem tápegységéről veszem az 5v-ot.
Valamelyik nap elkezdett melegedni a PIC. Kikapcsolom, bekapcsolom, továbbra is melegszik. Megmértem az áramfelvételét, kerek 1 Ampert vesz fel. A dolgot az fűszerezi, hogy az utoljára bele írt program rendesen fut, és a kimenet is helyesen viselkedik, csupán 5mp után olyan meleg lesz az IC, hogy ki kell kapcsolni.
Ahhoz nem fér kétség, hogy figyelmetlen voltam és elszúrtam valamit. Azt is tudom, hogy ez a PIC gyakorlatilag tönkrement.
Csupán annyi a kérdésem, hogy ilyenkor mi adja meg magát az IC-ben?
(#) szidom hozzászólása Jún 19, 2009 /
 
Sziasztok!
Építettem egy órát 16f887-es pic-el, 32768 kHz-es kvarcal, de elég pontatlan. Tmr0-át használok időzítőnek, 32-es előosztóval, de óránként 7 másodpercet siet. Ez természetes, vagy érdemes kicserélni a kvarcot?
(#) szidom válasza szidom hozzászólására (») Jún 19, 2009 /
 
Bocsánat rosszul írtam valójában 32,768 kHz -es a kvarc.
(#) Hp41C válasza skeletornb hozzászólására (») Jún 19, 2009 /
 
Szia!

Szerintem egy (vagy több) kimenetnek beállított lábon folyik nagy áram, mert a hozzá kapcsolódó áramkör is kimenetként (esetleg rövidzárként) viselkedik. A kimenetek összekapcsolódáda lehet, hogy csak valamilyen vezérlő jeltől függő állapotban jön létre - a program futása során valamilyen feltétel miatt megváltoztatja a láb irányát. Ebből adódhat, hogy nem azonnal kezd melegedni.

Próbáld meg számba venni a kimeneteket. Nézd meg melyik mire kapcsolódik, melyiknek kell irányt váltani. Ezeket a kimeneteket egyesével mért meg újra. (Pic nélkül 1kohm ellemállással tudsz-e alacsony illetve magas szintet kialakítani a lehetséges vezélréseknél.)

Ha lehet egyesével szakítsd meg a kimeneteket, tesztelj. Amelyiknél az áram normalizálódik, az a kivezetés a bűnös.

A pic még nem halt el, ha a programodat futtatja és a probléma megoldása után a kimeneteit még tudja kezelni.
Addig ne cseréld ki, amíg a probléma meg nem oldódik....

Szia

(#) Hp41C válasza szidom hozzászólására (») Jún 19, 2009 /
 
Szia!

A 16f887-ben a Timer1-et szokták órának használni, mivel könnyebben lehet megvalósítani a 32768-cal való osztást (előosztó 1x, túlcsortulásnál a TRM1H 7 bitjét 1-be állítva).

A 32.768 kHz elég alacsony a kontrollernek a számolások elvégzésére, a Timer1 -nek külön oszcillátora van pontosan erre a feladatra - ld.: adatlap.

(#) watt válasza szidom hozzászólására (») Jún 19, 2009 /
 
Javaslom, hogy a program a PIC belső oszcijáról fusson és az óra a Timer1 külső oszci bevezetéséről működjön az órakvarcról.
Következő: »»   505 / 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