VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ

Podobné dokumenty
Projekt BROB B13. Jízda po čáře pro reklamní robot. Vedoucí projektu: Ing. Tomáš Florián

Jízda po čáře pro reklamní robot

Praktické úlohy- 2.oblast zaměření

Bakalářská práce Realizace jednoduchého uzlu RS485 s protokolem MODBUS

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

Rozhraní mikrořadiče, SPI, IIC bus,..

Vestavné systémy BI-VES Přednáška 5

A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Rozhraní mikrořadiče, SPI, IIC bus,.. A438NVS, kat. měření, ČVUT - FEL, Praha. J.

Vývojové kity Mega48,

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

UniPi 1.1 Lite Technologická dokumentace

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

FVZ K13138-TACR-V004-G-TRIGGER_BOX

Sériový programátor SI Prog

VINCULUM VNC1L-A. Semestrální práce z 31SCS Josef Kubiš

PGSM-M10 - GSM/GPRS moduly s M10

BEZDRÁTOVÉ ZABEZPEČOVACÍ ZAŘÍZENÍ

Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška 11 (12)

STŘEDOŠKOLSKÁ TECHNIKA 2013

Uživatelská příručka

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií

ETC Embedded Technology Club setkání 3, 3B zahájení třetího ročníku

Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky

Čtyřnohý kráčející robot

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

1 Podrobná specifikace Yunifly Datasheet

Vzdálené ovládání po rozvodné síti 230V

PŘÍLOHY. PRESTO USB programátor

Universal Serial Bus (USB)

Bezdrátový přenos signálu v reálné aplikaci na letadle.

Modul GPS přijímače ublox LEA6-T

Základní deska (motherboard, mainboard)

Konektory a Kabely. Aneb zařízení integrovaná do základní desky a konektory a kabeláž pro připojení externích zařízení

EduKitBeta Uživatelská příručka

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Návrh konstrukce odchovny 2. dil

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

Seznámení s Quidy. vstupní a výstupní moduly řízené z PC. 2. srpna 2007 w w w. p a p o u c h. c o m

Arduino Martin Friedl

Univerzální STACK MATCH neboli dělič výkonu pro KV bez kompromisů

DIGITÁLNÍ ODPALOVACÍ PULT

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Elektronická stavebnice: Deska s jednočipovým počítačem

AD4RS. měřící převodník. 4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace linkami RS232 nebo RS485

DIGI Timer 8 8 kanálové stopky se záznamem dat

Uživatelská příručka

Střední průmyslová škola elektrotechniky a informatiky, Ostrava VÝROBNÍ DOKUMENTACE

SEMESTRÁLNÍ PROJEKT Y38PRO

LED zobrazovač. Úvod. Jak to pracuje? Popis zapojení. Autor: Ing.Tomáš Pavera / OK2TPQ Datum: Revize: 1.0

Systémy pro měření, diagnostiku a testování prototypů II. Odůvodnění vymezení technických podmínek podle 156 odst. 1 písm. c) ZVZ

Návod pro použití snímače tlaku s rozhraním IO-Link

RFID

DUM č. 6 v sadě. 31. Inf-7 Technické vybavení počítačů

4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace linkami RS232 nebo RS485

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

Merkur perfekt Challenge Studijní materiály

Sériové komunikace KIV/PD Přenos dat Martin Šimek

Samořízené auto na autodráhu

Informační a komunikační technologie

Distribuované systémy a počítačové sítě

4IOT-SEN-01 Sensor pro IoT aplikace Technická dokumentace

EC Motor. IO Modul EC200. EC200 Int. EC200 Ext. Verze 1.20, revize PMControl s.r.o.

Autonomní snímací jednotky řady SU104*

4.10 Ovládač klávesnice 07 TC 91 Ovládání 32 přepínačů/kláves a 32 LED

Systém řízení sběrnice

Programovatelná sada pro Ethernet Modbus/TCP se stupněm krytí IP67 TI-BL67-PG-EN-8

