PIC fejlesztő panel 2.0
A cikk letöltése PDF-ben...
Végre elkészült egy sokkal bővebb verzió bár egyelőre ez csak, mint elkészült terv létezik, de azért finomítani való még ezen is van. Mióta elkészült az 1.1-es verzió és elkezdtük használni, kiderült pár apróságról, szerencsére csak apróságról, hogy nem egészen úgy működik, ahogy azt mi elképzeltük. Pl. a portokon a tranzisztorok bázisára 1k-s ellenállást téve problémák voltak, kicsit leterhelték a PIC kijáratát a tranzisztorok, így hát ide 10k került. Aztán ha használni kellett a B portot akkor a programozó okozott gondot mivel állandóan le kellett húzni a csatiról, mert meghülyült az áramkör. Ezen kívül nem volt vele különösebb problémánk, bár néhány dolog, amit nem terveztünk rá, igen hamar el kezdett hiányozni, ezért neki álltunk a 2.0-nak. Ennél is elsődleges szempontnak tartottuk azt, lehetőleg minél több kész kapcsolás összeállítható legyen rajta, és hogy gondos, precíz munkával akár otthon is legyártható és funkcionálisan minél inkább variálható legyen.

Hirdetés

Ez a panel már kétoldalas furat galvanizált kivitelre lett tervezve, de úgy oldottuk meg az átvezetéseket, hogy kerültük az alkatrészek kétoldali forrasztásának lehetőségét. Ott ahol olyan alkatrész van, amit két oldalról nem igen lehet beforrasztani ott arrébb tettük az átvezetést, melyet kis alkatrész lábbal kétoldalt be lehet forrasztani. Így sikerült megoldani, hogy ne legyen feltétel a furatgalvanizálás. Elméletileg fotózásos technológiával otthon is legyártható a panel. Vasalással, én ekkora méretű panelt még sosem próbáltam, szerintem igen kétséges, hogy egyáltalán meg lehet-e oldani. Nagyon nehéz volt a tervezés során az a feltétel, hogy nem tudtuk előre pontosan, hogy milyen áramköröket fogunk vele tervezni, mivel az ember hosszú távon előre, csak bizonyos határokon belül tud tervezni. Ezért megpróbáltuk minél univerzálisabbá tenni a panelt. Felkerült rá sok, esetleg feleslegesnek tűnő dolog, de leginkább azért, mert megpróbáltunk felkészülni előre nem látható körülményekre. Hüvelysorból is több van, mint amennyi feltétlen kellene, de mivel filléres alkatrész, nem spóroltunk vele, inkább több legyen, mint egyel kevesebb. Ezen kívül azért is van ennyi minden a panelen, mert így kísérletezni, programozást tanulni, gyakorolni is alkalmas mivel nagyon sokféle hardver összeállítható a panelen, ráadásul ezek nagyon gyorsan átalakíthatók, variálhatók, Pl. a port expander programozása vagy az infra bemenet használata.

Az előző verzióhoz képest sokkal több periféria és csatlakozás van a panelen.



Menjünk végig a panelen:

Tápegység
Dugasztáphoz terveztük, polaritástól független, egyen vagy váltófeszültségű kb. 20V körüli nagyjából 1-1,5A terhelhetőségű, dugasztáp használható hozzá. Ha kicsit több az se baj. A táphoz illeszkedő biztosítékot kell a foglalatába tenni. Ez a rész látja el egyrészt a PIC 5 voltos tápellátását és a két segédtáp ellátását. A panelen levő összes táp rövidzár védett, 78xx sorozatú stabkockával lett megoldva, plusz 1 db LM317-es a szabályozható részben.

Szabályozható segédtáp
Mivel került a panelra egy olyan rész, ami próbapanelnek is használható és mindenféle kisebb áramkör összeállítható rajta, így felmerült ennek a fokozatnak a szükségessége, mivel nem minden PIC-hez kapcsolódó áramkör elégszik meg az 5V-os táppal. LM317-el van megoldva, végtelenül egyszerű, primitív felépítésű táp. 1,2V és kb. 20V között szabályozható, a dugasztáp feszültségétől függően. Kimenete ki van vezetve több hüvelysor szigetre.

