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   981 / 1203
(#) Tasznka válasza Firefighter1 hozzászólására (») Szept 26, 2017 /
 
C-ben van pár lehetőség.
1: strstr -rel megkeresed az "előtagot" ,ha megvan,akkor onnantól pakolás 1 stringbe. Ahogy eléred a space (0x20) ,akkor onnan elkezded másik stringbe pakolni,ect.

De azért strlen,sizeof -ot használd,nehogy a végtelenségig olvasgasson,bár ha tényleg rendes string,akkor a NUL(0x00)-ot is elég figyelni
(#) sonajkniz hozzászólása Szept 26, 2017 /
 
Szia Zsombor!

Amint ígértem, összeraktam a panelt, hogy lásd, hogy működik!
Mivel üres panelom már nem volt, a kedvedért egy már készre szerelt áramkörből kiszedtem a kütyühöz felesleges alkatrészeket, hogy ne zavarjanak meg téged.
Itt nézheted meg!
(A videó vége sajna lemaradt, mert betelt az SD kártyám.)
(#) usane válasza ODU hozzászólására (») Szept 26, 2017 /
 
Értem. Simán csak bekapcsolni próbáltad, hogy akkor világít-e? ? Egyszerre csak egy ledet.
Mivel programozod? Fejlesztő környezet? Nem hiszem, hogy a gyári PIC hibás.
(#) ODU válasza usane hozzászólására (») Szept 26, 2017 /
 
Sajnos az sem hozott eredményt, hogy egyszerre csak 1 LED világít. PICKIT2-n keresztül programozom, MPLAB X IDE v4.01 fejlesztőkörnyezetben és a legfrissebb XC8 fordítót használom. A PIC biztosan nem hibás, a hiba szoftveres. Itt tenném fel a kérdést, hogy a beforrasztott áramkörben miért nem lehet programozni ezt a típusú PIC-et? Mindig ki kell forrasztanom programozáshoz, így real time debuggra sincs esély, ami nagyon megnehezíti a dolgot. Nem ez az első munkám PIC-el. Eddig semmilyen problémám nem volt.
(#) kriszrap hozzászólása Szept 26, 2017 /
 
  1. gomb_periodus=5;
  2. count=30;
  3. if(!count--)
  4.     {
  5.          count=30;
  6.          if(PORTA.RA4 ==1 || PORTA.RA3 ==1 ||  PORTA.RA2 ==1)
  7.          {
  8.              if(PORTA.RA4 ==1 && gombbal==0)gombbal=1;
  9.              if(PORTA.RA3 ==1 && gombkozep==0)gombkozep=1;
  10.              if(PORTA.RA2 ==1 && gombjobb==0) gombjobb=1;
  11.              if(0<gomb_periodus)gomb_periodus--;
  12.          }
  13.          if(PORTA.RA4 ==0 && PORTA.RA3 ==0 &&  PORTA.RA2 ==0)
  14.          {
  15.            if((gombbal==1|| gombkozep==1|| gombjobb==1)&& gomb_periodus==0)nyvegrehajt();
  16.            if(gomb_periodus!=0)gomb_periodus=5;
  17.          }
  18.      }

Ha minden igaz teljesen pergés mentes de marattam a felengedéskor akció elvnél.
(#) Hp41C válasza ODU hozzászólására (») Szept 27, 2017 / 3
 
Idézet:
„Itt tenném fel a kérdést, hogy a beforrasztott áramkörben miért nem lehet programozni ezt a típusú PIC-et?”

Minden PIC -et lehet az áramkörbe beforrasztva programozni. ICSP = In Circuit Serial Programming...
Ahhoz, hogy működjön, néhány dolgot be kell tartani:
- A PGD és PGC lábakat nem szabad jelentősen terhelni, nem szabad nagy kapacitásra kötni. A programozónak elegendően gyorsan kell tudnia vezérelni.
- A MCLR láb egy ellenállással legyen a Vdd -re húzva. Ha bemenetnek használjuk, a meghajtásának ki kell bírnia a 13V -os Vpp feszültséget is. Amennyiben ez nem lehetséges, egy jumperrel le kell tudni választani.
- Két táplálási módszer közül kell választani:
-- A programozó látja el a panelt Vdd feszültséggel. Figyelembe kell venni, hogy max 20..30mA -rel terhelhető a PICkit2/3. Nem biztosítják (kellő időben) a tápot, ha jelentős kapacitással van szűrve.
-- Saját táplálás melletti programozás. Ügyelni kell a programozó beállítására.
- Figyelembe kell venni, hogy a panelen a kontroller oszcillátora elindul (még a külső is), ezáltal elindulhat a program végrehajtása.
- Konfiguráció:
-- Lehetőleg hagyjuk meg a MLCR lábon a MCLR funkciót, illetve a PGC és PGD lábakat hagyjuk szabadon.
-- Ha mégis felhasználjuk a MCLR lábat bemenetnek, legalább a Power On Timer - t hagyjuk bekapcsolva.
-- Egyes típusokon a T1 oszcillátor a programozó lábakon van. A többinél is megtehető, hogy kimenetté állítjuk. Ha a MCLR funkció és/vagy a Power On Timer le van tiltva, a program elején (mielőtt a kritikus beállításokat megtenné) helyezzünk el néhány ms várakozást.
- Ha ez még mindig nem lehetséges, akkor használhatjuk a Vpp First Entry módszert - de ebben az esetben a panelt a programozónak kell elleátni Vdd feszültséggel.
- A legfontosabb a végén: ki kell alakítani a szabványos ICSP csatlakozót.
(#) kriszrap hozzászólása Szept 27, 2017 /
 
Sziasztok
Párnapja gondolkodom hogy lehetne azt megvalósitanni hogy egyik led fényerejét nőveljem másikét csöketnem ez azért lenne jó mert rgb lednél saját szint tudnék keverni nem csak 7dbot.

Elrendezésem minden szinten 8db RGB ledem van 5 darab szintem.
És itt jön egy kérdés PWM és idö multiplexelés egyidöbe mennyire szerencsés??
Fizikai elrendezésem 1. shiftregiszterem a piros szinek 2. shiftregiszterem a zöld szinek
3. shiftregiszterem a kék szinek.Blank lábakat pwmeztetem külön külön.
Ti hogy oldanátok meg azt hogy minden egyes lednek belehessen állítani a fényerőt idömultiplexeléssel együt?
Segítségeteket előre köszönöm.
(#) Udvari Zsombor válasza sonajkniz hozzászólására (») Szept 27, 2017 /
 
Ja, bocs, úgy tűnik pillanatnyi rendszerhiba lehetett, hogy nem küldte el az üzenetemet...
(#) Hp41C válasza kriszrap hozzászólására (») Szept 27, 2017 /
 
Pl. ilyen meghajtóval 8 LED -enként.
(#) kriszrap válasza Hp41C hozzászólására (») Szept 27, 2017 /
 
Akkor szoftveresen nem megolható?
(#) zenetom válasza kriszrap hozzászólására (») Szept 27, 2017 /
 
De lehet szoftveresen is.
Egy példa: a multiplex miatt minden LED-nek (vagyis szintnek, vagy akárminek) jut egy időszelet. Ez az időszelet lesz a 100%. És ennek a kitöltését változtatod.
Hp41C megoldása azért elegánsabb, mert így tehermentesíted a PIC-et erőforrás szempontból, meg valószínűleg nagyobb fényerőt tudsz kinyerni (és még FET-ek sem kellenek).
(#) Peter65 válasza kriszrap hozzászólására (») Szept 27, 2017 /
 
Ha nem kell túl finom fényerő változtatás, és elég magas a multiplexelés frekvenciája, akkor megteheted, hogy egyes időszeletekbe bekapcsolod az aktuális ledet, vagy éppen nem kapcsolod be. Ha mondjuk 8 multiplexelési ciklus még 10msec (100Hz) alatt van, akkor 1/8-os lépcsőkben könnyen állíthatod így a fényerőt.
(#) gyoran válasza zenetom hozzászólására (») Szept 27, 2017 /
 
Én ezt valahogy úgy oldanám meg, hogy minden csatornához rendelnék egy számot 0 és 15 között (ez a fényerő). Aztán egy timert interruptra programoznék pl. 0,5 milisec-re. Minden alkalommal növelnék egy regisztert 15-ig majd 16-nál nulláznám (8 milisecenként körbejár). Az interruptban ennek a regiszternek az értékéből kivonnám sorban a fényerő regiszterek értékét, és a carryt kiraknám az adott portra. Az interrupt lehet gyorsabb is, ha kell. Most így este ez elegánsnak tűnik, szimulátoron próbáld ki. Az Interrupton kívül meg gombot olvasol, regisztert állítasz stb.
A hozzászólás módosítva: Szept 27, 2017
(#) kriszrap hozzászólása Szept 27, 2017 /
 
Időmultiplex úgy van beállitva hogy 1ms alat 5 szintet járbe vagy is egy szint 200us.
(#) storm hozzászólása Szept 28, 2017 /
 
Sziasztok, az lenne a kérdésem, hogy az alábbi linken található programozó szerintetek használható PIC programozáshoz vagy felejtsem el ezt a verziót, esetleg próbált már valaki ilyet?

Programozó link
(#) ODU válasza Hp41C hozzászólására (») Szept 28, 2017 /
 
Nagyon szépen köszönöm a leírást. Ezek után csak így fogom megtervezni a kapcsolásokat. Rengeteget segít az ICSP. A LED-ekkel kapcsolatban pedig tovább vizsgálódok.
(#) attika válasza storm hozzászólására (») Szept 28, 2017 /
 
Nekem van egy ilyenem és eddig nem volt vele gondom.
Amatőr szinten használom.
(#) hapci válasza storm hozzászólására (») Szept 28, 2017 /
 
Én is így vettem egyet hobbi célra kb. 2 éve. Bár csak 16F kontrollereket programoztam, de mindig szó nélkül tette a dolgát. Letöltöttem hozzá a PICkit3 v3.10 alkalmazást, így több PK2 funkció (pl. Vpp first) is elérhető.
(#) pajti2 válasza storm hozzászólására (») Szept 29, 2017 /
 
Az ott komolyan egy pickit3 3 ezer huf-ért ingyenes szállítással? Mi a fene történt, ami leötödölte az árát?
(#) icserny válasza pajti2 hozzászólására (») Szept 29, 2017 /
 
Idézet:
„Az ott komolyan egy pickit3 3 ezer huf-ért ingyenes szállítással?”
Nem, ha jobban megnézed, ezen nem Microchip logo van, hanem W, mint Wolfgang (vagy Michel a francia...).
(#) eSDi válasza pajti2 hozzászólására (») Szept 29, 2017 /
 
Az, hogy nem eredeti. És lehet, hogy a klónnak is a klónja. Ha megveszi valaki és működik, akkor az öröm és boldogság. De az ilyeneket mindig fenttartásokkal kell kezelni, senki sem tudja mi maradt ki belőle, vagy mit módosítottak rajta.
A hozzászólás módosítva: Szept 29, 2017
(#) peze válasza pajti2 hozzászólására (») Szept 29, 2017 /
 
Hát,őő,nem biztos,hogy eredeti
(#) usane válasza eSDi hozzászólására (») Szept 29, 2017 /
 
Idézet:
„senki sem tudja mi maradt ki belőle, vagy mit módosítottak rajta”

Nem a kihagyás vagy módosítás a probléma. Szerintem nem veszik a fáradtságot, hogy azzal szórakozzanak. 1:1-ben leklónozták és kész.Bár még nem szedtem szét egyet sem. Nyákot meg a kínaiak is tudnak olyat gyártani mint más. A buktató itt a beültetett alkatrészek eredetisége inkább. De nem is azért drágább az eredeti hanem mert rajta az a vacak "M" betű.
A hozzászólás módosítva: Szept 29, 2017
(#) pajti2 válasza usane hozzászólására (») Szept 29, 2017 /
 
Ha 1:1 leklónozzák a hardvert, azért beperelhetik őket. Valójában már a nevet sem lenne szabad használniuk, bár arra lehet, hogy találtak a jogászok valami kiskaput.
(#) usane válasza pajti2 hozzászólására (») Szept 29, 2017 /
 
Nos ebben igazad van, meg az alkatrészek különbözősége miattt is bele kellett nyúlni, de amennyire a képről meg tudom állapítani darabra eléggé hasonlít. A lényeges alkatrészek helye nem változott a többit meg kicsit eltologatták footprintek-hez igazodva.Persze ahogy mondod, lehet hogy a szerzői jogok miatt módosították, de az is lehet, hogy ennyi már elég, hogy megkerüljék, nem tudom.
(#) hapci válasza pajti2 hozzászólására (») Szept 29, 2017 /
 
Az enyémen eredeti feliratok vannak, egy picit drágább volt, mint a "egyéb"PIKkit 3 . Akkor eredetiként szerepelt a hirdetésben is. Egyébként ez egy fekete(piros) doboz, mindegy mi van benne, ha az jön ki, amit várok...
A hozzászólás módosítva: Szept 29, 2017
(#) sonajkniz hozzászólása Szept 30, 2017 /
 
Jó pár alkalommal volt már komoly vita itt a fórumon az assemblysek és az egyéb programnyelveket használók között.
Nos ezek a "magas szintű"-nek nevezett programnyelvek most verték ki nálam végképp a biztosítékot.
Hosszú évek óta használom az Unitronics cég PLC-it. Programozói szemmel nézve a leg könnyebben használható fejlesztői környezettel rendelkeznek.
Mint mindent, ezt is folyton frissítgetik, akárcsak a készülékekben lévő szoftver alapot.
Most sikerült csúcsot dönteniük. Egy olyan program, ami assemblyben egy PIC18-ra írva maximum 4000 sor lenne, olyan terjedelmes kóddá kerekedett, hogy a PLC ciklusideje elérte a 40 milisecundumot.
Ilyen lassú programot PIC-re még sosem sikerült írnom.
Mindezt megfejelte azzal, hogy a program a futása során többször hibázott. Adott bitek nem kapcsolódtak be, vagy éppen ki, nem töltödött be egy változóba egy érték, mindez nem következetesen és mindíg, csak néha.
A hibát keresve, arra a pontra ahol hibázott. Betettem egy 10 másodperces időzítőt, ami megállította a program futását, hogy online lássam, mit ront el. Látszatra semmit, és a késleltetés lejártával rendben tovább ment a program. Tehát benne hagytam ezt a megállítást, csak lerövidítettem amennyire csak lehetett. Azóta működik.
Elfárad a PLC? Pihennie kell egy kicsit?
Nem értem. Miképp azt sem, hogy mitől ilyen lassú.
(#) pajti2 válasza sonajkniz hozzászólására (») Okt 1, 2017 /
 
Az nem egy programnyelv hibája, hanem a dilettáns fejlesztőké
(#) kriszrap hozzászólása Okt 1, 2017 /
 
Sziasztok.
Olyan érdekes hibába ütköztem megint a 74hc595 ötnél amikor C-ben beállítom a 100% kitöltést akkor elkéne sötétedni mindennek de valamiért kb 5% még villágítanak a ledek ötlet miért kapom ezt a jelenséget?? Nincs semmiféle felhúzó ellenállás.
(#) pajti2 válasza kriszrap hozzászólására (») Okt 2, 2017 /
 
Az egy latch, aminek a kimenete vezérelhető. Írj egy rövidke programot, amivel beállítod csak azt, hogy az outputot kikapcsolod, mérj is rá, hogy tényleg ki van kapcsolva, és nézd meg úgy a ledeket. Ha akkor is világítanak, akkor valamit nagyon furcsán kötöttél. Ha nem világítanak, akkor valamit a végeredményben félreprogramoztál. Elsőként a hiba jellegét kellene megállapítani.
Következő: »»   981 / 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