Vývojová deska "Arduino" s procesorem STM32

Odpovědět
petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Vývojová deska "Arduino" s procesorem STM32

Příspěvek od petan » 27 lis 2017, 22:17

Tento článek vychází z článku Vývojová deska "Arduino" s procesorem STM32, jehož jsem autorem. Měl by přiblížit možnost použití desky s jiným procesorem, než je Atmel.

Do jedné aplikace jsem potřeboval trochu rychlejší procesor, než ATmega. Potřebuji totiž měřit s inkrementálním snímačem s rozlišením 0,005 mm, který svými výstupy spouští přerušení procesoru. To je následně počítáno. Na Ardunino Nano a Micro (procesor ATmega 328, ATmega32U4) načítání sice fungovalo, ale při rychlejším pohybu docházelo k nepřesnému měření – procesor jednoduše na vstupy nezareagoval (snímač má rozlišení 5 μm, tedy 200 impulsů na 1 mm délky). A to nepočítám ještě logiku programu, která by dále zatěžovala procesor.

Rozhodl jsem se tedy zkusit zakoupit z Číny „něco jako Arduino“, ale s 32bitovým procesorem STM32F103C8T6. Jde v podstatě o další ze spousty vývojových desek, ale tentokrát s procesorem od STM. Za cenu ušmudlanýho dolaru-osmdesát je to lepší volba než klony Arduina Nano za dva doláče.

Obrázek

Detaily desky si můžete přečíst na stránkách výrobce. Ve zkratce se jedná o 32-bitový ARM procesor s maximální frekvencí 72 MHz, 64 kB flash pamětí a napájený 3,3 V.
Protože deska nejde programovat přímo přes USB kabel, je nutné k programování použít programátor. Z Číny jsem tedy dokoupil programátor ST-Link V2. Programátor se jednoduše připojí na piny vývojové desky a pomocí Arduino IDE se deska naprogramuje.

Obrázek

Nejprve je nutné nainstalovat ovladače pro ST-Link (STSW-LINK009). Ten se dá stáhnout přímo na stránkách STM kliknutím na tlačítko Get Software. Před stažením je nutné se zaregistrovat (zadat mail). Do USB počítače se programátor zapojí a pokud počítač ovladač nenainstaluje ovladač rovnou, lze pomocí Správce zařízení správný ovladač doinstalovat.

Na GitHubu je nutné stáhnout potřebné soubory. Balík je nutné rozbalit do složky Dokumenty/Arduino/hardware* (složku hardware je většinou potřeba vytvořit). Dále v manažeru desek (Nástroje > Vývojová deska > Manažer desek) doinstalujeme desku Arduino Zero (stačí do vyhledávání napsat Zero). V Nastavení zvolíme potřebné parametry desky a programátoru. Jako vývojovou desku zvolíme „Generic STM32F103C series“, Upload method zvolíme „STLink“
* Cesta k potřebné složce je v Soubor > Vlastnosti > „Umístění projektů“

Obrázek

Obrázek

Desku je s programátorem nutné propojit čtyřžilovým kablíkem. Na modulu je to odshora GND – SWCLK – SWDIO – 3.3V (viz obrázek). Nyní stačí program zkompilovat a nahrát. Modul má na pinu č. 13 zapojenou LEDku, stejně jako běžné Arduino. Ta by se s pomocí vhodného programu měla rozblikat. POZOR, deska má napájení pouze 3,3 V! 5 V lze přivést pouze na USB port a několik pinů.

Obrázek

Obrázek

Program pro tento modul je podobný jako pro běžné Arduino. Je zde však několik odlišností, kvůli kterým nemusí např. fungovat všechny knihovny. Je dobré tedy nutné si vše tedy pořádně odzkoušet. Jedna z odlišností, která mě napadá je označení pinů PA, PB, … místo A a D. Funkce analogWrite(pin, 0–255) je nutné u tohoto modulu volat jako pwmWrite(pin, 0–65535). Jinak lze rozchodit běžné věci jako je komunikace přes I2C, SPI, ovládání displeje apod.

Obrázek

Program lze samozřejmě psát i ve Visual Studiu. Jinak by to nemělo smysl :) Nastavení Visual Studia je podobné jako u Arduina IDE. Jako desku zvolíme „Generic STM32F103C series“ a pole programátor necháme prázdné. Program se zkompiluje a nahraje tlačítkem „Build and Upload“.

Obrázek

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Vývojová deska "Arduino" s procesorem STM32

Příspěvek od SkullKeep » 27 lis 2017, 22:54

Taky jsem o tom uvažoval, ale nebyl jsem si jistý jestli to dám, to programování. Dej vědět jak šlape.
:twisted: :?: :arrow: :geek: P. Q. M.

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Vývojová deska "Arduino" s procesorem STM32

Příspěvek od petan » 28 lis 2017, 08:11

Šlape to úplně v pohodě. Zatím jsem si to jen tak oťukával, ale rozchodil jsem ten 320x240 px displej a zkoušel jsem pár čidel (teplota, vlhkost, čas, intenzita osvětlení).

Myslím, že se na netu nacházejí dva obrázky pinoutu! Jeden z nich má nějakou chybu (myslím, že to bylo označení PWM výstupů). Ten co je tady, tak by měl být v pořádku (ale 100% jistej si nejsem).

Blbý je to programování přes ST-link, protože pak nejde serial monitor. Ale nezkoušel jsem to nějak cíleně rozchodit. Diagnostiku jsem si dělal přes displej, když už jsem ho měl připojenej.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Vývojová deska "Arduino" s procesorem STM32

Příspěvek od pavel1tu » 28 lis 2017, 10:36

Já na to koukal, rozmýšlel jsem se zda klasické Arduino nebo STM32 - a právě kvůli programování, množství příkladů a knihoven jsem raději zvolil Arduino.
Jsem "elektrikář", programování se učím sám, tak musím polehounku ....

Jediné co se bojím u centrálky, je paměť, abych se vešel.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Vývojová deska "Arduino" s procesorem STM32

Příspěvek od pavel1tu » 22 led 2018, 16:32

STM32 Smart , poradí někdo ?

Našel jsem to v darovaném "smetí", nové nerozbalené a chtěl bych si s tím pohrát, možná vzhledem k výkonu a ceně používat jako centrálku.
Ale nějak se mi nedaří dohledat co do toho nahrát, aby to šlo nahrávat po USB.

- je nudný zavaděč, abych to mohl nahrávat přes USB ? Já myslím že ano, ale nevím jaký .... na GITHUB je jich několik a nechápu čím se liší ...

děkuji
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů