Fórum témák

» Több friss téma
Cikkek » 16 bites PIC fejlesztőpanel V2
16 bites PIC fejlesztőpanel V2
Szerző: Attila86, idő: Aug 16, 2017, Olvasva: 3180
Lapozás: OK   1 / 1
A mikrovezérlős áramköreim fejlesztését megkönnyítendő, készítettem egy fejlesztőpanelt. Az elmúlt pár hónapban vásároltam jó néhány TFT kijelzőt abból a célból, hogy találjak egy olyan típust amely a későbbi TFT-s érintőképernyős fejlesztéseimhez megfelel majd, mind méretben, mind felbontásban, betekintési szögben, árban, stb. Végül találtam két típust is, viszont szerettem volna ezekhez egy olyan fejlesztőpanelt, amivel a kijelzős dolgokon felül nagyjából bármi megvalósítható.

Jelen áramkör nevében a "V2" (mily meglepő), azt jelzi, hogy a második verzió. Volt ugyanis egy első verzió is, erről itt lehet olvasni bővebben: LINK. A módosítások ahhoz a panelhoz képest nem túl jelentősek. Akit esetleg érdekel, a különbségekről részletesen itt olvashat: LINK.

kapcsolasi_rajz_kicsi.png

Táp:

A fejlesztőpanel táplálható egyrészt a microUSB csatlakozón - például bármilyen mobiltelefon-töltőről - illetve a CS1 adaptercsatlakozón keresztül is táplálhatjuk, 8 V-tól egészen 50 V-ig bármekkora egyenfeszültséggel. A két tápforrás közt a J2 jumperral választhatunk. MicroUSB esetén az 5 V ugyebár eleve adott, ekkor csak a 3,3 V-os LDO (IC3) működik. Adapteres tápláláskor előbb az IC2 (MCP16331) step-down konverter állítja elő az 5 V-ot. A fejlesztőpanel előző verziójában az IC2 pozícióban MP2459 szolgált, az MCP16331 viszont kétszer akkora kimenő áramot (1 A) képes előállítani, ezért került az MP2459 lecserélésre. A két step-down konverter azonban lábkompatibilis egymással, szóval akár itt is használható az MP2459. Ebben az esetben szükség van az R9 és R10 beültetésére is, ezért ezek helyét meghagytam a panelon. MCP16331 használata esetén azonban ezeket nem kell beültetnünk!

A panelon szinte mindennek a 3,3 V-os tápfeszültségre van szüksége, az 5 V csak a mikroBUSTM csatlakozóknak, illetve a karakteres LCD-kijelzőnek kell. Az R11-nek és az R12-nek az értéke rendkívül fontos, ezek állítják be ugyanis az 5 V-ot. Ha ezekbe a pozíciókba véletlenül más értékű ellenállásokat ültetünk, akkor a step-down akár jóval nagyobb feszültséget is előállíthat mint 5 V!

tap.jpg

Ez az esetlegesen csatlakoztatott LCD-kijelzőt és az 5 V-ról működő mikroBUSTM-os clickTM modulokat tönkre teheti, ahogyan az IC3-at is, amely a bemenetén maximum 6 V-ot képes elviselni! Ha ennél több kerül a bemenetére akkor a 3,3 V-os tápkörre kötött dolgok is, azaz gyakorlatilag minden tönkre fog menni, a PIC-et is beleértve! Ezért került bele a táp részbe a J1 forrjumper, amely a step-down kimenetét leválasztja az egész áramkörről. Ez azért hasznos, mert így meggyőződhetünk róla, hogy az MCP16331 valóban 5 V-ot állít-e elő és ha igen, akkor már nyugodtan összeforraszthatjuk a J1 jumpert. Az MCP16331 1 A, az MCP1825 pedig 500 mA áram előállítására képesek, azaz legfeljebb ekkora fogyasztása lehet a panelen lévő dolgoknak és a csatlakoztatott moduloknak. Mivel az IC2 feszültség-áram átalakítást végez, ezért magasabb bemenő feszültségnél értelemszerűen a betáp felől felvett áram csökken. Például 9 V-ról maximum kb. 560 mA-es, 12 V-ról 420 mA-es, 24 V-ról 210 mA-es, 48 V-ról pedig kb. 100 mA-es áramfelvétellel számolhatunk legfeljebb.

