Fórum témák

» Több friss téma
Cikkek » Launchpad: ismerkedés az MSP430 mikrovezérlőkkel I.
Launchpad: ismerkedés az MSP430 mikrovezérlőkkel I.
Szerző: icserny, idő: Szept 7, 2011, Olvasva: 50897, Oldal olvasási idő: kb. 6 perc
Lapozás: OK   2 / 9

A gyári demó futtatása: hőmérsékletmérés

Ha a fejlesztői környezetet feltelepítettük, akkor minden készen áll az előre beégetett gyári demóprogram futtatásához. Ellenőrizzük, hogy az MSP430G2231 mikrovezérlő és minden átkötés az eredeti helyén van, ahogy az előző oldalon a fényképen látható! Csatlakoztassuk a kártyát a számítógéphez a mini USB kábel segítségével, s ha ez az első csatlakoztatás, akkor engedjük a Windows-nak, hogy automatikusan felismerje és használatba vegye a fejlesztői környezettel együtt feltelepült USB eszközmeghajtó szoftvert.

Első kísérlet

Ha csatlakoztattuk a kártyát, akkor folyamatosan világít a PWR feliratú LED, jelezve, hogy a kártya tápfeszültséget kap. A program automatikusan elindul, s kezdetben felváltva villogtatja a piros LED1 és a zöld LED2 LED-eket.A tulajdonképpeni alkalmazás az S2 gomb megnyomásakor indul. Ekkor megszűnik a LED-ek villogtatása., mivel azokat utána a hőmérsékleti változások kijelzésére használja a program.  Ha emelkedik a hőmérséklet, akkor a zöld LED2, ha pedig csökken, akkor a piros LED1 kezd pislákolni. Nagyobb hőmérséklet változáskor a LED-ek fényesebben világítanak. Az S2 nyomógombot újra megnyomhatjuk, s valahányszor megnyomjuk, a program mindig az akkori hőmérsékletet veszi referenciának, s az ahhoz képesti hőmérséklet változásokat jelzi ki.

2_1. ábra: A panel első bekapcsolása

A demóprogram az MSP430G2231 mikrovezérlő beépített hőmérőjét használja, ami az IC lapka hőmérsékletét méri. A tokozás miatt a hőátadás elég nehezen megy, tehát ne legyünk türelmetlenek! Ha az IC tetejére szorítjuk az ujjunkat, akár egy percig is eltarthat, mire a zöld LED világítani kezd. A lehűlés még lassabban megy, akár percekig is eltarthat.

A következő két kísérletben is ugyanezt a demóprogramot használjuk, csak egy kicsit másképp...

Második kísérlet

A gyári demóprogram a mért hőmérsékletet az USB-soros kapcsolaton keresztül a számítógépnek is kiküldi.Próbáljuk ki ezt is! A számítógéppel összekötött kártyán (lásd a következő ábrán) a mikrovezérlőn futó alkalmazás a P1.1 (TxD) jelzésű lábon küldi ki az eredményt. Ez a láb a TxD jelű átkötésen keresztül összeköttetésben áll az emulátorral. Az emulátor pedig az USB-soros átalakítón és az USB kábelen keresztül továbbküldi a jelet a számítógépnek. A Windows USB eszközkezelőnek és az emulátornak köszönhetően mind a mikrovezérlő,mind pedig a PC-n futó alkalmazás úgy látja, mintha RS-232 soros porton folyna a kommunikáció (virtuális soros port). Az USB kommunikáció bonyodalmairól tehát semmit sem kell tudnunk, az adattovábbítás transzparens módon folyik. 

2_2. ábra: A Launchpad kártya összekapcsolása a számítógéppel

Megjegyzés: A virtuális soros port lelkivilágáról annyit kell tudnunk, hogy csatlakozáskor először mindig a hardvert csatlakoztassuk, csak utána kapcsolódjunk a PC-n futó alkalmazással. Szétkapcsoláskor pedig először a PC-n futó alkalmazásnál bontsuk a kapcsolatot, s csak utána húzzuk ki az USB kábelt a számítógépből, vagy a Launchpad kártyából! Nagy problémát nem okoz, ha eltévesztjük, de a PC alkalmazás elakadhat miatta.