Még egy segédtáp
Egy MAX7660-as IC-vel előállított -5V-os feszültségről gondoskodik. Ezt leginkább bizonyos kijelzők igénylik kontraszt beállításhoz, de kivezettük ezt is több hüvelysor szigetre, mivel a próbapanel részen összeállított áramkör is igényelheti esetleg. Két külön potit tettünk a pozitív és a negatív kontraszt beállító feszültséget igénylő kijelzők beállításához. Ez mindössze néhány mA-ig terhelhető, tehát nem egy erőmű, de amihez terveztük arra pont elég. Amennyiben grafikus vagy más bekötésű kijelzőt használunk akkor egy hüvelysoron keresztül a kijelző bármely lábára átdugható a kontraszt szabályzó feszültség...

Műszer csatlakozás
A weboldalamon az egyik előző cikkemben taglaltuk egy ICL7107-el és hétszegmenses kijelzővel megépíthető panelműszer építését. Ez a DPM csatlakoztatható ide. A csatlakoztatás után egy kétállású jumper-rel lehet meghatározni, hogy mit mérjen. Az egyik állásban a panelre kivezetett 3-as hüvelysorba dugott vezetékkel a panelen bármit, a másik állásban pedig a szabályozható segédtáp mindenkori feszültségét mérhetjük vele. Persze nem kötelező ezt használni, hiszen bármilyen multival mérhetünk, de így univerzálisabb lett a panel. Kicsit lejjebb kapott a panel még egy ugyanilyen csatlakozót, melyhez Vicsys által megtervezett frekimérőt csatlakoztathatjuk, ha egy picit alakítunk a nyákterven. Csak annyit kell változtatni, hogy egy négyes 90 fokos tüskesort kell tenni a panelra, amivel rácsatlakozhatunk a panelra. Ezen a csatin alapból megkapja a Tápot és a GND-t, valamint itt megy a mérendő jel. Ha már frekimérőt tettünk ide, akkor ráterveztünk a panelra egy, egy tranzisztoros kis kapcsolást is mellyel egy mozdulattal megmérhetjük kb. 20 megáig bármely Quartz frekijét. Időnként ez is jól jöhet és olyan pici helyet foglal, hogy nem volt kedvem lespórolni. Ez a kis áramkör is kapott egy külön 9V-os stabilizátort mivel 5V-on bizonytalan volt. A két műszer, hogy ne terhelje a PIC tápját szintén kapott egy 7805-öst, így önálló tápellátással rendelkezik.

A portok kivezetései
Ezt érdemes kicsit körbejárni. Közvetlen a PIC után van egy dupla hüvelysor. Ebből a szélesebb fogadni tud ellenálláshálót, melyet kétféleképpen lehet beledugni, akár táp akár GND felé. Igaz, hogy általában felhúzó ellenállást használunk, de ki lett alakítva úgy, hogy akár GND felé is lehet húzni a portokat. Ugyanezen a csatin keresztül egyesével is lehet ellenállásokat tenni akár táp akár GND felé. A következő hüvelysor a PIC közvetlen csatlakoztatására szolgál. Utána van egy sor 270Ohm-os ellenállás, amely a PIC védelmét hivatott ellátni. A következő egy dupla hüvelysor szabad felhasználásra, majd egy DIP kapcsoló. Ezt azért tettük ide, mert van egy tranzisztor meg egy LED, amivel a portok állapotát lehet kijelezni. Amikor nincs szükség rá, akkor a DIP-et egyszerűen le lehet kapcsolni. A következő DIP pedig arra szolgál, hogy azok a tranzisztorok, amik vezérlik a LED-eket, leválaszthatóak legyenek, mivel így a tranzisztorok nyitott kollektora a következő hüvelysoron keresztül kivezethető és felhasználható külső áramkörök (Triak, Relé stb...) vezérlésére. Közvetlenül portok mellett kialakítottunk táp és GND hüvelysor szigeteket melyekkel közvetlenül is táp-ra vagy GND-re lehet húzni portok lábait. Van néhány N.C. jelölésű hüvelysor is ezek csak a hosszabbító szerepét töltik be. Ha rövid vezetékeink vannak ezekkel mindenféle jelet, tápot stb.. tovább lehet vinni a panel egyéb részei felé. Ezen kívül ezek arra is jók, hogy közvetlen a PIC közelében elhelyezhetünk egy-két kisebb alkatrészt, tranzisztort, stb.. és ezeket bekábelezhetjük a PIC megfelelő lábaira.

