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   138 / 1210
(#) Poostmaster válasza Poostmaster hozzászólására (») Szept 27, 2011 /
 
Még annyit fűznék hozzá, hogy most építettem a tesztpanelembe egy Reset gombot. Ha engedélyezem az Mclr-t, akkor minden reset után jól működik.
(#) Poostmaster hozzászólása Szept 27, 2011 /
 
Kónya László oldalán nézegettem az asm tippeket, és találtam egy rutint, ami 3 regiszter értéke közül a minimumot adja eredményül. Így "hangzik":
movf N1,w
subwf N2,W
movf N1,W
skpc
movf N2,W
movwf MIN
subwf N3,W
skpc
addwf MIN

A kérdés, mi az skpc?
(#) Hp41C válasza Poostmaster hozzászólására (») Szept 27, 2011 / 1
 
skpc - egy makro, kifejtve: btfss STATUS,C
skpnc - egy másik makro, kifejtve: btfsc STATUS,C
(#) trudnai válasza Poostmaster hozzászólására (») Szept 28, 2011 /
 
Amugy ha az MPLAB-bol bemesz a "Help -> Topics -> MPASM Assembler -> Reference -> Instruction set -> 12/14 Bit Instrustion Width Pseudo Instructions" helpecsket, akkor ott vannak ezek leirva. (Ahogy Hp41C emlitette ez makro, de ez a forditoba van beepitve, es nem is makrokent, hanem pseudo-instruction azaz al-utasitaskent emlegeti)

Egyebkent ez a help file nagyon hasznos es jol van megirva, anno nagyon sokat olvasgattam ugy is, hogy veletlenszeruen nezegettem mik vannak benne -- mert vannak benne tippek trukkoktol kezdve mindenfele okossagok is, es sokat lehet tanulni onnan.
(#) kzteam válasza Poostmaster hozzászólására (») Szept 28, 2011 /
 
Szia,

Még nézegetem az LCD-s problémád, de egy tippet ha adhatok:

  1. szovegtable:                                    ; Fix szovegeket tartalmazó táblázatok
  2.      addwf              PCL,f
  3.         dt              "Kavefozo indul.."      ; 0x0f Induláskori köszönés 1. sor
  4.         dt              " Kzteamsoftware "      ; 0x1f Induláskori köszönés 2. sor


Igy jobban átlátható és szerkeszthető a szoftvered szövege ASM-ben.
(#) kzteam válasza Poostmaster hozzászólására (») Szept 28, 2011 / 1
 
Szia,

Nos egy olyan dolgot láttam a kódban amit szokatlannak mondanék:

Nem a kezdeti inicializáláskor adod meg, hogy 2 sorosnak vegye a kijelzési memóriát, hanem amikor már az első sorba írtál.

Én sokat használok 2x16 LCD-t és mindig az elején tisztáztam ezt a modullal és csak az adott pillanatban elugrattam a 0xc0-ra (második sor eleje). A te hibás kijelzésed sohasem jelent meg nekem.

Nah hátha...
(#) kzteam hozzászólása Szept 28, 2011 / 1
 
Nekem is volna egy problémám:

50Hz-re lámpa fényerő szabályzót építettem S216SE2 (Triak opto bemenettel) beavatkozóval és PIC18f14k22-vel, belső 250KHz-es órájával, C18-ban megírt programmal.
Sajna fokozatos fényerőszabályzás helyett vagy fixen világít vagy ha már nagyon "letekerem" villog szabálytalanul.

Az elve: egy opto a 230V-ról ad egy "0" átmeneti indítójelet RC5-re, ekkor elindítom TMR2 időzítőt, amihez a PR2-ben már betöltöttem a szükséges hasonlító értéket (a min fényerő 0x96).

Ha TMR2=PR2 RC7-et bekapcsolom, ami a triak optoját kapcsolja. TMR2-t megállítom és törlöm.

A következő "0" átmenet kikapcsolja a RC7-et (triak opto) és újraindítja TMR2-t.

Ötletek?
(#) Poostmaster válasza kzteam hozzászólására (») Szept 28, 2011 /
 
Köszi a tippeket.
A megoldás sajnos nem ez lesz. Ha figyelmesen végignézed, a 4 bites üzemmód után rögtön jön a kétsorosra állítás. Sajnos ezt valamiért nem veszi figyelembe, és nem hajlandó a 2. sorba írni. Ezért tettem be egy újabb állítást az írás előtt.
(#) kzteam válasza Poostmaster hozzászólására (») Szept 28, 2011 /
 
Nem vitatkoznék, de:

  1. [b]MOVLW        0x20                    ; Bekapcsoljuk a 4 bites üzemmódot
  2.         MOVWF   PORTC
  3.         BSF             EN
  4.         NOP
  5.         BCF             EN[/b]
  6.         CALL    S_KESLELTET_100MS
  7.         MOVLW   0X28
  8.         CALL    S_WRITE


Itt hiányzik fél bájt kivitele, mert ugye a teljes a 0x28!

Ha más nem, legalább az első sor kiíratása elé tedd oda a 0x28 kiadását még egyszer.

Szorítok..
(#) Poostmaster válasza kzteam hozzászólására (») Szept 28, 2011 /
 
Az előző hozzászólásod megmozgatta kissé az agyamat. Kiküldtem mégegyszer a parancsot rögtön az előző után, és így már működik. Úgy látszik, kicsit nagyothall a kijelző.
Írni akartam már, csak láttam, hogy válaszolsz, gondoltam megvárom.
Egyébként nem hiányzik a fél bájt, mert ezt már a S_WRITE rutin viszi ki.
Köszönöm a segítséget. Kell egy kis lökés az öreg agynak.
(#) El_Pinyo válasza kzteam hozzászólására (») Szept 28, 2011 /
 
Ha jól értem a leírásod, akkor itt van egy elég nagy hiba. Miszerint a Te opto-Triakod- ban van nullátmenet detektálás, ami azt jelenti, hogy a triak csak a nullátmenet közelében gyújtható el, egyéb esetben üzemszerűen nem hajlandó begyújtani. Egyébként jobb is így, legalább nem szórod meg a villamos hálózatot mindenféle felharmonikus zajjal.
A lámpát PWM jellel is lehet hajtani. Ez AC hálózatok esetén azt jelenti, hogy hány db pl. félperiódust kapcsolunk be, ill. ki. Tegyük fel, hogy egy PWM periódus 50 szinusz periódus (100 szinusz félperiódus), ekkor 50 félperiódus vezetése 50%, 100 félperiódus 100 %, stb. kitöltési tényezőt jelent. Ennek nagy előnye, hogy mivel nullátmenetnél kapcsolunk, így a termelt zaj kicsi.
(#) potyo válasza El_Pinyo hozzászólására (») Szept 28, 2011 /
 
Ez fűtőtestnél jó, de lámpánál már az is meglátszik, ha minden második félperiódust kihagyod, nemhogy még többet egymás után.
(#) El_Pinyo válasza potyo hozzászólására (») Szept 28, 2011 /
 
A hőtehetetlenség nem játszik? Őszintén szólva sosem próbáltam, elképzelhető, hogy igazad van.
(#) kzteam válasza El_Pinyo hozzászólására (») Szept 28, 2011 /
 
Köszönöm a választ.

Sajnos eddig nem voltam tisztában azzal mindek raknak bele Zero-cross circuit-ot, így ma du olvasgattam illetve Te is megerősítetted, csak a 0 átmenetnél kapcsol be.

Ez számomra azt jelenti, hogy elkerüljem a vibrálást mezei Triakkal kell kapcsolást építenem.
A hálózatot azt gondolom kevésbé felharmonizálom, mert az izzó ohmikus terhelés.

Amúgy egy őskövület palackfúvóba lesz, ahol 2000W-os lámpa lágyítja meg a PET előformát, amiből lesz az üdítős flakon
(#) El_Pinyo válasza potyo hozzászólására (») Szept 28, 2011 /
 
Ja azt elfelejtettem leírni, hogy pl. az 50 % kitöltést nem csak úgy lehet elérni, hogy 50 félperiódus be, aztán 50 ki, hanem jelen esetben minden második félperiódus be, azán ki, a 100 félperiódusra az átlagteljesítmény ugyanaz marad. Ugyanígy más kitöltés esetén is használható az eljárás. Nem vonom kétségbe, hogy 50 %- nál alacsonyabb kitöltés esetén elkezdene villódzani, de nagyobb kitöltések esetén szerintem használható lenne. Aztán lehet, hogy tévedek. Benne van a pakliban :heureka:
(#) potyo válasza El_Pinyo hozzászólására (») Szept 28, 2011 /
 
A hőtehetetlenség miatt van az, hogy szemre állandó az izzó fényereje, de műszerrel természetesen ezesetben is simán kimutatható a 100Hz-es hullámzás - akár egy egyszerű fotodiódával is. De egyébként egyszerű kipróbálni, tegyél sorba egy diódát az izzóval, akkor minden második félperiódus kimarad, és látni fogod a fényerő hullámzását. Izzónál csak a fázishasításos szabályzás használható, az elé meg kell tenni valami RC szűrőt, ami a felharmónikusok nagy részét megfogja, mást nemigazán tudunk csinálni.
(#) El_Pinyo válasza kzteam hozzászólására (») Szept 28, 2011 /
 
Idézet:
„A hálózatot azt gondolom kevésbé felharmonizálom, mert az izzó Ωikus terhelés”

Attól még, hogy ohmos terhelés nagy lesz a flicker. Ugyanis minél nagyobb egy jel meredeksége, az annál több harmonikusból állítható csak elő (Fourier). Emiatt például a tökéletes négyszögjel sávszélessége végtelen. Ha belegondolsz, mi történik, ha a triak éppen a szinusz csúcsnál gyújt (jó meredek jel) látható, hogy annak jó nagy amplitúdójú felharmonikus tagjai lesznek. Ezért nem szokás manapság fázishasítással teljesítményt szabályozni. Ahhoz, hogy a hálózatot, illetve az egyéb elektromos berendezéseket ne terheljük (EMC), mindenképpen zavarszűrést kell alkalmazni.
(#) El_Pinyo válasza kzteam hozzászólására (») Szept 28, 2011 /
 
Ezek alapján jól értem, hogy a 2 kW-os lámpa hőmérséklete játszik inkább szerepet, semmint a fénye?
Ha ez így van, akkor tényleg jobban jársz azzal a megoldással, amit korábban írtam, gondolom a PET palackot nem zavarja a villódzó fény . Ráadásul, ha minden igaz a hardveren nem kell semmit sem módosítanod, elég a firmwaret átírni.
(#) pcroland hozzászólása Szept 28, 2011 /
 
Kicsit átterveztem a WLPT-t. (Megfordítottam az LPT csatlakozót, mert a gép felőlire volt tervezve, és betettem egy tápcsatlakozót.
(#) kzteam válasza El_Pinyo hozzászólására (») Szept 28, 2011 /
 
Holnap kipróbálom akkor ezt a félperiódus ki és bekapcsolást, meglátom milyen.

Sajnos a 2kW lámpa ritka a géppel együtt kb:30e ha kiég, ezért inkább a vezérlőt bonyolítanám az élettartamért cserébe.

Kösz a segítséget!
(#) El_Pinyo válasza kzteam hozzászólására (») Szept 28, 2011 /
 
Villamos fogyasztóra váltakozó áramot kapcsolni nem nagyon lehet a nullátmenetnél kíméletesebben kapcsolni. A hagyományos izzók is 99%-ban a bekapcsolásnál mennek tönkre, mert a hidegellenállásuk kicsi, ezért ha pl. elkapják a szinusz csúcsot, akkor ugrásszerűen nagy áram folyik át rajtuk, ami csökkenti az élettartamot és végül "elfárad" az izzószál, így az izzó tönkremegy.
(#) kzteam válasza (Felhasználó 15355) hozzászólására (») Szept 29, 2011 /
 
Sziasztok,

Nem sikerültek a nullátmenetes SSR-es kísérletek, minden esetben villogott a 150W-os próba reflektor:

1. "i++" módszerrel megritkítottam a félperiódusokat, így egy szabálytalanul villogó lámpát kaptam, aminél csak a nagy ugrásos változtatások mutattak más villogást.

2. Hardwer PWM-el próbálkoztam, itt már szinte szabályosan pulzált a lámpa, de a teljes sötét után 1 bitnyivel már a villogás van, tehát nincs átmenet!

Nincs más, mint hagyományos Triakkal építeni kapcsolást és a "szál-előfűtős" módon lágyindításos vezérlést írni.

Egy kérdés azért felmerül bennem:

Olvastam itt a hobbin több ilyen fórumbejegyzést, de nemigen említik ezt a villogásos szabályzási problémát. Csak én vagyok láma vagy mást nem izgatott a probléma?

Üdv
(#) El_Pinyo válasza kzteam hozzászólására (») Szept 29, 2011 /
 
Nagyban függ az opto-triak gyújtásának megbízhatósága, hogy mikor érzékeled a nullátmenetet. Ha túl későn, akkor előfordulhat, hogy be sem tud a triak gyújtani, mert a zero-cross detektáló áramköre már nem engedi.
(#) Mezoas válasza kzteam hozzászólására (») Szept 29, 2011 /
 
Mivel nem láttam a kapcsolásod, ezért a következő tanácsok közül tessenek ignorálni a hibásakat:
- az optós ZCD nem jó, mert nem elég pontos (ezen vidó elején lehet nézegetni a hatékony és egyszerű megoldást az optós helyett)
- nem tudom mi az az "i++" módszer, azon túl, hogy az i változót növeli. Ha azt csinálod, hogy pl. 10 félperiódusra kikapcsolod, majd 10 félperiódusra be, akkor természetesen villogni fog a lámpád, mert másodpercenként ötszöri kapcsolást már a szem is észrevesz.
- precíz, timerekkel végzett villogás nélküli vezérléshez olyan optotriakot használj, amiben nincs ZCD. Viszont kell egy jó külső ZCD. Így működni fog a te TMR2//PR2 match megoldásod.
(#) morzsa15 hozzászólása Szept 29, 2011 /
 
Üdv!
A watt féle v4-es com portos égetőnél a bc212-tőt ki lehet cserélni bc547 vagy 546-ra?
(#) Hp41C válasza morzsa15 hozzászólására (») Szept 29, 2011 /
 
A BC182 -t (NPN) BC546, BC547 -re, a BC212 -t (PNP) BC556, BC557 -re lehet cserélni.
(#) kiskata hozzászólása Szept 29, 2011 /
 
Kedves hozzáértők...
Összerakva egy PIC áramkört, bekapcsoláskor azt tapasztalom hogy a pic-en lévő LCD-n osszevissza karakterek jelennek meg.
kikapcsolom majd ujra bekapcsolom és az áramkor rendben mukodik.
Ha hosszabb ideig nem kap áramot akkor tapasztalhato ez a jelenség, egyébként nem.
(mintha hamarabb indulna a pic mint ahogy a táp el tudná látni)
Tapasztalta már ezt valaki?
(#) potyo válasza kiskata hozzászólására (») Szept 29, 2011 /
 
Én inkább arra tippelek, hogy túl hamar próbálsz az LCD-vel kommunikálni. Bekapcsolás után próbálj várni legalább 50ms-ot, mielőtt bármit csinálsz az LCD-vel.
(#) kiskata válasza potyo hozzászólására (») Szept 29, 2011 /
 
Ez lehet mert egyből az LCD START indul a program elején...
(azt meg nem probáltam hogy a ledet villogtatom hogy lássam megy-e a pic)
(#) Atielektro hozzászólása Szept 29, 2011 /
 
Sziasztok!

Pickit3-mal programozok egy PIC24FV32KA301-es picet. A programozgatás során érdekes dologba futottam. Amikor fel akarom programozni a pic-et, akkor mindig az alábbi hibaüzenetbe futok bele:

Idézet:
„Programming...
The following memory regions failed to program correctly:
Configuration Memory
Address: 00f8000c Expected Value: 00000074 Received Value: 000000f4
Programming failed”


Visszaolvasva a memóriát a kód belekerül, csak azzal az egy címmel van gond...Utánanéztem a header fájlban,illetve a Configure/Configuration bits-ben és jól látszik, hogy az MCLR-t nem lehet úgy beállítani, hogy belső felhúzással menjen, hiába azt állítottam be. A programjaim is csak azután futnak, miután felhúztam a lábat külsőleg.
Van valami ötletetek, hogy ez mitől lehet? Az Erratát néztem, de abban nem írnak ilyesmiről...
Következő: »»   138 / 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