Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1127 / 1318
(#) kissi válasza Kori27 hozzászólására (») Júl 3, 2013 /
 
A TIMER egy számláló, ami adott jelre számol egyet. Ha túlcsordul ( minden bit 1-ből átmegy 0-ba ), akkor jelez az IF bittel! A lényege, hogy az üzemmódot ( milyen jelet számoljon / órajel v. külső láb /, mennyivel ossza a léptetés előtt, felfutó v. lefutóélre számoljon, kezdőérték, stb. ) szoftveresen kell beállítani a hozzátartozó regiszterek segítségével. A PIC-nél ezek a regiszterek nagyon jól össze vannak foglalva az adott TIMER leírásának a végénél ! Még egy hasznos dolog: nézegesd a TIMER tömbvázlatát, ha ismered az elektronikai jelöléseket, akkor mindent érteni fogsz !
Ja, és mehetne a kezdő kérdések közé is !
A hozzászólás módosítva: Júl 3, 2013
(#) Kori27 válasza kissi hozzászólására (») Júl 3, 2013 /
 
Köszi
Esetleg egy példa kódot tudnál mutatni? Nekem igazából arra kéne megoldás, hogy egy bemeneten két felfutó él közti időt meg tudjak mérni (olyan fél másodperc küröli időről lenne szó), illetve utána adott időnként egy kódot meghívni (timer megszakítással).
(#) szdani hozzászólása Júl 4, 2013 /
 
Valaki tudna segíteni? Mplab-ban nem tudok UART kommunikációval adatot fogadni, és nem értem hogy mi lehet a gond, küldeni tudok.

uart.zip
    
(#) mrcdcscc hozzászólása Júl 7, 2013 /
 
Kedves Moderátorok

Pénteken nyitott témám (PIC interrupt On Change probléma) lezárásra is került rögtön, és a témaindító hozzászólásom ide került át. Szombaton még láttam is a hozzászólásom itt, már nem. Hova tűnt?
(#) nedudgi válasza mrcdcscc hozzászólására (») Júl 7, 2013 /
 
(#) Gyimate hozzászólása Júl 7, 2013 /
 
Sziasztok!
Lenne egy olyan jellegű kérdésem, hogy egy PIC16F877 mennyi ideig képes működni egy 1F-os goldcapról úgy hogy sleep állapotba teszem ahogy megszűnik a tápellátás, viszont a Timer1-nek mennie kell. Méréseim alapján ha 20MHz-n járatom a PIC-et és egy órakvarc van rákötve még pluszban, akkor 4mA-t eszik meg. Van valaki aki már foglalkozott ezekkel a goldcapokkal hasonló helyzetben? Addig nem szeretném megvenni illetve elkészíteni az áramkört amíg nem vagyok benne biztos, hogy megfelel-e a számomra.
A válaszokat előre is köszönöm.
(#) nedudgi válasza Gyimate hozzászólására (») Júl 7, 2013 /
 
Azt hiszem, a NEC oldalán van egy kalkulátor, amivel meg lehet saccolni az üzemidőt... Megkeresem.
(#) nedudgi válasza Gyimate hozzászólására (») Júl 7, 2013 / 1
 
Talán a mellékelt Excel fájl segít.
(#) Gyimate válasza nedudgi hozzászólására (») Júl 7, 2013 /
 
Nagyon szépen köszönöm, hát a táblázat szerint jobban teszem ha mást keresek erre a célra, az a 2-3 perc nem sokat ér egy óránál, a fogyasztásból meg már nem tudok jobban lefaragni ezzel a PIC-el, sebaj ma is tanultam valamit.
Még egyszer kösz a segítséget!
(#) _vl_ válasza Gyimate hozzászólására (») Júl 7, 2013 /
 
Mi a cél? Ha egy RTC-t akarsz táplálni, rakjál mellé egy RTC-t.
Pl. egy MCP7940N 1uA-t eszik elemről (teszteltem, tényleg annyit), és megelégszik 2V-tal is. Egy 100 forintos CR2032-es elemről évekig el tudna futni.
(#) Gyimate válasza _vl_ hozzászólására (») Júl 7, 2013 /
 
A cél annyi lett volna, hogy egy esetleges áramkiesés idejére (2-3 óra) pótolni tudja az áramot, azért is gondolkoztam kondenzátorban mert kevesebb törődést igényel mint egy akku. Az RTC-n gondolkodtam én is, de sajnos most nincs rá lehetőségem, hogy megrendeljem (itt ahol lakom ha bemegyek a TV szerelőkhöz akkor nem én mondom meg, hogy mi kell nekem, hanem ők hogy mi van), ezért volt szükséges, hogy abból építkezzek ami itthon van kéznél. A későbbiekben beszerelek mellé egy DCF77 vevőt is és akkor már nem akkora létjogosultsága annak az elemnek mint most.
(#) The_Saint hozzászólása Júl 10, 2013 /
 
Üdv!

Szeretném újfent a segítségeteket kérni. SD kártyára akarok adatot menteni PIC18F458, vagy bármi hasonlóval. Pár mintát már ki is próbáltam, FAT-tal meg anélkül is, de valahogy egyik sem akar működni.
Ha valakinek lenne működő "include"-olható .asm forráskódja, vagy valami komplett tutorial féle, azt nagyon megköszönném.

További szép napot!
Üdv
The_Saint
(#) Kisvé válasza The_Saint hozzászólására (») Júl 10, 2013 /
 
Nekem azért nem működött az SD kártya egy darabig mert nem tudtam, hogy a kártya adat kimenetére kell felhúzó ellenállás. Nálad ez megvan?
(#) The_Saint válasza Kisvé hozzászólására (») Júl 10, 2013 /
 
Szia, igen van a DO-n egy 10k-s, bár korábban 4.7k-s volt, de már nem is emléxem pontosan, hogy miért is cseréltem le 10k-ra....
(#) watt válasza The_Saint hozzászólására (») Júl 10, 2013 /
 
Nagyon fontos, hogy inicializáláskor 400KHz-nél lassabb legyen az SPI sebesség. Ez nagyon függ a Fosc-tól és esetleg a felhasznált PIC oszcillátorának beállításaitól. Ezt érdemes megnézni.
(#) soos csaba hozzászólása Júl 11, 2013 /
 
Sziasztok, szeretném meg építeni EZT a kapcsolást, csak az a gondom hogy a PIC égetőm pont ezt a típust nem tudja égetni!, a listában ott van a PIC 16F690-es típus de szürkén lehet csak látni a programozó listájában. A kérdésem az volna hogy ehhez a programozóhoz nem tud valaki egy olyan programot adni amiben szerepel a PIC16F690-es is?
A hozzászólás módosítva: Júl 11, 2013
(#) soos csaba válasza soos csaba hozzászólására (») Júl 11, 2013 /
 
Na közben rá jöttem hogy a PIC16F690-es 20-lábas,és nekem a programozom csak 18lábas PIC-et tud fogadni!. Ehhez a rajzhoz nem lehetne egy más fajta PIC-be (18-lábasba) bele programozni ugyan ezt a programot ami a PIC 16F690-esbe megy?
(#) pjg válasza soos csaba hozzászólására (») Júl 11, 2013 /
 
Ezt használom: WPB_F18_F16_F12_v1.32b Watt weboldaláról letölthető. Csinálj egy egyszerű csatlakozást az égetődhöz. ICSP és bármilyen lábszámú PIC-ket tudsz égetni.
(#) watt válasza soos csaba hozzászólására (») Júl 11, 2013 / 1
 
Ha az oldalamon jársz, olvasd el az ICSP-s rész is...
A hozzászólás módosítva: Júl 11, 2013
(#) foxi63 válasza soos csaba hozzászólására (») Júl 11, 2013 /
 
Szia Válassz egy olyan másik listában szereplő PIC-et amelyiknek ugyanekkora a memóriája, és menni fog...
üdv.
(#) soos csaba válasza foxi63 hozzászólására (») Júl 11, 2013 /
 
Szia, te melyiket ajánlod a 18 lábas PIC családból, amelyiknek ugyan ekkora memóriája van mint a PIC16F690-esnek?. Nem vagyok igazán otthon a PIC-es témában, csak fel programozom őket és kész mást nem nagyon tudok róluk!.
A hozzászólás módosítva: Júl 11, 2013
(#) soos csaba válasza watt hozzászólására (») Júl 11, 2013 /
 
Szia, hol van ez az oldal?.
(#) adamhollos hozzászólása Júl 11, 2013 /
 
Sziasztok!

PIC18F25K80-nal szeretnék PID-es motorvezérlőt csinálni. Félreértés ne essék, már csináltam ilyet de akkor csak az volt a lényeg, hogy tartson egy sebességet, most viszont használni is szeretném amihez szükség volna arra, hogy tudjak rendesen időt mérni az inpout capture-rel. Viszont valamiért nem úgy viselkedik a PIC belső oszcillátora ahogy kéne.

Először azt vettem észre, hogy a PWM frekvenciája nem annyi mint amennyit a PRx register értéke indokolna
(50Mhz-es oszcilloszkóppal mértem meg) ezért INTIO1 módra álltam át és megmértem a CLKOUT(RA6) lábon a frekit aztán felszoroztam 4-el. így 28,57 MHz adódott, aminek ugye a belső órajelnek kéne lennie és mivel nem állítottam be leosztást (jobban mondva kiszedtem a deafult /2-es leosztást) ezért ennyinek kéne lennie a belső oszcillátor frekvenciájának is, de elvileg 16MHz a belső osszcillátor frekvenciája. Három PIC-kel is kipróbáltam de mind pontosan ugyan ezt az értéket produkálta.

Ez egy gyári hiba? Ennyire megbízhatatlanok a PIC-ek belső oszcillátorai vagy én csesztem el valamit?

Ez a C18 kódom (egyenlőre csak a PWM-ig jutottam ugye):
  1. #include <p18f25k80.h>
  2. #pragma config XINST = OFF, FOSC=INTIO1, IESO= ON, PWRTEN=ON, WDTEN=OFF, MCLRE=OFF
  3.  
  4. #define duty_cycle  CCPR1L
  5.  
  6. #define dirA        LATBbits.LATB5
  7. #define dirB        LATBbits.LATB3
  8. #define testLED     LATCbits.LATC3
  9.  
  10. void configuration(void);
  11. void configuration_interupts(void);
  12. void configuration_PWM(void);
  13. void configuration_inCap(void);
  14. void lo_isr(void);
  15. void hi_isr(void);
  16.  
  17. float PID(float process_value,float setpoint_value,float dt);
  18.  
  19. void main()
  20. {
  21.  
  22.     configuration();
  23.  
  24.     dirA=0;
  25.     dirB=1;
  26.     //T1CONbits.TMR1ON=1;
  27.     T2CONbits.TMR2ON=1;         //Erről megy a PWM
  28.  
  29.     duty_cycle=150;
  30.  
  31.     while(1)
  32.     {
  33.  
  34.     }
  35. }
  36.  
  37. void configuration()
  38. {
  39.     OSCCONbits.IRCF0=1;         //
  40.     OSCCONbits.IRCF1=1;         //belsõ órajel 16MHz
  41.     OSCCONbits.IRCF2=1;         //
  42.  
  43.     TRISA=0;
  44.     TRISB=0;
  45.     TRISC=0;
  46.     LATA=0;
  47.     LATB=0;
  48.     LATC=0;
  49.  
  50.     configuration_PWM();
  51.     configuration_inCap();
  52.     configuration_interupts();
  53.  
  54. }
  55.  
  56. void configuration_PWM()
  57. {
  58.         PSTR1CON=0x11;          //Output steering update occurs on the next PWM period & P1A pin has the PWM waveform with polarity control from CCP1M<1:0>
  59.         CCPTMRSbits.C1TSEL=0;   //ECCP1 is based off of TMR1/TMR2
  60.         PR2=255;                //PWM frekvenciája 20kHz
  61.         CCP1CON=0x3C;           //singel output, PWM mode; P1A and P1C active-high; P1B and P1D active-high
  62.         CCPR1L=0;
  63.         T2CON=0x00;
  64. }
  65. void configuration_inCap()
  66. {
  67.  
  68. }
  69. void configuration_interupts()
  70. {
  71.  
  72. }
  73.  
  74.  
  75. #pragma code high_vector_addr=0x08
  76. void high_vector(void) {
  77.   _asm GOTO hi_isr _endasm
  78. }
  79.  
  80. #pragma code low_vector_addr=0x18
  81. void low_vector(void) {
  82.   _asm GOTO lo_isr _endasm
  83. }
  84.  
  85. #pragma code
  86. #pragma interrupt hi_isr
  87. void hi_isr (void)
  88. {
  89. }
  90.  
  91. #pragma interruptlow lo_isr
  92. void lo_isr (void)
  93. {
  94. }
(#) soos csaba válasza pjg hozzászólására (») Júl 11, 2013 /
 
Szia ICSP alatt mit értesz?, egy rajzot nem tudnál nekem küldeni?.
(#) pjg válasza soos csaba hozzászólására (») Júl 11, 2013 /
 
(#) _vl_ válasza adamhollos hozzászólására (») Júl 11, 2013 /
 
Nézd meg a generált HEX kimenetben, hogy pontosan milyen konfig bitek kerülnek beállításra. Egy csomó konfig bitre semmit nem adtál meg, nyilván van valami default értékük.
(#) watt válasza foxi63 hozzászólására (») Júl 11, 2013 /
 
Jelenleg nincs olyan foglalat az égetőjén, ami fogadni tudná, nem csak a programja nem ismeri. Egyébként sem általános amit ajánlasz...
A hozzászólás módosítva: Júl 11, 2013
(#) soos csaba válasza pjg hozzászólására (») Júl 11, 2013 /
 
El olvastam a le írást, valamit meg értetem valamit nem. A lényeg az hogy a panelemen a 18-as PIC csatlakozó mellet található 5-kis tüske ami alatt ICSP felirat található!, Ezeket írja a tüskék mellet- 1-VPP 2-VCC1 3-GND 4-RB5 5-RB6 . A kérdés már csak az volna hogy az RB5, és az RB6 mi volna, melyik volna a PGD(adatvonal), és melyik volna a PGC(órajelvonal). Ha ki is vezetném egy 20-as foglalatba azt az 5-kábelt akkor a PIC16F690-es lábaihoz melyik lábakat kössem be hogy ne menjen tönkre a chip, és hogy fel is tudjam programozni?.
(#) pjg válasza soos csaba hozzászólására (») Júl 11, 2013 /
 
Ezt nézd át figyelmesen Bővebben: Link
Ez meg az IC: Bővebben: Link
PIC16F690 esetén az adatlap szerint:
1-VPP MCLR 4-es láb
2-VCC1 Vss 20-as láb
3-GND Vdd 1-es láb
4-RA1 ICSP data 19-es láb
5-RA2 ICSP clock 18-as láb
A hozzászólás módosítva: Júl 11, 2013
(#) adamhollos válasza _vl_ hozzászólására (») Júl 11, 2013 /
 
Feltöltöttem a configurációs bitekről a "kimutatást" én nem találtam semmit aminek bármi köze volna ehhez
A hozzászólás módosítva: Júl 11, 2013
Következő: »»   1127 / 1318
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