A PIC és környéke
Van néhány dolog, amit itt érdemes kitárgyalni. Egyrészt TEXTOOL foglalattal oldottuk meg a dolgot, azért mert így egyrészt elkerüljük a feszegetéssel járó baleseteket, másrészt mert a TEXTOOL foglalatba vastagabb lábú tüskesor is befogható. Erre azért van szükség, mert ha gyártunk olyan adaptert, aminek a két szélére tüskesort teszünk akkor más PIC-ek is befoghatók lábhelyesen a foglalatba. Ennek érdekében a táp és a GND lábakat is függetleníteni lehet egy DIP kapcsolóval. Le lehet választani egy DIP kapcsolóval a Quarzot is egyrészt azért, hogyha a belső oszcillátort használjuk akkor azt a két lábat is portként tudjuk hasznosítani, másrészt másfajta PIC-nek máshol vannak a azok a lábai. Ott az adapteren kell kialakítani az oszcit. A Quarz-nak is precíziós tördelhető foglalatot tettünk így cserélhető lett a Quarz. Az MCLR lábat is le lehet választani, mivel ha nagyon muszáj, akkor portként is fel lehet használni. Ennek érdekében kapott egy jumpert és egy hármas hüvelysort.

Piezo hangszóró
Egy tranzisztor bázisa van kivezetve egy hüvelysorra, melynek a kollektorán van egy kis piezo zümmer. Ennek segítségével programozhatók és visszahallgathatók a hangjelzések.

Programozó egység
Áll egy csatlakozóból ahová PICkit 2 vagy ICD 2 csatlakoztatható, egy műszer kapcsolóból, amellyel le lehet választani a programozóról a PGD és PGC lábakat, így nem kell állandóan lehúzogatni a csatit. Van egy hüvelysor is, amellyel más PIC-eket is tudunk programozni, ha a portokat és a többi lábat leválasztjuk. Ezen kívül, mivel a digitális rendszereknek szüksége van egy jól definiálható alaphelyzetre, tettünk ide egy reset gombot is.

24Cxx memória
A panel tartalmaz egy 8 lábú DIP foglalatot ahová egy 24C sorozatú EEPROM-ot tehetünk be. Ezeket I2C buszon keresztül lehet írni-olvasni. Azért került ide foglalat, mert ezekből igen sokféle kapacitású létezik, és így könnyen cserélhető.

Óra IC
DS1307 típusú óra IC-vel rendelkezik a panel. Biztos vannak ennél jobbak is, de két dolog miatt választottuk ezt. Egyrészt az egyik lábán levehető róla quarz pontos freki, ami akár a PIC-nek valamelyik bemenetére is vezethető, ha kell, másrészt mindig valós időt mutat, mert rendelkezik egy CR2032-es teleppel. Ez is I2C buszon érhető el.

USB csatlakozás
Kapott a panel egy USB-A és egy USB-B csatit. Ha olyan PIC-et pl. PIC18F4550-et használunk, ami tud USB kommunikációt akkor ez remekül hasznosítható. Ez is DIP kapcsolóval leválasztható, mivel ha másik fajta PIC van benne, akkor azoknak a lábaknak, ahová az USB csatlakozik, egész más funkciójuk van.

Opto csatoló
Nem mondanám, hogy ez lesz a legsűrűbben használt periféria, de sok esetben jól jöhet. Két db opto került ide méghozzá oly módon, hogy mind a primer mind a szekunder oldal ki van vezetve hüvelysorokra, tehát akár kifelé, akár befelé tudunk a PIC-el galvanikusan leválasztva kommunikációt folytatni.

