Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1026 / 1320
(#) potyo válasza Ideiglenes hozzászólására (») Szept 23, 2011 /
 
Idézet:
„Szóval viccesek ezek a fiúk, de igazából elolvashattam volna a doksikat, mielőtt erre a vezérlőre esik a választásom.”


Sajnos az van, hogy hacsak nem elkerülhetetlen, nem érdemes azonnal lecsapni az új típusokra, meg kell várni legalább az első erratakat, hogy lássuk, mire számíthatunk.

Egyébként azt írod, hogy a probléma csak akkor van, ha az AD átalakító RC oszcillátorát használod. Van ennek valami oka, hogy nem használod hozzá a rendszer órajelét? Nekem más típusoktól rémlik valami, hogy már 1MHz rendszerórajel felett nem ajánlották az RC használatát az AD átalakításhoz.
(#) Ideiglenes válasza potyo hozzászólására (») Szept 23, 2011 /
 
A megszokás... Holnap majd játszok tovább abba az irányba, amit most sugalltál. Viszont eddig még nem állt le az ADC, azóta, hogy beírtam a fórumra. Kíváncsi vagyok, mit mutat majd ha a rendszerórajelet leosztva használom majd.
(#) KroWka008 hozzászólása Szept 24, 2011 /
 
Sziasztok!

Már majdnem megépítettem teljesen készre a szilva féle furatszerelt pickit2 klónt / még pár ellenállást kell vennem / . Abban szeretném a segítségeteket kérni, hogy a 18F2550 es vezérlőzét melyik lábra mit és hogyan kötve tudnám felprogramozni..? Rendelkezésemre áll az eredeti Starter Kites Pickit2, sajnos csak kölcsönbe.. :/

Válaszotokat előre is köszönöm
(#) Attila86 hozzászólása Szept 24, 2011 /
 
Érintés-értézékeléssel foglalkoztatok már (CTMU modul)? Az újnak hozzá kell érni a fémhez vagy elég ha csak közel van hozzá? Ha egy nyák egyik oldalára rézből alakítom ki az érzékelőt akkor ha a nyák túloldalát érintem meg, működni fog?
(#) watt válasza KroWka008 hozzászólására (») Szept 24, 2011 / 1
 
Ez szerinted egy haladó kérdés?
Egyébként vedd elő az adatlapját és nézz fel az oldalamra az ICSP ügyében!
(#) El_Pinyo válasza Attila86 hozzászólására (») Szept 24, 2011 / 1
 
Az ujjnak nem kell hozzáérnie a fém felülethez, nem is nagyon szokás, hogy fém felületeket kelljen fogdosni. Sokszor a szenzorra kerül pl. egy üveg vagy plexi lap, azon keresztül is remekül működik. A kalibrációtól függ, hogy mekkora kapacitásváltozást érzékel "gombnyomásként". A microchip oldalán van fent jó néhány mintaalkalmazás és alkalmazási segédlet.
Szerintem az elgondolásod nem helytálló, mert a NYÁK túloldalán GND fóliának kellene lennie, hiszen a síkkondenzátornak két egymással szemben levő fegyverzete van. Gyanítom ezt figyelembe véve, nem jó, ha a NYÁK túloldalát fogdossuk, mert túl kicsi lesz a kapacitásváltozás. További hátránya a kapacitív érintésérzékelésnek például, hogy amint pl. nedves (vagy piszkos) lesz a felület, elkezd hibásan érzékelni, mert megváltozik a relatív dielektromos állandó. A készülék fém burkolata szintén zavarhatja az üzembiztos érzékelést. Mindenesetre érdemes megpróbálkozni vele, a Microchip AppNote-k alapján szerintem össze lehetne hozni valami működőképes alkalmazást.
(#) Jack Byrnes hozzászólása Szept 24, 2011 /
 
Üdv.! Kaptam egy próbapanelt tesztelésre, minden ok de egy dolog nem sikerül: a terminál. Letöltöttem az "advanced seral port terminal"-t, de nem küld semmi adatot. A MAX232 az RX-TX lábakra van kötve (RC6-7). Hogyan tudnám kipróbálni. PIC16F887 van benne.
(#) Ideiglenes válasza potyo hozzászólására (») Szept 24, 2011 /
 
Na most egy kicsit frissebben újból elolvastam az errata-t és ezt találom benne:
An ADC conversion may not complete under these
conditions:
1. When FOSC is greater than 8 MHz and it is the
clock source used for the ADC converter.
2. The ADC is operating from its dedicated internal
FRC oscillator and the device is not in Sleep
mode (any FOSC frequency).

Ami valami olyasmit jelent, hogy az AD átalakítás előfordulhat, hogy nem fejeződik be az alábbi körülmények esetén:
1. Amikor az Fosc nagyobb mint 8MHz és ez az AD converter órajel forrása
2. Az AD converter a saját RC oszcillátoráról üzemel és az eszköz nincs Alvó módban ( bármilyen Fosc frekvenciánál )

Nálam most 32MHz órajelről megy a PIC belső 8MHz-es órajel 4x PLL-lel és az ADC átalakító erről az órajelről megy 64-es osztással. Eddig még nem tapasztalom az ADC leállását. Itt van a beolvasás módja:
  1. if( SZAZADSEC )
  2.         {
  3.             ADCON1 = 0b01100000;
  4.             ADCON0 = 0b00000001;
  5.            
  6.             PIR1bits.ADIF = 0;
  7.             ADCON0bits.ADGO = 1;        
  8.         }
  9.  
  10.         if( PIR1bits.ADIF == 1 )
  11.         {
  12.             Elso_Jegy = ADRESH ;
  13.             Masodik_Jegy =  ADRESH >> 4;
  14.             PIR1bits.ADIF = 0;
  15.         }

Ugyanez a kód az ADCON1-nél Frc-t kiválasztva pár másodperc után nem frissíti az ADRESH értékét. Tehát úgy néz ki, hogy az Fosc/64 megoldás lesz a nyerő. Kíváncsi vagyok, hogy csak ennél az egy példánynál jön ez így össze vagy a sorozatnál is. Meg majd még tovább bonyolódik a helyzet, ha csatornákat is váltok és nem csak az AN0-t akarom folyamatosan olvasni.
(#) KroWka008 válasza watt hozzászólására (») Szept 24, 2011 /
 
Sajnálom, hogy PIC-es téren még nem ütöm meg a haladó szintet , bár ezt az ICSP-s dolgot már alkalmaztam a 16F626A és a 16F84 esek égetésénél, csak nem voltam biztos benne ill. nem volt világos számomra, hogy ezt ugyanígy kell másik pic-eknél is :/ Köszönöm az útmutatást..!
(#) watt válasza KroWka008 hozzászólására (») Szept 24, 2011 / 1
 
Nem az a baj, hogy nem vagy haladó, hanem az, hogy egy olyan topicba írtál, aminek a címében ott van, hogy haladó. Van egy olyan topic is, hogy kezdő...
Minden PIC-et ugyanúgy kell bekötni, ugyanolyan lábakra, de ezt a ICSP cikkben leírtam.
(#) helektro válasza potyo hozzászólására (») Szept 24, 2011 /
 

Én is PK3-at használók és semmi bajom sincs a használatával. Én főleg 18F típusokat használok, így nem szokta újra rátölteni a firmware-t. Előtte ICD2-m volt (tönkre ment, ezután vettem a PK3-t), de a PK3 sokkal gyorsabban programozza az IC-ket, és a debugolási sebessége is kb. 5-10x gyorsabb. Én teljesen elégedett vagyok vele, megbízható, gyors, kényelmes, kicsi. Szerintem nincs vele semmi baj az új MLAB-okkal.
(#) lidi válasza Ideiglenes hozzászólására (») Szept 24, 2011 /
 
Hmm ez érdekes. 16F1824 nél is ugyanezt a hibát írták.
Most kipróbáltam én is, 32Mhz (8 belső * 4 PLL) de Fosc/32 osztással, és működni látszik, nem fagy le.

Igazából a "may not complete" azt jelenti hogy lehet hogy nem fejeződik be. Nem tudom, merjem-e használni így.
(#) potyo válasza lidi hozzászólására (») Szept 24, 2011 /
 
Nem lehet, hogy a tiéd már A3 revíziós? Mert az errata szerint csak az A1-et érinti ez az ADC probléma.
(#) lidi válasza potyo hozzászólására (») Szept 24, 2011 /
 
Na ezt most nem tudom megnézni, mert mplab alatt pk2 nem támogatja ezt a picet, csak a saját programjával írtam be a teszt hexet. Az nem irja sehol a device ID t. A pk3 at választva 8.7 es mplab alatt meg nem konnektál, de úgy emlékszem 1x sikerult v.hogy megnéznem, és A1 es volt.

Szerk: átdugtam másik usb portba a pk3 at: Device ID Revision = 00000001

Kicsit bővebben írhattak volna az erratában erről a gondról, hogy pontosan minek is kell bekövetkeznie hogy ne működjön. Mert egy technikai dokumentációban a "lehet" -szót használni vicces.
(#) Ideiglenes válasza lidi hozzászólására (») Szept 24, 2011 /
 
A 16F690-es errata-jában meg még érdekesebb jelenségről írnak valamelyik revízió esetén. Az AD konverternél, ha csatornaváltás történik a VP6-os referenciára miközben a korábban kiválasztott csatornán 1,2V-nál nagyobb feszültség került a bemenetre, átmenetileg megzavarhatja a HFINTOSC oszcillátort. Szerencsére ebbe a hibába soha nem futottam bele.
Az aktuális problémámnál maradva, a kettővel korábban közölt megoldásomnál is, ahol a használat végeztével lekapcsolom az ADC-t, folyamatosan frissült az ADRES regiszterpár, de a Fosc leosztásban jobban bízok. Igaz, a programban itt is lekapcsolom az ADC-t az átalakítás végeztével, habár enélkül sem tapasztaltam leállást. A csatornaváltások mellett is ( AN0 - AN3 folyamatos letapogatása ) jól dolgozik az AD átalakítás. Lassan-lassan helyére kerül minden kódrészlet.
(#) kissi válasza lidi hozzászólására (») Szept 25, 2011 /
 
Idézet:
„Mert egy technikai dokumentációban a "lehet" -szót használni vicces.”
Szerintem arra utalhat, hogy hazárdjelenségek miatt előállhat ilyen hiba --> áramköri szórásból fakad, nem lehet előre megmondani, hogy ilyen vagy olyan bemenő feltételek mellett biztosan bekövetkezik !

Steve
(#) Attila86 hozzászólása Szept 26, 2011 /
 
Miért nem okoz a CCP3 modul megszakítást? Szimulátorban várom hogy belépjen, de semmi. Watch ablakban megnéztem, a TMR1 nem számlál. Miért?
(#) Ideiglenes válasza Attila86 hozzászólására (») Szept 27, 2011 /
 
Talán meg kellene nézni, hogy a CCP3CON, CCP3PR, stb regiszterekbe valóban betöltődnek a megfelelő értékek.
A CCP3 modul regiszteriet BANKED módon kell címezni.
Pl:
  1. banksel CCP3CON
  2. movwf   CCP3CON,1

Ezek a regiszterek nincsenek az ACCESS BANK-ban.
(#) Hp41C válasza Ideiglenes hozzászólására (») Szept 27, 2011 /
 
Inkább így:
  1. banksel CCP3CON
  2. movwf   CCP3CON,BANKED
(#) Attila86 válasza Ideiglenes hozzászólására (») Szept 27, 2011 /
 
Ezt nem írtam, de a Watch ablakban megnéztem és az inicializáláskor minden regiszterbe betöltődik amit szeretnék. De azért kipróbáltam azt amit írtatok, de semmi változás.
(#) watt válasza Attila86 hozzászólására (») Szept 27, 2011 /
 
Beállítod, hogy a modul melyik prioritáson legyen lekezelve? Engedélyezed a prioritásos megszakítást?
(#) MPi-c válasza Attila86 hozzászólására (») Szept 27, 2011 /
 
Szia!
Szerintem a fordító a banksel után automatikusan beállítja a BANKED bitet, tehát nem kell sem a "BANKED", sem a "B", sem az 1.
Arra figyelj majd, hogy a megszakítás kezelésénél a CCP3IF bitet programból törölni kell.
(#) Attila86 válasza MPi-c hozzászólására (») Szept 27, 2011 /
 
Persze majd törölve lesz ha eljutok odáig hogy elkezdjem a programot megírni! Egyenlőre egy töréspontot tettem a megszakítás-vektorra és várom hogy oda lépjen, de nem teszi.
(#) watt válasza Attila86 hozzászólására (») Szept 27, 2011 /
 
Amit kérdeztem megvan? (Megkapod a megoldást, elmész mellette? (IPR4, RCON,IPEN) ???
(#) Hp41C válasza Attila86 hozzászólására (») Szept 27, 2011 /
 
Szimulálom a programodat, de nem a CCP3 -nal lesz a gond, hanem a TMR1 nem változik.
(#) watt válasza Hp41C hozzászólására (») Szept 27, 2011 /
 
Idézet:
„Szimulálom a programodat,”

És neked sem tűnik fel, hogy az IPEN alapból 0?
A Timer1 szimulációjával korábban is több gond volt...
(#) Hp41C válasza watt hozzászólására (») Szept 27, 2011 /
 
Idézet:
„És neked sem tűnik fel, hogy az IPEN alapból 0?”

Figyelembe vettem.... Ha IPEN = 0, akkor egy prioritásos megszakítási rendszer fog működni, hasonló, mint a 16F -ekben, A GIEL bit PEIE értelmezését kell szem előtt tartani. A figure 10-1 szernit az IPR1..4 bitek értéke nem érdekes, mert vagy az alsó vagy a felső ágon jut a magas szintű kérésre... A programban mindkét megszakítás a magas szintű kiszolgáló rutinre fut...
Idézet:
„A Timer1 szimulációjával korábban is több gond volt...”

Sem a Timer1 -et, sem a timer3 -at nem sikerült még ebben a kontrollerben a szimulátorban számlálásra bírnom belső órajelről (több másikban sikerült...), a Timer0 megy.
(#) Attila86 válasza watt hozzászólására (») Szept 27, 2011 /
 
Gondoltam egyértelmű a kódból, hogy nincs jelentősége a prioritásos megszakításnak:
  1. RST CODE 0x0000
  2.         goto    START1          ;melyik program fusson?
  3. HI_VEC  CODE 0x0008             ;megszakítási cím
  4.     goto        hi_isr
  5. LO_VEC  CODE 0x0018
  6.     goto        hi_isr

És azt is írtam hogy nem a megszakítással van a gond hanem hogy a TMR1 nem számlál.
(#) Hp41C válasza Hp41C hozzászólására (») Szept 27, 2011 /
 
Ha a T1CON.RD16 = 0, a szimulátor szerint TMR1 számol. A CCP3 is működik, törli a TMR1 -et, de a PIR4.CCP3IF nem állítódik 1 -re...
(#) Attila86 válasza Hp41C hozzászólására (») Szept 27, 2011 /
 
És tényleg! Ha nyolcbites módba állítom a TMR1-et akkor számol, ráadásul nem nyolc hanem 16 bites módban! CCP3 valóban nullázza, de a CCP3IF nem lesz sose 1.
Következő: »»   1026 / 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