Click here to load reader

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA

  • View
    0

  • Download
    0

Embed Size (px)

Text of VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA

ROBOTIKA
B5. Návrh rozšiující desky pro modul s STM32 pro multikoptéru
Autoi: Adam Ligocki, Ondej Kodo, Martin Koubík
Vedoucí: Petr Gábrlík
Akademický rok: 2014/2015
Zadání:
Navrhnte a realizujte rozšiující DPS pro modul s mikrokontrolérem STM32, který bude tvoit ídicí jednotku pro multikoptéry. DPS bude obsahovat potebné integrované obvody a konektory, pedpokládá se návrh v programu Eagle a výroba funkního vzorku pomocí frézy. Souástí projektu bude vytvoení demonstraního programu pro STM32, který oví funknost DPS a pipojených periferií.
BROB 2015
DPS:
Konstrukce:
Základním poadavkem bylo pesné umístní jednotlivých pin, pomocí kterých se pozdji pipojí procesorová deska. Pro tento úel jsme si vytvoili v eagle souástky odpovídající poadovaným rozmrm. Po dokonení rozmístní tchto pin jsme okraje desky roztáhli dle moností free verze eagle.
Výsledné rozmry navrhnuté desky jsou 101mm X 61 mm. Deska slouí pro propojení s procesorovou deskou pomocí pin. Desky k sob budou pidlány napevno šrouby. Na desce jsou pipraveny otvory k vrtání pro montá desky ke konstrukci. Typ DPS byl nakonec zvolen oboustranný, protoe peváná vtšina souástek mají pouzdra typu SMD.
Zdroje:
Pro palubní elektroniku byl vytvoen spínaný zdroj pomocí obvodu LM2594-5.0. Tento zdroj je napájen z baterie a jeho výstupní naptí je +5V. Naptí +3V je souástí procesorové desky a tedy z ní je pomocí píslušných pin pivedeno i do desky rozšiující.
Mení naptí baterie je pivedeno pes odporový dli na píslušný pin. Napový dli byl zvolen tak, e se pedpokládá 12V baterie.
Konektory:
Pro konektory jsme si vytvoili v eagle speciální souástky odpovídající poadovaným konektorm.
Pomocí dvou-pinových konektor se pipojí následující: Baterie, výstupní naptí +3V a +5V pro další rozvod naptí.
Micro USB konektor je pipojen pímo na píslušné piny procesoru.
Pro RS-232 konektor bylo poteba pidat pevodník z UART na RS-232. Jedná se o MAX3232. Je to dvoukanálový obousmrný pevodník. Pouili jsme jeden kanál pevodníku a RS-232 jsme vyvedli pomocí tí-pinového konektoru. Z pevodníku do procesoru jsme pouili vstupy USART. Synchronnost/asynchronnost se dá nastavit softwarov.
Pro modul X-Bee jsme vyvedli konektor. Aby byl tento modul umístn na rozšiující desce je bohuel moc velký.
Z procesoru je vyvedeno i rozhraní SPI.
BROB 2015
Z procesoru na rozšiující desku jsme našli pouze dva páry pin I2C. Na jeden jsme tedy pipojili ízení motor a na druhý tlakový sníma BMP085.
Co není vyvedeno je výstup pro serva.
Uivatelské rozhraní:
Je zde pipraveno uivatelské tlaítko pivedené na volný pin procesoru, a dále pak uivatelská LED dioda, té pipojena na volný pin procesoru.
Dalším prvkem je tlaítko RESET, pro které je pipraven obvod, avšak pin z procesorové desky není vyveden, bude se tedymuset propojit drátov.
Hned za stabilizátorem je umístna LED dioda pro signalizaci napájení.
Beeper je pipojen na daný pin procesoru a je buzen pomocí tranzistoru.
Tabulka 1 - seznam jednotlivých pin a jejich pipojení
PA6 Mi 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 Uivatelské tlaítko PC15 Uivatelská LED dioda PD8 USART TX z pevodníku RS-232 PD9 USART RX z pevodníku RS-232
BROB 2015
Pro zachování pomru 1:1 jsou výstupy kadý na další stránce.
- Schéma
Úvod
Cílem této ásti projekty bylo vytvoil nkolik testovacích program, které v další fázi otestují funknost nového desky plošných spoj, která bude pouita pro pipravovaného fakultního drona. Zejména pak dleité bylo pipravit software, který otestuje správnou funkcionalitu zápisu na SD kartu, a práci s USB sbrnicí. Dále pak je pípraven program pro otestování I2C sbrnice, pomocí které jsou pipojeny napíklad barometr, nebo ultrazvukový sníma vzdálenosti.
Pro vývoj softwaru na platrofm procesor ARM od firmy STM jsme zvolili vývojové prostedí KEIL.
GPIO
General Purpose Input Output je základní reim ve kterém pracují piny dnešních mikroprocesor. Pomoci zápisu do vnitního registru je moné ídit napové ú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 me mikroprocesor komunikovat s nevolatilní pamti, napíklad pamovou SD kartou. Na kartu je v prbhu letu zapisovaná telemetrie letu kradrotoru. Po pistání je nutno namená data penést do pozemní stanice, napíklad do PC. k tomu se výborn hodí USB sbrnice, kterou je moné data uloená na kart velmi rychle penést a zpracovat v poítai.
SDIO sbrnice v základu komunikuje na 25 MHz po 1 vodii. Pro dosaení maximální rychlosti je však vhodné pouít všechny 4 dostupné datové vodie, a zvýšit tak penosovou rychlost teoreticky na 100 Mb/s. Pro ízení provozu na sbrnici slouí vodi CMD, kterým Master (procesor) ídí Slave (SD karta).
I2C
Jedná se o sbrnici vyvinutou firmou Philips pvodn pouívaná v televizních pijímaích. V dnešní dob se však jedná o jednu z nejpouívanjších sbrnic pro komunikaci s pístroji, které nevyadují penos velkého datového toku (napíklad sníma tlaku - mení jednou za desítky ms). Na sbrnici me být pipojeno a 128 zaízení a kadé má 2 adresy. Jednu pro tení a jednu pro
1
Obr. 1 - Pinout SD karty
zápis. Pi komunikaci pak zaízení pipojeno k I2C sbrnici se chová jako EEPROM pam. Master (mikroprocesor) nejprve se zahájí komunikace Start bitem, následné je na sbrnici 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 penechán prostor Slave (snímai), který na sbrnici pošle obsah poadovaného registru, pípadn Master pošle obsah urený k zápisu. Sbrnici je moné nakonfigurovat na kmitoet 100 a 400 kHz.
USB
USB (universal serial bus) je moderní sériová sbrnice nahrazujicí pro domácí pouití adu díve pouívaných rozhraní. Její výhodou je vysoký datový tok a konektor v kadým moderním PC. V dnešní dob je ji zaveden standard USB 3.1, vtšina embedded zaízení pracuje na high-speed (480 Mbps) kde tato rychlost je dostaující. Na jeden USB adi je mono pomocí rozboova pipojit 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 operaních systém. Z programatorského hlediska se meme na USB dívat jako na kanál, kde si pedem definujeme endpointy, tedy místa kde chceme obsah doruit a na druhé stran je vyzvedneme. USB stack se postará o zabalení zprávy a managmentu transakce vetn peposlání v pípad nedoruení. Kadé 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 vytvoeno konsorciem firem (jako napíklad HDMI), kadý si me na stránkách usb.org najít specifikaci sbrnice a podle ní vyvinout bezplatn svj produkt.
Tvorba testovacích program
Všechny programy jsme nejprve vytvoili 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šiující desky, který byla vyvinutá na SPŠE Havíov bývalým studentem Zbigniewem Opioem. Dále jsme si k této desce pipojili plošný spoj osazený 4 snímai. Jendá se o barometr BMP085, gyroskop a akcelerometr v obvodu MPU-6050 a magnetometr HMC5883L. Tyto obvody jsou pipojeny práv po I2C sbrnici. Dále je na obrázku patrný ultrazvuk US-20. Ten vyuívá ke komunikaci GPIO a je tak moné vyzkoušet i tuto funkcionalitu
2
Obr. 2- STM32F407 Discovery Kit s rozšiující deskou
Poté, co se povedlo zprovoznit program na výše zmínné konfiguraci, pesunuli 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 vnjší oscilátor 25 MHz. Discovery Kit však je osazen 8 MHz oscilátorem. Takto nahraný program proto pi inicializaci vnitních PLL kmitotových násobiek.
STM na svých stránkách poskytuje skript vytvoený v MS Office Excel, kde pomocí prvodce je moné vytvoit konfiguraní soubor nesoucí informace o nastavení rozvodu kmitot do jednotlivých periférií procesoru.
Oivení barometru BMP085
Firma STM poskytuje na svém webu sadu knihoven pro low-levelové ovládání sbrnic. Díky tomu pi práci s libovolnou periférii není nutné se zabývat elementárními ídícími signály a programátor se vnuje pouze obsahu komunikace. Z datasheetu lze vyíst, e sníma má výrobcem dané 11 korekních konstant, které je nejprve poteba vyíst z pamti a dále je uvaovat pi výpotu tlaku. Následn se periodicky zapisuje do snímae konstanta, která spustí mení. Po uplynutí pevn dané asové prodlevy se z barometru vyte namená hodnota tlaku a teploty a provede se pomocí uvedených vztah výpoet tlaku.
Pro kopunikace po I2C sbrnici jsou pouity piny procesoru PB6 pro hodinový signál a PB7 pro penos dat.
Oivení SD karty
Pro tento úel jsem vyuil projekt zveejnný na [3]. Projekt byl vytvoen v prostedí CooCox. Provedli jsme port do Keilu a upravili konfiguraci nkterých parametr komunikace s SD kartou. Souástí projektu je i implementace podpory souborového systému. Díky tomu procesor dokáe na pamové médium zapisovat bezprostedn data napíklad do textového souboru. Díky tomu je následná práce s telemetrii velmi snadná.
3
Obr. 3 - Interface pro nastavení vnitního kmitotu procesoru
Nejprve byl program oiven na Discovery Kitu a následn byl penesen na na fakult vytvoený modul. Na obou platformách se podailo zapsat i peíst data uloená na pamovém médiu.
4
Obr. 5 - Slot s SD kartou na DPS s procesorem
Obr. 4 - Pipojení SD karty k STM32F407 Discovery Kitu
Oivení USB
Pro prvotní otestování meme pouít mírn poupravený píklad programu vytvoený výrobcem, kde procesor komunikuje skrze USB v reimu HID (Human Interface Device) a pedává operanímu systému data odpovídající komunikaci ovládací myše. Tímto jednotuchým programem meme otestovat funknost USB rozhraní.
V další fázi poté vyuijeme piloeného programu k vytvoení USB v reimu MSC, tedy kdy procesor komunikuje s PC zpsobem, jako by se jednalo o velkokapacitní úloišt a umouje tak uivateli snadno íst soubory uloené 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