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   361 / 1210
(#) baloka válasza zolek hozzászólására (») Feb 1, 2013 /
 
Szia!
Én már megcsináltam ezt a kapcsolást. és tökéletesen működik!
(#) tom75 hozzászólása Feb 1, 2013 /
 
Pic (lcd) kijelzését hogy tudom úgy beállítani, hogy feszültség mérésnél 10mV-ként jelezze ki az értéket?

köszi
(#) vicsys válasza tom75 hozzászólására (») Feb 1, 2013 /
 
Megvizsgálod az utolsó digitet, ha az nulla, akkor kiíratod a számot, ha nem, akkor meg nem. (ha mV-os a felbontásod) (Gyanítom, hogy bargraph vagy vonalkijelzésre gondolsz, de akkor nem kell vizsgálni semmit sem, csak bután egy for ciklussal kiíratni 1-1 helyiértékre)
(#) tom75 válasza vicsys hozzászólására (») Feb 1, 2013 /
 
Később lehet de egyenlőre nem szeretném cifrázni csak működjön a kijelzés sima szám alapon.

Ezt a progit szeretném átalakítani
  1. char Message1[] = “DVM Project”;
  2.  
  3. unsigned int ADC_Value, DisplayVolt;
  4.  
  5. char *volt = "00.0";
  6.  
  7. void main() {
  8.  
  9.  ANSEL = 0b00000100; // RA2/AN2 is analog input
  10.  
  11.  ADCON0 = 0b00001000; // Analog channel select @ AN2
  12.  
  13.  ADCON1 = 0x00;   // Reference voltage is Vdd
  14.  
  15.  CMCON0 = 0x07 ; // Disable comparators
  16.  
  17.  TRISC = 0b00000000; // PORTC All Outputs
  18.  
  19.  TRISA = 0b00001100; // PORTA All Outputs, Except RA3 and RA2
  20.  
  21.  Lcd_Init();        // Initialize LCD
  22.  
  23.  Lcd_Cmd(_LCD_CLEAR);      // CLEAR display
  24.  
  25.  Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
  26.  
  27.  Lcd_Out(1,1,Message1);
  28.  
  29.  Lcd_Chr(2,10,'V');
  30.  
  31. do {
  32.  
  33.   ADC_Value = ADC_Read(2);
  34.  
  35.   DisplayVolt = ADC_Value * 2;
  36.  
  37.   volt[0] = DisplayVolt/1000 + 48;
  38.  
  39.   volt[1] = (DisplayVolt/100)%10 + 48;
  40.  
  41.   volt[3] = (DisplayVolt/10)%10 + 48;
  42.  
  43.   Lcd_Out(2,5,volt);
  44.  
  45.   delay_ms(500);   // Hold for 500 ms
  46.  
  47.  } while(1);
  48.  
  49. } // End main()

köszönöm
A hozzászólás módosítva: Feb 1, 2013
(#) jdani hozzászólása Feb 1, 2013 /
 
Hali, PICre kötöttem minden előtőt, és tranzisztor nélkül egy 4digites kijelzőt, multiplexálva megy. A frissitési idő gyors, és ettől a szegmensek gyengébben világítanak mint ahogy kell nekik. Ez nekem nem gond, de mehet így tovább is a kijelző minden előtőt nélkül? Mert fényerenyéből kifolyólag nem haladja meg a maximális áramot, amit a PIC lába elbír.
(#) silent15 válasza jdani hozzászólására (») Feb 1, 2013 /
 
Szia!
Lehet hogy nem haladja meg, de nem ártana neki egy kis tranyós rásegítés, így növelheted a PIC élettartamát (magyarán jobban kibírja.)
(#) zolek válasza baloka hozzászólására (») Feb 1, 2013 /
 
Helló! baloka A hex-et megosztanád? Mert hiába programozom fel nem indul én 16F628A -val próbálkoztam, vagy van tipped vele kapcsolatban,ledek jól vannak beültetve chip lábain a volt megvan .
(#) norbigal hozzászólása Feb 2, 2013 /
 
Üdv mindenkinek!
Már dolgoztam PIC kontrollerekkel, csak mindig egy olyan panelen amit készen kaptam. Most viszont egy ilyen panelt szeretnék készíteni PIC24HJ32GP204-es kontrollerrel. Gyakorlatilag csak a legminimálisabb felépítés kellene, vagyis minden IO port ki legyen vezetve, és táp, szűrés és programozás meg legyen oldva. Már nagy részét megterveztem Eagle-ben, de úgy gondoltam, hogy a panelre egy 8 LED-ből álló LED-sort is el kellene helyezni, hogy valami visszajelzést minden külső panel nélkül tudjak vezérelni. Olvastam ezen kontroller adatlapját, melyben erre lettem figyelmes:
Idézet:
„Maximum current sourced/sunk by any 2x IO pin 8mA”

Ez arra utalna, hogy bármely IO lábon maximum 8mA-es áram folyhat át csak?!?! Sőt az adatlapban ez alatt további hasonló adatok vannak feltüntetve pl.
Idézet:
„...by any 4x IO pin 15mA...”
,
Idézet:
„...by any 8x IO pin 25mA...”
. Vagyis minél több IO lábon akarok áramot átfolyatni annál kevesebbet tehetek meg IO lábanként?!?!
Ha ez valóban így van akkor még egy egyszerű LED sorhoz is open-collectoros kialakítást kell használnom?!?! Bocsi a kérdés áradatért, csak ezen fennakadtam, mert úgy gondoltam 20mA-t azért elbírnak az egyes lábak....
(#) kaqkk válasza norbigal hozzászólására (») Feb 2, 2013 /
 
A ledek elé tegyél egy uln2803 meghajtót, az tud 500mA-t .
(#) baloka válasza zolek hozzászólására (») Feb 2, 2013 /
 
Szia!
Erről az oldalról készítettem:http://picprojects.org.uk/projects/roundchaser/
Ha a tápfesz megvan, és a LED-ek is jól lettek beforrasztva, akkor én csak valami forrasztási hibára tudok gondolni. Igazából nem túl bonyolult a kapcsolás, így a hibalehetőség is kicsi.
Amúgy erről az oldalról már megcsináltam pár dolgot, és elsőre működött mindegyik, szóval elég megbízható amiket közölnek.
(#) ha9pi.feri hozzászólása Feb 2, 2013 /
 
Üdv!
Szeretnék segítséget kérni: Egy PIC-el (16F628) különböző 12V-os áramköröket kell kapcsolgatni (különböző 12V-os forrásokból). Elég, ha csak kapcsoló tranzisztorokkal oldom meg, vagy tegyek még közé egy invertert, vagy ULN2803-akkal oldjam meg?
(#) icserny válasza norbigal hozzászólására (») Feb 2, 2013 /
 
Idézet:
„egy ilyen panelt szeretnék készíteni PIC24HJ32GP204-es kontrollerrel.”
Ha már építesz: PIC24HJ128GP504-gyel nem jobban járnál? Az általad választott típusban a Flash és a RAM memória is kevés és a perifériakészlet is elég szegényes.
Idézet:
„bármely IO lábon maximum 8mA-es áram folyhat át csak?”
Nem 8 mA, hanem 4 mA! A 8 mA két lábra vonatkozó adat...
(#) kissi válasza ha9pi.feri hozzászólására (») Feb 2, 2013 /
 
Elég a tranzisztor ( de ha relék is vannak, akkor a diódákról se feledkezz meg!) !
Steve
(#) potyo válasza ha9pi.feri hozzászólására (») Feb 2, 2013 /
 
Ha több csatorna kell, és nem kell túl nagy áramot kapcsolni (max 500ma), akkor az ULN2803 kedvezőbb. Nem kell sem bázisellenállás, sem dióda a relével párhuzamosan, mivel belül megvan mindkettő.
(#) norbigal válasza icserny hozzászólására (») Feb 2, 2013 /
 
Az első kommentedre: ...és minő véletlen: DE! Először én is pont ezt néztem ki mert fontos, hogy max 44 lábú legyen (ezt még házilag könnyen le bírom nyomtatni és előhívatni) csak a PMP porton kicsit elbizonytalanodtam. Vagyis, hogy a PIC ennél a kontrollernél a párhuzamos portokat a PMP kategóriába sorolta és nem a GPIO-ba. Annyit tudok, hogy ez gyakorlatilag a memóriába ágyazáshoz és külső memóriák illesztéséhez jó, de azt sajnos nem tudom, hogy mennyiben befolyásolja ez a GPIO funkciót.
Vagyis: ez csak egy extra funkció és ettől még ugyanúgy használhatom bármely portot ki és bemenetként és ugyanúgy rendelkezik Pin Select funkcióval mint bármely más kontroller?!?! Ha igen, akkor ez is tökéletesen megfelelne (sőt, ez esetben gyorsan újraterveznék mindent). Ha meg tudod ezt nekem válaszolni akkor előre is köszönöm! Tényleg sokkal jobb lenne ez a típus.

A második kommentedre: jogos a megjegyzés, én is úgy gondoltam volna, csak nem úgy írtam.
(#) ha9pi.feri válasza potyo hozzászólására (») Feb 2, 2013 /
 
Üdv!
Köszönöm a válaszokat. Összesen 6 csatorna kell 3 különböző feszültség forrásból, tehát 3 ULN kellene. Lehet, hogy vegyesen oldom meg. A tranzisztor bázis ellenállásnak 4,7K gondolom elég, ha esetleg zárlatos lenne a tranzisztor is. Egyébként reléket is kapcsol (16mA).
(#) icserny válasza norbigal hozzászólására (») Feb 2, 2013 /
 
A PMP az egy külön periféria, én még nem használtam. Ha külön nem engedélyezed, akkor nem zavarja az I/O portok működését. Én a 28 lábú PIC24HJ128GP502 típust használom, ami a neked ajánlott 44 lábúnak a kistestvére. A honlapomon a PIC-kwik projektben találsz hozzá tananyagot, mintapéldákat és támogatói szoftver könyvtárat. A forrásként felhasznált angol (oppardon: amerikai) tananyag (ECE3724 kurzus) itt található.
(#) potyo válasza ha9pi.feri hozzászólására (») Feb 2, 2013 /
 
Használhatsz egy ULN2803-at is. Bekötöd a Vdd lábát a legmagasabb tápfeszültségre, és ami kisebb feszültségről megy, oda meg teszel visszacsapó diódákat a láb és a hozzá tartozó táp közé.
(#) norbigal válasza icserny hozzászólására (») Feb 2, 2013 /
 
Köszönöm, akkor mindenképp azt fogom használni! Amúgy egy GP502-essel én is rendelkezem lévén, hogy a Kandón tanulok, csak nekem Microstick formájában van meg + hozzá a Microstick Plus. De az 502-es amúgy nagyon tetszik és így, hogy annak nagytestvére is szóba jöhet, abból csak előnyöm származik.
(#) icserny válasza norbigal hozzászólására (») Feb 2, 2013 /
 
Idézet:
„nekem Microstick formájában van meg + hozzá a Microstick Plus.”
Tavaly Húsvét óta ez a konstelláció is támogatott nálam. A szoftver segédlet honlapról a microstickplus_examples.zip állományt töltsd le hozzá!
(#) norbigal válasza icserny hozzászólására (») Feb 2, 2013 /
 
Meg fogom nézni, köszönöm!
Viszont lenne még néhány kérdésem a panellal kapcsolatban. Legtöbbjére már maga a kérdés a válasz, de inkább megkérdezem, mintsem hogy lenyomtatás, előhívás, maratás után szívjam a fogam, hogy nem így kellett volna.
Az MCLR lábra az adatlapok mindegyike azt javasolja, hogy egy soros és egy felhúzó ellenállás mellett kössünk be egy szűrő kondenzátort is. A soros ellenállás <470Ohm a felhúzó pedig <10KOhm-os legyen.
1) Ezeknek tehát megfelel ha a javasolt 470 és 10K-s ellenállást választom meg?
2) Továbbá itt merül fel az MCLR-nél lévő kondenzátor értéke, mert arról nem sokat találtam az adatlapban. Milyen fajta és mekkora értékűt javasoltok?
3) AZ MCLR lábra ugye értelemszerűen ráköthetek egy nyomógombot, hogy kívülről is lehessen resetelni?!?!
4)A kondenzátorok részletezésekor az adatlap azt is említi, hogy nagy frekvenciás zajokra az összes VDD-VSS láb közé a mindenképpen szükséges 0,1µF-os kondik mellé párhuzamosan kössünk még egy-egy 0,01µF-osat is. Ez mennyire elhanyagolható?!?!
5) PICKit2-höz a debug lábak ugye a PGECx és PGEDx, melyekkel sorba egy-egy <100Ohmos ellenállást kell kötni. De ezen kis kontrollernek több PGECx és PGEDx lába is van. Jól gondolom, hogy én előre hardveresen megválasztom a kívánt párt, majd mikor programozom akkor a configuration bitekkel állítom be, hogy mely lábakat használja a hardver?!?!
6)Tudnátok javasolni egy 3,3V-os NEM kapcsolóüzemű feszültség stabilizáló IC-t?!?! Ha 5V-os kellene akkor ugye magától jönne az LM 7805-ös, de 3,3V-ossal soha nem találkoztam és nem tudom melyik az ami "megbízhatónak" is nevezhető de nem is 1A és afeletti áramra van tervezve. (Mert olyanokat találtam, de azok alaptalanul nagy méretűek és teljesítményűek lennének a panelomra)
7)A PICKit2 automatikusan képes biztosítani a 3,3V-ot a panelomnak ha MPLABX-szel használom?!? (Annyit tudok, hogy a sima Programmer-rel be lehetett állítani a tápfeszültséget de MPLABX-ben nem tudom hogy megy ez.)>>>
(#) icserny válasza norbigal hozzászólására (») Feb 2, 2013 /
 
1-2. Kondenzátort csak akkor szabad a felhúzóra kötni, ha van soros ellenállás is (különben zavarhatja a programozó működését). 10 kOhm felhúzás, 100 nF szűrés és 470 Ohm (vagy 1 kOhm) soros ellenállás szokásosnak mondható.
3. Természetesen. De ne az MCLR lábra kösd, hanem a soros ellenállás és a felhúzó ellenállás közös pontjára!
4. Szerintem 100 nF kell csak.
5. Programozás szempontjából ezek a párok egyenrangúak. A konfigurációs bit beállításánál azt mondod meg, hogy a debugolás melyiken történjen.
6. REG1117-3.3, LM 1117IMP-3.3, vagy ami ezek közül szimpatikus. Arra nagyon vigyázz, hogy a különböző típusok bekötése eltérő lehet!
7. Tudtommal az MPLAB (és bizonyára az MPLAB X is) a típus kiválasztása alapján tudja, hogy mekkora tápfesz engedhető meg.
A hozzászólás módosítva: Feb 2, 2013
(#) Hp41C válasza norbigal hozzászólására (») Feb 2, 2013 /
 
Idézet:
„De ezen kis kontrollernek több PGECx és PGEDx lába is van.”

A típussal kellett volna kezdeni. Szóval ez egy 16 vagy 32 bites típus.
4. 100nF -vel tegyél párhuzamosan 1nF -t is, ill. 1µF - 10nF - 100pF is jó megoldás. Minél nagyobb frekvencián minél nagyobb összes kimeneti árammal használod, annál inkább kellenek. Felhívnám a figyelmet arra, hogy ezeket a kondenzátorokat minden Vss - Vdd ill. AVss - AVdd pár közé be kell tenni legfeljebb 6 mm távolságra, ugyan arra a paneloldalra. A táp átvezető furatról (ha van) a vezeték előbb a kondenzátort érintse, aztán menjen a lábra.
5. Nem javasolt a PICKit2 ICSP csatlakozó és a kontroller PGEC / PGED lába közé ellenállást tenni. Az ellenállást inkább ezeket a lábakat normál esetben meghajtó átramkör és a fenti összekötés közé ajánlják. A legtisztább megoldás mégis az, hogy nem használjuk fel más célra ezeket a lábakat. Mindegyikről programozható a kontroller, de a nyomkövetés csak a konfigurációr regiszterben kiválasztottról megy majd.
Be kell kötni még az ENVDIS/VREG lábai is a konfigurációnak megfeleően.
Ne feledkezz meg a Vcap / VddCore lábra kötendő 10µF low ESR kerámia vagy tantál kondenzátorról sem.
Ld. DS39881D 19. oldalán 2.0 Guidelines for getting started with 16-bit microcontrollers
6. Létezik 7833 - 3.3V @ 1A analóg stabilizátor is. Valamint a Microchip számos típust gyárt.
A hozzászólás módosítva: Feb 2, 2013
(#) norbigal válasza Hp41C hozzászólására (») Feb 2, 2013 /
 
Igen-igen a VDD-VSS közti kondenzátorok 6mm-es távolságát én is megtaláltam az adatlapban. Az pedig magától értetődik, hogy a táptól a vezeték először a kondenzátorokat érintse majd csak ezek után érkezzen a kontrollerhez. De azért köszi az észrevételt!
A VCAP-re is figyeltem de az ENVDIS/VREG lábbal nem is találkoztam. :| Van ebben a kontrollerben ilyen!?! Majd rákeresek az adatlapban, de nekem eddig elkerülte figyelmem.
(#) Hp41C válasza norbigal hozzászólására (») Feb 2, 2013 /
 
Szia!
Jól látjuk mind a ketten, a PIC24HJ128GP502/504 -nek nincs sem ENVDIS sem VREG lába.
(#) Csusza hozzászólása Feb 2, 2013 /
 
Szevasztok! Nagyon kezdő vagyok az egész PIC programozásban (igazából soha nem programoztam még microchipet). De el szeretném kezdeni. Na már most a problémám az, hogy a pickit2 klónokba kell egy chip. Na de ebbe a chipbe is bele kell valahogy égetni a programot. És nem tudom mit csináljak. Venni nem szeretnék, de nincs senki ismerősöm aki segíthetne. Valaki tudna segíteni hogy hogy fogjak az egésznek? mit honnan szerezzek be?
A hozzászólás módosítva: Feb 2, 2013
(#) pjg válasza Csusza hozzászólására (») Feb 2, 2013 /
 
Ha Békéscsaba környéki vagy, beégetem neked.
(#) Csusza válasza pjg hozzászólására (») Feb 2, 2013 /
 
Veresegyház mellett lakom, Erdőkertesen, de ha megtennéd nekem, akkor el is mennék érte.
(#) pjg válasza Csusza hozzászólására (») Feb 2, 2013 /
 
220km. Postával olcsóbb.
(#) tom75 hozzászólása Feb 3, 2013 /
 
Pickit 2 nem talál eszközt
User guide 19. oldal laptetején található hibát üzeni.

Mit kell beállítani, hogy működjön?

Köszi Tamás
Következő: »»   361 / 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