Második kísérletünkhöz egy terminál indítsunk el! Az alábbi példában a Windows XP operációs rendszer Hyper Terminal programját használtuk, annak beállítását mutatjuk be.

1. lépés: Mielőtt a terminál programot elindítanánk, csatlakoztassuk a Launchpad kártyát a számítógéphez a mini USB kábel segítségével, s nézzük meg, hogy milyen nevet rendelt a kapcsolathoz a Windows! Ehhez a Start menü Futtatás menüpontjában indítsuk el a devmgmt.msc nevűprogramot (Eszközkezelő). Az Eszközkezelő Portok (COM és LPT) nevű listájában MSP430 Application UART néven találjuk meg a keresett bejegyzést. Az alábbi ábrán látható esetben ehhez a kapcsolathoz a COM5 név tartozik. Ezt kell megjegyeznünk.

2_3. ábra: A soros kapcsolat nevének azonosítása az Eszközkezelőben

2. lépés: Indítsuk el a Hyper Terminal programot, és adjunk nevet az új kapcsolatnak (pl. Launchpad)!

3. lépés: A felbukkanó lapon válasszuk ki a Launchpadhoz tartozó kapcsolatot: a fenti példánál maradva a COM5 virtuális soros portot kellett kiválasztanunk.

2_4. ábra: A Launchpad-hoz tartozó kapcsolat kiválasztása

4. lépés: A következő felbukkanó lapon állítsuk be a kapcsolat tulajdonságait! Az adatsebességet 2400 bit/s-re kell állítani, a formátum 8-bit, 1 stop bit, paritás nélkül.  Átvitelvezérlés nincs. A beállítás nyugtázása után (kattintás az OK gombra) a Hyper Terminal program automatikusan kapcsolódik a kiválasztott virtuális soros porthoz.

2_5. ábra: A kapcsolat tulajdonságainak beállítása

5. lépés: Nyomjuk meg a Launchpad kártyán az S2 nyomógombot, hogy elinduljon a hőmérő alkalmazás! A számítógép képernyőjén a Hyper Terminal ablakában ezután kb.1 másodperces gyakorisággal egy-egy betű jelenik meg, az alábbi ábrán láthatóhoz hasonlóan. Ha rányomjuk az ujjunkat a mikrovezérlőre, a betűk láthatóan  változnak. De mit jelent ez a zagyva betűhalmaz?!

2_6. ábra: A hőmérő alkalmazás kimenete a Hyper Terminál ablakában

A megoldás nyitja az ASCII kódtáblában található meg.

Betű Kód
E 69
F 70
G 71
H 72
I 73
J 74

A betűkhöz tartozó kódszámok jelentik az információt: a Fahrenheit fokokban mért kőmérsékletet. A 2_6. ábrán látható betűsor tehát azt jelzi, hogy a melegítés hatására az IC hőmérséklete 69 °F-ról 74 °F-ra emelkedett.Ha az adatokat Celsius fokokra szeretnénk átszámolni, akkor az alábbi képletet használhatjuk:

Celsius =(Fahrenheit-32){5}/{9}

Eszerint a fenti példában a hőmérséklet 20,5 °C-ról 23,3 °C-ra emelkedett.

Ez a kódkikeresés és átszámolósdi azonban elég komplikáltnak tűnik, itt az ideje, hogy valami kényelmesebb megoldást keressünk! Erről szól a harmadik kísérlet.

Harmadik kísérlet

1. Töltsük le és bontsuk ki a hőmérő demóhoz tartozó PC alkalmazást! Az eredeti változat a itt található. Ez azonban Fahrenheit skálán  jelzi ki a hőmérsékletet. Az általam csak minimálisan módosított változat (Launhchpad_TempC_GUI.zip) viszont már Celsius fokokban mutatja a hőmérsékletet, ezért ennek letöltését ajánlom. Itt jegyezzük meg, hogy a forráskód (.PDE állomány) esetleges módosításához és újrafordításhoz az ingyenes Processing fejlesztői környezetet használhatjuk (a fenti linkről letölthető demóprogram változtatás nélküli futtatásához természetesen nem lesz rá szükségünk).

