kategória: Mikrovezérlő áramkörök
Megtekintések száma: 6809
Megjegyzések a cikkhez: 0
JavaScript programozható mikrovezérlők: melyiket válasszon, funkciók és lehetőségek
2010 után hazánkban az amatőr rádiós hobbi másodszor is megkapta azt a lehetőséget, hogy a mikrovezérlőket magas szintű programozási nyelveken lehet programozni, messze a vasalótól. Az első tömegprojekt volt Arduino Board Family. Ezeket a mikrovezérlőket már többször megvizsgáltuk cikkeiben, de ma a javascriptbe beprogramozott mikrokontrollerekről fogunk beszélni. Igen! Ugyanaz a nyelv, amelyet főleg a WEB-oldalak írásakor használtak.

Hatály, vagy szükség van-e ilyen mikrokontrollerekre?
Ha figyelembe vesszük az elektronika szempontjából azokban az eszközökben, amelyeket az alábbiakban figyelembe veszünk, akkor a szokásos mikrovezérlőket használjuk. A gyártótól való eltérés csak az, hogy rendelkeznek egy előre telepített betöltő programmal, bár hívják, amit akarnak, amely lehetővé teszi az Ön számára letöltött programkód végrehajtását, és egyes esetekben USB-n keresztül kommunikálhat a számítógéppel, ha nem hardveresen valósítja meg.
Mire vonatkoznak a javascript mikrovezérlői és más nem hagyományos nyelvek? Az amatőrök és a szakemberek között vita folyik az elektronika fejlesztésével kapcsolatban a speciális fórumokon, ahol néhány dicsérettel bír az olyan projektek miatt, mint az "Arduino", mások pedig minden lehetséges módon megalázják és nevetségessé teszik a fejlesztő egyszerűsége és elvont képességei miatt a legtöbb vas kérdéssel.
Fontos: A cikk ebben a részében azt mondjuk: „Arduino”, mivel ez a legtöbb rajongó számára kiindulópontja lett az elektronikus eszközök tervezéséhez.
Arduin programozható a C-ben. De erre van szükség? Nézzük meg, hogy a legtöbb esetben miért nincs szükség a mikrokontrollerek reakciósebességére. Az arduino munkások gyakran szeretnék vezérlőket összeállítani az automatikus öntözéshez és a növények „megvilágításához” világítás beépítéséhez. Egy ilyen kombinált eszköz kiváló segítséget nyújt azok számára, akik szeretnek valamit terjeszteni apartmanokban vagy üvegházakban.
De mekkora sebességre van szükség a vezérlőberendezéshez? 15-20 évvel ezelőtt senki sem fogja használni itt mikrokontroller - egy amatőr tervező sikeresen menedzselt volna pár operációs erősítőt vagy logikai elemet. De ha beszélünk a tárgyalt mikrokontrollerek alkalmasságáról ezekre a projektekre, akkor itt teljesen közömbös, hogy hány milliszekundum alatt bekapcsol a háttérvilágítás, vagy a föld elkezdi öntözni a vizet.

A következő népszerű projekt az otthoni meteorológiai állomás, és kiderül, hogy ilyen célokra az arduinok alapvető képességei elegendőek az érzékelőkből származó információk olvasásához és egy karakter-szintetizáló képernyőn való megjelenítéséhez.
Menedzsment példákban RGB LED szalag a normál vagy intelligens LED-eknek "pixel-by-pixel" vezérléssel (egy ilyen SMART szalag és annak jelölése az alábbi ábrán látható) szintén elég erőforrásokkal rendelkezik.

De hol van szüksége sebességre, és nem alkalmasak az egyszerűsített programozási nyelvek, például a Scratch vagy a javascript használatához? Minden nagyon egyszerű:
-
Precíziós áramkörökben;
-
Riasztásokban és biztonsági rendszerekben;
-
Nagy pontosságú mérőműszerekben, amelyekkel gyorsan ki kell gyűjteni az adatokat az ADC-től, beleértve a normál oszcilloszkópokat is;
-
Eszközökben, amelyek alvó üzemmódban szükségesek a hosszú távú önálló munkavégzésre;
-
Azokban az esetekben, amikor a lehető legtöbb funkciót és kódot kell beillesztenie a mikrovezérlőbe, de ez a közelmúltban nem vált nagyon sürgős feladatnak a piacon lévő legtöbb eszköz költségcsökkentésének kapcsán.
Ezen feladatok többségében az akadály a sebesség és a memória.Az optimális eredmény érdekében ebben az esetben ésszerűbb még a C / C ++ -ot sem használni, hanem az összeszerelőt (ASM). Valójában, ha ilyen projektekre törekszik, ez azt jelenti, hogy van bizonyos mennyiségű ismerete, azaz nincs szükség.
A következtetés?
Az egyszerű nyelvű mikrovezérlőkre van szükség, ahol nincsenek olyan szigorú követelmények, mint például a sebesség vagy a mérési pontosság, de még bizonyos helyzetekben is pontosságot biztosítanak az amatőr használatra szánt nem specializált eszközök számára.
Espruino - erőteljes mikrovezérlő és egyszerű javascript nyelv
Az Espruino platform szoftver- és hardverkészlet a mikrovezérlők javascript nyelvű programozására, három elemből áll:
1. Firmware egy mikrokontrollerhez JS nyelvi tolmács segítségével.
2. Az Espruino Web IDE fejlesztési környezete.
3. Mikrokontrollerrel ellátott tábla, amely magában foglalja a firmware-t az Espruino-val való közvetlen munkához.

