Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   139 / 1320
(#) szilva válasza whalaky hozzászólására (») Jan 30, 2008 /
 
Az alábbi helyen van két Appnote, az 588 és a 849. Mindkettő a PIC-ek oszcillátorával foglalkozik, esetleg nézd át ezeket is:

Bővebben: Link
(#) Topi válasza gulasoft hozzászólására (») Jan 30, 2008 /
 
Írtam már, hogyha 0-át olvas, akkor probléma van a kommunikációval.
Ott van az üzenetben, hogy 0x00-t olvasott, tehát semmit. Vagy halott a PIC, vagy nem kap tápot, vagy kontakt hibád van.
(#) khiraly válasza watt hozzászólására (») Jan 30, 2008 /
 
Koszonom szilva es watt a segito hozzaszolasotokat.

Alapvetoen az optocsatolos megoldasrol teljesen letettem.

Most azon torom az agyam, hogy hogyan lehetne valamifele vedelmet beletenni a pic ele.

A jelenlegi kapcsolas ugy mukodik, hogy az osszes bemenet optocsatolos (digitalis 1 vagy 0), es az osszes kimenet 24V DC finder relevel megoldva. A pic 1 trafo, a kimeneti releknek meg egy trafo. Tehat elvileg a pic minden iranybol galvanikusan le van valasztva.

Tehat vissza terve az analog-digitalis atalakitasra.
Alapvetoen a kovetkezo hibak fordulhatnak elo (tegyuk fel, hogy az aramhurokba egy sima 100Ohm-os ellenallast teszek, es ezt merem pickel):

hiba: rovidzar az ellenallas elott
megoldas: nem kell vele foglalkozni, minket nem erint

hiba: szakadas az ellenallas elott
megoldas: ezzel se kell foglalkozni, mert 0V lesz.

hiba: szakadas az ellenallas utan
megoldas: nem tudom
elkepzeles: beteszek az ellenallassal parhuzamosan egy 3.3V-os zener diodat. Tehat ha 3.3V-nal nagyobb a feszultseg, akkor a zener dioda rovidrezar, es meg mindig 5V alatt tudok merni a pickel.
Az a bajom ezzel a megoldassal, hogyha tul nagy aram folyik, akkor a zener is tonkremegy. (ha zarlattal megy tonkre, akkor nincs gond. De ha szakadassal, akkor megint ott vagyok mintha semmi vedelmem se lenne)

hiba: tul nagy aramot kapok (>>20mA), pl. rossz helyre kotik telepitesnel.
megoldas: nem tudom
elkepzeles: megint a zener diodas mese jut eszembe.

Szoval latott mar valaki valamilyen vedelmet AD atalakito elott? Igazi kapcsolasi rajz is erdekelne!

Ha az ad atalakitast egy masik pickel csinalnam es a digitalizalt jelet mar optocsatolon adnam az igazi picnek, akkor a problema kb. megmarad. (ugyanolyan picbol tennek 2-ot). Raadasul akkor bejonne meg egy olyan is, hogy milyen tapfeszultseggel menne a masik AD.

Igazabol en valami olyan megoldast szeretnek latni, mint a jobb multimeterekben lathato.
Tehat eloszor a legkisebb ellenallason keresztul meri meg a jelet, es ha lehet lejjebb menni, akkor atkapcsol (ezt hogyan?), es akkor megmeri azon.
Pl. eloszor megmernem 1Ohm-on, aztan 10-en aztan 100-on.
De erre se latok seholse peldat.

5letek?

(ez a tema lassan mar nem is kapcsolodik igazan a picekhez)


(#) gulasoft válasza Topi hozzászólására (») Jan 30, 2008 /
 
Nem volt kontakt hiba,kimértem, aztán Potyo mondta, hogy ezeknél át kell rakni a jumpert, és láss csodát jó lett.
persze rögtön felmerült a kérdés, hogy hogyan kell ezt assembly-ben programozni, mert ehhez már mást kell beállítani az MPLAB-ban is, mert az inc-et nem jó helyen keresi, de majd küzdök vele.
(#) whalaky válasza Topi hozzászólására (») Jan 30, 2008 /
 
Nos hazaértem, nagy lelkesen nekiestem a dolognak. Se HS se Xt módban nem megy. Bánatomban lejjebb adtam, 4 megás kristályra, de a jelenség ugyan az, vagyis semmi.
Az adatlapon van egy ilyen
Idézet:
„A series resistor (RS) may be required for quartz crystals with low drive level.”

Valaki elárulná mi lenne ez? Még csak utalást sem találtam rá hogy mekkora ellenállás kéne neki a kristállyal sorba a 3as lábraés hogy mit ért low drive level-en. ("kissé hiányos" az angol tudásom)
(#) elektromosgyalogos hozzászólása Jan 30, 2008 /
 
Sziasztok!

MPLAB V8.00 + PICKIT2- vel szeretnék PIC 16F877A-t programozni/DEBUG-olni, de ezt írja ki mikor próbálom csatlakoztatni .....Nem tudom mi a gáz....

PKWarn0003: Unexpected device ID: Please verify that a PIC16F877A is correctly installed in the application. (Expected ID = 0xE20, ID Read = 0x9A0)
PICkit 2 Ready

(#) benjami válasza khiraly hozzászólására (») Jan 30, 2008 /
 
Régen volt valamelyik rádiótechnikában egy jópofa kapcsolás arra, hogyan lehet analóg jelet relatíve kis torzítással optocsatolóval átvinni. A módszer az volt, hogy 2db optocsatolót használtak, az egyikkel vitték át a jelet a galvanikusan leválasztott részre, a másikat pedig betették egy negatív visszacsatoló ágba. A visszacsatolás kikompenzálja az opto torzítását, a probléma csak az optocsatolók példányainak szórásában van, ami azért állítólag elég nagy.
Sajna nem tudom melyik számban volt ez a kapcsolás, de legalább 5-10 éve láttam.
(#) neomur hozzászólása Jan 30, 2008 /
 
na kész aprogi. végül a saját módszerembe építettem be az álltalam kitalált kikapcsolgatós részt, de azért kösz a segítségeket. még a pergésmentesítést kell valahogy megoldanom. van valakinek erre ötlete?
(#) potyo válasza whalaky hozzászólására (») Jan 30, 2008 /
 
Az OSC2 lábbal tegyél sorba egy ellenállást, valami néhánytíz ohmot. De nem hiszem, hogy ez lenne a gondja, inkább rossz a kvarc.
(#) watt válasza neomur hozzászólására (») Jan 30, 2008 /
 
Legalább annyit megtehetnél, hogy a kérdésemre válaszolsz! Na mindegy...
(#) neomur válasza watt hozzászólására (») Jan 30, 2008 /
 
elnézést, de csak most olvastam a hozzászólásod.
az "Arra rájösz, hogy az első példa miért hibás?" kérdésre várod a választ?
szerinte az hogy az elsőnél amikor megvizsgáljuk hog még mindig meg van e nyomva a gomb, ott ha nem volt elengedve akkor visszament a fő programrészbe, a 2. verzióban pedig addig ismételte ezt amíg el nem engedtük a gombot.
lehet hogy te nem erre gondoltál

vagy ezzel arra akarsz célozni hogy a másodiknak ez a része jó pergésmentesítésre?
(#) whalaky válasza potyo hozzászólására (») Jan 31, 2008 /
 
Hogy a kvarc rossz lenne azt kizárnám, mert az egyiket egy működő kütyüből bányásztam, és még két másik vadi újjal próbáltam. Ezt az ellenállás dolgot ugyan nem értem, d emegpróbálom. Köszi!
(#) watt válasza neomur hozzászólására (») Jan 31, 2008 /
 
Amit leírsz az addig rendben, de a kérdés, milyen hibás működést okoz az első verzió, miért nem jó arra amit én hozzá leírtam, ill. amit a második verzió jól csinál, csak közben lefogja a fő ciklustól a programszálat? Annyit segítek, hogy elképzelhető olyan álapot, amikor jól működik, de olyan is amikor nem. Még annyit segítek, hogy ez az állapot a gomb felengedésének időpontjától függ.

A második verzió nem prellmentesít, elsősorban nem e miatt változtattam meg a kódot, hanem a feltett kérdés miatt!

A prellmentesítést másképp kell megoldani. Itt is van több lehetőség, az egyik hogy várakozásokat iktatsz be az ellenőrzések közé. Ez a megoldás lefogja a programot, hasonlóan a második megoldásomhoz. (már előkészítettem egy olyan példát, ami nem fogja le a ciklustól a programszálat, de még nincs benne prellmentesítés. Gondoltam lépésenként kéne menni, hogy megértsd a lényeget. Ez csak akkor megy, ha partner leszel!)

A jó megoldás pedig az lenne, ha számlálókkal számolnád meg, hogy mennyi ideig volt lenyomva a gomb. Ha időn belül felengedted, akkor a számlálót lenullázod. Ha letelt a meghatározott számlálás, akkor a gombot lenyomottnak kell tekinteni. A számláló elhelyezése a programban kritikus, mert számlálóval is lehet olyan kódot írni, ami ugyanúgy lefogja a többi résztől az erőforrást. Az egyik legkényelmesebb megoldás a megszakításban való prellmenetesítés, ami azt is magával vonja, hogy a gomkezelést is a megszakításban végzed. De szerintem érdemesebb lenne lépésenként haladni.

(#) trudnai válasza watt hozzászólására (») Jan 31, 2008 /
 
Lehet amugy Neomur gyorsabban tanulna, ha valami ravezetos modszerrel sajat maga talalna ki az algoritmusokat - akar azt is, hogy "hany kuonbozo szoftveres modszert tudna elkepzelni a pergesmentesitesre". Ha mas Te is meg en is leirtunk modszert, akkor inkabb egy ide vonatkozo, de megis picit mas "ravezeto" kerdes:

Neomur, hogyan oldanad meg kulso alkatreszekkel a gomb pergesmentesiteset? (Internet es szakkonyvek hasznalata tilos )
(#) watt válasza trudnai hozzászólására (») Jan 31, 2008 /
 
Idézet:
„Lehet amugy Neomur gyorsabban tanulna, ha valami ravezetos modszerrel sajat maga talalna ki az algoritmusokat”

Én csak elvet írtam le, az algoritmust nem. Aztán nem biztos, hogy gyorsabban halad valaki, ha nem lát konkrét példákat. Én pl. szeretek ilyeneket látni(most tanulom a VHDL-t, pontosabban az ISE-t.).
(#) trudnai válasza watt hozzászólására (») Jan 31, 2008 /
 
Igen, neha jok a peldak, de pl sokat segit nekem pl, ha atgondolom hogy oldanam meg. Meg akkor is ha hulyeseget csinalok, vagy egeszen vakvaganyon indulok el, mikor megnezen kesobb mas hogy oldotta meg, akkor valahogy sokkal jobban rogzul az egesz.

Pl ebben az esetben sokat segit, ha atgondolja, hogy mi is tortenik valojaban, miert pereg az a billentyu. Es ha atgondolja, hogy hogyan lehet ezt a pergesidot felismerni szoftveresen, ill hogy milyen egyszeru modon lehetne ezt hardveresen megszuntetni (hogy pl szoftveresen ne kelljen ilyennel mar foglalkozni).
(#) jdani hozzászólása Jan 31, 2008 /
 
Helló. Most Készitettem egyPIC égetőt. Most az előbb raktam fel a ,,Ki mit épitett,,-be. ÉS van itthon egy PIC12F629-es PIC-m. Nos ebbe szeretnék egy nagyon egyszerű programot beleégetni. Légyszi küldjetek már valami nagyon egyszerű kis beleégettetnivaló fájlt. Lehet az valami csipogó, vagy villogó kis kütyü. Akármi.
(#) neomur válasza jdani hozzászólására (») Jan 31, 2008 /
 
én még anno ezt írtam tesztprogramnak
villogtaja az összes ledet a D porton.
nem tudom hogy hány portja van a 629-nek, de ha nincs PORTD akkor írd át port A vagy PORTB-re nem tudom hogy jó lesz-e azon az ic-n is

LEDES.asm
    
(#) neomur válasza trudnai hozzászólására (») Jan 31, 2008 /
 
azt kell megoldani hogy a gomb megnyomása után csak 1 impulzust adjon a picnek. mondjuk szerintem 555 astbil módban jó lenne erre. a pergés álltalában nem tart ovább 1 másodpercnél, így az 555öt be kell állítani úgy hogy ha triggert tápfeszre vagy GND-re (nem tom most hogy monostabilnál hov kell húni) húzzuk, akkor a kimeneten 1mp-ig high jelet fog adni a picnek. ez szerintem megszűntetné a pergést, hogy a pic ezt ne érzékelje úgy mintha hosszan nyomnánk a gombot, ezért a programba kéne rakni egy kis várakoztatást, de ez nem feltétlenül szükséges szerintem
(#) watt válasza trudnai hozzászólására (») Jan 31, 2008 /
 
Én eretnekségnek tartom, ha PIC-re kötött gombot külső alkatrésszel pergésmentesítenek!
(#) neomur válasza watt hozzászólására (») Jan 31, 2008 /
 
ok csinálhatjuk így csak nics sok időm most a héten, úgyhogy ha nem gond, akor majd a hétvégén átgondolom ezt a kérdés

amúgy itt a kész progi amibe akkor még pergésmentesítést akarom megcsinálni, amit akkor csinálhatunk a rávezetős módszerrel

RGB.asm
    
(#) neomur válasza neomur hozzászólására (») Jan 31, 2008 /
 
hát igen az elősző teljes mértékben az én ötletem volt, de van még1 ötlet: tegnap amikor kész lett a program, apámnak mondtam hogy már csak a pergésmentesítést kell megoldani (mivel ő is ért az elektronikához valamenniyre), és ő szerinte flip-flop-okkal lehtne még megoldani
(#) trudnai válasza watt hozzászólására (») Jan 31, 2008 /
 
En is szeretem a minimalis kulso alkatresz felhasznalast, es mindent szoftverbol csinalni amig a pic gyozi De tanulashoz ezeket meg kell velemenyem szerint csinalni, mert ettol rogzul be, hogy mi is tortenik, miert fontos stb.

(#) trudnai válasza neomur hozzászólására (») Jan 31, 2008 /
 
Neomur, tulbonyolitod a dolgot. Javaslom rajzolj le egy jelet, ami a mechanikai gomb megnyomasakor es elengedesekor lathato. Nem kell halalosan preciznek lenni, csak, hogy nagyjabol mi tortenik szerinted, es miert erzekeled ugy a pic szemszogebol, mintha sokszor megnyomkodtak volna a gombot. A megoldas joval egyszerubb mint amerre elindultal.
(#) jdani hozzászólása Jan 31, 2008 /
 
Akkor egy Villogó lesz a PIc-ből? egy 8 lábú IC egyébként.
(#) neomur válasza trudnai hozzászólására (») Jan 31, 2008 /
 
hát valahogy talán így nézhet ki egy pergés.
ha az két rajzom közül jó valamelyik. akkor az végülis egy analóg jel, mivel nem csak 1/0 az értéke, hanem vannak köztes értékei is, a PIC bemeneti lábai pedig digitálisra vannak állítva, szóval e miatt is érzékelheti a pic, hogy sokszor nyomták meg a gombot, bár szerintem ez hülyeség. ha a 3. rajzom a jó, akkor pedig a jel szerint tényleg többször nyomtuk meg a gombot, és egyértelmű hogy ezt a pic is így értelmezi, ebben az esetben, tényleg valami olyan külső alkatrész kell ami csak 1 impulzust ad az IC-nek a gomb megnyomása után. szerintem ez is hülyeség de most ez jutott eszembe: tranzisztor, mert talán az nem kapcsol olyan gyorsan, mint ahogy a pergés "kapcsolgat"

perges.JPG
    
(#) neomur válasza jdani hozzászólására (») Jan 31, 2008 /
 
ja ha 8 lábú, akkor közel se biztos hogy ez a progi működni fog rajta
de majd megnézem az adatlapot, aztán írok rá valami hasonlót
(#) jdani válasza neomur hozzászólására (») Jan 31, 2008 /
 
megköszönném
(#) potyo válasza neomur hozzászólására (») Jan 31, 2008 /
 
Inkább a harmadik rajz, de a pergés főleg akkor jelentkezik, amikor összefelé nyomódnak az érintkezők. A tranzisztor nem jó, mert túl gyors erre a célra. Ha jó lenne, akkor a pic bemenetén levő tranzisztorok is kiszűrnék.
(#) trudnai válasza neomur hozzászólására (») Jan 31, 2008 /
 
Ahogy potyo irta inkabb a 3.-hoz hasonlo. Ha analog jel lenne akkor sem lenne erdekes a PIC szemszogebol - ill ez sem teljesen igaz mert vannak smidt triggeres kapuk is, de ne menjunk elore ennyire. A PIC-ek dokumentaciojaban amugy le van irva, hogy mi az a feszultseg szint ami alatt 0-nak es ami felett 1-nek tekinti a jelet a chip.

Mar kozel jarsz amugy a megoldashoz, valoban kesleltetni kell a jel allapotvaltasanak sebesseget, de az ilyesmit joval egyszerubb alkatreszekkel szokas megoldani mint a tranzisztor...
Következő: »»   139 / 1320
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