SuperCom. Stavebnice PROMOS Line 2. Technický manuál

Rozhraní mikrořadiče, SPI, IIC bus,..

PRESTO. USB programátor. Uživatelská příručka

ALGORITMY ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ

XCom-31/32. Stavebnice PROMOS Line 2. Komunikační koncentrátor pro sběr dat. Technický manuál

Magnetické čidlo pro snímání úhlu otočení Úvod. Popis funkce čidla

D/A převodník se dvěma napěťovými nebo proudovými výstupy. (0 10 V, 0 5 V, ±10 V, ±5 V, 4 20 ma, 0 20 ma, 0 24 ma)

Sbě b r ě n r i n ce

T-DIDACTIC. Motorová skupina Funkční generátor Modul Simatic S7-200 Modul Simatic S7-300 Třífázová soustava

Elektronická stavebnice: Teploměr s frekvenčním výstupem

I/O řídící/měřící deska pro PC VELLEMAN K8055N

Projekt BROB. Základy robotiky. Téma: Digitální časomíra. Vedoucí projektu: Tomáš Jílek

Zadání semestrálního projektu

PK Design. MB-ATmega16/32 v2.0. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (21.12.

Deska sběru chyb a událostí

Integrovaná střední škola, Sokolnice 496

DataLab IO. DataLab PC/IO

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Technická data. Upozornění ohledně bezpečnosti

Zadání projektu č.2. Digitální binární hodiny

Z čeho se sběrnice skládá?

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

FREESCALE TECHNOLOGY APPLICATION

ŘÍDÍCÍ DESKA SYSTÉMU ZAT-DV

RSC MARTIA. Volně programovatelné regulátory

16. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení)

Příloha č. 1. Software pro prototyp mikroprocesorově řízeného ohřevu aktivních vložek využívající moderních polovodičových prvků

Vstupní jednotka E 100 IP. Návod na použití. Strana 1

DS 4 DS 4. Tlakový spínač pro pneumatiku / vakuovou techniku

DOMINUS Millennium MU4-N

Využití STM32 pro studentské projekty

Transkript:

BROB 2015 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ OBOR: AUTOMATIZACE A MĚŘÍCÍ TECHNIKA ROBOTIKA B5. Návrh rozšiřující desky pro modul s STM32 pro multikoptéru Autoři: Vedoucí: Adam Ligocki, Ondřej Koždoň, Martin Koubík Petr Gábrlík Akademický rok: 2014/2015 Datum: 8.5.2015

BROB 2015 Zadání: Navrhněte a realizujte rozšiřující DPS pro modul s mikrokontrolérem STM32, který bude tvořit řídicí jednotku pro multikoptéry. DPS bude obsahovat potřebné integrované obvody a konektory, předpokládá se návrh v programu Eagle a výroba funkčního vzorku pomocí frézy. Součástí projektu bude vytvoření demonstračního programu pro STM32, který ověří funkčnost DPS a připojených periferií.