Az ötletet Gordon Williams fejlesztette ki és valósította meg 2013-ban, és pénzeszközöket gyűjtött ehhez a tömegfinanszírozási platform (Kickstarter) segítségével. Valójában a fejlesztés lényege az Espruino firmware (motor) fejlesztése volt annak mikrokontrollerekbe történő betöltésére. Elsősorban az STM32 család mikrokontrollerein használják, ARM-cortex architektúrával. Kényelmesebb eszközök működtetésére, az alábbiakban foglalkozunk.

A mikrokontroller programjainak javascript-be történő írásához telepítenie kell az Espruino Web IDE-t. Ez egy népszerű Google Chrome böngésző programja vagy kiterjesztése, amely egyetlen kattintással telepíthető.
Miután rákattintott a „Telepítés” gombra a „szolgáltatások” menüben, megjelenik egy alkalmazás, és beléphet ebbe a menübe a címsorba történő beírásával: chrome: // apps /
Ha egy csésze kávéval kattint az ikonra, megnyílik a fejlesztési környezet, amely nem a böngészőben, hanem egy külön ablakban figyelhető meg.
Ez a környezet érdekes mind a gyermekek, mind a kezdõ felhasználók számára, mivel a kód manuálisan adható meg, vagy a Scratch programozási nyelv alapján a grafikus szerkesztõt is felhasználhatja. Ehhez kattintson arra a ikonra, amelyre a nyíl mutat.

Ezután a képernyő jobb oldala, amely a kóddal együtt, a másik ábrára változik:

Az interfész intuitív, a központi panelen fentről lefelé: nyisson meg egy új fájlt, mentse el a vázlatot, és töltse be a mikrovezérlőbe.
következtetés
Az Espruino táblák és hasonlók egy nyomtatott áramköri kártya, a szükséges mellékletekkel, és egy mikrovezérlő, egy javascript interpreterrel, amely feldolgozza a kódot, és a parancsokat lefordítja az egyikek és a nulla nyelvére közvetlenül futásidejűleg. Miközben a klasszikus forma, a mikrovezérlők programját már gépi kód formájában töltik be az utóbbiba.
Ez a megközelítés számos feladatban nyújt teljesítményt, például Arduino esetében.
A hivatalos Espruino vonal áttekintése