Analóg rész
Egy műveleti erősítő ki és bemenete is ki van vezetve hüvelysorokra. A PWM jelet vezethetjük rá. Egyik kimeneten a kitöltési tényezővel arányos egyenfesz vehető le a másikról pedig erősített PWM jel.

Relé
Feltettünk a panelra egy 5V-os kis relét is. Ez is képes egyéb vezérelendő áramköröktől galvanikusan leválasztani a PIC-et. A behúzó tekercset egy tranzisztorral kapcsolhatjuk, melynek bázisa bármely portra feldugható. A relé munka érintkezőit szintén kivezettük hüvelysorokra.

Felmerült egy problémánk
Szimulálni kellett volna egy bicikli kerekén levő reed relék által adott impulzusokat. Na, ezért került fel a panelre ez a kis áramkör. Egyszerű, primitív, de a célnak megfelel. Kb. 0.2Hz-től - 120Hz-ig állítható négyszöggenerátor, TTL kompatibilis. Mezei NE555-ös IC-vel felépítve. Ez egyrészt elég sokféle szenzor jelét képes szimulálni (forgó, számláló stb...) másrészt, ha foglalatba tesszük az NE555-öst akkor teszterként is használható másik NE555-ös IC ellenőrzésére, hiszen az astabil oszcillátor csak akkor indul el, ha az IC jó.

Port expander
Mivel sokszor előfordul, hogy szükség van rá, felkerült a panelre egy 16 bites port expander. 16 I/O porttal rendelkezik, a portok szintváltozásakor interruptot képes generálni, I2C buszon programozható. Az összes porton van egy jumper, két hüvelysor és egy LED. A jumperrel választható, hogy ki vagy bemenet legyen a port, a LED pedig a port állapotának ellenőrzését teszi lehetővé. Az ADDRESS bemeneteket kivezettük egy DIP kapcsolóra melyen keresztül címezhetjük a tokot és kivezettük hüvelysorra is akkor a PIC is tudja címezni.

RS-232
Soros kommunikációt tesz lehetővé, a panel és pl. PC között.

RS-485
Nagytávolságú, csavart érpáron akár többszáz métert áthidaló összeköttetést tesz lehetővé.

1-Wire csatlakozó
Mivel nagyon népszerű és remek dolgokra használható Pl. az iButton, vagy a DS1820, DS1821-es hőmérő IC, ezért rákerült a panelre. A hüvelysorokba csak be kell dugni az iButton csatiját vagy a DS1820, DS1821-et. A tápot és a GND-t alapból megkapja az adatvezetékét meg a PIC bármely portjára lehet csatlakoztatni.

Infra port
Ez egy távszabályzó infra vevő, ugyan olyan, mint ami bármelyik híradástechnikai készülékben megtalálható (TV, DVD, Video, stb...). Remekül kísérletezhetünk segítségével a PIC távszabályzásával.

Display
Na ez nem is volt olyan egyszerű, mivel azt szerettük volna, ha többféle kijelzővel is használható a panel. Alapból 2x16 karakteres kijelzőt használjuk hozzá, de ha a kontraszt és az R/W jumper-t levesszük valamint a tápot es a GND a DIP-el lekapcsoljuk akkor 19 szabad csati marad, így akár a grafikus kijelzőt is rádughatjuk, majd bekábelezhetjük a PIC bármely portjára. A kontrasztot is úgy alakítottuk ki, hogy egy hüvelysorról is biztosítható akárcsak az adat vagy a háttérvilágítás. Nemrég elkészült, igaz még egy másik panelhez két hétszegmenses kijelző, az egyik BCD a másik shift regiszteres meghajtású, amelyek szintén használhatóak ehhez a panelhez.

