FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Základy robotiky Projekt BROB Téma: Digitální časomíra Vedoucí projektu: Tomáš Jílek Projektanti: Petr Bilík (ID:191970) Jakub Bittner (ID:198395) Petr Dvorský (ID:191395)
Obsah Zadání projektu... 3 Části projektu:... 3 Návrh a realizace elektroniky... 3 Návrh šasi pro přijímač a vysílač v prostřdí SOLIDWORKS... 8 Návrh a realizace softwaru... 9 Aplikace v prostředí C#... 9 Zdroje... 10 Obsah obrázků Obrázek 1: Zapojení obvodu vysílače... 3 Obrázek 2: Schéma zapojení vysílače... 4 Obrázek 3: Vysílač... 4 Obrázek 4: Schéma zapojení přijímače s optočlenem... 5 Obrázek 5: Zapojení přijímače... 5 Obrázek 6: Přijímač... 6 Obrázek 7: Zapojení optočlenu... 6 Obrázek 8: Použité Raspberry Pi 3 s optočlenovou nádstavbou... 7 Obrázek 9: Celková sestava optických závor a Raspberry Pi... 7 Obrázek 10: Krabička vysílače... 8 Obrázek 11: Krabička přijímače... 8 Obrázek 12: Aplikace pro PC... 9 2
Zadání projektu Realizujte digitální časomíru, která bude primárně určena pro automatizované měření výsledků na závěrečné soutěži v předmětu BPRP. Části projektu: 1. Návrh elektroniky optických závor 2. Realizace HW 3. Měřicí aplikace pro Raspberry Pi 4. Interní vizualizace pro Raspberry Pi 5. Externí vizualizace pro PC Návrh a realizace elektroniky Vysílač Jako zdroj světelného paprsku je použita infračervená LED (940nm), která je modulována časovačem NE555P na frekvenci přibližně 35 khz, aby bylo zabráněno rušení denním světlem, nebo jiným zdrojem světla. Frekvence byla nastavena pomocí obvodu kolem časovače za použití vzorce: Napájení: Baterie 9V, odběr typicky 40mA Obrázek 1: Zapojení obvodu vysílače 3
Obrázek 2: Schéma zapojení vysílače Obrázek 3: Vysílač 4
Přijímač Přijímač je založený na fototranzistoru TSOP31236, který je spínán při vystavení světlu o frekvencích v okolí 36 khz. Mezi výstup a napájení tranzistoru je připojen odpor o velikosti 470Ω pro potlačení vnitřního odporu součástky 30kΩ. Obrázek schématu zapojení obsahuje i zapojení optočlenu (BPC-817C), který je realizován samostatným obvodem připevněným k Raspberry Pi, kde slouží jako přepěťová ochrana a jako hardwarový tlumič zákmitů, který tlumí frekvence vyšší cca 1kHz. Výstupem TSOP31236 je log1 při rozepnutí, která je optočlenem negována, Raspberry Pi tedy reaguje na sestupnou hranu signálu pro spuštění stopování. Obrázek 4: Schéma zapojení přijímače s optočlenem Obrázek 5: Zapojení přijímače 5
Obrázek 6: Přijímač Obrázek 7: Zapojení optočlenu Mikroprocesor Zpracování signálu z přijímačů zajišťuje mikroprocesor Raspberry Pi 3 model B+. Jeho hardwarové parametry (64-bitový procesor ARM cortex-a53, 1GB RAM) výkonnostně s dostatečnou rezervou překrývají požadavky pro výpočetní výkon aplikace časomíry a její komunikaci s okolními periferiemi. Firmware na Raspberry Pi pro tuto aplikaci je verze Raspbian Stretch Lite (K.V. 4.14). 6
Obrázek 8: Použité Raspberry Pi 3 s optočlenovou nádstavbou Obrázek 9: Celková sestava optických závor a Raspberry Pi 7
Návrh šasi pro přijímač a vysílač v prostřdí SOLIDWORKS Vysílač - přední strana - zadní strana Obrázek 10: Krabička vysílače Přijímač - přední strana - zadní strana Obrázek 11: Krabička přijímače 8
Návrh a realizace softwaru Měřicí aplikace pro Raspberry Pi je naprogramována v jazyce C za použití vývojového prostředí NetBeans IDE (viz. kód v příloze). Kód zajištuje přijmutí a zpracování přerušení z přijímačů pomocí knihovny <pigpio.h>. Následkem vyhodnocení těchto jednotlivých přerušení se vyhodnocují START a STOP impulzy. Ty se vnitřně přepočítávají a zpracovávají na data ve formátu (HH:MM:SS:XXX). Vyhodnocená data jsou ukládána do souboru VYSLEDKY.TXT v adresáři spuštění aplikace časomíry. Vyhodnocená data jsou taktéž odesílána na připojené řídící PC pomocí standartního protokolu UPD (port 8881) a ke zpracování dále v aplikaci vytvořenou v prostředí C#. Aplikace v prostředí C# Aplikace je naprogramována v jazyce C# ve vývojovém prostředí Visual Studio 2015. Program komunikuje s Raspberry Pi, přijímá data, která reprezentují výsledné časy jednotlivých pokusů. Komunikace probíhá pomocí standartního protokolu UDP přes port 8881, kdy se Raspberry Pi chová jako Server a počítač jako Client. Aplikaci je nutno ještě doladit, aby byly data přijímány ve správném formátu. Kód viz. příloha. Obrázek 12: Aplikace pro PC 9
Zdroje For Electronics: TSOP based IR Sensor [online]. May 9, 2014 [cit. 2018-05-06]. Dostupné z: https://forelectronics.wordpress.com/2014/05/09/tsop-based-ir-sensor/ Circuit Digest: IR Transmitter and Receiver [online]. [cit. 2018-05-06]. Dostupné z: https://circuitdigest.com/electronic-circuits/ir-transmitter-and-receiver-circuit Raspberry Pi: Raspbian [online]. [cit. 2018-05-06]. Dostupné z: https://www.raspberrypi.org/downloads/raspbian Wikipedia: Raspberry Pi [online]. [cit. 2018-05-06]. Dostupné z: https://cs.wikipedia.org/wiki/raspberry_pi 10