Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1149 / 1320
(#) pgabor2 válasza Attila86 hozzászólására (») Nov 26, 2013 /
 
Szia!

A 74595-nek két órajel bemenete van: egyik a soros adat léptetésé, a másik a már feltöltött adatokat tölti át a kimeneti tárolóba. Van RES és OE lába is, az 50V-os busztápot nem kell külön kapcsolgatni.
(#) potyo válasza Attila86 hozzászólására (») Nov 26, 2013 /
 
Kimenő áramtól függ, de TPIC6B595 is jó lehet, ez ugyanaz, mint egy 74HC595 és egy ULN2803 egymás után kötve.
A hozzászólás módosítva: Nov 26, 2013
(#) Attila86 válasza potyo hozzászólására (») Nov 26, 2013 /
 
Tök jó hogy van ilyen, csak az a baj hogy nekem az N-fettel való kapcsolás nem jó, mivel nem földet hanem 50V-ot kellene kapcsolgatnom.
(#) Zsora válasza potyo hozzászólására (») Nov 26, 2013 /
 
Csak én nem találom a TPIC6B595 doksijában az órajel (SRCK) max. értékét?
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 26, 2013 /
 
I2C-vel meg csak 2 láb kell .
Ha PIC-el oldod meg akkor nem kell mindig az összes adatot kiléptetni, tápfeszt kapcsolgatni ( ami 50V-on 50db-bal számolva már számottevő teljesítmény/zavar lehet), és sokkal kisebb helyet foglal.
(#) icserny válasza Zsora hozzászólására (») Nov 26, 2013 /
 
Idézet:
„Csak én nem találom a TPIC6B595 doksijában az órajel (SRCK) max. értékét?”
A 2. ábrából meg a "recommended operating conditions" táblázatból (Pulse duration, setup time, hold time) ki lehet ókumlálni, hogy legfeljebb kb. 12,5 MHz lehet (40 ns off, 40 ns on).
(#) potyo válasza Attila86 hozzászólására (») Nov 26, 2013 /
 
Azt láttam, viszont ezzel húzgálhatod lefelé a P fetek gate-jét.
(#) foxi63 válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Szia!
Szerintem 48 bemenet = 6db Hc244 Ic 48 kimenet 6db Hc 273-as IC Kiválsztásukra 1db HC154 és az egész 12 lábat használ fel. 1 utasítás adatirány 1 utasítás címkiválsztás (melyik ki/bemenet ) 1 utasítás irás vagy olvasás . A HC273 ba akkor íródik be az adat, amikor megszűnik a kiválasztása HC 154 váltásakor.(felfutóél)
Ennél egyszerűbb nemigen képzelhető el. A kimenetekre javaslok optocsatolót, ekkor a leválasztáson kívül megoldódik a pozitív fet problémája is...
üdv. Foxi63
(#) Hp41C válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Idézet:
„Első ötletem a Microchip saját "I/O expander" áramköre volt, az MCP23017. De ez lefoglal egy soros portot és az nem jó mert nekem ebből az IC-ből kellene a kb 100db I/O lábhoz 6db, ennyi soros portja nincs a PIC-nek.”

Az MCP23017 az I2C buszra illeszkedik, van rajta három címbemenet (A2, A1, A0). Így egy I2C buszon maximum 8 darab használható belőle. Azaz 16 * 8 bit I/O -ig egyetlen kétvezetékes soros buszt foglal. Ha jól számolán 64 bit bemenet és 64 bit kimenet egyszerre magvalósítható két kontroller lábbal.
(#) ktamas66 válasza Hp41C hozzászólására (») Nov 27, 2013 /
 
Ezt a portbővítőt én is nézegettem, de végül PIC16F1513-akat vettem 280Ft+ÁFA-ért, és felprogramoztam I2C slave-nek, két láb megy el I2C-re, egy analóg lábon lehet címet beállítani, a többi szabad. Ilyenből elvileg 128db-ot lehet egy buszra kötni.
(#) potyo válasza ktamas66 hozzászólására (») Nov 27, 2013 /
 
Nem lehet a teljes tartományt kihasználni, vannak fenntartott címek. Két hét után jöttem rá, hogy a 0x07 címmel azért nem stimmel valami, mert fenntartott cím. A chip adatlapjában (Analog devicec Blackfin) semmi említés nem volt róla, csak egyszer már kínomban próbára lecseréltem a slave címét, és láss csodát, elindult az egész működni. És az a szép, hogy nem a Blackfin kommunikációját borította meg, hanem amikor a PIC32 egy másik chippel kommunikált volna, akkor szólt bele az egészbe a Blackfin és kavarta meg a buszon a jeleket...
(#) Attila86 válasza Hp41C hozzászólására (») Nov 27, 2013 /
 
Az a helyzet hogy mint már írtam a legfontosabb kritérium jelen áramkörnél hogy a lehető legolcsóbb legyen. Az MCP23017 pedig sajnos drága, több száz Forint. Meg amúgy az nem fontos egyáltalán hogy a lehető legkevesebb lábát használjam fel a PIC-nek! PIC18F87K22 lesz benne, ennek 69db I/O lába van.

A kimenetekkel már nem kell foglalkozni, azokat 74HC164-e(kke)l oldottam meg, ez csupán kb 30Ft. Ez mindössze 4db lábát foglalja le a PIC-nek és gyakorlatilag végtelen kimenetem lehet. Terveztem hozzá egy olyan nyákot aminek a két rövidebbik oldalain forrpontok vannak és ezeken egyszerűen össze lehet fűzni akármennyi ilyen nyákot, panelonként 8db kimenettel bővül így az áramkör. A "+UB" nevezető pontokra jön az 50V (vagy ha latch-elni akarok akkor 0V), a "V+"-ra pedig szintén az 50V jön, ez csak azért van hogy az áramkör tesztelésekor a LED-ekkel láthassam hogy melyik kimenet aktív és melyik nem. Azért vezettem ki külön hogy a latch-eléstől függetlenül is működjenek a LED-ek.
Ez a 74HC164-es megoldás azért is nagyon tetszik mert nektek csak 50db ki/bemenetet mondtam de az az igazság hogy egyenlőre nem tudom mennyi kell. Valószínűleg tényleg kb 50db, de matematikailag elméletben akár 288db kimenet is kellhet. Ebből a kis panelből pedig amit most mutatok, bármennyi felfűzhető egymás után!

foxi63!
Olyannyira spórolni kell hogy itt az optocsatoló óriási luxus! Ha megnézed ezt a nyákot, még a csatlakozókat is lespóroltam, csak forrpontok vannak a nyák szélein.
(#) ktamas66 válasza potyo hozzászólására (») Nov 27, 2013 /
 
Igen vannak ilyen címek (alsó 00-07-ig),és van egy ajánlás is, hogy milyen eszközök, milyen csoportba kerüljenek, de mikor az ember magának programoz és nincs más eszköz ami megakadályozza, ha muszáj fel lehet rúgni.
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Nehéz borzasztó okosakat mondani, a rendszer ismerete nélkül, csak arra hívnám fel a figyelmed, hogy egy ennyi reléből felépített hálózat akár sorrendi is lehet, ami nem biztos, hogy elviseli a tápfesz kapcsolgatását (hazárd). A soros adatátvitelnél a bővítések során bele kell nyúlni a adatátviteli programba (hány byte-ot toljon ki/be), ha ezek a modulok párhuzamosan vannak kötve csak címezni kell őket. Egy 28 lábú PIC-kel megvalósíthatsz mondjuk egy 10 bemenet/10 kimenetes kártyát ( ha ezek a ki/be portok szimmetrikusak), a kártyák párhuzamosan bővíthetők és minden bit egyedileg címezhető.
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 27, 2013 /
 
A rendszer ezt tökéletesen el fogja viselni. De mit is? A tápfesz kapcsolgatását? Nem értem ezt hogy mire gondolsz. Ez a készülék azt csinálja hogy az 50V-ot odakapcsolja egy, két, három vagy esetleg négy pontra a mondjuk 50 pont közül. Aztán leveszi. Az egyetlen gond az lenne ha nem lehetne latch-elni és végig kellene tologatni az egész adatot mert akkor olyan pontokra is feszültség kerülne amire nagyon nem lenne szabad. És igen, bővítés esetén a szoftvert át kell írni. Ez viszont nem probléma, ráadásul ha úgy írom meg elsőre a szoftvert hogy több kimenetbővítő-modult kezeljen mint amennyit rákötök, akkor nincs ilyen gond.
A nyáktervről látszik hogy ez egy teszter lesz, nagyon leegyszerűsítve elmesélem hogy képzeljétek el ezt:

Van egy nagy doboz, aminek a külső részén van 288db tüske. A dobozon belül pedig ezek a tüskék teljesen szabadon össze vannak kötözgetve egymással. Természetesen szigorú szabályok szerint, de össze-vissza. Jön egy ember egy csípőfogóval és belenyúl ebbe a dobozba és elvág egy vezetéket. A feladatom az, hogy ezzel a teszterrel megtaláljam hogy melyik vezetéket vágta el! Na ezt a célt szolgálja majd ez a kütyü.

Persze a valóságban ennél jóval bonyolultabb a dolog mert nem vezetékek hanem jelfogók vannak a dobozban melynek érintkezői össze-vissza (de szigorú és ismert szabályok szerint) vannak sorba, párhuzamosan meg mindenhogy kötözgetve. Némelyik pont ki van vezetve a 288db tüske valamelyikére, némelyik nem, némelyik többször is. És a feladatom nem az elcsípett vezeték, hanem a kontakthibás jelfogó-érintkező megtalálása.
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
A soros kimenetnél "elméletileg" talán lehet végtelen .
A nagy lábszámú PIC-el az a problémám, hogy házi tervezésben sima kétoldalas nyákon még furatgalvánnal is macera a nyáktervezés. Ha amúgy is modulárisra tervezed nincs is rá szükség.
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 27, 2013 /
 
Muszáj nagy lábszámú PIC-et használnom mert a kimeneteket oké hogy lerendezem ezekkel a 74HC164-es panelocskákkal (megjegyzem szerintem ez nagyon elegáns megoldás ), na de ott vannak még a bemenetek. Amiből szintén kellene kb 50db. Nos ezeket a bemeneteket a legeslegegyszerűbb ha a PIC közvetlen fogadja, azaz a saját lábacskáit használom fel bemenetnek. Sajnos a bemeneteket nem lehet ilyen elegánsan és olcsón megoldani mint a kimeneteket a 74HC164-el, hogy négy lábbal végtelen mennyiségű kimenetem lehet. Ha esetleg a kijelzővezérlő lábak, a tasztatúrát kezelő lábak és az ICSP csati után nem maradna elég lába a PIC18F87K22-nek, akkor szerintem 74HC165-el oldom meg a bemeneteket. Így 8 bemenetenként (74HC165-önként) kellene egy PIC-láb, plusz három közös. Már ha jól értem a 74HC165 működését.
(#) Attila86 válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Na jó egye fene, nem a PIC saját lábait használom bemenetnek hanem beteszek 74HC165-öket. De csak mert ilyen erőszakosak vagytok!

Ez azért is jó mert ezzel modulárisabb lesz az áramkör, hiba esetén nem kell az egész panelt kidobni. Csak akkor segítsetek egy picit; hogyan is működik pontosan ez a 74HC165?
A "SH/LD" láb alacsony szintre váltásakor 'lefotózza' a bemeneteit (azaz utána bármi lehet a bemenetén?), majd a "CLK INH" láb alacsony szintűre váltása után az órajel ütemében, minden órajel-felfutó él után kiteszi a soros kimenetére a biteket a legnagyobb helyértékűvel kezdve? Ennyi, jól értem az adatlapot? Ez elég egyszerű. Gondolom a 74HC165-nek az "CLK INH" lábat kellene külön-külön rákötni a PIC egyes lábaira, a "CLK" és az "SH/LD" lehetne közös mindnél, a soros kimeneteiket pedig diódákkal VAGY kapuzom és onnantól az is közös. Jól gondolom? És mi az a "SER" láb?
A hozzászólás módosítva: Nov 27, 2013
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Ezt nehéz egy hozzászólásban elmagyarázni, de lényeg, hogy amikor egy sorrendi hálózatban (tehát adott állapotváltozások, adott állapotokba vezetnek) a konkurens állapotváltozások más végállapotba vezethetnek. Egy 0011-ből 1111-be való változás vagy 0111 vagy 1011-en keresztül vezet, a két bit változása nem egyszerre zajlik, ez egy aszinkron hálózatban más végállapotba vezethet. Ezek a hazád jelenségek, amikből több fajta is van (az ifjabb egyetemisták biztos jobban benne vannak a témában ).
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 27, 2013 /
 
Ja értelek! Na de ott van a külső latch a P-fettel.
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Attól nem szinkron hálózat, a relék tuti nem egyforma gyorsak és valószínűleg nem szinkron hálóban működnek.
Pl. van három relém egy a váltót állítja, egy a váló állapotot jelzi vissza, egy a szemafort állítja. Ha úgy indul: váltó állítás, visszajelzés-> zöld, ha úgy visszajelzés, váltó állítás -> piros. Mivel mindig mindent kikapcsolsz nem tudod melyik relé a gyorsabb ( vagyis egy idő után rájössz , de ez változhat is, hol egyik, hol másik kapcsol előbb).

A hazárd nem a te készülékedben keletkezik.
A hozzászólás módosítva: Nov 27, 2013
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 27, 2013 /
 
Ja világos! De ez itt bőven nem lesz gond. A mérések menete így néz majd ki nagyon röviden:
1.- Szükséges kimenetek H szintre kapcsolása!
2.- Várj 100ms-ot!
3.- Bemenetek beolvasása!
4.- Az összes kimenet lekapcsolása!
5.- A beolvasott adatok (bemenetek állapotai) kiértékelése!
A hozzászólás módosítva: Nov 27, 2013
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Lehet, hogy igazad van, de azt magyarázom, hogy a relé állásokra adott válasz függhet a versenyhelyzetben levő relék gyorsaságától (ha előbb jelenik meg a váltóállás jele, mint az átkapcsolásé hibakódot küld, attól függetlenül, hogy utólag megjött a váltóállítási parancs is).

A PC tápegységben a bekapcsolásra adott jelre 3-400ms múlva jön a PG jel és megy tovább a POS. Ha ezt a Te kütyüd szimulálja mivel biztosítod, hogy a bekapcs jel biztosan 1 legyen mikor a PG 1-be megy, mert ha nem így van a rendszer leáll ( és később már nem érdekli, hogy megjött a táp).
A hozzászólás módosítva: Nov 27, 2013
(#) killbill válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Van itt egy kis képzavar, Attila! Az nem latch-elés, hogy az osszes kimenetet egyszerre le tudod kapcsolni. Még jopar hsz-szel ezelott emlitettek tobben a HC595-ot es a TPIC6x595-ot megoldaskent, amikben van kimeneti tarolo, szemben a HC164-gyel. A HC595-ben D tar van, a TPIC-ben LATCH. Mindket esetben a tarolo arra jo, hogy amig a shift regisztert shifteled, addig az IC kimenetei nem valtoznak meg. De nem azert, mert mindet lekapcsolja, hanem azert, mert az IC-ben a shift regiszter utan van teve egy 8 bites latch vagy D tarolo, ami a kimeneteken megtartja az allapotokat. A HC595-ot ugy kepzeld el, mintha egy tokban lenne egy HC164 es egy HC273.

Igen, a bemeneteket is fel tudod fuzni egyetlen lancba, pl. HC165-okkel. Akarmennyit osszefuzhetsz beloluk. Az INH labat (15-os lab) lefoldeled. Ha adsz a LD labara (1-es lab) egy felfuto elet, akkor a bemenetein levo allapotot letarolja (lefenykepezi, ahogy irtad). Ilyenkor a (es vegig, amig a LD laba L szinten van) a kimeneten a 7-es bemenet allapota lathato. Ha a LD laba H szinten van, akkor minden egyes CLK felfuto elre lep egyet. Ami eddig a 6-os taroloban volt, az ezentul a 7-es ben lesz, ami a 2-esben volt, az a 3-masban lesz, stb. Es itt jon a trukk, hogy van egy soros bemenet is (10-es lab). Az ott levo jelszint fog beirodni a 0-s taroloba. Ezert aztan a lanc elso IC-jenel ezt a labat mondjuk lefoldeled. A lanc elso IC-jenek a kimenetet rakotod a kovetkezo IC soros bemenetere. Aztan igy tovabb, mig az utolso IC kimenetet beviszed a PIC-be. A CLK es a LD termeszetesen ket jel, az osszes IC-re elmegy, mindegyiknel ugyanaz, a PIC adja. Ezutan adsz egy L majd H szintet a LD-ra es n * 8 impulzust a CLK-ra, es ezzel beolvasod a vegtelen szamu bemenet allapotat.
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 27, 2013 /
 
A rendszert (a tesztelendő készüléket) és a vizsgálatok szisztematikáját ismerve ilyen gond nem lesz. De nagyon jó a felvetésed!
(#) Attila86 válasza (Felhasználó 15355) hozzászólására (») Nov 27, 2013 /
 
Hűű.. miért?

Szerk.: Na jó, a fet tényleg tönkre megy a -50V Ugs-től.
A hozzászólás módosítva: Nov 27, 2013
(#) Attila86 válasza (Felhasználó 15355) hozzászólására (») Nov 27, 2013 /
 
Arra gondolsz hogy az ellenállások az értékeik miatt (1k) égnek el? Azt csak úgy beírogattam hogy legyen valami értékük, természetesen ott nem 1k-k lesznek.
(#) Attila86 válasza (Felhasználó 15355) hozzászólására (») Nov 27, 2013 /
 
Akkor eltaláltam. Berakok 1-1 zenert a gate-ek megvédésére, meg átírom az ellenállások értékeit. Köszönöm az észrevételt!
(#) killbill válasza Attila86 hozzászólására (») Nov 27, 2013 /
 
Ha az also tranzisztor aramgeneratorkent uzemel es a a FET S-G kozott van egy ellenallas, amin ez az aram feszultseget hoz letre, akkor semmi baj nem lesz.

fdrv.png
    
(#) Attila86 válasza killbill hozzászólására (») Nov 27, 2013 /
 
Igen csak az a baj hogy a LED nem lehet sorosan. Azért van az én rajzomon is párhuzamosan bekötve hogy ha nem ülteti be az ember a LED-et akkor is működjön az áramkör. Ugyanis a LED egy relatíve drága alkatrész (15-20Ft), az áramkör alkatrészköltségének jelentős részét teszi ki. És említettem hogy a legfontosabb hogy ez az áramkör a lehető legolcsóbb legyen. Ha nem ad a BKV pénzt a LED-ekre akkor nem ültetek be LED-eket. Az áramkörnek viszont így is működnie kell.
Következő: »»   1149 / 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