A PICAXE mikrokontrollerről szóló cikk további folytatásában: https://www.pcrevue.sk/a/IoT-prakticky--prais-t próbálkozások-the-PICAXE-simple-programmable-in-the-BASIC- nyelv- érdekes PICAXE funkciókat mutatunk be, amelyeket gyakran használnak különböző eszközökben. Ezek a mikrokontroller időzítőin és számlálóin alapuló funkciók, amelyek hasznosak impulzusok előállítására, az impulzus hosszának mérésére és az impulzusok számának mérésére, azaz alapvetően a frekvencia mérésére

Példák a videóra

Rövid ismétlés

Töltse le a PICAXE Editor 6 fejlesztői környezetet a http://www.picaxe.com/Software webhelyről, amely lehetővé teszi a programozást a népszerű BASIC programozási nyelvhez hasonló nyelven.

picaxe

Programozó kábel csatlakoztatása

Megismételjük az előző szakaszban használt parancsokat.

A HIGH és LOW parancsok beállítják a kimeneti szintet. Használhatja a PIN 2 számozást vagy a C.2 kódot. A PAUSE parancs késleltetést jelent a paraméterben megadott milliszekundumok számával. A megjegyzés kezdődhet REM utasítással, pontosvesszővel (;) vagy aposztróffal (’). A GOTO parancs a megfelelő címkére ugrik

Érdekes és könnyen jelölhető változók is. A PICAXE 08M2 28 egybájtos változóval rendelkezik, b0 - b27 felirattal. A bájtváltozók az egész számokat 0 és 255 között tárolhatják. Nem használhatnak negatív számokat vagy törteket, és ha túllépi a 0 vagy 255 küszöbértéket, akkor figyelmeztetés nélkül "túlcsordulnak" (pl. 254 + 3 = 1) (2 - 3 = 255)

Nagyobb értékek esetén a bájtváltozókat párokba egyesítve létrehozhat egy 16 bites változót, amelynek tartománya 0-65 535. Ezeket a változókat w0, w1, w2 felirattal látjuk el. és bájtváltozók kombinációi

w0 = b1 + b0 w1 = b3 + b2 w2 = b5 + b4 w3 = b7 + b6

w4 = b9 + b8 w5 = b11 + b10 .

A b0 és b1 bájtváltozók (amelyek a 16 bites w0 szót alkotják) az alábbiak szerint megjelölt egyes bitekben is használhatók:

b0 = bit7: bit6: bit5: bit4: bit3: bit2: bit1: bit0

b1 = bit15: bit14: bit13: bit12: bit11: bit10: bit9: bit8

Az M2 újabb chipjei lehetővé teszik a b2 és b3 bájtváltozók használatát (amelyek a 16 bites w1 szót alkotják), és a biteket bit16 - bit31 jelöli.

A program visszaállítása után az összes változó értéke 0

PICAXE 08M2 csapok

Chip túlhúzás

Először megmagyarázzuk az órajel frekvenciájának megváltoztatásának lehetőségeit, azaz a túlhúzást és az alulütést. Az alapértelmezetten beállított órajel frekvencia 4 MHz. Ez a frekvencia nemcsak az utasítások végrehajtásának sebességét határozza meg, hanem az időzítők és a kommunikációs interfészek funkcióit is. A parancs használatával SETFREQ növelheti a PICAXE 08M2 chip órajel-frekvenciáját 8, 16 vagy 32 MHz-re, vagy akár 31 kHz-re is csökkentheti. A PICAXE 08M2 áramkörhöz a SETFREQ parancsot használhatja a következő paraméterekkel: k31, k250, k500, m1, m2, m4, m8, m16 és m32. Beállítja a 3I kHz, 250 kHz, 500 kHz, 1 MHz, 2 MHz, 4 MHz, 8 MHz, 16 MHz és 32 MHz belső órafrekvenciákat. A következő példa az alapértelmezett 4 MHz frekvenciát használja. A PAUSE parancs a megfelelő módon fog működni, a villogások közötti szünet 1000 ms, azaz 1 másodperc lesz. Az biztos, hogy megadjuk a frekvenciát, mivel ez a következő példákban megváltozik

