Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1016 / 1319
(#) szepesg válasza icserny hozzászólására (») Aug 15, 2011 /
 
Hello!

Egy pillanat. Az OSCCON-on múlik, hogy mekkora sebességen fut a rendszer. Ha itt be van állítva, hogy a rendszer a secondary-ból kapja a rendszer órajelet, akkor onnan kapja (a rendszer és így a peripherial bus is).

szg
(#) icserny válasza szepesg hozzászólására (») Aug 15, 2011 /
 
Nem néztem utána, hogy mit állítottál be az OSCCON-ban, de a jelekből ítélve (ha pl. gyorsabban számolt a Timer) valószínűleg nem sikerült beállítanod azt a jelforrást, amit szerettél volna.

De ez nem is szükséges ahhoz, hogy a Timer1 a másodlagos oszcillátor jelét közvetlenül számlálja, s én csak erre koncentráltam (feltételezve, hogy ez a szándékod).
(#) Hp41C válasza Poostmaster hozzászólására (») Aug 15, 2011 /
 
Szia!
Akkor probláma lehet, hogy elindul a program a Vdd bakapcsolásakor.
(#) Mezoas válasza n_yálastrubadúr hozzászólására (») Aug 15, 2011 /
 
Ettől a hozzászólástól kezdd újraolvasni a fórumot, és megvilágosodsz!
(#) vilmosd válasza n_yálastrubadúr hozzászólására (») Aug 16, 2011 /
 
A HW-rol esetleg lehetne valami skicc? Lehet hogy tobbet tudnank segiteni.
(#) Poostmaster válasza Hp41C hozzászólására (») Aug 16, 2011 /
 
Azt hiszem megvan a gond. Ha a prtokról lekapcsolom a célhardwert programozás előtt, akkor többnyire rendben megy.

Viszont szeretném tudni, hogyan kell bekapcsolni a felhúzó ellenállásokat. Mindenhol olvasom, hogy van, és be kell kapcsolni, de sehol sem írják, hogyan kell.
(#) potyo válasza Poostmaster hozzászólására (») Aug 16, 2011 /
 
Idézet:
„de sehol sem írják, hogyan kell”


Az adatlapban le van írva...
(#) Poostmaster válasza potyo hozzászólására (») Aug 16, 2011 /
 
Konkrétabban?
(#) vilmosd válasza Poostmaster hozzászólására (») Aug 16, 2011 /
 
Konkretabban a Te altalad hasznalt PIC adatlapja letolt, majd a kivant port leirasa megkeres. Van tobb tipusu port, tehat nem teljesen egyseges a bekapcsolas menete. Keress ra a "RBPU", "WPUA" varazsszavakra.
(#) Poostmaster válasza vilmosd hozzászólására (») Aug 16, 2011 /
 
Köszönöm, így mindjárt megvan.
Ezt nevezem segítségnek.
(#) vilmosd hozzászólása Aug 16, 2011 /
 
Felkerult a konyvespolcra egy 28 pin demo board dokumentacio. Hasznaljatok egeszseggel.
(#) n_yálastrubadúr válasza vilmosd hozzászólására (») Aug 17, 2011 /
 
Köszönöm átnézegettem a küldött infót. Sejtettem így pihentebb állapotaimban, hogy a két rendszer függetlensége okozhatja az értetlenségemet. Hogyan lehetne tehát ezt értelmesen kivitelezni?
Ötleteim: valamivel figyelni és megmondani a picnek mikor van 0 átmenet?
Vagy az egészet egyenirányítani és Fet-tel végezni a PWM-et az amúgy 75w-os lámpámra?
Vagy esetleg egyéb?
(#) vilmosd válasza n_yálastrubadúr hozzászólására (») Aug 17, 2011 /
 
Idézet:
„alamivel figyelni és megmondani a picnek mikor van 0 átmenet”
Ugy hivjak hogy "Zero Cross Detector". De a keszuleked rajza meg nem jott at.
(#) n_yálastrubadúr válasza vilmosd hozzászólására (») Aug 17, 2011 /
 
Rajz egyelőre nincs csak egy ccp1 kimenet egy diac rtriak kombo. Ami most egy power led meg egy fet inkább. Megnéztem a zero crossing elvét. Ha jólértem mivel a triak gyújtva marad ezért nincs is értelme a pwm-nek? Elég ha az 1secben a nem engedek rá csak mondjuk 24-et? Mármint hullámot. De ez a 100ból elég kicsi lehetőség a szábályzásra vagy menjek a pcsába?

Vagy ?
(#) vilmosd válasza n_yálastrubadúr hozzászólására (») Aug 17, 2011 /
 
En hasznalok lassu PWM szabalyzast. A kimenet egy MOC3062+TRIAC. Ez a szabalyzas nagyon alkalmas ellenallas jellegu futes szabalyzasara. A lenyege, hogy a MOC csak nullatmenetkor gyujt be. Tehat raadom az aramot, es a kovetkezo nullatmenetnel begyujt. Ezzel el tudom erni, hogy a kimenetem csak egesz hullamokbol all nincs fazishasitas. A programozasat ugy csinalom, hogy eloallitok egy szabalyzojelet 0-> 100 tartomanyban. Csinalok egy TMR0 IT-t 10 mS ismetlodessel. Van egy szamlalom, amit feltoltok 100 ertekkel, majd minden IT-nel dekrementalok. Amikor kisebb az erteke mint a szabalyzojel erteke, begyujtom A MOC-on keresztul a TRIAC-ot. Ha nagyobb akkor kioltom. Tremeszetesen mikor eleri a nulla erteket a szamlalo ujra toltom 100-al. Ez egy lassu 1 masodpeces PWM-et csinal, de futeshez kivalo es nem csinal zavart a fazishasitasos szabalyzo.
(#) potyo válasza n_yálastrubadúr hozzászólására (») Aug 17, 2011 /
 
Ha triakkal akarsz szabályozni, akkor a szabályzás alapja az, hogy a nullátmenet után mennyi idővel kapcsolod be a triakot, és ezzel mennyit vágsz le a színuszhullámból (ez a fázishasítás). Lehet pwm modult használni, de akkor pl. a nullátmenet indítja a pwm alapjául szolgáló timert, és amikor a kimenet aktívvá válik, akkor kapcsol be a triak, azt pedig, hogy mikor válik aktívvá, azt tudod állítani a kitöltési tényezővel. Illetve ekkor a pwm le is kell, hogy álljon, és csak a következő átmenet indítja el ismét.

Az ilyen, hogy 100-ból csak 24 hullámot engedsz át, ez működik pl. fűtőtestnél, de egy izzónál már villogást okoz. Izzónál muszáj fázishasítást használni.
(#) n_yálastrubadúr válasza potyo hozzászólására (») Aug 17, 2011 /
 
Köszönöm! Így már teljesen világos, az előbb is féltem mert erősen sejtettem hogy a hullámok pontos szétszeleteléshez kell a 0 -átmenet Kösz mindkettőtökek.
(#) watt válasza n_yálastrubadúr hozzászólására (») Aug 17, 2011 /
 
Azt a megoldást olvastad a visszatekintésnél, amit én írtam? (integrálás)
(#) Poostmaster hozzászólása Aug 17, 2011 /
 
Az lenne a gondom, hogy a mártix elrendezésű nyomógombokat hogyan kell leprogramozni?
Arra gondolok, hogy ennél se ellenállás, se Vss, se Vdd, se GND.
Csak a 8 vezeték. Egy portra rakhatom őket? Ha megnyomom az egyiket, akkor az összezár 2 portot. Ez nem gond? Felteszem a képét is.
(#) potyo válasza Poostmaster hozzászólására (») Aug 17, 2011 /
 
Ez úgy működik, hogy pl. a függőleges részek mindig bemenetek a kontrolleren, és felhúzóellenállás húzza mindig tápra ezeket, a vízszinteseket pedig a kontroller lépteti egyesével, mégpedig úgy, hogy vagy lehúzza GND-re, vagy pedig elengedi és azokat is csak egy-egy felhúzó húzza tápra. A kontroller mindig a soron következő léptetés előtt megnézi, hogy melyik vízszintes van épp lehúzva, és hogy melyik függőleges van most épp nullán, és ha talán nullán levő függőlegest, akkor az azt jelenti, hogy a metszéspontban levő nyomógomb épp le van nyomva. Eltárolja a lenyomott gomb számát, következő menetben ismét megnézi, hogy van-e valami lenyomva, összehasonlítja az állapotot az előzővel, abból tudja, hogy most lett lenyomva vagy elengedve valami, így reagálni kell rá, vagy pedig már régebb óta nincs változás, így semmit sem kell csinálni. Az ilyen mátrix hátránya, hogy egyszerre nem lehet akárhány gomb lenyomását kezelni, a fent vázolt módszerrel csak egyetlen gombot tudunk egyidőben felismerni.
(#) Poostmaster válasza potyo hozzászólására (») Aug 17, 2011 /
 
Akkor nézzük, hogy jól értem-e.
887-ről van szó. Tehát a PORTB-re kötöm. A 0-3 láb a függőleges, a 4-7 pedig a vízszintes. Mind a 8 digitális bemenetre van állítva, a 0-3 nál pedig beállítom a WPUB biteket (már utánanéztem )
A 4-7 lábakat törlöm.
Ha megnyomok egy gombot, akkor azt kell vizsgálnom, hogy a 4-7 lábakon hol jelenik meg?

Esetleg egy programrészlet?
(#) potyo válasza Poostmaster hozzászólására (») Aug 17, 2011 / 1
 
Nem ilyen egyszerű. Pl. 1ms időnként a 4-7 lábak egyikét átkapcsolod kimenetté és nullára állítod. Ezután megnézed, hogy a 0-3 lábak közül alacsony-e valamelyik. Ha igen, akkor amelyik alacsony, az adja a függőleges, az előzőleg nullára állított pedig a vízszintes sort, és a metszéspontban levő nyomógomb van lenyomva. Ha a 0-3 lábak mind magas szinten vannak, az azt jelenti, hogy az éppen nullára húzott vízszintesen levő négy gomb közül egyik sincs lenyomva. És ezt a vizsgálatot folyamatosan végezni kell minden egyes vízszintesre, egymás után. Egyszerre csak egy vízszintest szabad kimenetté állítani, a többi mind bemenet legyen és felhúzva (belső felhúzó is tökéletes, ha van mindegyik lábon). Tehát első körben kimenet az RB4, majd következő körben RB4-et bemenetté állítod és átkapcsolod RB5-öt kimenetté, majd a következő alkalommal RB5-öt visszakapcsolod bemenetté és RB6-ot állítod kimenetté, stb. Azért célszerű mindig az éppen aktuális vízszintes léptetés előtt és nem közvetlenül utána végezni az ellenőrzést a függőlegeseken, mert addigra az átkapcsolási tranziensek már lecsengenek, stabilabbra beállnak a logikai szintek.

Kód sajnos nincs kéznél, de nézz szét a pices témák csatolásai között, illetve neten is biztosan találsz, elég általános dologról van szó.
(#) vilmosd válasza Poostmaster hozzászólására (») Aug 17, 2011 /
 
Itt van ket pelda egyik ASM a masik CCS C. Igaz spenyol a komment, de vegig lehet kovetni a kezelest.
(#) Poostmaster hozzászólása Aug 17, 2011 /
 
Köszönöm mindkettőtöknek. A magyarázat így tökéletesen érthető.
(#) n_yálastrubadúr válasza watt hozzászólására (») Aug 18, 2011 /
 
Igen, olvastam. Gondolkodom, hogy melyiket csináljam meg. Biztos béna vagyok, mert az optos és a tranyós nulla kapcsolásom sem működött. Mondjuk elég hülye vagyok így a műszerem nélkül. Egy távirányítós/tapskapcsolós, lassan a fényerejét növelő és csökkentő mennyezeti lámpához kell. Aminek jobbára ez a hiányossága, azaz az egyen vezérelt váltó áram.
(#) watt válasza n_yálastrubadúr hozzászólására (») Aug 18, 2011 /
 
Sokkal bonyolultabb a nullátmenetet érzékelni a PIC-el és pont időben kiadni a megfelelő szinteket, mint integrálni, egyenárammal vezérelni és rábízni a triak működésének elvére a többit. A leválasztást ugyanúgy optóval kell megoldani, de nem triakossal, hanem tranyóssal...
(#) vilmosd válasza n_yálastrubadúr hozzászólására (») Aug 18, 2011 /
 
Nalam a mellekelt kapcsolas mukodik. A kimenet itt tirisztor, de termeszetesen triac is hasznalhato. A Q2 tranzisztor allitja elo a nullatmenet jelet, a GP0 pedig egy analog bemenet, ami a fazistolas merteket szabalyozza. A TMR1-et hasznalom a fazistolas vezerlesere. A nullatmenetnel a INTRA hatasara betoltom az ervenyes erteket, engedelyezem a TMR1 IT-t, es a tulcsordulasnal pedig bekapcsolom a kimenetetes es tiltom a TMR1 IT-t. Amikor ujra RA IT jon es a GP5 magas, letiltom a gyujto kimenetet. A szabalyzo bemenetet egy PWM vezerli egy masik PIC-tol. A kitoltesi tenyezotol fugg a fazistolas. Szepen dolgozik lampaval, es induktiv teherrel is. Nekem egy vibratoros adagolo szallitasi sebesseget szabalyozza.

v_control.pdf
    
(#) n_yálastrubadúr válasza vilmosd hozzászólására (») Aug 19, 2011 /
 
Amatőr félreértés miatt hittem hogy nemműködnek a nullátmenet kapcsolóim. Kiderült mennek. Most megy a 628a-ban egy pwm. A null ponoknál interruptol az rb0 és törli a pwm számlálóját a TMR2-t. A PR2 0xff van feltöltve és van előosztásom 1:16 a TMR2-re is és a CCPR1L-ben az érték ami a kitöltési tényező lenne, sajnos az 1 érték bevitelétől kb 150-ig a 70W-os halogén lámpán 196volt van kb 150 felett már a 226volt van kinn. Így a vezérlés szinte semmit nem látszik. És a 196volt már úgy kihajtja hogy itt a lágy fényerőről szó sincs. Mi lehet a gond? A kaotikus vibrálás megszűnt a 0 pont időzítésével, de ez nem az amit akarok. Szeretném a szinte teljesen sötéttől indítani.
(#) vilmosd válasza n_yálastrubadúr hozzászólására (») Aug 19, 2011 /
 
En nem hasznalom a beepitett PWM-et. Nalam a TMR1 allitja elo a kesleltetest. De leirtam a modszert. Ja es szepen szabalyozza a fenyerot nullatol.
(#) Poostmaster hozzászólása Aug 20, 2011 /
 
Azt szeretném tudni, lehet-e a PIC bemenetre kapcsolt portjára memóriakártyáról, vagy pendrive-ról küldeni adatokat?
Milyen áramkört kell ehhez építeni?
Következő: »»   1016 / 1319
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