A készülék műszaki adatai:
-
54x41 mm (hitelkártya fele);
-
STM32F103RCT6 32 bites, 72 MHz-es ARM Cortex M3 CPU
-
256KB Flash, 48KB RAM;
-
Mikro USB port
-
Bemeneti feszültség 3,6-15 V;
-
Akkumulátor csatlakozó (JST PHR-2 2 tűs);
-
Beépített SD-kártya nyílás;
-
Három LED (piros zöld és kék);
-
Platformok a HC-05 Bluetooth modul telepítéséhez;
-
A bányák közötti távolság - 2.54 mm (0.1 ");
-
44 GPIO tű, ebből 26 PWM (PWM), 16 ADC (ADC), 3 USART, 2 SPI, 2 I2C és 2 DAC (DAC);
-
A táblán levő terület számos eszköz, például Wi-Fi modulok, szervók csatlakoztatására használható, 14 kimenetre bővíthető, legfeljebb 500 mA árammal.

A tábla megjelenése és csomópontjainak feltételes zónákra osztása
Sokak számára az alaplap vonzónak és hiányosnak tűnhet, de ez volt csak az első lehetőség, akkor ismerősebben és progresszívebben néznek ki. A Puck.JS miniatűr tábla, a fedélzeten Bluetooth és infravörös adóval rendelkezik.

A hivatalos weboldalon található információk szerint műszaki specifikációi és jellemzői a következők:
-
Alacsony energiaigényű Bluetooth;
-
Előzetesen telepített Espruino javascript tolmács;
-
A tábla szíve: nRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM, 512kB Flash;
-
8 x 0,1 "GPIO portok (beleértve a PWM (PWM), SPI, I2C, UART, analóg bemenetet);
-
9 x SMD GPIO portok (ideértve a PWM, SPI, I2C, UART);
-
ABS műanyagból készült házmosó;
-
Szilikon burkolat kulccsal;
-
MAG3110 Magnetométer - háromtengelyes mágneses mezőmérő;
-
IR adó
-
Hőmérő, fényérzékelő és akkumulátor töltöttségi szintje;
-
Három LED (piros, zöld és kék);
-
Programozható JS NFC címkével.
-
A csapok kapacitással érzékelik az érintést (az okostelefonok érintőképernyőinek működésének alapelve);
-
Tömeg 14 g;
-
A műanyag tok mérete: 36 mm átmérő, vastagság - 12,5 mm;
-
Lemez méretei: átmérő 29mm, vastagsága 9mm.
A munka bemutatása:
A következő tábla az Espruino Wi-Fi, ahogy a neve is sugallja, funkciója egy beépített vezeték nélküli modul a Wi-Fi-hez.

Műszaki jellemzői:
-
Lemez méretei: 30x23 mm;
-
A kártya rendelkezik egy Micro USB csatlakozóval;
-
21 GPIO: 8 analóg bemenet, 20 PWM, 1 soros port, 3 SPI, 3 I2C;
-
A táblán 3 LED van, ezek közül 2 felhasználó által programozható, és 1 a Wi-Fi tevékenységet jelzi;
-
A portok feszültségük szempontjából kompatibilisek az Arduino-val, és támogatják az 5 voltos jelet;
-
1 gomb;
-
STM32F411CEU6 mikrovezérlőre épített, 32 bites 100MHz ARM Cortex M4 CPU;
-
Memória: 512 kb flash, 128 kb RAM;
-
Wi-Fi kommunikáció az ESP8266-tal (802.11 b / g / n);
-
RTC (valós idejű óra külső generátorral).
-
A táblára egy 3,3 V-os, 250 mA-es áramerősségű stabilizátort szereltek fel, 3,5 - 5 V tápfeszültséget támogattak.
-
A jelenlegi fogyasztás alvó üzemmódban akár 0,05 mA, ami lehetővé teszi, hogy 2,5 évig dolgozzon egy 2500mAh-os akkumulátorral (bár ez inkább marketing, de maga az akkumulátor nagyobb valószínűséggel gyorsabban merül fel).

Fórum demonstráció:
Espruino Pico - mikrokontroller javascript-hez, USB-státusz formátumban
Külön részben fogjuk megvizsgálni, mivel ez Oroszországban és a közeli külföldön leggyakoribb, talán sok köszönet az Amperka cégnek. Az alaplap kényelmes a befejezett projektek kiképzésére és végrehajtására, egy miniatűr tábla, amelyet közvetlenül a számítógép USB-portjába illeszt be a programozáshoz.

Műszaki adatok:
-
Méretek: 33x15 - figyelembe véve az USB csatlakozót;
-
22 GPIO port, beleértve: 9 analóg bemenet, 21 PWM, 2 soros (soros port), 3 SPI, 3 I2C;
-
A GPIO csapok támogatják az 5 V-os jelszintet, amely lehetővé teszi a tábla kombinálását pajzsokkal és arduino eszközökkel;
-
Az A típusú USB-csatlakozó a tábla része.
-
Két LED és egy programozható gomb
-
STM32F401CDU6 32 bites, 84 MHz-es ARM Cortex M4 CPU mikrovezérlőre építve
-
Memória: 384 kb flash, 96 kb RAM
-
A táblára 3,3 V 250 mA feszültségszabályozó van beforrasztva, és lehetővé teszi 3,5-16 V feszültségű tápellátást.
-
Alvó üzemmódban 0,05 mA-ig terjedő áramot fogyaszt, és a gyártó itt azt állítja, hogy 2,5 év működik egy akkumulátorral, 2500 mAh-nál;
-
Beépített terepi tranzisztor a nagyáramú áramkörök vezérléséhez.
Ez a sor legkisebb táblája. Élei mentén I / O portok vannak. Ebben az esetben a fémréteg mind magukon a lyukakon, mind a nyomtatott áramköri lemez végén van jelen.

Az érintkező hangmagassága szabványos, ez lehetővé teszi a szabványos PLS vonalak forrasztását hozzá (ez a név, amelyet hordoznak).

Az igazgatóság részletes áttekintése:
Az Amperka online áruház és annak táblázata a Javascript segítségével
Tetszik vagy sem, de a mikrokontrollerek nem hagyományos programozásának legnagyobb népszerűsítője, különösen a javascript-ben az Amperka webhely. Van egy YouTube-csatornájuk, ahol megtanítják a termékek használatát és programozását, valamint bemutatják a projektek megvalósítását a saját mikrovezérlők tábláinak felhasználásával.
A hazai gyártó márkaneve az ISKRA JS, amelynek neve a beszélt nyelv nevének olvasható. Műszaki jellemzői:
-
Mikrokontroller: STM32F405RG (32 bites ARM Cortex M4);
-
Órafrekvencia: 168 MHz;
-
Flash memória: 1024 kB;
-
SRAM: 192 kB;
-
Névleges üzemi feszültség: 3.3V;
-
Ajánlott bemeneti feszültség: 7–15 V vagy 3,6–12 V;
-
Az 5 V-os busz maximális árama: 1000 mA;
-
A 3.3 V-os busz maximális árama: 300 mA (a mikrovezérlő tápegységével együtt);
-
Csapból vagy tűből származó legnagyobb áram: 25 mA;
-
A csapokból vagy csapokból származó maximális teljes áram: 240 mA;
-
Általános célú I / O portok: 26;
-
Portok PWM támogatással: 22;
-
ADC portok: 12 (12 bit);
-
Portok DAC-nal: 2 (12 bit);
-
Rendelkezésre álló hardver interfészek: 4 × UART / soros, 3 × I²C / TWI, 2 × SPI;
-
Méretek: 69 × 53 mm.

Strukturálisan az alaplap nagyon közel áll az Arduino Uno R3-hoz - ez azt jelenti, hogy ehhez a bővítőkártyát is használhatja.Milyen érdekes dolgokat látunk a műszaki specifikációkban? Hasonlítsuk össze őket az összes kedvenc arduinóval.

Ezek különböznek memória és képességek szempontjából, és mindegyik meg fogja találni alkalmazását. Bár az arduino a legtöbb esetben előnyösebb, mert párszáz rubelért megvásárolható, de a szikra nem.
Az Amperka mikrokontrollereket és mikroszámítógépek, mint a Raspberry Pi, valamint a velük való együttműködéshez szükséges képzési készletek. Van egy sor bővítőkártya is a mikrovezérlőkhöz, ezek az úgynevezett Troyka modulok. Ugyanazon fehér színben készülnek, mint a cég többi terméke.
Mint minden egyéb pajzs, az Amperka termékei fő funkcionális egységként nyomtatott áramköri táblákat is tartalmaznak - érzékelőt, kapcsolókészüléket, egy mestert vagy működtetőt és a hozzá szükséges kiegészítőket. Az Arduino tipikus moduljainak durva áttekintését már elvégeztük - Arduino legnépszerűbb pajzsai, itt minden analógia útján történik. A weboldalon vagy az Amperka közösségben könyvtárakat találhat az Iskra JS vagy az Arduino modulokkal való modulokhoz.
A három modul között vannak:
-
joystick;
-
jeladó;
-
Modul relével;
-
Portkártyák (Troyka-pajzs);
-
Gyorsulásmérők és más helyzetérzékelők;
-
Fényérzékelők, közelség, áram, hőmérséklet, terem, zaj, gáz, alkohol és egyéb dolgok;
-
Vevők NFC címkék olvasásához;
-
Berendezések motorvezérléshez (H-hidak, meghajtók) és így tovább.
Eladó egy érdekes készlet kezdőknek, "IODO".
A konfiguráció egyes elemeiről külön szó van # a kivitelező. Ezek alkatrészek a házak összeszereléséhez és a szerkezetek csapágy alkatrészei, össze vannak kapcsolva, mint egy gyermek tervezője, és lehetővé teszik egy normál esetben stabil elrendezés elkészítését a biztonságos hordozhatóság lehetőségével, valamint kulcsrakész megoldást kínálnak mindennapi használatra.

Egyébként összeállíthatja az edzőkészletét, és a készletből származó edzőfüzet elektronikus formában és a szabadon elérhető a hivatalos weboldalon.
következtetés
A mikrokontrollerek javascript-be történő programozásához csak telepítenie kell a megfelelő shell-t a mintába. Ugyanakkor nem minden példány rendelkezik megfelelő firmware-rel, annak ellenére, hogy a népszerű eszközök megtalálhatók a tematikus fórumokon. Például a BBC Micro: bit mikroszámítógépen a környezettel való munka folyamatát a következő videó mutatja be, és a telepítést csak néhány lépésben hajtják végre.
Szüksége van-e javascript-re a mikrovezérlőkön? Teljesen igen! A legtöbb amatőr feladathoz a csináld magadnak nincs szükségük pontosságra vagy a válasz sebességére, és számos szakmai feladathoz elegendő az ilyen platformok képessége. A programozás ilyen megközelítése lehetővé teszi az eszközök fejlesztését a mikrovezérlő felépítésének és parancsának tanulmányozása nélkül. A programozás klasszikus módszerében azonban számos dolgot kellett figyelembe venni, például különféle típusú változókat, memóriacímeket és így tovább.
Lásd még az electro-hu.tomathouse.com oldalon
: