Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
- 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   978 / 978
(#) gyoran válasza Fortitude hozzászólására (») Hé, 22:56 /
 
Szia
Én speciell 16F628A-val kezdtem, sokat lehet küzdeni vele, mire "érezni" kezded a működését.
Győrben én két boltot ismerek, egyik a belvárosban a Kisfaludy utcában tart(ott) PIC-eket, de égetőt szerintem nem. Gondolom persze beszerzi. A másik a kórház mellett mindent csak megrendelésre vállal(t).
Ha beruházol és nem vagy nagyon pénzszűkében én PICKIT 3-mal kezdeném, keress árat az interneten. Ez most gondolom nagyobb beruházás, de a jövőbe egyszer kell beruházni.
Ha netten soros portos égetőt látsz, ne vedd meg, kihalnak alóla a PC-k, az USB-Soros átalakítóval meg többnyire (soha?) nem megy.
A 12 és 16-os családot én assemblerben programozom, de hát én régi vágású vagyok.
Próbapanelnek a sima breadbordot ajánlom. Egyszer vettem a CON..Dban starter kit-et, összeraktam. Azóta barátságosan mosolygunk egymásra, de ennyi. Hogy köznyelven szóljak: a szerelem tüze nem lángol.
Szoftver, ugye az MPLAB X lenne a MICROCHIP-től, működik, de kb kétszer annyi időt töltök a beállításokkal, mint a software debuggal. Mindenesetre tud szimulációt, ami úgy is működik, hogy egy darab vasat nem kell venned.
A hozzászólás módosítva: Hé, 23:05
(#) hapci hozzászólása 18:17 /
 
Szervusztok!
Soros átvitelt csinálnék 16f628 belső oszcillátorával, de a gyári kalibráció már törölve. Van remény normális kapcsolatra, vagy próbáljam kalibrálni egy kristállyal szerelt hasonmás kapcsolással? (A PICkit3 3.10-es verziója nem tud kalibrálni.) Esetleg van jobb módszer oszcilloszkóp, frekvenciamérő nélkül?
A hozzászólás módosítva: 18:18
(#) nedudgi válasza hapci hozzászólására (») 18:24 /
 
Esetleg ez segíthet.
(#) slimcolt hozzászólása 20:35 /
 
Sziasztok,

Egy olyan feladatot szeretnék megolni, hogy több különböző feszültséget mérek a PIC 12bit-es ADC segítségével, majd ha a mért érték a megadott hatér érték között van, akkor egy LED-et bekapcsolok.
A feladatra egy PIC18F26K42-t választottam.

Még sosem mértem ADC-vel ezért kérném a segítségeteket.
Igazából az lenne a célom, hogy elvégzek 15 (vagy még több) mérést egy adott csatornán, majd az átlag eredményt hasonlítanám össze a határétékekkel és ez szerint működne a LED vezérlése.

Én ezt a dolgot így találtam ki, lehet, hogy hülyeség:

  1. unsigned int AVG_SUMM;
  2. unsigned int CNT = 15;
  3. unsigned int ADC_AVG;
  4. unsigned int ADC_H;
  5. unsigned int ADC_L;
  6. unsigned int ADC_result;
  7.  
  8.  
  9. void ADC_measuring (void) //ADC konvertálás
  10. {
  11.         ADCON0bits.GO = 1; //Konvertálás indítása
  12.         while (ADCON0bits.GO); //Várakozás a konvertálás befejezésére, ha végzett a GO bit-et törli.
  13.         ADC_result = ((ADRESH << 8) | ADRESL); //A teljes 12bit-es eredmény tárolva egy 16bit-es változóba. (LSB jobbra tolva a Format bit segítségével).
  14. }
  15.  
  16.  
  17. void ADC_average (void) //ADC eredmények átlagolása
  18. {
  19.         AVG_SUMM = 0;
  20.         ADC_AVG = 0;
  21.         for (cnt = 0; cnt < 15; cnt++); // 15x végzi el a mérést, majd átlagol.
  22.         {
  23.                 ADC_measuring();
  24.                 AVG_SUMM += ADC_result;
  25.         }
  26.         ADC_AVG = AVG_SUMM / CNT;
  27. }
  28.        
  29.  
  30. void 3V3 (void) //pl egy feszültség mérése.
  31. {
  32.         ADC_H = //meghatározott legmagasabb érték;
  33.         ADC_L = //meghatározott legalacsonyabb érték;
  34.         ADC_average();
  35.         if ((ADC_AVG >= ADC_L) && (ADC_AVG <= ADC_H));
  36.         {
  37.                 //LED bekapcsolva.
  38.         }
  39.         else
  40.         {
  41.                 //LED kikapcsolva.
  42.         }
  43.                
  44. }


A fő programban pedig csak sorban meghívnám az adott feszültség méréséhez szükséges függvényeket.
Ez az eljárás megfelelő lehet? Mit javasolnátok?
(#) hapci válasza nedudgi hozzászólására (») 21:14 /
 
Köszönöm, a módszer nem tűnik rossznak, de talán mégsem nekem való. Az MPLAB X ugyan elérhető, de tudtommal ennél a típusnál debuggoláshoz header is kellene, ami drágább, mint egy marék új PIC.
Következő: »»   978 / 978
Bejelentkezés

Belépés

Hirdetés
Frissek
2017. Szept, 19. Kedd
22:50:21
Jelenleg 323 fő olvassa az oldalt
Online tagok:
Lapoda.hu     XDT.hu     HEStore.hu