BROB 2015 Popis vlastního řešení projektu: DPS: Konstrukce: Základním požadavkem bylo přesné umístění jednotlivých pinů, pomocí kterých se později připojí procesorová deska. Pro tento účel jsme si vytvořili v eagle součástky odpovídající požadovaným rozměrům. Po dokončení rozmístění těchto pinů jsme okraje desky roztáhli dle možností free verze eagle. Výsledné rozměry navrhnuté desky jsou 101mm X 61 mm. Deska slouží pro propojení s procesorovou deskou pomocí pinů. Desky k sobě budou přidělány napevno šrouby. Na desce jsou připraveny otvory k vrtání pro montáž desky ke konstrukci. Typ DPS byl nakonec zvolen oboustranný, protože převážná většina součástek mají pouzdra typu SMD. Zdroje: Pro palubní elektroniku byl vytvořen spínaný zdroj pomocí obvodu LM2594-5.0. Tento zdroj je napájen z baterie a jeho výstupní napětí je +5V. Napětí +3V je součástí procesorové desky a tedy z ní je pomocí příslušných pinů přivedeno i do desky rozšiřující. Měření napětí baterie je přivedeno přes odporový dělič na příslušný pin. Napěťový dělič byl zvolen tak, že se předpokládá 12V baterie. Konektory: Pro konektory jsme si vytvořili v eagle speciální součástky odpovídající požadovaným konektorům. Pomocí dvou-pinových konektorů se připojí následující: Baterie, výstupní napětí +3V a +5V pro další rozvod napětí. Micro USB konektor je připojen přímo na příslušné piny procesoru. Pro RS-232 konektor bylo potřeba přidat převodník z UART na RS-232. Jedná se o MAX3232. Je to dvoukanálový obousměrný převodník. Použili jsme jeden kanál převodníku a RS-232 jsme vyvedli pomocí tří-pinového konektoru. Z převodníku do procesoru jsme použili vstupy USART. Synchronnost/asynchronnost se dá nastavit softwarově. Pro modul X-Bee jsme vyvedli konektor. Aby byl tento modul umístěn na rozšiřující desce je bohužel moc velký. Z procesoru je vyvedeno i rozhraní SPI.

BROB 2015 Z procesoru na rozšiřující desku jsme našli pouze dva páry pinů I2C. Na jeden jsme tedy připojili řízení motorů a na druhý tlakový snímač BMP085. Co není vyvedeno je výstup pro serva. Uživatelské rozhraní: Je zde připraveno uživatelské tlačítko přivedené na volný pin procesoru, a dále pak uživatelská LED dioda, též připojena na volný pin procesoru. Dalším prvkem je tlačítko RESET, pro které je připraven obvod, avšak pin z procesorové desky není vyveden, bude se tedymuset propojit drátově. Hned za stabilizátorem je umístěna LED dioda pro signalizaci napájení. Beeper je připojen na daný pin procesoru a je buzen pomocí tranzistoru. Tabulka 1 - seznam jednotlivých pinů a jejich připojení PA6 Měřič kapacity baterie PA9 USB - VBUS PA11 USB - D- PA12 USB - D+ PA15 NSS SPI PB0 BEEP Beeper PB3 SCK SPI PB4 MISO SPI PB5 MOSI SPI PB6 SCL I2C - Tlakový snímač PB7 SDA I2C - Tlakový snímač PB8 SCL I2C Řízení motoru PB9 SDA I2C Řízení motoru PC6 USART X-Bee - DIN PC7 USART X-Bee - DOUT PC14 Uživatelské tlačítko PC15 Uživatelská LED dioda PD8 USART TX z převodníku RS-232 PD9 USART RX z převodníku RS-232

BROB 2015 Výstupy z Eagle: Pro zachování poměru 1:1 jsou výstupy každý na další stránce. - Schéma - Bottom DPS - Osazovací plán bottom - Top DPS - Osazovací plán top