2. A program futtatásához Java futtató környezet szükséges. Ha esetleg nincs a gépünkön telepítve, akkor a www.java.com oldalról szerezhetjük be a telepítőcsomagot.

3. Mielőtt a Launchpad_Temp_GUI programot elindítanánk, csatlakoztassuk a Launchpad kártyát a számítógéphez a mini USB kábel segítségével, majd nyomjuk meg a kártyán az S2 nyomógombot!

4. Bontsuk ki a Launchpad_TempC_GUI.zip csomagot, és keressük meg benne a LaunchPad_Temp_GUI.exe állományt (32 bites Windows esetén értelemszerűen az application.windows32 mappában) és indítsuk el! Sikeres indítás esetén az alábbi képen láthatóhoz hasonló ablaknak kell felbukkannia.

2_7. ábra: A Launchpad_Temp_GUI.exe program bejelentkező ablaka

5. A megjelenő listából válasszuk ki az MSP430 Launhpadhoz tartozó virtuális soros portot, és gépeljük be a szögletes zárójelben megadott sorszámát, egy Enter-rel lezárva! Fenti példánknál maradva a COM5 port tartozik a Launchpadhoz. Ennek sorszáma a képen látható listán 1, ezért lenyomjuk az 1-es gombot, majd az Enter-t.

Ha mindent jól csináltunk, akkor az ablakban megjelenik a pillanatnyi hőmérséklet értéke, s a kiírás kb. másodpercenként frissül.

Ha valakit érdekel a gyári demó forráskódja, az letölthető az MSP430 Launchpad Wiki oldalának Complete Projects szekciójából. A mintaprogram azonban túl bonyolult ahhoz, hogy ezen keresztül tanuljuk meg az MSP430 mikrovezérlők programozását, ezért a cikk hátralevő részében jóval egyszerűbb mintapéldákon gyakorolva fenjük élesre oroszlánkarmainkat, ahol egyszerre csak egy-egy részegység működésére, használatára koncentrálunk. Ezek lesznek azok az építőkövek, amelyekből majd egy-egy összetettebb feladatot összerakhatunk. 

Megjegyzések:

  1. Ha a számítógépünkön Bluetooth vagy Wifi eszközök is kezelnek soros portot, akkor a Launchpad_Temp_GUI program ablaka csak hosszú várakozás után nyílik meg, és a soros portok kilistázása, illetve a soros port kiválasztása is lassan történik (mintha legalább félperces késleltetések lennének beépítve). Ha az ütközést nem tudjuk feloldani (nálam a modemnek fölvett telefon eltávolítása a Bluetooth eszközök sorából megoldotta a problémát), akkor várjunk türelemmel!
  2. Ha 64-bites operációs rendszert használunk, akkor ellenőrizzük, hogy a telepített Java futtatói környezet 64-bites, vagy 32-bites (a böngészők miatt a 32-bites eset a valószínűbb)! Fontos, hogy a Java futtatói környezet szószélességéhez illeszkedő Launchpad_Temp_GUI.exe alkalmazást indítsuk el!

Miért volt érdemes a demóval ennyit bíbelődni, mit tanultunk belőle?

  • Elsősorban megtudtuk belőle, hogy a szerény képességű mikrovezérlőnk hasznos feladatra is használható.
  • Láthattuk, hogy roppant egyszerű eszközök (nyomógomb, LED) felhasználásával is készíthetünk interaktív alkalmazást.
  • A demóprogram megmutatta, hogy a Hyper Terminal vagy más PC alkalmazás segítségével egyszerű módon kommunikálhatunk, így a számítógép segítségével kibővíthetjük a Launchpad kártya képességeit: például szöveget írathatunk ki (vagy okosabb PC oldali programot írva akár grafikont is kirajzoltathatunk).
  • Ha belenézünk a demó program forráskódjába, azt is láthatjuk, hogy ez nem ötperces munka, ehhez nem szabad kapkodva, felkészületlenül hozzákezdeni. 

 


A cikk még nem ért véget, lapozz!
Következő: »»   2 / 9
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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