Fórum témák

» Több friss téma
Fórum » Modulrendszerű, grafikus PIC programozás
Lapozás: OK   51 / 177
(#) dcsabi hozzászólása Nov 17, 2009 /
 
Most éppen ezen "makettezek"...
Ez egy PLC lesz jó sok bemenettel, és természetesen 24 kimenettel.
A panelon két PIC 16f877A lesz, az egyik csak a kimeneteket kezeli, Uarton kapja a kimenet kapcsolás "állapotát" 3 byte-n
RTC is van benne (I2C), ha kell (chip: 5c372a), és LCD kijelzőt is rá lehet dugni szükség esetén. A fizikai kapcsolatok sorkapcsosak...
A kimenet Smd pnp tranzisztoros.
minden ki és bemenet optcsatolós védettségű, és ledek jelzik az állapotokat.
A PIC-eket akár a helyükön is lehet programozni...
Kapcsolási rajzot nem csináltam, csak igy fejből rajzolgattam, azt hiszem, magáért beszél...
Ha valakinek pont ilyen kell, vagy hasonló, itt van...

P_877G.GIF
    
(#) dcsabi hozzászólása Nov 17, 2009 /
 
Sprint L 4.0 val...
Még nem ültettem be, felelőséget nem vállalok...
Most készül a nyáklemez...

PLC_877A.LAY
    
(#) balada válasza aderka hozzászólására (») Nov 17, 2009 /
 
Szia!
Ez anno nekem működött a három bemenetre kell 10k-s ellenállások ez egy LCD-re írja ki a számot. Ennek volt egy kódzár része is ha kell azt is előkeresem.

key.PIC
    
(#) kkrisz75 válasza dcsabi hozzászólására (») Nov 18, 2009 /
 
Jól értem, hogy az examp3.pic program 4db 7 szegmenses led kijelzőt vezérel?

Ha igen akkor a "TABLE INFO"-ba honnan tudom, vagy hogyan tudom meghatározni milyen értékek legyenek, hogy 0-9 ig írja az értékeket.

Másik kérdés.
Ezt kombinálva a fordulatszám mérővel, jó lehet a kijelzés? (Vagyis fordulatszám értékeket leosztani 1esekre, 10esekre ...stb. és azt kijeleztetni)
(Sajnos nem kapok Olyan 2 soros 20 karakteres LCD kijelzőt amiben a karakterek magassága 10-15 mm.)

Még 1 kérdés.
Egy ismerős nem szám formában, hanem led sorral szeretné kijeleztetni a fordulatszámot.
100 fordulatonként 1 lapos lednek kellene kigyulladni 0-8000 ig(bár 6000nél tovább nem forog a motor)

Ezzel a programmal meg oldható? Ha igen akkor kérhetek súgást, hogy merre induljak?
(#) dcsabi válasza kkrisz75 hozzászólására (») Nov 18, 2009 /
 
Válasz első részre:
Tab formátuma a hétszemens kijelző egy ledje a 8bítes adat egy bitje pl: 00000110 ez mondjuk lehet adott esetben az egyes kódja ez attól is függ melyik irányból értelmezed.
Tehát a táblázatba a kigyujtandó pálcikák sorrendjét kell beírnod minden számra (ez egy maszk valójában)
akár lehet betü is csak a 7 pálcika értelmesen kiadja
Pl: A vagy L stb...
nem akarlak megkeverni. ha 0-9-ig számolsz, akkor természetesen a számok "képét" kell előállítanod".
Az hogy közös anódos , vagy közös katódos természetesen meghatározza a kimenet alapértelmezését (normál, vagy invertált) ugyanúgy a dekád vezérléseknél is...
A kérdésedre akkor a válasz: annak a táblázatba irandó értéknek meg kell felelni a a pálcikák "szimbolikus" értékének 0-255 közé eső szám lesz természetesen.
A 8 bit bináris kiterített értékén az egyik végén természetesen mindig nulla lesz , mivel csak 7 bitet használunk. A tizedes pontot más logika kapcsolja...
(#) dcsabi válasza kkrisz75 hozzászólására (») Nov 18, 2009 /
 
Válasz a 2. kérdésre:
erre a feladatra pl. az analóg bemenetet tudod felhasználni,
ha mindenképpen PIC-el akarod. Legalább 60db led kell a 100-as felbontáshoz (6000 1/min-hoz)
Továbbá 2db pic16f877A kontroller...
Az első PIC veszi az analóg jelet, ami úgy van a fordulattal arányosan konvertálva, hogy beleférjen a 0-5V-ba.
Az első pic30 kimenetet fog kapcsolni, a további 30ledet a másik pic tudja kapcsolni.
Az átvitelt az UART-on lehet megoldani egy szál drót kapcsolattal (tx -> rx), a 30 leden tuli turcsoldult értékek adatait küldjük át.
Ezt viszonylag egyszerű progi 10-15 perc alatt meg lehet írni...
Az áramkör megépítése az elsődleges...
Ha gondolod feldobom majd a progit hozzá...
Az analóg jelet a néhai Uaa180-as Ic-vel megépített led soros fordulatszám mérőből tudod kimásolni, ez valójában egy 555-s Ic és néhány alkatrész a tövében... (valószínű itt a fórumon is fenn van néhány helyen)
(#) aderka hozzászólása Nov 19, 2009 /
 
Üdv!
Még mindíg a Mátrix billentyűzetem megoldásán szenvedek. Az oszlopok (F-E-D) Kapcsolgatása nem jött be. Most azzal próbálkozom, hogy az első oszlop 1V-os jelet, a 2.oszlop 3V-os jelet, a 3.oszlop 5V ot kap. Analog bemenetekkel különböztetem meg őket. A következő a program.
A kérdésem: Mennie kellene?
F-E-D ahogy mondtam ráadom a különböző szintű feszültségeket, és a K-J-H-G a sorok. Ha az 1 V jön vissza a K soron akkor nyomtam le az 1-es gombot.És igy tovább

matrix.PIC
    
(#) aderka válasza aderka hozzászólására (») Nov 19, 2009 /
 
Kirpóbáltam működik.
(#) aderka hozzászólása Nov 19, 2009 /
 
Üdv!
877-es PIC-nél:
ADC0=RA.0
ADC1=RA.1
ADC2=RA.2
ADC3=RA.3
ADC4=RA.5
ADC5=RE.0
ADC6=RE.1
ADC7=RE.2

Jól írtam?
Ha a 4-es analog bemenetet szeretném használni, ugyan úgy ADC-t kell írnom? Az ADC = analog digital concerter? a számozás, pedig az adott PIC analog bemeneteinek a száma?
(#) dcsabi válasza aderka hozzászólására (») Nov 19, 2009 /
 
Igen, ha analógot használsz, akkor azt sorszámmal kell jelölni a programban.
ADC4...
(#) aderka válasza dcsabi hozzászólására (») Nov 20, 2009 /
 
Rendben! Tehát ha a ADC4 ( 4-es analog bemenet)-et szereteném használni akkor az az RA.5-ös láb lesz.
Ezt szerettem volna csak tudni.
Nekem valaki régebben azt mondta, hogy az ADC-ből a C a portot jelenti. Szóval ha azt irom, hogy ADC1 akkor RC.1. De látom, hogy az nem egy analog bemenet. Ezért keveredtem meg, hogy akkor most hogy is van . Az adott PIC analog bemeneteire vonatkozik.
(#) sniperx hozzászólása Nov 20, 2009 /
 
Egy kezdő kérdés: van arra valami mód, hogy a Parsic átszámozza a kapcsolatokat? A sok javítgatás közben észrevettem, hogy a foltozgatásoknál előfordul, hogy ugyanaz a neve a kapu előtti szakasznak, mint a kapu utáninak.
A másik dolog: ha bemenetként használom pl az RB1-RB3 lábakat, amire optókat tettem, akkor azt fel kell húznom ellenállással tápra, vagy elég simán rákötnöm az optó kollektorát? (alacsony szintre kapcsoltatom)
(#) sniperx hozzászólása Nov 20, 2009 /
 
Az RB.7-nél látszik, miről is beszéltem az átszámozásnál.

alarm.pic
    
(#) kaqkk válasza sniperx hozzászólására (») Nov 20, 2009 /
 
Igen erre figyelni kell ! A progi nem tudja melyik kötést akarod kivezetni . ha egyszer elneveztél egy "lábat"
csak akkor nevezi át ha egy másikat kötsz hozzá .
Viszont néha emiatt vész el egy egy kivezetés !
(#) baloghzoli1 válasza sniperx hozzászólására (») Nov 20, 2009 /
 
Szia,jobb egér rá katt csatlakozásra és oda van irva.Automatikus számozás,bit csatlakozás :< . > enter byte csatlakozás :név törlése
(#) sniperx válasza baloghzoli1 hozzászólására (») Nov 20, 2009 /
 
Köszi!
Arra nincs mód, hogy megnézze, nem használok-e véletlenül egyező neveket különböző kötéscsoportoknál?
Egyáltalán van jelentősége, ha az S jelűeknél esetleg van egyezés?

Az ellenállásos kérdésre nem tudtok valamit mondani? Igényli a tápra felhúzást?
Láttam az ic beállításoknál olyat, hogy a B portokat húzza-e magasra. Ez nem az, ami nekem kell?
(#) kaqkk válasza sniperx hozzászólására (») Nov 20, 2009 /
 
Én biztos hogy külső ellenállással húznám fel . ha egy
lábról van szó . Ha a belső felhúzást választod , az egész BPORT fel lesz húzva !
(#) sniperx válasza kaqkk hozzászólására (») Nov 20, 2009 /
 
Valahogy így?

piclab.jpg
    
(#) kaqkk válasza sniperx hozzászólására (») Nov 20, 2009 /
 
Igen ez így jó .
(#) sniperx válasza kaqkk hozzászólására (») Nov 20, 2009 /
 
A kimeneti rész is jó így, ahogy rajzoltam?
Mennyire lehet terhelni a kimeneteit?
(#) kaqkk válasza sniperx hozzászólására (») Nov 20, 2009 /
 
Ha jól emlékszem 20mA ig terhelhető a kimenet .
(#) baloghzoli1 válasza sniperx hozzászólására (») Nov 20, 2009 /
 
A portokat nem ellenörzi de a összekötéseknek nem ad ugyanolyan számozást,csak a portoknál figyelj rá
(#) baloghzoli1 válasza sniperx hozzászólására (») Nov 20, 2009 /
 
Max.25mA kimentenként de itt a 628 adatlapjaBővebben: Link
(#) sniperx válasza kaqkk hozzászólására (») Nov 21, 2009 /
 
Akkor a így használhatom elvileg a ki és bemeneteket? (Áramok jók-e, esetleg mik a bevált értékek?)
Az mitől lehet, hogy az egyik bemenetem neve megváltozott?
RB.3-nak definiáltam, de némi rajzolgatás után átírta RB.6-ra, ami ráadásul egy kimenet... (nem a bemenetnél módosítottam, így csak utólag tűnt fel)
Aztán a próbánál furán működött a dolog, ott tűnt fel.

piclab.jpg
    
(#) sniperx hozzászólása Nov 21, 2009 /
 
Az mitől lehet, hogy az alábbi kapcsolás szépen működik a szimulációban, de a valóságban valamiért nem működik a reset funkciója?
Elvileg ZR2 ad egy impulzust az idő leteltekor, majd rá 4s-ra RS3 ágon keresztül ismét.
Ezek mintha ott sem lennének...
A riasztásig minden működik pontosan, de a sziréna bekapcsolása után ez a szakasz nem csinál semmit.
(nyomógombos leállításra működik természetesen)

alarm.pic
    
(#) sniperx hozzászólása Nov 21, 2009 /
 
Módosítottam a reset részt, de ennél meg reklamál a fordításnál. Mit kell még megadni a ZV1-nél?

mod: átnéztem pár példaprogramot és rájöttem közben, földre kellett tenni az irányt meghatározó lábat.

Az újraindítás viszont nem működik így sem.
Valakinek ötlet?

alarm2.pic
    
(#) sniperx hozzászólása Nov 21, 2009 /
 
Nos, közben megoldódott a dolog.
Ennyi módosítás kellett hozzá, és már megy is.
A kutya ott volt elásva, hogy a bemenet alapból magasra volt húzva, ami az OR kapu kimenetét magasan tartotta folyamatosan. Így hiába jött az impulzus a másik ágról, a ONE_SHOT nem csinált semmit utána.


alarm2.pic
    
(#) aderka válasza sniperx hozzászólására (») Nov 21, 2009 /
 
Ha ilyen problémám van, én csak kitörlöm az adott kaput, és újra bekötöm. Ilyenkor helyrejön a hiba.
A másik kérdésedre a válasz:
Szerintem nem kell felkötnöd tápra.

üdv: Dávid
(#) Collector hozzászólása Nov 22, 2009 /
 
Tudna valaki adni valami olvasmányt a parsicról, illetve picről?
(#) dcsabi válasza Collector hozzászólására (») Nov 22, 2009 /
 
A program helpjében gyakorlatilag minden segítség meg van...német angol olasz nyelven.
A topic elején kb 20. oldalig én is sokat irtam róla...

A pic-ről meg az adatlapjáról, aztán a Mikrovezérlők alkalmazástecnikája könyvből, ezen főrum jőnéhány topicjából...
Kezdésnek: egy olyan eszközt képzelj el, amivel információt dolgozunk fel.
Ez leginkább a bemenetként használt "lábakon" keresztül kapcsojuk, a végeredményt meg a kimenetként használt "lábakon" kapjuk...
Az ehhez használt programot a felhasználó írja meg valamilyen fejlesztő környezetben "pl a PARSIC"+mplab és beletölti a mikrokontrollerbe (égetés)... utána e szerint fog müködni...
Következő: »»   51 / 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