Mivel nincs mindig elég portja a PIC-nek ezért ide tettem egy léptető regisztert melyen keresztül mindössze 2 lábon (mely a PIC bármely portjára dugható) meghajtható a kijelző. Ez is jól jöhet bizonyos alkalmazásokban.
4x4-es mátrix keyboard.
8 db-os nyomógomb sor, amelyet szintén bármely portra feldugható és egy jumperrel választható ki, hogy táp vagy GND felé kapcsoljon.
4 db nyomógomb, amely teljesen különálló. Ezeket egymástól függetlenül használhatjuk. Ezeknek mindkét kivezetése hüvelysorra van kivezetve.
Hüvelysorokból összeállított dugdosós próba panel részlet. Ezen egyszerű kisebb áramkörök összeállíthatók, amelyek esetlegesen a tervezendő PIC-es áramkörhöz kapcsolódnak. Elláttuk a környékét az összes, tápot és GND-t tartalmazó hüvelysorokkal, így egyrészt nem csak öt voltos áramkört rakhatunk össze, másrészt nem kell külön tápokat használni, sőt természetesen akár a PIC-től független egyéb áramkörökhöz is használható.
2x16 db LED ellenállásokkal együtt, hüvelysorokra kivezetve, 16 db tápra, 16 db pedig GND-re kötve.
1 db 8-as DIP kapcsoló. Ez is feleslegesnek tűnhet, hiszen pármelyik portot fel lehet kábelezni akár tápra akár GND-re . Viszont, ha ezeket a kapcsolókat használjuk, akkor sokkal áttekinthetőbb a dolog. Mindkét kapcsoló külön-külön tápra vagy GND-re köthető egy jumperrel.
Az I2C busz felhúzó ellenállásait lehet itt leválasztani egy DIP kapcsolóval, ha nem használjuk, vagy ha másféle PIC-et használunk, melynek ugyanaz a lába más funkciót tölt be. Ezen kívül itt ki van vezetve az SDA és a SCL jel esetleges külső felhasználásra.
Ez csak egy poti, melynek egyik fele tápon, másik fele GND-n van és a csúszkáról 0-5V közötti jelet vehetünk le analóg felhasználásra.

Nagyjából ennyi van a panelen. Mérete 270x200 mm. Sok olyan dolog van, rajta ami első látásra akár feleslegesnek tűnhet, de igazából egyrészt azért készült ez a panel, mert egyrészt ha programírás közben változtatni kell a hardveren, akkor egyszerűbb dolgunk legyen, másrészt azért mert próbapanelen igen nyűgös dolog összeállítani, egy olyan komolyabb áramkört, amit ezen vidáman meg lehet oldani. Ezen kívül azért is van ennyi minden, (többféle táp, saját illeszthető műszer, stb...), hogy ne kelljen előszedni és hozzácsatlakoztatni a fél műhelyt. Ráadásul szinte minden kivezethető, tehát ha mégis kell nagyobb próbapanel, akkor azt is használhatjuk. Itt csak össze kell kötni a perifériákat és kezdhetjük is a programírást. Persze nem mindenre alkalmas ez igaz, de azt hiszem elég jól használható lesz ez a panel. Ha belegondolunk abba, hogy mindezeket az áramköröket külön-külön kellene összeállítani egy komolyabb hardverhez, akkor olyan átláthatatlan kábeldzsumbuj lenne az asztalon, amivel szinte képtelenség dolgozni. Ezen kívül, ezt csak egyszer kell beültetni, aztán használható, nem kell újra és újra összeállítani mindent. Ja és nagyon kevés tapasztalatom van a gyári fejlesztő panelekkel, de azt hiszem hasonló tudású panel ára, gyári kivitelben, ennek a sokszorosába kerülhet. Még ha le is gyártatjuk a panelt, akkor sem kerül többe, alkatrészekkel együtt, mint 14-16 ezer Ft. Ez igen jó ár, sőt ha vállalkozunk a nyák házilagos elkészítésére, akkor 10 ezer alatt megúszhatjuk. Ennyi pénzért nemigen lehet hasonlót beszerezni.

Fájlok:
FájlnévFájlméretLetöltve
A cikkhez tartozó fájlok csak bejelentkezés után tölthetőek le!
grandiloquent-yearly
grandiloquent-yearly
grandiloquent-yearly
grandiloquent-yearly