Programování desky s procesorem STM32F4 Úvod Cílem této části projekty bylo vytvořil několik testovacích programů, které v další fázi otestují funkčnost nového desky plošných spojů, která bude použita pro připravovaného fakultního drona. Zejména pak důležité bylo připravit software, který otestuje správnou funkcionalitu zápisu na SD kartu, a práci s USB sběrnicí. Dále pak je přípraven program pro otestování I2C sběrnice, pomocí které jsou připojeny například barometr, nebo ultrazvukový snímač vzdálenosti. Pro vývoj softwaru na platrofmě procesorů ARM od firmy STM jsme zvolili vývojové prostředí KEIL. GPIO General Purpose Input Output je základní režim ve kterém pracují piny dnešních mikroprocesorů. Pomoci zápisu do vnitřního registru je možné řídit napěťové úrovně na výstupu portu a zároveň využít jednotlivé piny k čtení logických úrovní na vstupu procesoru. SDIO Rozhraní SDIO (Secure Digital Input Output) je rozhraní, díky kterému může mikroprocesor komunikovat s nevolatilní paměti, například paměťovou SD kartou. Na kartu je v průběhu letu zapisovaná telemetrie letu kradrotoru. Po přistání je nutno naměřená data přenést do pozemní stanice, například do PC. k tomu se výborně hodí USB sběrnice, kterou je možné data uložená na kartě velmi rychle přenést a zpracovat v počítači. Obr. 1 - Pinout SD karty SDIO sběrnice v základu komunikuje na 25 MHz po 1 vodiči. Pro dosažení maximální rychlosti je však vhodné použít všechny 4 dostupné datové vodiče, a zvýšit tak přenosovou rychlost teoreticky na 100 Mb/s. Pro řízení provozu na sběrnici slouží vodič CMD, kterým Master (procesor) řídí Slave (SD karta). I2C Jedná se o sběrnici vyvinutou firmou Philips původně používaná v televizních přijímačích. V dnešní době se však jedná o jednu z nejpoužívanějších sběrnic pro komunikaci s přístroji, které nevyžadují přenos velkého datového toku (například snímač tlaku - měření jednou za desítky ms). Na sběrnici může být připojeno až 128 zařízení a každé má 2 adresy. Jednu pro čtení a jednu pro 1

zápis. Při komunikaci pak zařízení připojeno k I2C sběrnici se chová jako EEPROM paměť. Master (mikroprocesor) nejprve se zahájí komunikace Start bitem, následné je na sběrnici zapsána adresa, tou je rozlišeno mezi zápisem a čtením a následuje adresa registru, který se bude číst, respektivě zapisovat. Poté je přenechán prostor Slave (snímači), který na sběrnici pošle obsah požadovaného registru, případně Master pošle obsah určený k zápisu. Sběrnici je možné nakonfigurovat na kmitočet 100 a 400 khz. USB USB (universal serial bus) je moderní sériová sběrnice nahrazujicí pro domácí použití řadu dříve používaných rozhraní. Její výhodou je vysoký datový tok a konektor v každým moderním PC. V dnešní době je již zaveden standard USB 3.1, většina embedded zařízení pracuje na high-speed (480 Mbps) kde tato rychlost je dostačující. Na jeden USB řadič je možno pomocí rozbočovačů připojit až 127 zařízení. Další výhodou USB rozhraní je integrace základních ovladačů (Human Interface Device, Mass Storage Device atd.) do všech moderních operačních systémů. Z programatorského hlediska se můžeme na USB dívat jako na kanál, kde si předem definujeme endpointy, tedy místa kde chceme obsah doručit a na druhé straně je vyzvedneme. USB stack se postará o zabalení zprávy a managmentu transakce včetně přeposlání v případě nedoručení. Každé zařízení má svoje deskriptory, tzn struktury popisující jeho fyzické vlastnosti (zda-li je klávesnice, myš, gamepad, jaký proud si vyžádá) a softwarové vlastnosti. (kolik endpointů,format dat). Jelikož rozhraní USB nebylo vytvořeno konsorciem firem (jako například HDMI), každý si může na stránkách usb.org najít specifikaci sběrnice a podle ní vyvinout bezplatně svůj produkt. Tvorba testovacích programů Všechny programy jsme nejprve vytvořili a vyzkoušeli na oficiální desce STM32F407 Discovery Kit oficiálně dodávanou výrobcem procesoru. Tento vývojový kit je dále osazen do rozšiřující desky, který byla vyvinutá na SPŠE Havířov bývalým studentem Zbigniewem Opiołem. Dále jsme si k této desce připojili plošný spoj osazený 4 snímači. Jendá se o barometr BMP085, gyroskop a akcelerometr v obvodu MPU-6050 a magnetometr HMC5883L. Tyto obvody jsou připojeny právě po I2C sběrnici. Dále je na obrázku patrný ultrazvuk US-20. Ten využívá ke komunikaci GPIO a je tak možné vyzkoušet i tuto funkcionalitu Obr. 2- STM32F407 Discovery Kit s rozšiřující deskou 2

