Fórum témák
» Több friss téma |
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.
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?
skpc - egy makro, kifejtve: btfss STATUS,C
skpnc - egy másik makro, kifejtve: btfsc STATUS,C
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.
Szia,
Még nézegetem az LCD-s problémád, de egy tippet ha adhatok:
Igy jobban átlátható és szerkeszthető a szoftvered szövege ASM-ben.
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...
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?
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.
Nem vitatkoznék, de:
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..
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.
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.
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.
A hőtehetetlenség nem játszik? Őszintén szólva sosem próbáltam, elképzelhető, hogy igazad van.
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
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:
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.
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.
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.
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.
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!
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.
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
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.
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.
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?
É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.
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)
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... |
Bejelentkezés
Hirdetés |