Fórum témák

» Több friss téma
Fórum » Modulrendszerű, grafikus PIC programozás
Lapozás: OK   88 / 177
(#) kkrisz75 válasza vilmosd hozzászólására (») Nov 13, 2010 /
 
Köszi a válaszokat...

Sikerült első programomat, feltölteni, és egy próba nyákon össze eszkábált 3 ledet oda vissza, össze vissza stb villogtatni.(elsőre jó volt boldogság)

A következő a jeladós teszt lenne amit egy kapcsoló imitálna.

Vagyis ugyan ezen program nem a belső órajelből venné a léptetést, hanem a kapcsolóval adnám neki a jelet.

RA.4es lábon akarom be küldeni a jelet.

Mit kell változtatni a programon, és a kapcsolót, hogyan kell bekötni a nyákon.
Most a pic van a nyákon, és a VDD/VSS láb van bekötve. Az RB4-5-6 van kimeneten, egy-egy előtét ellenállás és 1-1-1db led.

masodik.PIC
    
(#) Gagyicom hozzászólása Nov 13, 2010 /
 
Halihó!
Nekem nem tud segíteni senki az előzőekben feltett sorosporti kérdésemben?
Előre is köszi.
(#) kaqkk válasza Gagyicom hozzászólására (») Nov 14, 2010 /
 
Dcsabi tett fel példát erre, a topik 5-6. oldala körül van valahol. Üdv
(#) kkrisz75 hozzászólása Nov 14, 2010 /
 
Kérdésem lenne.

Mire kell állítani a bemenetet, ha a bekötés úgy néz ki hogy.

Testről kapcsoló, az után 10k ellenállás és úgy a +5V ra. A kapcsoló és az ellenállás közös pontjáról egy 1K ellenálláson keresztül megy a bemenetre.

Tud valaki feldobni egy program részletet. Abból gyorsabban megértem.

Számlálót akarok léptetni.
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 14, 2010 /
 
A bemenetet felhúzod egy 4,7k vagy 6,8 k ellenállással. A kapcsolóval testre húzod.
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 14, 2010 /
 
Egy kis kiegészítés
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 14, 2010 /
 
Egyébként van egy nagyon jó szimulátor progi. Neve Proteus (benne Isis áramkör tervező és szimulátor, illetve a nyák tervezője az Ares). Ezeket használom és nekem jól beváltak.
(#) kkrisz75 válasza maria1982 hozzászólására (») Nov 14, 2010 /
 
Sikerült összerakni.

Számol is ki is írja a 7 szegmens kijelző, de 1 gondom van, hogy nem 0 ról indul hanem ugrik és 1 ről.

Sikerült beüzemelni az eepromot is benne. Meg is őrzi, de minden alkalommal az ugrás miatt hozzá ad 1et.

Azt tudni kell, hogy először jó volt, csak be akartam kötni egy kvarcot is. Be lett kötve 2db 15Pf kondenzátorral, de akkor nem jelzett ki semmit, pedig külső (RC ext. re állítottam).

Szóval vissza tettem a régi programot és levettem a nyákról a kvarcot és a kondenzátorokat, és most léptet.

Mellékelem a programot, hátha abban nem jó valami.
A pic egy 16F628-04/p.

Az otodik.pic - régi program, léptet kapcsolóval, és tárolja az értéket.

A szEEKV.pic pedig a kvarcos, ahol automatikusan léptet 2mp-enként de én is tudok hozzá léptetni kapcsolóval.
(#) kaqkk válasza kkrisz75 hozzászólására (») Nov 14, 2010 /
 
Az eeprom bemenetét invertáld akkor jó lesz !
Ha 4Mhz -s kvarcot használsz akkor a beállítás XT !
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 14, 2010 /
 
Igen a kvarc...
Próbáld ki amit küldök. RA.3 bemenet magas szinten van!

szEEKV.PIC
    
(#) kkrisz75 válasza maria1982 hozzászólására (») Nov 15, 2010 /
 
Ok ezt értem.
Vagyis várakozik x időt amíg nem enged léptetni, csak a letelte után.

Azt is értem, hogy az időzítő után 1 shoot van, bár az okát nem tudom, illetve a hasznát. (Miben változtat a dolgokon?)

Azt is látom, hogy RA.3 invertált bemeneten van.
Na a kérdés az, hogy ez mit jelent.
- Ilyenkor folyamatosan van rajta áram és mikor le testelem akkor kapcsol?
- Vagy akkor kapcsol amikor áramot kap?

- Ha az előbbi akkor értem a hibát, mert testeléssel kapcsolom, ugyan akkor nem volt invertálva.
- Vagy az utóbbi de akkor mit kell változtatni a kapcsoláson, hogy jó legyen?

És nálam a "magas szinten" van vagy a "fel van húzva", annyira megfoghatatlan fogalom. Pár szóban valaki mondja meg emberi nyelven.
Ha fel van húzva az az invertálást jelenti? Ekkor áram alatt van az a láb és a testelést veszi jelnek, vagy 0-n van és mikor áramot adok rá akkor veszi jelnek. Vagy egyik sem?

Az eeprom bemenetén az invertálás mire jó. Miért kell és mikor nem kell invertálni?

Egyszerre csak ennyi, mert még lenne 1 oldalnyi kérdésem, amire éppen a neten keresek választ de nem igazán kielégítő, amit találtam.(mindegyik több szakszóval van tele mint maga a kérdések amit felteszek), amit még meg kell keresni, hogy értsem az előzőt. Miért nincs sehol emberi nyelven leírva.

És bocsi a hülye kérdésekért. De érteni is akarom amit csinálok. Mert szimulátorban minden jó, de panelon összerakva kicsit már más, és ez bonyolultabb lesz csak idővel.
(#) proli007 válasza kkrisz75 hozzászólására (») Nov 15, 2010 / 1
 
Hello!
"És nálam a "magas szinten" van vagy a "fel van húzva", annyira megfoghatatlan fogalom. Pár szóban valaki mondja meg emberi nyelven."

Egy logikai áramkör bemenete, csak határozott logikai szinteket kaphat. Tehát a bemenet vagy L vagy H szintű lehet. Ez köznyelvben lehet "alacsony szint" vagy "magas szint". Az alacsony szint, a negatív tápfeszültséget jelenti (GND). A magas szint, a tápfeszültséget (+5V).
(Természetesen a bemeneti jelnek, vannak toleranciái. pld. 0..0,8V-ig "L" szintnek, 2,4V..5V-ig "H" szintnek veszi.)
De a köztes feszültség tartományban a bemenet nem tartózkodhat, mert ez határozatlan állapotot jelentene. Ez, a tiltott sáv (itt 0,8..2,4V)
Ha az IC bemenete és a GND közé egy kapcsolót kötsz, akkor bekapcsolt állapotban határozott "L" szintet ad. De kikapcsolt állapotban a bemenet "szakadtan marad". Avagy lebeg a levegőben, és így olyan állapotot vesz fel, amilyent akar. A CMOS bemenete több GOHM is lehet, bármely zavarjelet, vagy statikus töltést összeszedhet.

Ezért egyszerűen egy ellenállást kötünk a bemenet és a +5V közé. Így ha a kapcsoló bekapcsolt állapotban van, akkor "L" szint lesz. Ha pedig kikapcsolt állapotban van, akkor a bement az ellenálláson keresztül +5V-ot, azaz logikai "H" szintet juttat a bemenetre. Megszűnik a határozatlan állapot.
Ezt az ellenállást hívjuk felhúzó ellenállásnak.

A PIC Bportáján, viszont van egy belső áramgenerátor, ami felhúzza a bemenetet, ha ezt a funkciót aktiváltuk és a porta zen bitje bemenetként van deklarálva. Így nincs szükség külső ellenállásra. (Ez csak egy belső Fet tranyó bekapcsolását jelenti, ami a bemenet és a táp között helyezkedik el. A Fet csatorna-ellenállása pótolja a felhúzó ellenállást.)

Az invertálás, vagy negálás, egy logikai művelet. Ha "X" változót negálunk, akkor Y=Xnegált.
(A negálást, egy felülvonással szokásos jelölni. Áramköröknél egy bemeneten, vagy kimeneten ezt a műveletet egy kör jelenti.)
Tehát, ha egy bemenet logikai "L" szinten van, akkor az inverter kimenete logikai "H" szintű. Ha a bemenet logikai "H" szinten van, a kimenet logikai "L" szintű.
Két egymás követő negálással, visszanyerjük az eredeti állapotot. Tehát X negáltjának negáltja, egyenlő X-el.
Remélem, így már érthető..
üdv! proli007
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 15, 2010 /
 
Szia!

Proli007 nagyon jól elmagyarázta a lényeget!
A módosításhoz pici magyarázat-
Az időzítő utáni 1shoot feladata hogy csak 1 nagyon rövid impulzust hozzon létre, így lehetővé téve a számodra hogy a nyomógomb működtetésére több időd legyen RA.3 testeled -számlál.
(#) kkrisz75 válasza proli007 hozzászólására (») Nov 15, 2010 /
 
Köszi az infókat. És a példa progit, jó lett.

Emésztem, de kezdem érteni is.
Lenne egy példa program is, amit találtam.
Kicsi módosítást csináltam, hogy kapcsolni is tudjam.
Gondolom ismerős program.

A kérdésem az, hogy ha az RA0 és RA1-en ki küldök 5V ot 4ms frekvenciával, ami a 7szegmens kijelző pozitív(+) lába és a RB1-7ig kellene kiadni testet. A led és az RB lábak közt van ellenállás 470ohm.

A program így működik?
Mert semmit nem jelez ki.

Se belső órajellel (amikor le van kötve a kvarc), se külső kvarcal amit 15pF es kondenzátorral kötöttem testre.

2szx2.PIC
    
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 15, 2010 /
 
Megint a kvarc...
Ha rá kötöd a kvarcot 22pf akkor a beállításokban át kell állítani az oszcillátor típusát is XT-re! Ha nem állítod át akkor hiába van rajta a kristály! Illetve a 4. lábat (MCLR) 4,7k-10k-ig ellenállással húzd tápra (+)
(#) kkrisz75 válasza maria1982 hozzászólására (») Nov 15, 2010 /
 
Köszi...

Nincs 22pf es kondi nálam...
Kikötöttem teljesen a kvarcot és belső órajelre állítottam, de nem indult.

Aztán rányomtam a picre, hogy biztos kontaktol-e. Kiderült, hogy nem. Most megy...

A kérdés még.
A parsicban a mikrokontroller beállításoknál az MCLR mit módosít és mikor melyiket kell választani.
Jó, értem én, hogy reset, de mi a különbség a két beállítás közt?
(#) Gagyicom válasza kaqkk hozzászólására (») Nov 17, 2010 /
 
Ksözönöm. Megtaláltam, próbálkozok majd aztán kiderül. Üdv
(#) dcsabi válasza Gagyicom hozzászólására (») Nov 17, 2010 /
 
Amit mondhatok, még az UART-hoz...
Használd az RScheck. exe nevű segédprogit, ezt is több helyre feltettem.
Illeszd a PIC-et Max232 Ic-vel a PC-hez.
Célszerűen használj a PIC-hez LCD kijelzőt is (így könnyebben tesztelheted a kommunikációt)
A PIC-ben és a PC (RScheck progiban) a kommunikációban részt vevő byte-ok száma azonos legyen, akár egy db is elég.
Használj mindenképpen quartz-ot a PIC-hez!
Először egy irányt próbálj, Pl a PC felől egy byte (0-255)
számot beírva a megfelelö cellába, SEND megnyom és a PIC veszi, kb ennyi...
Fordítva, célszerűen egy analóg bemenetre kötött poti-val beállított érték megjelenik a PC vételi cellájában.
(vagy egy konstans -szám-pl: 137) is küldhető)
Ha a kapcsolat létrejött, utána bővítheted amivel akarod.
Egy bit be illetve kikapcsolása, az úgy megy, hogy át kell alakítani byte-á (BV modul) byte-t fogadni s visszaalakítani bitté.
Természetesen egy konstanst (számot) is küldhetünk, a "vevőben" összehasonlító modullal figyeljük az egyenlőséget, ha oké, akkor kapcsol a bit...stb
Két vagy több PIC is összekapcsolható, az RX-TX lábak keresztbe kötésével.
A kommunikációban részt vevő Byte-ok első 2-3 tagja lehet a PIC "szolga címe" és a vételnél, csak ennek egyezősége engedi a többi byte-ot "érvénysülni"
Az áramkör kivitelezése a lényeg, a progi hozzá néhány perc... Szimulációban nem sokat látsz belőle.
(#) dcsabi hozzászólása Nov 18, 2010 /
 
Hőfokmérő MCP9700-al...(Chipcad-Microchip)
Egyszerű és a szenzor ára tizede a "1wire"-nek.
A PIC program is negyed óra alatt megírható, mindössze egy analóg bemenetet használ.
A kijelző ne tévesszen meg senkit,(2x8) -ilyen volt itthon.
Tehát kipróbáltam...

mcp97_82.PIC
    
(#) jdani válasza dcsabi hozzászólására (») Nov 19, 2010 /
 
Szevasz. ÉS olcsóbb egy LM35DZnél is ami jobban beszerezhetőbb, és a programja is egyszerűbb?
(#) jdani válasza (Felhasználó 15355) hozzászólására (») Nov 19, 2010 /
 
Előny azoknak akik ott vásárolnak
(#) dcsabi válasza jdani hozzászólására (») Nov 19, 2010 /
 
Az egész vitának nem látom értelmét, mert nem azért tettem fel.
Egy Parsic által könnyen kezelhető megoldás, azoknak, akik hőmérőt és ezzel valamilyen további feladatot akarnak megoldani. Nekem is erre kellett, megoldottam és közkinccsé is tettem.
Az 1wire (pl:ds18s20) szenzorhoz hasonlítottam, amit sokkal körülményesebb programozni és jóval drágább is. A másik két szenzor (MCP és LM) esetében nem látom értelmét vitatkozni a 20-30Ft különbség miatt.
(#) kkrisz75 hozzászólása Nov 21, 2010 /
 
Üdv.

Ismét lenne kérdésem a tapasztaltabbaktól.

Van egy egyszerű számláló, ami most, ha le testelem a RA.3 as lábat a 16F628-on, akkor léptet 1 et és kiírja 0-99ig 2db 7 szegmenses kijelzőn a számláló értékét.
Az RA.3 as láb most 10kohm és 1kohm ellenállással van felhúzva.
Programban a bemenet invertálva van.
(Lejjebbi hsz.-ok közt már segítettetek ezzel kapcsolatban)

Most egy jeladót szeretnék rá tenni.
Aminek 3 lába van. +10 - 30V, test, és egy kimenet.
Kipróbáltam 5V-al. Ha 5.2volt megy a + lábra akkor 4.7V a kimenet mikor zár, de ha nyit akkor -1.2V a műszer szerint.

Ilyenkor mekkora előtét ellenállás kell a láb elé. Illetve kell-e ilyenkor, hogy fel legyen húzva a láb ellenállással a + ra?
Vagy ellenálláson keresztül mehet simán a bemenetre?

Ilyenkor le kell venni a bemenet invertálását programban?
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 21, 2010 /
 
Szia!

Ha jeladót akarsz a pic-hez csatlakoztatni, akkor optocsatolón keresztül tedd! A jeladó mehet nagyobb tápfeszröl is (jelen eset) , a vezeték zavaró jelei is nem kavarnak be a picnek. A pic is hálás lesz érte! A bemenet marad invertálva.

Üdv:Józsi
(#) kkrisz75 válasza maria1982 hozzászólására (») Nov 21, 2010 /
 
De nekem nem optikai jeladóm van.

Fém (mágnesezhető) tárgy közelítésére kapcsol.
Ha jól tudom ez indukciós. (lehet tévedek)
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 21, 2010 /
 
Igen az indukciós. De a lényeg most azon van hogy a jeladód és a pic-es áramköröd is megbízhatóan működjön! Ezért ajánlott betartani a jeladó tápfeszültségét! A jeladót gondolom nem a pic-kel 1 nyákra építed. Tehát lesz vezeték valamennyi , ami zavart szedhet össze. Ne sajnáld az opto(nyitott kollektoros) árát, hidd el megéri alkalmazni!
(#) jdani válasza maria1982 hozzászólására (») Nov 21, 2010 /
 
Helló. Bocs hogy beleszólok, de Én is ilyesmi projektet csinálok. Egy hall szenzor, kb 1 méteres vezetékkel a PIC-hez kötve, és csak egy soros ellenállás (100R), és egy felhúzóellenállásom van. Nekem is kellene használni optocsatolót?
(#) maria1982 válasza jdani hozzászólására (») Nov 21, 2010 /
 
Hány voltról megy a hall? Az 1 méter nem gond, ha nem zajos a környezet! De mivel nem tudom hogy hol van használva az indukciós jeladó ( valamint 10volt táp) ezért ajánlom az optocsatolót. Szeretem túl biztosítani az áramköreimet.
(#) kkrisz75 válasza maria1982 hozzászólására (») Nov 21, 2010 /
 
Ha jól értem akkor az opto csatoló, csak sorba lenne kötve a jeladóról jövő vezetékkel. Ezáltal meg szűrné a zavar jeleket?

Nálam kell a 2m, és zavar jel is lehet mert a gyújtás mellett nem messze megy el a vezeték köteg.

Hány mA lehet a bemenet egy PIC-nél? (Vagy hülyeséget kérdeztem?)
(#) maria1982 válasza kkrisz75 hozzászólására (») Nov 21, 2010 /
 
Igen . + védelmet ad a Píc-nek.
Következő: »»   88 / 177
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