PIC

Mikrokontrolleres áramkörök fejlesztése

Sok esetben merül fel egy olyan komplex áramkör megvalósításának az igénye, melyet már egyszerű logikai kapuk segítségével, vagy hagyományos analóg kapcsolástechnikai módszerekkel nehézkesen, vagy abszolút nem lehet létrehozni, esetleg túl költséges és tekintélyes méretű áramkört kellene megtervezi a feladatra.

Néhány éve már jelen vannak az elektronikai piacon a mikrovezérlők, sőt mondhatni, hogy a mikrokontrollerek gyártása mára már külön iparággá nőtte ki magát. Több cég is gyárt mikrovezérlőket, és annál is több cég alkalmazza a különféle kontrollereket saját termékeikben is. A fejlődés szédületes sebességgel zajlik ezen a területen, folyamatosan jelentenek be több új típust, az integráltsági szint egyre magasabb, a teljesítmény és hatékonyság folyamatosan növekszik. A tömeggyártásnak köszönhetően már pár száz forintért bárki hozzájuthat egy komoly tudású mikrovezérlőhöz.

A kor követelményeihez igazodva, fontosnak tartottam tevékenységi körömet ebben a témakörben is kibővíteni. Minden gyártmánynak megvannak a saját tulajdonságai, programozási módszerei, ill. fejlesztő környezetei. Én a Microchip mikrovezérlőit választottam, mivel hazánkban ezen cég termékválasztéka és terméktámogatása a legnagyobb jelenleg. Hozzá kell tennem, hogy az AVR is hasonló szinten áll, viszont a tapasztalataim arra engedtek következtetni, hogy az AVR vezérlők inkább a tengerentúlon népszerűbbek, persze itthon is jelentős közösség foglalkozik ilyen vezérlőkkel működő fejlesztésekkel.

Programjaimat assembly nyelven kezdtem el írni. Ez a programozási nyelvek között a legalsó szinten található, ami nem az egyszerűségére utal, hanem éppen ellenkezőleg, a fő nehézsége ennek a programozási nyelvnek. Nem az emberi gondolkodáshoz áll közel, hanem a “gépi gondolkodáshoz”, mivel ettől gépiesebb kód már csak a hexa állomány amit a programmemóriába töltünk. Ennél a nyelvnél tisztában kell lenni a kontroller legutolsó részletével is, az utasítás-végrehajtástól kezdve a regisztereken át a perifériákig. Nem ritkák a bitszintű utasítások sem. Bonyolultságának viszont megvan az a nagy előnye, hogy assembly nyelven lehet megírni a legrövidebb, és leggyorsabban futó, leghatékonyabb programokat. Hátránya, hogy egy nagyobb méretű szoftver megírása több időt igényel, illetve többet kell foglalkozni a hardverszintű dolgokkal is. Emiatt később már a nagyobb bonyolultságú és számítási igényű programjaimat C és C++ nyelven írom. Az assembly és a C nyelvek kombinálása különlegesen nagy hatékonyságú programok létrehozását teszi lehetővé.

Mióta foglalkozom mikrovezérlőkkel?

Programozással 2009-ben kezdtem el foglalkozni. Ebben az évben gyakorláshoz építettem néhány próbapanelt, az év végére már sikerült egy-két egyszerűbb készüléket is megvalósítanom PIC vezérléssel, melyekre a programot már saját magam fejlesztettem.

2010-ben jelentősen bővítettem programozói tudásomat, assembly segítségével már meg tudok valósítani, gyakorlatilag bármilyen logikai műveletet, a leginkább használatos perifériák (UART, I2C, SPI, CCP, PWM, timerek, komparátorok, EEPROM) kezelését, LED kijelzők multiplex meghajtását, LCD modul kijelzők, külső EEPROM, I2C érzékelők és perifériák használatát. 2010-ben már nagyobb fejlesztőmunkát is vállaltam, ennek eredménye a honlapon is megtalálható komplett szauna vezérlő automatika, valamint ebben az időben épített kisebb áramkörök, vezérlések. Ezek nagyrész még tisztán assembly nyelven íródtak. Jelenleg (2014) Ethernet és Wifi alapú kommunikációs megoldásokat fejlesztek szintén mikrokontrollerek felhasználásával, de már C nyelven.

Komplett hardverkörnyezet és szoftver fejlesztése megrendelésre

Jelenlegi tudásom és ezen a területen szerzett 5 éves tapasztalatom már elegendő ahhoz, hogy megrendelésre készítsek egyedi áramköröket melyekben mikrokontroller látja el a fő feladatokat, ezzel együtt a szoftver kifejlesztését is magam végzem. Amennyiben ilyen áramkörrel kapcsolatos igényed lenne, bátran keress fel. A kapcsolat menüponton keresztül veheted fel velem a kapcsolatot.