Most megpróbáljuk az órajel frekvenciáját 32 MHz-re változtatni, ami 8-szor nagyobb. A LED 8x gyorsabban villog

Úgy tűnik, hogy a legtöbb alkalmazás számára előnyös a lehető legmagasabb órajel-frekvencia beállítása, például a már említett 32 MHz. Egy egyszerű szabály azonban érvényes: minél nagyobb az órajel frekvenciája, annál nagyobb az áramfogyasztás. Összehasonlításképpen: 32 MHz-nél maga a chip csatlakoztatott eszközök nélkül 2,2 mA-t fogyaszt. 31 kHz-nél csaknem 20-szor kisebb - 0,13 mA

Impulzus generáció

Parancs PULSOUT lehetővé teszi impulzusok egyszerű generálását. Két paramétere van: az a tűszám, amelyen az impulzusok generálódnak, és az impulzus időtartama 10 μs egységekben. Ez az érték alapértelmezetten 4 MHz frekvencián érvényes. Maximális 32 MHz frekvencián az egység, amelyben az impulzus időtartama van beállítva, logikailag 8-szor rövidebb, azaz 1,25 μs. A generált impulzus ellentétes az adott fenyő kezdeti állapotával. A példa a lehető legrövidebb impulzusokat generálja 100 ms szünettel

Az impulzus hosszának mérése

Parancs PULSIN méri az első paraméter által meghatározott pulzus hosszát a fenyőn. A második paraméter meghatározza, hogy az impulzust a jel élétől (1) vagy eső szélétől (0) mérjük-e. A harmadik paraméter egy olyan változó, amelyben az impulzus hossza tárolódik. Lehet b típusú bájtú változó, vagy w-vel kezdődő típusú szóváltozó. Az egységek megegyeznek a PULSOUT funkcióval, azaz 4 MHz alapértelmezett órajel esetén 10 μs. A 2,1, w5 impulzus parancs megméri az impulzus hosszát a PIN 2-nél az éltől kezdve, és az értéket tíz mikroszekundumban tárolja a W5 változóban.

Az impulzushossz mérése nagyon hasznos, például a jelelemzésben. Tipikus példa a szervomotor PWM jele, ahol a forgásszöget az impulzus szélessége határozza meg. Lehet, hogy azon gondolkodik, miért jó ez, mert amikor ilyen jelet juttat a szervomotorhoz, az megteszi a szükségeseket. De mi van akkor, ha a szervót cserélni kell egy léptető motorra, például nagyobb nyomaték vagy nagyobb pontosság elérése érdekében. Ezután változatlanul hagyhatja a vezérlő algoritmust, és a motorvezérlő szubrutinban csak a mért impulzus hosszát kell újraszámítania a lépések számára, amelyet a motornak el kell végeznie ahhoz, hogy tengelye a kívánt szöggel elfordulhasson.

Pulzusszámolás

Parancs SZÁMOL lehetővé teszi az impulzusok számlálását egy meghatározott időintervallum alatt. Az első paraméter a pin száma, a második az az idő milliszekundumban, amely alatt az impulzusokat megszámoljuk, a harmadik paraméter pedig az a változó, ahol az impulzusok számát tároljuk. Javasoljuk a változó szót. A 21000, w5 parancsszám 1 másodperc alatt méri az impulzusok számát, vagyis valójában Hz-ben méri a frekvenciát. 4 MHz-es órajel esetén az impulzusoknak legalább 40 μs hosszúaknak kell lenniük, és pontosan meg kell mérniük a frekvenciákat körülbelül 10 kHz-ig. Ha az órajel frekvenciáját 32 MHz-re növeli, akkor körülbelül 50 kHz-ig mérhet. A konstrukció segítségével keresse meg a frekvencia értékét hibakeresés útján

A következő részben a PICAXE-t fogjuk használni a különböző prototípus táblákban

Példa impulzusgenerálásra

Az első kísérletek a PICAXE chippel, könnyen programozhatók a BASIC nyelven

A videó bemutatja, hogyan kell kábelt készíteni a PICAXE programozáshoz és egy alfanumerikus kijelző csatlakoztatásához