Mikrovezérlő:

dspic.jpgA panel lelke egy "száz lábú" mikrovezérlő, mely a dsPIC33EP512MU810 névre egyáltalán nem hallgat. Ez egy elég drága PIC, jelen cikk írásakor bruttó 3300 Ft. Azonban csak ennek a 16 bites típusnak van akkora számítási teljesítménye (70 MIPS), programmemóriája (512 kB), adatmemóriája (52 kB) és olyan rendkívül gazdag perifériakészlete (4 db UART, 4 db SPI, 2 db I2C, 16 db CCP, 13 db timer, 2 db A/D, 2 db QEI, 2 db CAN, 15 ch. DMA...) amit szükségesnek tartottam ehhez a fejlesztőpanelhez. Szóba jöhetett volna még az egy ezressel olcsóbb dsPIC33EP512GP310, de annak jóval kevesebb RP-s lába van, így az nem tudná ellátni a feladatát ezen a panelon.

TFT:

A panelhoz két fajta TFT-t lehet csatlakoztatni, mindkettő a www.buydisplay.com terméke. Az egyik a 3,2 colos, 320x240 felbontású, ILI9341 vezérlőjű modul, a másik pedig a 3,5 colos, 480x320 felbontású, ILI9488 vezérlővel. Mindkét kijelző rendelhető touchpad nélkül, illetve rezisztív és kapacitív touchpaddal is. A fejlesztőpanel mindkét touchpad fogadására fel van készítve. Ezek a TFT modulok számos módban tudnak működni, a fejlesztőpanelen a 16 bites vezérlési módhoz valóan vannak bekötve. Ez a DB0-DB15 adatbiteken felül négy vezérlőlábból (WR, RS, RD és RST) áll, a TFT chip je (a csatlakozók 23-as pontja) fixen földre van kötve. Ezeken a buydisplay.com-os modulokon található egy microSD-kártya foglalat és rendelhetőek flash memória chippel és font chippel is. A fejlesztőpanelba ezek nem lettek bekötve, mert teljesen feleslegesek. Egyedül a rezisztív érintőpanel vezérlőjének (XP2046) a CS és IRQ lábai vannak bekötve, persze az SPI három vezetékén felül. A TFT modulon lévő microSD-kártya foglalat azért is felesleges egyébként, mert a fejlesztőpanelra tettem egy sokkal jobb minőségű, kidobós típust.3.5_inch_tft_lcd_module_display_with_resistive_touch_panel_screen.jpg A TFT háttérvilágítása is be van kötve a fejlesztőpanelen, úgyhogy ezzel is tudunk játszani. Ha kapacitív érintőpaneles TFT modult használunk, akkor annak az INT (megszakítás) lába külön van, az SCL és az SDA lábak viszont azonosak azokkal amelyek a rezisztív touchpadnak a CS és IRQ lábai. Mivel ugyebár az I2C nem PPS-elhető, ezért természetesen ez a két láb a mikrovezérlő I2C lábaira lett kötve. A panelon két darab 40 pólusú csatlakozó van, melyhez a TFT kijelző kapcsolódhat: egy hüvelysor és egy FFC csatlakozó. Ugyanis a TFT modulokat is kétféle csatlakozóval szerelik, így a fejlesztőpanelhoz két módon is csatlakoztathatóak. A kijelző és a panel egymáshoz való rögzítését két távtartó szolgálja. A 3,2 colos és a 3,5 colos kijelzők furatai nem pont ugyan oda esnek, de a fejlesztőpanelon a távtartók furatai úgy lettek kialakítva, hogy mindkét kijelző rögzíthető legyen.

A két TFT modul a buydisplay.com oldaláról is megrendelhető:

A 3,2 colos 320x240 felbontású: ER-TFTM032-3

A 3,5 colos 480x320 felbontású: ER-TFTM035-6

A buydisplay.com kijelzői egyébként nem csak a saját weboldalukról rendelhető meg, hanem az Ebay-en is fenn vannak. Sőt, a 3,2 colos verzió a ChipCAD-ban is kapható!

LCD:

Lehetőség van sima, 2x16 karakteres LCD csatlakoztatására is a CS3 csatlakozón. Az LCD nyolc adatbitje (DB0-DB7) és a három vezérlőlába (RS, RW, E) a TFT kijelző adatlábaiból van származtatva, hogy ne kelljen az LCD-hez több I/O lábat felhasználni. Természetesen egyszerre csak egy kijelző (vagy az LCD, vagy a TFT) működtethető. Noha a karakteres LCD 5 V-os, a mikrovezérlő 3,3 V-os jelszintjeivel jellemzően az összes LCD modul működni tud. Az LCD mechanikai rögzítését is külön távtartók szolgálják a panelon. P1-el a kijelző kontrasztja állítható.

MikroBUSTM:

mikrobus-click-boards.jpg

A szerb MikroElektronika cég (www.mikroe.com) kitalált egy szabványt amellyel a fejlesztőpanaleikhez különböző eszközök, perifériák univerzális módon csatlakoztathatóak. Ezt a csatlakozót mikroBUSTM-nak nevezték el, a csatlakoztatható kis modulokat pedig clickboardTM-oknak. Ezekből több mint 350 féle típus kapható náluk, melyeket nálunk Magyarországon a ChipCAD is forgalmaz. A mikroBUSTM csatlakozó gyakorlatilag két, egymástól meghatározott távolságban lévő 8-8 pólusú hüvelysor, melyre a tápfeszültségek, SPI, I2C, UART kommunikációs lábak, egy analóg és egy PWM láb, plusz egy CS, egy reset és egy megszakítás láb vannak odavezetve. Ezzel gyakorlatilag szinte minden le van fedve, amire szükségünk lehet. A fejlesztőpanelon három ilyen mikroBUSTM csatlakozó is helyet kapott, ráadásul ezeknél csak az I2C közös, az SPI és az UART a PIC teljesen külön lábaira kapcsolódik. A mikrovezérlőben 4 db SPI és 4 db UART van, ezeket oda PPS-eljük ahová csak akarjuk.

WIFI modul:

dscf0459_kicsi.jpgHelyet kapott a fejlesztőpanelon az igen közkedvelt ESP8266-os WIFI modul, egész pontosan az ESP-12E típus melynek saját antennája van, így nem kell külön antennát használnunk. Egy három pólusú tüskesorra kivezettem a modul TX és RX lábait (és a GND-t), melyekre egy USB/soros átalakítóval rácsatlakozhatunk a fejlesztés során, így láthatjuk a PIC és a WIFI modul kommunikációját és rá is tudunk "beszélni". Ezek az USB/soros átalakítók 5 V-osak, viszont a fejlesztőpanelon a PIC és a WIFI modul is 3,3 V-ról jár. Elvileg ez nem jelenthet gondot, mert az ESP8266 korábbi adatlapjában szerepelt, hogy a lábai 5 V toleránsak, a gyártó azonban azóta kivette ezt az állítást az adatlapból! Másnak is feltűnt a dolog, ITT elég alaposan ki van vesézve a téma. Biztos ami biztos, két ellenállás-osztó biztosítja, hogy a WIFI modul lábaira (és a PIC-ére, bár az tényleg 5 V toleráns) ne kerülhessen 5 V.

MicroSD-kártya:

Került a panelra egy kidobós (rugós) microSD-kártya foglalat, amire nagyon sok esetben szükség lehet. A foglalat a ChipCAD-ben kapható MMT012 cikkszámon. Az SD-kártya chip lába szándékosan nincs bekötve a PIC-be, mivel az SD-kártya SPI-ját külön behuzaloztam.

Egyebek:

Minden mikrovezérlős áramkör szinte elengedhetetlen eleme egy életjel-LED, ez a panelon a LED17. Mellette egy nyomógomb (S1) is van, ami közvetlen a mikrovezérlő egy lábára van kötve. A nyomtatott áramkört 10x10 cm-esre terveztem, így hatalmas üres terek maradtak még a panelon. Kitöltöttem hát olyan dolgokkal, amik épp eszembe jutottak: került a panelra egy kis piezo hangszóró, egy rotációs enkóder, illetve egy marék nyomógomb és LED. A 8 db nyomógomb állapota egy 74HC165 típusú shift-regiszter segítségével olvasható be. A 16 db LED pedig két, egymás után felfűzött 74HC595 típusú shift-regiszterrel vezérelhető. Ennek a két shift-regiszternek az elektronikában nagyon sok helyen hasznát vehetjük, ahol kevés lábbal sok kimenetet, vagy bemenetet szeretnénk kezelni. A fejlesztés során itt a 16db LED kiváló diagnosztikai célokat szolgálhat, ahogyan a 8db nyomógomb is nagy hasznunkra lehet beviteli perifériaként.

Az áramkör megépítése:

A NYÁK-lap házilag, furatgalvanizálás nélkül nem készíthető el, ezért NYÁK-tervet nem is mellékelek a kapcsoláshoz. Ha valaki meg szeretné építeni ezt a fejlesztőpanelt, akkor hozzá a gyártatott NYÁK-lapot tőlem tudja megvásárolni. Ez ügyben az alábbi e-mail címen lehet érdeklődni:

p.attila.mg@gmail.com

A ChipCAD-ben tudjuk megvenni a mikrovezérlőt, a microSD-kártya foglalatot (MMT012), a step-down konvertert, a stabkockát és az FFC csatlakozót (BUY029). A step-down 22 uH/0,9 A-es SS0406 tokos tekercse a Lomexben kapható 93-03-20 cikkszámon. A 10 µF/50 V-os 1210 tokos kondit (82-08-69) és a rotációs enkódert (56-04-12) ugyan itt tudjuk megvenni. Szinte az összes többi alkatrész kapható a HEStore-ban, ide össze is állítottam egy kosár-fájlt amely megkönnyíti az alkatrész-beszerzést. A HEStore-ban csak a következő alkatrszek hiányoznak (a fentieken felül): 6,2 k 1% 0805 ellenállás (1 db), 470 µF/6,3 V furatszerelt elkó RM2.5-6 (1 db) és 1000 µF/6,3 V furatszerelt elkó RM3.5-8 (1 db). Ha esetleg a microUSB csatlakozó a HEStore-ban (1003.6834 cikkszámon) nem lenne készleten, akkor meg tudjuk venni a Lomexben is, ott 43-23-37 cikkszámon elérhető.

Legelőször a PIC-et forrasszuk be a helyére! Ennek az az egyszerű oka, hogy így biztosan nem lesz útban semmi a pákának a beültetéskor. Nem kell félni a 100 lábtól, meg hogy ezek milyen közel vannak egymáshoz. Folyasztószerrel pillanatok alatt beforrasztható a PIC. Ez után jöhet a microSD-kártya foglalat, majd a többi felületszerelt alkatrész a panel ugyan ezen oldalán. Figyeljünk oda a 100 µF-os tantál kondenzátorok polaritására! Fordítsuk meg a panelt és forrasszuk be méret szerint növekvő sorrendben az alkatrészeket. Itt is ügyeljünk a tantál kondik és a két dióda irányára! A J1 jumpert még ne forrasszuk össze! Most már jöhetnek a furatszerelt alkatrészek, szintén magasság szerinti sorrendben. Végül a távtartókat szereljük fel. A TFT kijelző távtartóinak a furatai oválisak azért, mert a 3,2 colos és a 3,5 colos TFT modul rögzítőfuratai nem pontosan ugyan ott vannak. Ha megvan már a kijelzőnk, akkor erre figyeljünk oda. A beültetést segíti ez a két kép:

beultetes_felso_oldal_kicsi.pngbeultetes_also_oldal_kicsi.png

Ha készen vagyunk a beültetéssel, akkor adjunk tápfeszültséget (8 V-50 V közt) az áramkörnek és mérjünk rá a C7 kondenzátorra, hogy 5 V van-e rajta! Ha ez rendben van, akkor összefolyathatjuk ónnal a J1 jumper két felét, így feszültség alá kerül a teljes áramkör.

Néhány kép az elkészült áramkörről:

dscf0802_kicsi.jpgdscf0808_kicsi.jpg

 dscf0810_kicsi.jpg

dscf0821_kicsi.jpg

 dscf0823_kicsi.jpg

A feszlesztést megkönnyítendő, az alábbi képen megjelöltem a mikroBUSTM csatlakozók és a kijelzők csatlakozóinak pontjait, hogy azok a mikrovezérlő melyik lábaira kötnek:

gpio_kicsi.png

www.pa-elektronika.hu

- 2017 -

Következő: »»   1 / 1
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
Frissek
2017. Okt, 17. Kedd
4:06:02
Jelenleg 49 fő olvassa az oldalt
Online tagok:
Lapoda.hu     XDT.hu     HEStore.hu