Prof Creative Commons License 2016.05.10 0 0 1831

Hali!

 

Az Arduinok magja egy Atmel ATmega mikrokontroller. Ez önmagában a saját szoftveres fejlesztői környezetével pompásan alkalmas ipari felhasználásra (általános automatizálás, gépkocsiipar, háztartási gépek stb. stb. stb.). Az Arduino keretrendszer azonban ehhez képest -- hogy egyszerűen fogalmazzak -- ki van herélve, elsősorban szoftveresen, részben hardveresen. A szoftveres rész:

-- a fejlesztői környezet (Arduino IDE) konkrétan egy vicc mérnöki szemmel, egyértelműen látszik rajta, hogy oktatási célokra találták ki (arra viszont egészen jó, ha nem is tökéletes),

-- a rendszerbe beletoltak egy bootloader-t, ami egyérszt kicsit hülyebiztossá teszi a rendszert (lásd Arduino IDE), másrészt sok szempontból többet árt, mint használ, többek között brutálisan lassítja a bootolási fojamatot, egyszerű eszközökkel lehetetlenné teszi bizonyos beállítások elvégzését stb.

-- a keretrendszer könyvtárai, illetve azok, akik ezeket létrehozzák, nem integritáson, hanem a saját céljuk megvalósításán gondolkodnak (hozzáteszem, az mbed is), emiatt sok könyvtár nem kompatibilis más könyvtárakkal, rosszabb esetben olyan gyorsan tömik tele az egyébként limitált memóriát, hogy jobb esetben csak a hely fogy el, rosszabb esetben papírnehezékké konvertálja a hardvert.

És ha már hardver.

Egyrészt rátoltak egy alapvetően nem feltétlenül felesleges, de mégis, soros--usb csatolófelületet, ami hasznos, mert egyszerű, és káros, mert pl. egy ipari adatgyűjtőt a legritkább esetben dugdosnak USB-re.

A debug lehetőségek Arduino IDE környezetben gyakorlatailag a Serial.print() parancsra és a Serial Monitorra korlátozódnak. A saját ATmel keretrendszerben ez azért szofisztikáltabb, de az nem is hobbi/tanulási kategória. Watchdog csak nagyon faramucin van (vagy hardveresen kell megoldani).

 

Továbbá. Magukon a fejlesztői paneleken (és ez nagy vonalakban mindegyikre igaz) van egy csomó holmi, ami konkrétan a fejlesztést szolgálja/segíti (ilyen pl. a szabványos hüvelysoros csatlakozófelület, ami az Uno Rev.3 óta nagyjából változaatlan), emiatt bizonyos fejlesztési feladatok végtelenül leegyszerűsödnek (pl. nem kell szopni, hogy hardveresen illessz mondjuk egy 16x2 alfanumerikus kijelzőt, hanem simán rányomsz egy shield-et és kész -- az ST Nucleo például képes akár 2-3-4 gyári kiegészítő panelt is elviselni magán, az Arduino esetén ez már nem feltétlenül igaz, mert sok shield üti a másikat a lábkiosztás miatt). Ipari felhasználásra a legritkább esetben elfogadható egy alapvetően szétszedhető, plusz rengeteg felesleges alkatrészt tartalmazó (nagy, sokat fogyaszt stb.) rendszer használata, ezért van az, hogy a prototipizálás után jön a sorozatgyártásra tervezés, amikor az adott célra szükséges elemeket, de csak azokat (már debug felület, usb stb. nélkül) egy célpanelre pakolják, aztán jöhet a mehet (a sorozatgyártás). Néhány darabért nyilván épeszű ember nem fog nyákot tervezni (plusz gyártatni), de erre is csillió elegáns módszer van azon kívül, hogy egy Mega2560-at a jumper kábelekkel együtt behányunk egy csinos műszerdobozba (az Instructables konkrétan dugig van ilyenekkel).

 

Összefoglalva: ha az Arduino keretrendszert és az eszközöket nézzük (még talán az Intel magos cuccokat is beleértve) alapvetően hobbi / tanulási célú eszközökről van szó (mondjuk játéknak titulálni már a Mega2650-et is barokkos túlzás). Ugyanakkor a mag olyan szinten ipari, hogy a most futó alsó és középkategóriás kocsik kb. felében valamelyik ATmega (vagy csak simán valamelyik Atmel) mikrokontroller törli az ablakot vagy indexel.

 

Alapvetően itt is igaz, hogy a projekthez kell eszközt választani.

 

Prof

Előzmény: Bene Sándor (1827)