Obr. 3 - Interface pro nastavení vnitřního kmitočtu procesoru Poté, co se povedlo zprovoznit program na výše zmíněné konfiguraci, přesunuli jsme algoritmus na modul s procesorem, který bude osazen do kvadrotoru. Programování modulu s STM32F407VG Oproti Discovery Kitu bylo nutné provést v programech jednu úpravu. Na modulu je vnější oscilátor 25 MHz. Discovery Kit však je osazen 8 MHz oscilátorem. Takto nahraný program proto při inicializaci vnitřních PLL kmitočtových násobiček. STM na svých stránkách poskytuje skript vytvořený v MS Office Excel, kde pomocí průvodce je možné vytvořit konfigurační soubor nesoucí informace o nastavení rozvodu kmitočtů do jednotlivých periférií procesoru. Ořivení barometru BMP085 Firma STM poskytuje na svém webu sadu knihoven pro low-levelové ovládání sběrnic. Díky tomu při práci s libovolnou periférii není nutné se zabývat elementárními řídícími signály a programátor se věnuje pouze obsahu komunikace. Z datasheetu lze vyčíst, že snímač má výrobcem dané 11 korekčních konstant, které je nejprve potřeba vyčíst z paměti a dále je uvažovat při výpočtu tlaku. Následně se periodicky zapisuje do snímače konstanta, která spustí měření. Po uplynutí pevně dané časové prodlevy se z barometru vyčte naměřená hodnota tlaku a teploty a provede se pomocí uvedených vztahů výpočet tlaku. Pro kopunikace po I2C sběrnici jsou použity piny procesoru PB6 pro hodinový signál a PB7 pro přenos dat. Ořivení SD karty Pro tento účel jsem využil projekt zveřejněný na [3]. Projekt byl vytvořen v prostředí CooCox. Provedli jsme port do Keilu a upravili konfiguraci některých parametrů komunikace s SD kartou. Součástí projektu je i implementace podpory souborového systému. Díky tomu procesor dokáže na paměťové médium zapisovat bezprostředně data například do textového souboru. Díky tomu je následná práce s telemetrii velmi snadná. 3

Nejprve byl program oživen na Discovery Kitu a následně byl přenesen na na fakultě vytvořený modul. Na obou platformách se podařilo zapsat i přečíst data uložená na paměťovém médiu. Obr. 4 - Připojení SD karty k STM32F407 Discovery Kitu Obr. 5 - Slot s SD kartou na DPS s procesorem 4

Obr. 6 - Zapojení pro testování procesoru Oživení USB Pro prvotní otestování můžeme použít mírně poupravený příklad programu vytvořený výrobcem, kde procesor komunikuje skrze USB v režimu HID (Human Interface Device) a předává operačnímu systému data odpovídající komunikaci ovládací myše. Tímto jednotuchým programem můžeme otestovat funkčnost USB rozhraní. V další fázi poté využijeme přiloženého programu k vytvoření USB v režimu MSC, tedy kdy procesor komunikuje s PC způsobem, jako by se jednalo o velkokapacitní úložiště a umožňuje tak uživateli snadno číst soubory uložené v textové podobě na SD kartě. 5

Literatura [1] BOSCH. BMP085 Digital pressure sensor: Data sheet. [online]. Revize 1.2. 2009, 27 s. Dostupné z URL: <https://www.sparkfun.com/datasheets/ Components/General/BST- BMP085-DS000-05.pdf>. [2] ST. STM32F4xx: Data sheet. [online]. Revize 1. 5. 2015, 199 s. Dostupné z URL: <http:// www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/ DM00037051.pdf>. [3] Microcontroller 4u [online]. [cit. 2015-05-07]. Dostupné z: http://mikrocontroller.bplaced.net/ wordpress/?page_id=621 6