ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ v Praze Ú12110 Ústav přístrojové a řídící techniky

Podobné dokumenty
Snímání signálu pomocí karty Labjack

Obslužný software. PAP ISO 9001

Obsah SLEDOVÁNÍ PRÁCE... 4

Virtuální přístroje. Matlab a Instrument Control Toolbox. J.Tomek, A.Platil

Přípravek pro demonstraci řízení pohonu MAXON prostřednictvím

Aplikace pro srovna ní cen povinne ho ruc ení

Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8

1 Uživatelská dokumentace

LabVIEW. Tvorba programů. Laboratory Virtual Instrument Engineering Workbench

České vysoké učení technické v Praze Fakulta elektrotechnická. Katedra měření. Dokumentace. Rotační enkodér

Tabulkový kalkulátor

Generátor signálu snímače otáček motoru

A45. Příloha A: Simulace. Příloha A: Simulace

Středoškolská technika SCI-Lab

LabView jako programovací jazyk II

Chytrý palubní displej OBD

Metoda Monte Carlo a její aplikace v problematice oceňování technologií. Manuál k programu

Embedded vývoj v Clutteru a Mx

Protokoly KWP1281,KWP2000 a UDS

Použití UART a radia na platformě micro:bit

CZ_manual_ETC. manuál diagnostického programu TATRAdiagnoser

BIOS. Autor: Bc. Miroslav Světlík

Programovatelná řídící jednotka REG10. návod k instalaci a použití 2.část. Řídící jednotka výroby pečiva ERP2

Automobilová elektronika

=PREZENTACE= stručná příručka základů. (verze 2007)

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

5. A/Č převodník s postupnou aproximací

Software pro formování dielektrika kondenzátorů

MSA PLUS Elektrosvařovací jednotky

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

54. odborná konference ČKS Lísek u Bystřice,

Informatika - 4. ročník Vzdělávací obsah

MSA PLUS Elektrosvařovací jednotky

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...

I.CA SecureStore Uživatelská příručka

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

KOMPLEXNÍ VZDĚLÁVÁNÍ KATEDRA STROJNÍ SPŠSE a VOŠ LIBEREC

TACHOTel manuál 2015 AURIS CZ

Diagnostika geometrie náprav

1 Zadání. 2 Teoretický úvod. 7. Využití laboratorních přístrojů v elektrotechnické praxi

UniLog-L. v0.81 návod k obsluze software. Strana 1

Firmware řídící jednotky stejnosměrného generátoru

Excel 2007 praktická práce

DT konfigurátor. TIA na dosah Nástroje pro návrh elektrických pohonů až

Systém řízení Autoklávu

Schémata doporučených zapojení 1.0 Vydání 2/2010

Vytvoření a úpravy geologického modelu

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Příloha č. I: Schéma zapojení vývojové desky PVK-PRO

Manuál pro používání aplikace IDMonitor

A4300BDL. Ref: JC

Obr. 1. Grafické programovací prostředí LabVIEW

Dodatek k uživatelském manuálu Adash 4202 Revize MK

Univerzální prohlížeč naměřených hodnot

ExperimentalCar Rozšířeny kurz provozních měření na experimentálním vozidle

Po přihlášení do Osobní administrativy v Technologie a jejich správa vybereme položku Certifikáty bezdrátové sítě (Eduroam).

Testovací protokol USB Token Cryptomate

Návod k použití programu Business Plan

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

Autorizovaný software DRUM LK 3D SOFTWARE PRO VYHODNOCENÍ MĚŘENÍ ODCHYLEK HÁZIVOSTI BUBNOVÝCH ROTAČNÍCH SOUČÁSTÍ

Emise z provozu železnic

1.6 Operační zesilovače II.

Kontrola technického ho stavu brzd. stavu brzd

KONTAKT Řízení motorů pomocí frekvenčních měničů. Autor: Bc. Pavel Elkner Vedoucí: Ing. Jindřich Fuka

Manuál pro majitele Korporátní karty. Manuál pro majitele Korporátní karty

Manuál k obsluze simulátoru KKK ELO 2011 pro studenty, popis laboratorní úlohy

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Měření průtoku kapaliny s využitím digitální kamery

Ignition Control V6.5

Testovací protokol čipová karta ACOS5

Střední průmyslová škola elektrotechnická a informačních technologií Brno

Metodické pokyny k materiálu č. 35 Mobilní robot III - Závodní auto (STAVBA)

Po přihlášení do Osobní administrativy v Technologie a jejich správa vybereme položku Certifikáty bezdrátové sítě (Eduroam).

Tester akčních členů M-PWM2-A (sw v1.4) - PWM generátor - (technická specifikace)

Angličtina program k procvičování slovní zásoby

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

DATABÁZE MS ACCESS 2010

PŘÍRUČKA UŽIVATELE. Vážený zákazníku,

Uživatelský manuál A4000BDL

Využití tabulkového procesoru MS Excel

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

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

Hledání správné cesty

Robotická rehabilitační pomůcka pro děti

Povinně Volitelné a Volitelné předměty INFORMACE & ZÁPIS SIS

Instalace souborů VHOPE a souborů knihovny VHOPE

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

Automatické testování netěsností vzduchem. Přístroje JWF na testování netěsností, série 400

DOMÁCÍ TESTOVÁNÍ Uživatelská příručka. Verze 4.1

Pravidla a plánování

Dispatcher 3 Kniha jízd

POHON 4x4 JAKO ZDROJ VIBRACÍ OSOBNÍHO AUTOMOBILU

Tisk deníku příjmů a výdajů na jednu stranu

Uživatelský modul. wm-bus Concentrator

Všechny informace v tomto dokumentu se mohou změnit bez předchozího upozornění. Tato příručka ani žádná její část nesmí být bez předchozího písemného

Pokyny pro obsluhu programu. EZZ01 File reader 1.3

Simulace. Simulace dat. Parametry

Výpočetní technika. PRACOVNÍ LIST č. 7. Ing. Luděk Richter

Rychlý referenční průvodce

Transkript:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ v Praze Ú12110 Ústav přístrojové a řídící techniky Semestrální práce Python pro vědecké výpočty Generátor pulzů pro simulaci vstupů kontroly trakce vozu Formule student Vypracoval: Pavel Balcar 2014

Úvod do problematiky V této práci se budu zabývat vývojem zařízení, které bude simulovat vstupní signály ze snímačů otáček kol do řídící jednotky motoru studentské formule. Zařízení bude použito pro testování funkčnosti systému kontroly trakce, kterou je schopna tato jednotka vykonávat. Toto testování bude probíhat na motorové brzdě, proto je třeba simulovat tyto vstupy. Snímání otáček kol na studentské formuli je realizováno pomocí hallových sond. Jejich výstup je tedy obdélníkový pulz s frekvencí závislou na konkrétních otáčkách a střídou cca. 50%. Střída je závislá na podobě tzv. trigger disku (kotouč s otvory), ale pro potřeby testování na motorové brzdě to není podstatný parametr a budu pracovat práve s 50%. Zařízení by mělo být snadno ovladatelné z uživatelského rozhraní na osobním počítači. Požadavky Je potřeba simulovat dva výstupní signály s různou frekvencí pro přední a zadní nápravu. Frekvence signálů musí být dopočítána ze zadaných veličin, které uživatel zadá v uživatelském rozhraní. Zadané veličiny jsou rychlost otáčení kol přední a zadní nápravy v km/h, průměr kol přední a zadní nápravy a počet děr na trigger disku přední a zadní nápravy. Realizace Výstupní signály generuje zařízení LabJack U3-LV. Uživatelské rozhraní bylo vytvořeno v prostředí wxglade. Celý program byl pak psán v jazyce Python 2.7.4. Začal jsem tvorbou samotného uživatelského rozhraní tzv. GUI v prostředí wxglade. Zde jsem si zvolil, jak velké okno aplikace chci použít a to pak rozdělil na jednotlivé Sizery, do kterých jsem umísťoval jednotlivé prvky aplikace (tlačítka, labely, text commandy, triggery atp.) Program wxglade poté výsledné GUI, vytvořené graficky, převede do Py-kódu.

Obr. 1 GUI vytvořené v programu wxglade, červené písmo jsou popisky. Vygenerovaný Py-kód jsem otevřel v programu Idlex vkládal jednotlivým položkám GUI funkce. Kód vygenerovaný wxglade nebudu popisovat. Popíšu jen změny, které jsem v něm provedl. Vložení grafu do sizeru cystom widget V začátku kódu musí být importovány funkce z knihovny matplotlib a to takto: import matplotlib matplotlib.use('wxagg') from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas from matplotlib.backends.backend_wx import NavigationToolbar2Wx from matplotlib.figure import Figure

a dále v class Pulse_generator(wx.Frame): musí být vloženo toto: self.figure = Figure() self.axes = self.figure.add_subplot(111) self.graph = FigureCanvas(self, -1, self.figure) Čtení hodnot zadávaných do GUI a aktualizace zobrazovaných hodnot Tyto části programu obsahují všechny event handlery, tím je zaručeno, že když změním jakoukoli hodnotu, přepíší se labely, které ukazují aktuální hodnoty (rychlosti, frekvence, slip, graf atd.) Obr. 2 první část kódu pro čtení hodnot z text commandů a trigerrů, tento kód obsahuje každý event handler programu kromě handlerů pro obsluhu tlačítek

Obr. 3 druhá část kódu pro čtení hodnot, tento kód obsluhuje aktualizaci grafu v custom widgetu Threading Generování pulzů je spuštěno tlačítkem start. Event handler pro tlačítko start obsahuje while cyklus. Protože je třeba generovat pulzy o dvou různých frekvencích, nestačí jeden while cyklus, ale musím použít dva. Funkce threading právě toto umožňuje. Při jejím použití se spustí více nezávislých vláken programu, které běží paralelně a tím pádem můžou bežet i dvě paralelní while smyčky. Obr. 4 Inicializace a obsluha threadů

Celá část programu v event handleru tlačítka start pak vypadá takto: Obr. 5 Event handler tlačítka pro start generování pulzů Při použití tohoto kódu však není možné dále ovládat GUI. Pokud se o nějakou interakci pokusím celé GUI spadne. Tento problém by se dal odstranit použitím ještě jednoho threadu, který bude obsluhovat celé GUI.

Hotové GUI Obr. 6 Hotové spuštěné GUI Obr. 7 Hotové spuštěné GUI pro demonstraci s jinými hodnotami, zde je vidět správně vypočtená záporná hodnota slip ratia, a překreslení rozsahu osy x

Závěr Cílem této práce bylo vyzkoušet tvorbu uživatelských rozhraní pro jazyk Python, seznámit se s možnostmi měřící karty LabJack a navrhnout zařízení pro testování kontroly trakce studentské formule na motorové brzdě. Seznámil jsem se s prací s thready pro Python. Podařilo se mi zprovoznit potřebné generování obdélníkových pulzů na dvou portech LabJacku. Původní záměr byl, aby bylo celé GUI ovladatelné v reálném čase a tak byla umožněna jednoduše změna parametrů výstupních signálů. Toto se mi nepodařilo splnit. Pro splnění tohoto záměru bych musel celé GUI vložit do třetího threadu a pak by celý program měl fungovat správně.