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   712 / 1210
(#) cross51 válasza szucsistvan123 hozzászólására (») Okt 16, 2015 / 1
 
Nem az AUX láb az alacsony feszültségű programozásra van fent tartva, én még egyszer se használtam. Akkor lehet a klón hibás..
(#) szucsistvan123 válasza cross51 hozzászólására (») Okt 16, 2015 /
 
Volt olyan, hogy elindult a programozás, kiírta, hogy sikeres volt, rádugtam az LCD-t, és semmi.
(#) eSDi válasza cross51 hozzászólására (») Okt 16, 2015 /
 
Üdv!

Érdekes, szerencsére ilyennel még nem találkoztam. Nekem most azt játszotta el, hogy a 16F819-et egyszer felprogramozza és utána nem tud hozzá kapcsolódni, holott két napja nem volt gond vele (már majdnem eldobáltam őket). Közben PK3 standalone programmerrel meg nincs vele ilyen gond. Most frissítettem a legújabb MPLAB X-re, de még nem állítottam vissza, lehet már jó ezzel is.

Szerintem az MPLAB bogaras kicsit mostanában (A PK3 nem hinném, max a rátöltött SW. A bootloadert nem bántanám) és érdemes figyelni az új verziókat. Azt tudom, hogy az 1.9-es verzióval nem volt ilyen gondom.
(#) szucsistvan123 válasza szucsistvan123 hozzászólására (») Okt 16, 2015 /
 
Mit lehetne még tenni?
Esetleg régebbi mplab segíthet?
(#) cross51 válasza szucsistvan123 hozzászólására (») Okt 16, 2015 / 1
 
Segíthet, először működésre bírtam vele, de aztán csináltam vele valamit és utána csak az előzőekben leírt dologgal működött.
(#) Droot válasza szucsistvan123 hozzászólására (») Okt 16, 2015 / 1
 
Zárlat?
Én kikapcsolnám mplabban hogy ne adjon rá tápot és átnézném a panelt, majd külső táppal próbálnám.
(#) szucsistvan123 válasza Droot hozzászólására (») Okt 16, 2015 /
 
Megvolt, de végül a pickit tápjával azt írta ki, hogy sikerült a programozás, de az LCD-n nincs kép!
Az lehet, hogy elkötöttem az LCD táprészét, mert nem tudtam pontosan, hogy hogy van.
Az lcd- nél ami zavaros volt a :
1. láb Vss
2. láb Vdd
3. láb V0

Az LCM-nél:
1. GND
2. Vcc
3. Vee

Egyest az egyessel, kettest a kettessel, hármast a hármas lábbal kötöttem össze, azt jól csináltam? (a többi világos volt).
(#) szucsistvan123 válasza szucsistvan123 hozzászólására (») Okt 17, 2015 /
 
Most már működik! Nem volt eléggé összenyomva az LCD csatija.
Köszönöm mindenkinek a segítséget!
(#) Droot hozzászólása Okt 17, 2015 /
 
Sziasztok!

dsPIC33EP512GP502-re fejlesztek MPLAB-ban, az UART-ot próbálom beállítani:
  1. /*
  2.  * File:   newmain.c
  3.  * Author: Szabolcs
  4.  *
  5.  * Created on 2015. október 14., 15:54
  6.  */
  7. #pragma config FWDTEN = OFF // Watchdog Timer Enable bit (Watchdog timer enabled/disabled by user software)
  8. #pragma config FNOSC = PRIPLL           // Oscillator Source Selection (Primary Oscillator with PLL module (XT + PLL, HS + PLL, EC + PLL))
  9. #pragma config IESO = ON                // Two-speed Oscillator Start-up Enable bit (Start up device with FRC, then switch to user-selected oscillator source)
  10. #pragma config POSCMD = HS
  11. #pragma config OSCIOFNC = OFF            // OSC2 Pin Function bit (OSC2 is general purpose digital I/O pin)
  12. #pragma config PLLKEN = ON
  13. #pragma config FCKSM = CSECMD
  14.  
  15. #include <stdio.h>
  16. #include <stdlib.h>
  17. #include <xc.h>
  18. #include <p33ep512gp502.h>
  19. #include <stdint.h>
  20.  
  21. int main() {
  22.     //PLL beállítása
  23.     CLKDIVbits.DOZEN = 0;
  24.     CLKDIVbits.PLLPOST = 0;
  25.     CLKDIVbits.PLLPRE = 1;
  26.     PLLFBDbits.PLLDIV = 38;
  27.    
  28.     //átkapcsolás PLL-re
  29.     //__builtin_write_OSCCONH( 0x03 );
  30.     //__builtin_write_OSCCONL( OSCCON || 0x01 );
  31.    /* OSCCONbits.COSC1 = 1;
  32.     OSCCONbits.COSC0 = 1;
  33.     OSCCONbits.OSWEN = 1;
  34.    
  35.     //várunk amíg átkapcsol
  36.     //while( OSCCONbits.COSC != 0b011 );*/
  37.    
  38.     //Várunk amíg a PLL beáll
  39.     while( OSCCONbits.LOCK == 0 );
  40.    
  41.     //UART1 beállítása
  42.     RPINR18bits.U1RXR = 40;
  43.         RPOR3bits.RP40R0 = 1;
  44.    
  45.        
  46.         U1BRG = 406;
  47.  
  48.  
  49.         U1MODEbits.UARTEN = 1;
  50.  
  51.         U1STAbits.UTXEN = 1;
  52.    
  53.    
  54.    
  55.    
  56.    
  57.     // I/O beállítások
  58.     TRISBbits.TRISB5 = 0;   //RB5 kimenet
  59.     TRISBbits.TRISB6 = 1;   //RB6 bemenet
  60.     CNPUBbits.CNPUB6 = 1;   //RB6 felhúzó ellenállás
  61.     //RPINR18bits.U1RXR = 40; //26-os láb, RP40 Rx
  62.     //RPOR2bits.RP39R0 = 1;   //RP39 legyen Tx
  63.    
  64.     U1TXREG = 0x21;
  65.    
  66.     while(1)
  67.     {
  68.         ;
  69.     }
  70.     return (EXIT_SUCCESS);
  71. }


Szeretném 9600 BAUD-re beállítani 1 stop és 8 adatbittel, de így csak Á betűket küld a felkiáltójel helyett.
Szerintem a U1BRG = 406; sorral lehet a gond, de az Fcy az órajel fele, legalábbis ahogy éngondolom, mivel a DOZEN le van kapcsolva.

Van valamiötletetek?
(#) Pali79 hozzászólása Okt 17, 2015 /
 
Szerintetek miért van az, hogy egy programozás után ezt írja az mplab:
PKWarn0003: Unexpected device ID: Please verify that a PIC16F628A is correctly installed in the application. (Expected ID = 0x1060, ID Read = 0x0)
És nem lehet semmit csinálni vele. Felprogramoztam egy másik PIC-et, utána azzal is ezt csinálja.
(#) Hp41C válasza Pali79 hozzászólására (») Okt 17, 2015 /
 
- MCLR letiltva, belső oszcillátor kiválasztva, és a PGC és/vagy PGD kimenetnek, esetleg Timer 1 oszcillátornak beállítva a program elején: A program elindul és a programozó nem tud kapcsolatot teremteni a kontrollerrel.
- PGM lábon változik a szint és az LVP engedélyezett.
(#) Pali79 válasza Hp41C hozzászólására (») Okt 17, 2015 /
 
Köszi! A PK2 saját programjával, kézi kiválasztás és Use Vpp first program entry használatával, tudtam törölni. Betettem egy késleltetést a program elejére, így már jó!
(#) Pali79 válasza sonajkniz hozzászólására (») Okt 17, 2015 /
 
Az első próbák a szervóval elég biztatóak. Kb. 180°-os elfordulást tudtam eddig kihozni amit encoderrel tudok léptetni. A két végállás között 170 lépés a max, mert a Timer0-t nem tudom finomabban szabályozni. Cserébe viszont a program nagyon egyszerű. Bár ha sikerül 270°-ra beállítani a végállásokat az akkor is 1,5° lépésenként. Nem olyan rossz.
(#) Droot válasza Droot hozzászólására (») Okt 18, 2015 /
 
Továbbra sem tudom működésre bírni. Valakinek valami ötlet?
Ezek az adatok a PLL-hez tartoznak:
FIN 25 MHz
PLLDIV 38 ezt állítjuk be
PLLPRE 2
PLLPOST 0
FPLLI 6,25 MHz
FVCO 250 MHz
FPLLO 125 MHz
(#) Balagemann2031 hozzászólása Okt 18, 2015 /
 
Sziasztok! PicKit3 gyári programozó készülékkel programozom fel alkotásaimban a PIC-eket. A kérdés, hogy ha sokszor váltogatok 18F és 24H család között, amihez az MPLAB mindig az aktuális család programozó firmware-jét teszi a programozó készülékbe, akkor nagyban rövidítem a PicKit3 élettartamát?
(#) Pali79 válasza Balagemann2031 hozzászólására (») Okt 18, 2015 /
 
A PK3-ban is PIC van aminek az adatlapjában le van írva hogy a memóriát hányszor lehet újraírni. Ha ehhez közel vagy akkor tönkremehet. A régi 16F877A adatlapja 100.000 törlés-írás élettartamot ír. Gondolom a PK3-ban lévő sem tud kevesebbet.
(#) cross51 válasza Balagemann2031 hozzászólására (») Okt 18, 2015 /
 
A PICkit3 lévő PIC adatlapjában ezt írják a flash memóriáról:
Idézet:
„Flash Program Memory:
- 10,000 erase/write cycle endurance (minimum)
- 20-year data retention minimum
- Selectable write protection boundary
- Write protection option for Flash Configuration
Words”
(#) Hp41C válasza Pali79 hozzászólására (») Okt 18, 2015 /
 
A 24FJ256GB106 adatlapján csak 10000 (D130) szerepel.
(#) Pali79 válasza Hp41C hozzászólására (») Okt 18, 2015 /
 
Nem gondoltam volna, hogy ekkorát fejlődött vissza. Bár ki tudja, hogy a 16F877A tudja-e a 100ezret.
(#) Droot válasza Droot hozzászólására (») Okt 18, 2015 /
 
Valaki?
(#) cross51 válasza Droot hozzászólására (») Okt 18, 2015 /
 
Segítségként Bővebben: Link, meg ezt próbáld ki:
  1. ...
  2. __delay_ms(1);
  3. U1TXREG = 0x21;
  4. ...
(#) gyurma888 hozzászólása Okt 18, 2015 /
 
Sziasztok!
Mit kéne írnom a PicKit 3 programjában az OSCCAL-ba? PIC10F206-ot szeretnék programozni. Néztem már az adatlapot is, de sajnos nem lettem tőle okosabb.
Köszönöm!
(#) Bakman válasza gyurma888 hozzászólására (») Okt 18, 2015 /
 
Tools menü -> OSCCAL -> Auto Regenerate

Ilyened van? Ha igen, katt rá.
(#) gyurma888 válasza Bakman hozzászólására (») Okt 18, 2015 /
 
Szia!
Nincs, csak Tools -> OSCCAL -> "Set manually" van.
(Bár a program ajánl egy "0CFF"-et, ezt beütöttem, de megpróbáltam és nem jó...)
A hozzászólás módosítva: Okt 18, 2015
(#) sonajkniz válasza gyurma888 hozzászólására (») Okt 18, 2015 /
 
Szia!
Ez a PIC mire jó?
(#) Droot válasza cross51 hozzászólására (») Okt 18, 2015 /
 
A pdfet ismerem. A delayt is próbáltam de anélkül is mennie kell.
Az órajeleket és a baud rate beállítását esetleg le tudod ellenőrizni.
(#) Balagemann2031 válasza Hp41C hozzászólására (») Okt 18, 2015 /
 
Köszönöm a válaszokat a többieknek is! vajon mi lehet az oka annak, hogy az újabb PIC-eknek kevesebb a memória újraírási száma? Üzleti megfontolás, vagy technológiailag nem bírják a nagyobb memóriát tartósra csinálni?
(#) zenetom válasza sonajkniz hozzászólására (») Okt 18, 2015 /
 
Szerintem nem gondoltad át ezt a kérdést.
(#) gyurma888 válasza sonajkniz hozzászólására (») Okt 18, 2015 /
 
Jelenleg egy nagyon egyszerű feladatot akarok vele végezni:
Amikor a komparator bitje 1, akkor vár egy kicsit a pic és megnézi újra, aztán megnézi megint, és ha mindháromszor 1, akkor impulzust ad ki. Amúgy tényleg nem sokat tud de azért jó valamire!
Esetleg még valaki ötlet a CALLOSC-ra?
Az eddigieket köszönöm!
A hozzászólás módosítva: Okt 18, 2015
(#) sonajkniz válasza zenetom hozzászólására (») Okt 18, 2015 /
 
Van 4 I/O lába, meg egy 8 bites timere. Se A/D, se PWM.
Multivibrátornak, vagy frekvenciagenerátornak elég egy 555-ös is.
Na jó. Egy kódolt kapunyitót azért kiad.
Következő: »»   712 / 1210
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