Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   1039 / 1203
(#) abacs válasza silent15 hozzászólására (») Aug 7, 2018 /
 
Beállítottam az 5v-ot
(#) Hp41C válasza abacs hozzászólására (») Aug 7, 2018 /
 
Egy kicsit kutakodni kell a PICkit3 leírásában.... Ott van a kapcsolási rajza. A táplálást az USB -ről kapja, 5V. A táp egy P-FET -tel és egy erősítővel felépített tápegységre megy, onnan egy P-FET -es kapcsolóra. Itt jön a lényeg: egy Schottky diódán keresztül meg az ICSP csatlakozó Vdd lábára. A dióda miatt soha nem lesz 5V.

javaslat: állítsd a tápot 4.75V -ra. Ja, hogy néhány PIC esetében ez a megoldás olyan tápfeszültséget ad, ami a Bulk Erase igényének már nem felel meg... A Microchip ezzel nem törődik, a feszültséget (ha jól emlékszem) 0.25V -onként lehet állítani. Pedig csak program kérdése lett volna.... A PICkit2 -nél 0.1V -onként lehetett állítani.

PICkit3 -nél a hivatalos ajánlás: Mindig külső táplálást használni.
(#) silent15 válasza Hp41C hozzászólására (») Aug 7, 2018 /
 
Jobb is volt a pickit 2 és sokkal tovább is működött, most meg már kijön a pickit 4 ...
(#) pajti2 válasza silent15 hozzászólására (») Aug 8, 2018 /
 
Az Atmel cuccai hoztak túl sok újdonságot programozásban, amik mostanra mind MC, és kell nekik saját cucc azokat is kezelni. Legalább addig, amíg kifut az end of line korlát mindenütt. És akkor majd jön a pickit 5 is eltakarítani a használaton kívülre került funkciókat
(#) silent15 válasza pajti2 hozzászólására (») Aug 8, 2018 /
 
Én még elsőnek a Pickit2-őt használtam, de soha nem szórakoztam vele annyit, mint a pickit3-al. Ha valami nem volt jó, akkor valamit elkötöttem, más gondja nem volt. És mint látjuk, lehetett volna azt is továbbfejleszteni, csak nem akarták ...
(#) usane válasza Hp41C hozzászólására (») Aug 8, 2018 /
 
Arra mellesleg Pickit 2 van írva. Nem tudom valójában melyik lehet.
(#) usane válasza abacs hozzászólására (») Aug 8, 2018 /
 
Ezeket a kütyüket én messziről kerülöm. Jobb szeretem magam megcsinálni a csatlakozó felületet.
(#) usane hozzászólása Aug 8, 2018 /
 
Hihetetlen, hogy az MC még a saját oldalát sem tudja rendesen megírni. Sem a MAPS sem a Parametrkikus kereső nem dobja ki a 12F18 szériát. A parametrikus csak akkor ha átkapcsolom az összegzésről az összes paraméter megjelenítésére.
(#) silent15 válasza usane hozzászólására (») Aug 8, 2018 /
 
Ez mostanában jött elő, nekem a 12F széria egyetlen tagját se akarta egy hete.

Most megnéztem, 4db 12F és 2db 10F szériást dob ki (kontrollereket listázva). Ha külön rákeres az ember, akkor viszont ott a többi...
A hozzászólás módosítva: Aug 8, 2018
(#) Hp41C válasza usane hozzászólására (») Aug 8, 2018 /
 
Piros tok és PICkit2... Mindegy, a PICkit2 és a PICkit3 tápköre azonos felépítésű. A PICkit2 V.2.63 (0.1V) és az MpLabX IPE (0.25V) közötti beállítási lépcső a lényeg.
A hozzászólás módosítva: Aug 8, 2018
(#) usane válasza Hp41C hozzászólására (») Aug 8, 2018 /
 
Hányas IPE. Egy ideje már 125mV a step.

Szerk: 3.05-ös a legrégebbi ami fenn van nálam, abban is 125mV a lépés.
Mellesleg tök mindegy. Amelyik PIC nem szereti azt állítgathattam akárhová, ezért én mindig a PCB-t látom el táppal, az általában működik.
A hozzászólás módosítva: Aug 8, 2018
(#) icserny válasza Hp41C hozzászólására (») Aug 8, 2018 /
 
Idézet:
„Piros tok és PICkit2...”

A Dzsunka Factory már csak piros dobozt gyárt.
(#) Hp41C válasza abacs hozzászólására (») Aug 8, 2018 /
 
Ha PICkit2 programot használod, akkor programozandó kontroller nélkül Tools / Troubleshoot menüt végigmérni multiméterrel is.
(#) usane hozzászólása Aug 10, 2018 /
 
2 hete raktam fel a 4.2-es mplabot és már 5.0 letölthető. Szaladnak a verziók.
(#) cross51 válasza usane hozzászólására (») Aug 10, 2018 /
 
Csak vigyázz az 5.0-val mert új projekt struktúra van és ki tudja milyen hiba van benne (bár nekem szerencsére nem volt vele még semmi)
(#) brugo hozzászólása Aug 11, 2018 /
 
Sziasztok,
Lenne egy kérdésem : a CP bit hexa file-be átirható az IPE segitségével ?
(#) usane hozzászólása Aug 12, 2018 /
 
Üdv!

Pic32MX274F256D. SPI-t nem tudtam működésre bírni. Aztán lecsekkoltam az órajelet, a CLKO kimeneten. Akármit csinálok mindig 2MHz. Ha van valami ötletetek mit néztem be már megint azt megköszönném. Csatolom a konfigot.
  1. // USERID = No Setting
  2. #pragma config AI2C1 = OFF              // Alternate I/O Select for I2C1 (I2C1 uses the SDA1/SCL1 pins)
  3. #pragma config AI2C2 = OFF              // Alternate I/O Select for I2C2 (I2C2 uses the SDA2/SCL2 pins)
  4. #pragma config PMDL1WAY = OFF           // Peripheral Module Disable Configuration (Allow multiple reconfigurations)
  5. #pragma config IOL1WAY = OFF            // Peripheral Pin Select Configuration (Allow multiple reconfigurations)
  6. #pragma config FUSBIDIO = OFF           // USB USID Selection (Controlled by Port Function)
  7.  
  8. // DEVCFG2
  9. #pragma config FPLLIDIV = DIV_2         // PLL Input Divider (2x Divider)
  10. #pragma config FPLLMUL = MUL_18         // PLL Multiplier (18x Multiplier)
  11. #pragma config FPLLICLK = PLL_FRC       // System PLL Input Clock Selection (FRC is input to the System PLL)
  12. #pragma config UPLLIDIV = DIV_12        // USB PLL Input Divider (12x Divider)
  13. #pragma config UPLLEN = OFF             // USB PLL Enable (USB PLL Disabled)
  14. #pragma config FPLLODIV = DIV_2         // System PLL Output Clock Divider (PLL Divide by 1)
  15. #pragma config BOREN = OFF               // Brown-Out Reset (BOR) Enable (Enable BOR)
  16. #pragma config DSBOREN = ON             // Deep Sleep BOR Enable (Enable ZPBOR during Deep Sleep Mode)
  17. #pragma config DSWDTPS = DSPS32         // Deep Sleep Watchdog Timer Postscaler (1:2^36)
  18. #pragma config DSWDTOSC = LPRC          // Deep Sleep WDT Reference Clock Selection (Select LPRC as DSWDT Reference clock)
  19. #pragma config DSWDTEN = OFF            // Deep Sleep Watchdog Timer Enable (Disable DSWDT during Deep Sleep Mode)
  20. #pragma config FDSEN = OFF              // Deep Sleep Enable (Disable DSEN bit in DSCON)
  21.  
  22. // DEVCFG1
  23. #pragma config FNOSC = FRC              // Oscillator Selection Bits (Fast RC Osc (FRC))
  24. #pragma config FSOSCEN = OFF            // Secondary Oscillator Enable (Disabled)
  25. #pragma config IESO = OFF               // Internal/External Switch Over (Disabled)
  26. #pragma config POSCMOD = OFF            // Primary Oscillator Configuration (Primary osc disabled)
  27. #pragma config OSCIOFNC = ON           // CLKO Output Signal Active on the OSCO Pin (Disabled)
  28. #pragma config FPBDIV = DIV_4           // Peripheral Clock Divisor (Pb_Clk is Sys_Clk/1)
  29. #pragma config FCKSM = CSDCMD           // Clock Switching and Monitor Selection (Clock Switch Disable, FSCM Disabled)
  30. #pragma config WDTPS = PS1048576        // Watchdog Timer Postscaler (1:1048576)
  31. #pragma config WDTSPGM = ON             // Watchdog Timer Stop During Flash Programming (Watchdog Timer stops during Flash programming)
  32. #pragma config WINDIS = OFF             // Watchdog Timer Window Enable (Watchdog Timer is in Non-Window Mode)
  33. #pragma config FWDTEN = OFF             // Watchdog Timer Enable (WDT Disabled (SWDTEN Bit Controls))
  34. #pragma config FWDTWINSZ = WINSZ_25     // Watchdog Timer Window Size (Window Size is 25%)
  35.  
  36. // DEVCFG0
  37. #pragma config JTAGEN = OFF             // JTAG Enable (JTAG Disabled)
  38. #pragma config ICESEL = ICS_PGx3        // ICE/ICD Comm Channel Select (Communicate on PGEC3/PGED3)
  39. #pragma config PWP = OFF                // Program Flash Write Protect (Disable)
  40. #pragma config SMCLR = MCLR_NORM        // Soft Master Clear Enable (MCLR pin generates a normal system Reset)
  41. #pragma config BWP = OFF                // Boot Flash Write Protect bit (Protection Disabled)
  42. #pragma config CP = OFF                 // Code Protect (Protection Disabled)
  43.  
  44.  int main(void)
  45.  {
  46.  __builtin_disable_interrupts();
  47.  SYSKEY =  0xAA996655;
  48.  SYSKEY = 0x556699AA;
  49.  CFGCONbits.IOLOCK = 0;
  50.  OSCCONbits.FRCDIV = 0;                 // FRC/1
  51.  OSCCONbits.COSC = 1;                   // PLL
  52.  SYSKEY = 0x00000000;
(#) cross51 válasza usane hozzászólására (») Aug 12, 2018 /
 
Az OSCCON COSC bitjei a csak read only bitek ha új oszcillátort akarsz beállítani akkor a NOSC biteket kell állítani.
(#) usane válasza cross51 hozzászólására (») Aug 12, 2018 /
 
Tényleg, köszi. Na egy lépéssel közelebb. Már más az órajel a kimeneten, viszont ha átírom a PLL-t meg az előosztó értékeit, nem változik az órajel.
(#) cross51 válasza usane hozzászólására (») Aug 12, 2018 /
 
Runtime vagy configba írod a PLL-t?
(#) usane válasza cross51 hozzászólására (») Aug 12, 2018 /
 
Configba. Pl. A PPLODIV értékét módosítom.

Szerk: #pragma config FPLLODIV = DIV_256
Közben teszteltem egy IOINV-el is While ciklusban. Ott sem változik.
A hozzászólás módosítva: Aug 12, 2018
(#) cross51 válasza usane hozzászólására (») Aug 12, 2018 /
 
Idézet:
„#pragma config FNOSC = FRC // Oscillator Selection Bits (Fast RC Osc (FRC))”


Az FNOSC FRC-re van állítva, rakd át SPLL-re és akkor a PLL átírására változni fog CLKO.
A hozzászólás módosítva: Aug 12, 2018
(#) usane válasza cross51 hozzászólására (») Aug 12, 2018 /
 

Pedig már megfogadtam, hogy fáradtan nem állok neki kódot írni
Ezer köszönet
(#) szucsistvan123 hozzászólása Aug 18, 2018 /
 
Heló!

Milyen gyakorló/fejlesztőpanelt érdemes venni, ha most tanulok PIC-et programozni?
Van egy PICKit 3-mam, így beépített programozó nem kell!

Néztem az EasyPIC paneleket, de nekem egy kicsit drágák. Van valami olcsóbb alternatíva? (esetleg egy jó kapcsolást nem tud valaki? )

Ami mindenképpen kellene rá:
-RTC
-nyomogombok
-LCD
-7 szegmenses kijelzők
-csipogó
-LED-ek

Köszi!
(#) Bakman válasza szucsistvan123 hozzászólására (») Aug 18, 2018 /
 
Dugdosós próbapanelnek hívják.
(#) Kera_Will válasza szucsistvan123 hozzászólására (») Aug 18, 2018 /
 
ilyesmik tökéletesek erre a célra :

válogass kedvedre !!!

Meg egy több kimenetű (fixek +12 +5V +3,3V -5V -12V .... esetleg 1 változó 0-20-30V között ) tápegység se árt amiken áramkorlátok is vannak !
A hozzászólás módosítva: Aug 18, 2018
(#) Bell válasza szucsistvan123 hozzászólására (») Aug 18, 2018 /
 
Azokat kell megvenni és olyan árfekvésben, kivitelben, amiket valóban használni szeretnél.
És persze a Bakman fórumtárs által javasolt dugdosós próbapenelt, pár tucat vezetékkel.
A kapcsolást Te találhatod ki és kötheted össze a PIC és a perifériák elrendezése alapján.
(#) cross51 válasza szucsistvan123 hozzászólására (») Aug 18, 2018 /
 
Ha most tanulsz PIC-et programozni akkor gondolom 8 bit.
A Curisity panelek elég olcsón kaphatóak és van rajta minimum 1 mikroBUS-os konnektror (bár Click boardok se olcsók) a ChipCAD-ben látod őket (de ezeken van on-board PICKit3).

A panelon tudsz
- nyomógombot
- adc-t
- ledekkel játszani
- a többihez click board kell

Ezekhez nem nagyon kell tápegység mert megy USB-ről 500mA-es polyfuse-al.
(Bár pár kis projekt után hamar be fog igazolódni Kera_Will hozzászólása - kelleni fog táp)
(#) Bakman válasza szucsistvan123 hozzászólására (») Aug 18, 2018 / 1
 
Alapvetően azért nem javaslom a konkrét feljesztőpanaleket kezdőknek, mert azok általában elsőre eldöntött vezetékezést tartalmaznak, amik neked vagy jók leszenk, vagy nem. Pl: RB0-ra van kötve valami de te az INT0-t szeretnéd használni de éppen a "gyári" bekötés miatt nem tudod. Kezdj DIP tokos kontrollerekkel, ha kinövöd, úgy is tudni fogod, hogyan tovább.
(#) Kera_Will válasza szucsistvan123 hozzászólására (») Aug 18, 2018 /
 
Minden féle test panel + kiegészítők gyűjteménye:
panelek
Következő: »»   1039 / 1203
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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