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   891 / 1203
(#) Elektro.on válasza kissi hozzászólására (») Jan 3, 2017 /
 
Amég irtam a hozzászólásom, közben Töltötte fel a képet. Amint beküldtem az enyémet mindjárt megjelent az is amit hiányoltam.

De nem is. csak most látom, hogy elkerülte a figyelmem.
A hozzászólás módosítva: Jan 3, 2017
(#) remiasa hozzászólása Jan 3, 2017 /
 
MicroC-vel forditom és PICKIT3 programmerel töltöm fel a pic-re egy PICKIT3-as programozóval, külső quartz-ot használok 4 és 20Mhz-el probáltam+ két 15pf kondi, természetesen más tipushoz átírtam a kodot de nem akar sehogy se működni, két lehetőség van szerintem vagy a win7 f*s tol ki velem vagy az ebay-es pickit3-as programozó rossz.
(#) kissi válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Küldd már el a keletkezett hex-et ( 16F877-re !) nekem !
(#) remiasa hozzászólása Jan 3, 2017 /
 
No itt is van.
(#) kissi válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Küldd el az asm-et vagy c-t is, hogy mit akartál lefordítani ( ez akkor 16F877-re készült !?) !
A hozzászólás módosítva: Jan 3, 2017
(#) remiasa hozzászólása Jan 3, 2017 /
 
igen

  1. void main() {    //fõprogram kezdete
  2.  
  3.   TRISD = 0; //Minden D kimenet
  4.  
  5.   portd=0;    // D port értéke nulla
  6.  
  7.   while(1)        //végtelen ciklus eleje
  8.   {
  9.  
  10.   PORTD = 0b00000001;
  11.   Delay_ms(1000);
  12.   PORTD = PORTD << 1;   //  PORTD = 0b00000001; volt eddig ezt eltoljuk balra tehát PORTD = 0b00000010; lesz.
  13.   Delay_ms(1000);
  14.   PORTD = PORTD << 1;  //  PORTD = 0b00000100 lesz;
  15.   Delay_ms(1000);
  16.   PORTD = PORTD << 1; // PORTD = 0b00001000 lesz;
  17.   Delay_ms(1000);
  18.   PORTD = PORTD << 1; // PORTD = 0b00010000 lesz;
  19.   Delay_ms(1000);
  20.   PORTD = PORTD << 1; // PORTD = 0b00100000 lesz;
  21.   Delay_ms(1000);
  22.   PORTD = PORTD << 1; // PORTD = 0b01000000 lesz;
  23.   Delay_ms(1000);
  24.   PORTD = PORTD << 1; // PORTD = 0b10000000 lesz;
  25.   Delay_ms(1000);
  26.   PORTD = PORTD >> 1; // PORTD = 0b01000000 lesz;
  27.   Delay_ms(1000);
  28.   PORTD = PORTD >> 1;
  29.   Delay_ms(1000);
  30.   PORTD = PORTD >> 1;
  31.   Delay_ms(1000);
  32.   PORTD = PORTD >> 1;
  33.   Delay_ms(1000);
  34.   PORTD = PORTD >> 1;
  35.   Delay_ms(1000);
  36.   PORTD = PORTD >> 1;
  37.   Delay_ms(1000);
  38.  
  39.   }    //végtelen ciklus vége
  40.  
  41. }    //fõprogram vége
A hozzászólás módosítva: Jan 3, 2017
(#) kissi válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Úgy láttam, hogy jó a konfigurációs beállításod, a disassembly lista alapján a programod is jónak tűnik ... ! Este otthon kipróbálom élesben és tudósítalak a fejleményekről !
(#) remiasa hozzászólása Jan 3, 2017 /
 
Köszönöm.
(#) peze válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Szia! Nálam 16F887-en működik rendesen.(Mármint ha a mikroc programot másolom be).
A hozzászólás módosítva: Jan 3, 2017
(#) remiasa hozzászólása Jan 3, 2017 /
 
Ezt írtam 16f628-hoz 20Mhz quartz 2db15pf kondi de ez sem megy.
  1. void main() {
  2.        
  3.        TRISA = 0b1111101;
  4.         PORTA.F1 = 1;
  5.       while(1){
  6.      
  7.       PORTA.F1 = 1;
  8.       Delay_ms(500);
  9.       PORTA.F1 = 0;
  10.       Delay_ms(500);
  11.       }
  12.     }
(#) kriszrap válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Lehet badarság...
Nem nagyon olvastam vissza de kódból ítélve villogtatni akarsz.
így:
  1. TRISA = 0b0000000;
A hozzászólás módosítva: Jan 3, 2017
(#) zenetom válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Kapcsold ki a komparátort:
  1. CMCON = 0b00000111;


Illetve itt egy bit/láb kimaradt:
  1. TRISA = 0b1111101;

Helyesen:
  1. TRISA = 0b11111101;


Szerk.: a komparátoros részt a TRISA rész elé írd.
A hozzászólás módosítva: Jan 3, 2017
(#) remiasa válasza zenetom hozzászólására (») Jan 3, 2017 /
 
A 16f628-nak csak 7 db A bit-je van.
(#) zenetom válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Binárisan illik megadni mind a 8 bitet, függetlenül mindentől. Ennek az is az oka, hogy a fordító önkényesen kiegészíti a maradék 1 bitet, amit lehet hogy az LSB helyére fog berakni..
Én már jártam így, bár ilyenkor lehet hogy felső biteket pótolja, de azért érdemes megszokni, hogy mind a 8-at ki kell írni. Hidd el, a jövőben sok bosszúságtól fog ez megóvni.
(#) cross51 hozzászólása Jan 3, 2017 /
 
Sziasztok!

Egy taps kapcsolót szeretnék csinálni a PIC-hez, de soha nem foglalkoztam ilyennel (megmondom az őszintét ne is jön be csak az egyik projekthez kell). 1 tapsolás 2 tapsolás és 3 tapsolás lenne a vezérlő jel (és kaptam egy mérést, hogy olyan 820-880Hz értelmezzem tapsnak).
Hardware ügyileg nincs probléma egy PIC32MX256B170 van a dologra.

Amit nem tudok, hogy ezt software-esen, megszakításból, vagy Input Capture-el csináljam, vagy mi a legegyszerűbb erre valamint, hogy a mikrofont, milyen műveleti erősítős kapcsolással kössem a PIC-hez és hogy milyen műveleti erősítőt érdemes erre a célra használni?
(#) Elektro.on válasza cross51 hozzászólására (») Jan 3, 2017 /
 
Részleteket nem tudok mondani, de 2 éve Karácsonykor vettem a fiamnak egy kit et. Az csak annyit csinált, hogy a műveleti erősítő a tapsolás erősségétől és talán frekvenciájától függően a kimenetet felhúzta. A PIC meg a két tapsolás idelyét összehasonlította. De működött asztalon kopogással is és úgy is ha egyforma hamgsúllyal bekiabáltam a gyerek szobájába, hogy " Taps... Taps..."
A hozzászólás módosítva: Jan 3, 2017
(#) pajti2 válasza cross51 hozzászólására (») Jan 3, 2017 /
 
Elsőként a módszert kellene tisztázni. A neten temérdek sok tapskapcsoló van arra az alapgondolatra, hogy hirtelen hangerőugrást érzékeljen. Némelyik elég szutyok, és folyamatos hangerőt is tapsnak érzékel, de nem mind annyira gyatra. Ha 32 bites pic-et, és frekvenciát szedtél elő, esetleg azon filozol, hogy FFT-t próbálnál meg ráküldeni a bedigizett jelre?
(#) remiasa hozzászólása Jan 3, 2017 /
 
Nem megy ez sehogy sem , még megprobálom másik gépen egy WIN XP-ve ha úgy se megy kalapács alá teszem az egészet, úgy jó öt kilos alá.
(#) cross51 válasza pajti2 hozzászólására (») Jan 3, 2017 /
 
Hát nem akartam az FFT-be belebonyolódni. Valami olyasmi az alap ötlet, hogy mikrofon komparátor tapsnál 10-20 ms mintát veszek a jelről és, ha a periódus ideje 1.1 és 1.2 ms között van akkor az taps, de sajnos mivel ezzel nem foglalkoztam nem tudom, hogy a komparátorról egyáltalán ~50% pulzusok jönnek-e le, gondolkoztam analog sávszűrőn is, de arra azt mondták, hogy ilyen kis sávszélességre nem lehet 1-2 db műveleti erősítőből megoldani.

Remélem van azért egyszerűbb út mint az FFT.
(#) Bakman válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Pontosan mi van a kontrollerre írva? Nem mindegyik 628-as működik 20 MHz-en. Pl.:

PIC16F628-04

Az utolsó két szám mutatja, maximum mekkora sebességgel lehet használni, jelen esetben 4 MHz. Létezik 628A jelű kontroller is. Nem kevered a kettőt?
(#) kissi válasza remiasa hozzászólására (») Jan 3, 2017 / 1
 
Na, megnéztem...
A hiba mégis a konfigurációs bitekben rejlett, most itthon megnéztem a PK2 programjával ( az előbb az MPLAB-al néztem, az csont nélkül beimportálta !) és túl nagynak találta !
Megoldási lehetőség: a hex fájl utolsó előtti sorát cseréld le erre : :02400E007A3FF7 ( sima szövegszerkesztőben, vigyázva rá, hogy továbbra is hex legyen a kiterjesztése!) !
Ezt gondolom a MikroC saját programozója "megeszi" egyébként, de Te nem azzal dolgozol !
Az általad küldöttben 4 byte-nyi adat szerepel, noha a 16F877 konfigurációs szava csak 2 byte, ez okozta a problémát ( de a PK2 saját programja jelezte!) !
Ezt mindig megteheted manuálisan, ha a konfigurációt nem változtatod ( pl. osc. watchdog, stb. beállítás!) vagy szerintem jobb megoldás, ha a keletkezett hex fájl-t importálod MPLAB-ba majd exportálod hex fájlként ( nekem így "rendbetette" ) !
Mindenesetre van futófény !
Csatolom a javított hex-et, várom az eredményt !
(#) remiasa válasza Bakman hozzászólására (») Jan 3, 2017 /
 
bakter erre nem is gondoltam, az enyém 16f628-04-es
(#) Elektro.on válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Szerintem nem az p rendszereddel van gond.
Analóg bemenet van azon a PIC en? Ha van letiltottad?
Ha holnap lesz időm összedobok egy hex fájlt neked.
(#) remiasa válasza kissi hozzászólására (») Jan 3, 2017 /
 
Kiprobálom és megírom a fejleményeket.
(#) kissi válasza Elektro.on hozzászólására (») Jan 3, 2017 /
 
Idézet:
„Analóg bemenet van azon a PIC en? Ha van letiltottad?”
Az analóg bemenet tiltása csak akkor érdekes, ha digitális bemenetnek akarod használni a lábat...!
(#) remiasa hozzászólása Jan 3, 2017 /
 
Mondom hogy pikkelnek rám a pic-k jelenség ugyan az D0 PORT ledje világit folyamatosan és ennyi.
(#) kissi válasza remiasa hozzászólására (») Jan 3, 2017 /
 
Nekem ez megy, ténylegesen kipróbálva !
Ha az áramkörödben nincs elkötés, jók az alkatrészek, a PIC16F877-es és tudja a 20 MHz-et ( a 628-nál már láttam, hogy meglepődtél!), akkor ez a program jó, a többi a windows és a programozó !

szerk.: írtam privátot !
A hozzászólás módosítva: Jan 3, 2017
(#) pajti2 válasza remiasa hozzászólására (») Jan 4, 2017 /
 
Valami nagyon áramköri gond lesz ott. Ha jobb szeretnél már jelleggel működő eszközt látni, be kellene szerezned egy előre gyártott dev boardot. Nagyon sok board kapható viszonylag olcsón is. Annyi lenne a lényeg, hogy mechanikailag normális kivitelezés legyen, és legyen róla publikus kapcsrajz, amin biztos nincs elírva a _pontos_ (!) típusjel. Ha te fabrikáltál valamit, akkor azokat mind neked kellene pótolni.
(#) sonajkniz válasza cross51 hozzászólására (») Jan 4, 2017 /
 
A mellékelt kapcsolással egyszerűbb. Csak éles (erős) hangokra reagál.
(#) pajti2 válasza sonajkniz hozzászólására (») Jan 4, 2017 /
 
Vagy kicsit pontosabban nyitogatni fog az bármilyen hangerőre. A kicsikre is. Túl nagy erősítés van beállítva. 100x-os erősítésnél én nem használnék többet.

Milyen programmal csináltad azt a kapcsrajzot?
Következő: »»   891 / 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