• No results found

Poděkování Chtěl bych především poděkovat svému vedoucímu bakalářské práce Ing. Leoši Petržílkovi,

N/A
N/A
Protected

Academic year: 2022

Share "Poděkování Chtěl bych především poděkovat svému vedoucímu bakalářské práce Ing. Leoši Petržílkovi,"

Copied!
47
0
0

Loading.... (view fulltext now)

Full text

(1)

Prototyp laboratorního zdroje řízeného mikrokontrolérem

Bakalářská práce

Studijní program: B2612 – Elektrotechnika a informatika

Studijní obor: 2612R011 – Elektronické informační a řídicí systémy

Autor práce: Petr Konvička Vedoucí práce: Ing. Leoš Petržílka

Liberec 2017

(2)
(3)
(4)
(5)

Poděkování

Chtěl bych především poděkovat svému vedoucímu bakalářské práce Ing. Leoši Petržílkovi, za věčnou trpělivost a vstřícnost, hlavně co se týče výroby plošných spojů.

(6)

Abstrakt

Tato bakalářská práce popisuje vytvoření prototypu laboratorního zdroje řízeného mikrokontrolérem. Mikrokontrolér podle příchozích dat nastavuje výstupní napětí a maximální proud.

Rozsah výstupního napětí je od 0 V do 24V a proudové omezení od 0 V do 2 A. V práci jsou popsány hlavní části zdroje a jejich fungování, jak po analogové, tak po programové stránce.

Klíčová slova

Mikrokontrolér, laboratorní zdroj

Abstract

This thesis describes construction of, microcontroller based, laboratory power supply microcontroller controls output voltage and maximum current according to received data.

Range of output voltage is from 0 V to 24 V and maximum current from 0 A to 2A. In this document are described main partsof supply and their working, as analog, so program point of view.

Keywords

Microcontroller, laboratory pover supply

(7)

7

Obsah

Úvod ... 12

1. Teoretická část ... 13

1.1. Laboratorní zdroje obecně ... 13

1.2. Lineární zdroje ... 14

1.3. Spínaný zdroj ... 14

1.4. Programovatelné zdroje ... 15

2. Návrh laboratorního zdroje ... 16

2.1. Koncept ... 16

2.2. Jednotka pro ovládání výstupu ... 18

2.2.1. Analogová část ... 19

2.2.2. Programová část ... 29

2.2.3. Výsledky měření ... 33

2.3. Jednotka pro napájení ... 36

2.4. Jednotka rozhraní... 37

2.4.1. Analogová část ... 38

2.4.2 Programová část ... 38

2.4.3 Výsledky měření ... 42

3. Realizace ... 43

4. Závěr ... 45

Literatura ... 46

Přílohy ... 47

(8)

8

Seznam ilustrací

Obrázek 1: Klasický laboratorní zdroj

Obrázek 2: Blokové schéma lineárního zdroje Obrázek 3: Blokové schéma spínaného zdroje Obrázek 4: Koncept mého zdroje

Obrázek 5: Propojení dvou zařízení komunikujících pomocí UART

Obrázek 6: Uživatelské rozhraní pro kontrolu jednotky pro ovládání výstupu Obrázek 7: Převodníky pro nastavování výstupních hodnot

Obrázek 8: Schéma výstupních obvodů Obrázek 9: Schéma zapojení tlačítek Obrázek 10: Schéma zapojení enkodéru Obrázek 11: Schéma zapojení displeje Obrázek 12: Displej v manuálním módu Obrázek 13: Displej v sériovém módu

Obrázek 14: Blokové schéma STM32F303K8T6

Obrázek 15: Propojení mikrokontroléru se zbytkem zapojení Obrázek 16: Zapojení pro měření výstupních hodnot

Obrázek 17: Zapojení 5 voltového stabilizátoru

Obrázek 18: Layout desky plošných spojů jednotky pro kontrolu výstupu Obrázek 19: Vývojový diagram hlavní části programu pro kontrolu výstupu Obrázek 20: Vývojový diagram stavového automatu jednotky pro kontrolu výstupu Obrázek 21: Komunikační rámce jednotky pro kontrolu výstupu

Obrázek 22: Nepřímá zpětná vazba Obrázek 23: Jednoduchá zpětná vazba

Obrázek 24: Schéma zapojení jednotky pro napájení Obrázek 25: Schéma zapojení jednotky rozhraní

Obrázek 26: Blokové schéma programu jednotky rozhraní

Obrázek 27: Vývojový diagram stavového automatu jednotky rozhraní Obrázek 28: Komunikační rámec jednotky rozhraní

Obrázek 29: Záznam dvou po sobě jdoucích zpráv Obrázek 30: Detail zprávy pro jednotku kontroly výstupu

(9)

9 Obrázek 31: Napětí na výstupu, generováni sinu frekvence 1Hz

Obrázek 32: Napětí na výstupu, generováni sinu frekvence 10Hz Obrázek 33: Fotka prototypu

(10)

10

Seznam symbolů a zkratek

USB (Universal Seriál Bus) Komunikační sběrnice UART (Universal Asynchronous Receiver Transmitter)

Komunikační sběrnice

Hz Hertz

V Volt

A Ampér

W Watt

PWM Pulzní šířková modulace

RS232/RS485(Recommend Standard) Sériová linka

GPIB (General Purpose Interface Bus) Rozhraní pro měřící a zkušební zařízení LAN (Local Area Network) Komunikační sběrnice

SCPI (Standard Commands for Programmable Instruments)

Komunikační sběrnice pro přístroje LXI (LAN eXtensions for Instrumentation) Komunikační sběrnice pro přístroje CRC (cyclic redundancy check) Kontrolní součet

Xon Vodič pro řízení datového toku

Xoff Vodič pro řízení datového toku

CTS (Clear To Send) Vodič pro řízení datového toku RTS (Request To Send) Vodič pro řízení datového toku

Bd (Baud) Jednotka modulační rychlosti

HAL Hardware Abstract Layer

SPI (Seriál Peripheral Interface) Komunikační sběrnice I2C (Inter-Integrated Circuit) Komunikační sběrnice

DAC (Digital Analog Convertor) Digitálně analogový převodník ADC (Analog Digital Convertor) Analogově digitální převodník

TI Texas instruments

DSP Digitální Signální Procesor

FPU (floating-point unit) Numerický koprocesor

RAM (Random Acces Memory) Operační paměť

(11)

11 ASCII (American Standard Code for Information Interchange)

Kódová tabulka pro znaky

B Bajt

SD Secure Digital

GUI (Graphical User Interface) Rozhraní pro uživatele

CPU Centrální procesorová jednotka

PC (Personal Computer) Počítač

(12)

12

Úvod

V této bakalářské práci jsem se zabýval konstrukcí laboratorního zdroje řízeného mikrokontrolérem. Pro jednoduchost jsem se rozhodl pro lineární, s toroidním transformátorem a rozsahem 0V až 24V, při proudu 0A až 2A. Zdroj dále obsahuje základní ochrany jako omezení proudu, tepelnou ochranu a odepínání výstupu pomocí relé.

Jako řídící mikrokontrolér jsem použil ARM od firmy STM, kvůli rozsáhlé nabídce výběru mikrokontrolérů, celkové praktičnosti vývojového prostředí (používám Atollic) a velké podpoře výrobce (například ve formě STM32Cube, což je nástroj pro konfiguraci periferií). Moje oblíbené vývojové platformy Nucleo jsou osazené mikrokontroléry od firmy STM a to velice prakticky (obsahují debugger, převodník z USB na UART, různé možnosti napájení a nabízejí zaměnitelnost jednotlivých typů s různými mikrokontroléry).

(13)

13

1. Teoretická část

1.1. Laboratorní zdroje obecně

Laboratorní zdroje jsou zpravidla konstruovány pro napájení ze sítě, tzn.230V s frekvencí 50Hz.

Co se týče nastavení, běžně se výstupní napětí pohybuje v rozmezí 0V až 30V a 0A až 5A.

Většina takových přístrojů dále disponuje vstupními a výstupními „body“, čímž je myšleno například: displeje pro zobrazování požadované úrovně napětí nebo proudu, skutečných hodnot a stavů přístroje, dále enkodéry, popř. potenciometry pro nastavování hodnot a výstupní svorky pro zapojení k napájenému zařízení.

Obrázek 1: Klasický laboratorní zdroj

Zdroje se dají rozdělit do kategorií podle různých vlastností nebo parametrů. Mohou být lineární nebo spínané, napěťové nebo proudové a pevné nebo nastavitelné. Jak jsem již zmínil v úvodu, v mojí konstrukci jsem se rozhodl pro lineální zdroj s toroidním transformátorem, hlavně z důvodu kvality výstupního napětí (menší zvlnění, tvrdší zdroj, menší rušení) a jednoduchosti takového zapojení na úkor velikosti přístroje a účinnosti.

(14)

14

1.2. Lineární zdroje

Lineární zdroj je zařízení, které dokáže napětí ze sítě pomocí transformátoru zmenšit na požadovanou hodnotu, usměrnit, vyhladit filtrem a nakonec stabilizovat pomocí stabilizátoru.

Obrázek 2: Blokové schéma lineárního zdroje

1.3. Spínaný zdroj

Spínaný zdroj pracuje na tomto principu: napětí ze sítě se nejdříve usměrní a vyhladí na výstupním kondenzátoru. Poté je rozkmitáno pomocí výkonových tranzistorů na frekvence v řádech desítek kHz a přivedeno na primární vinutí transformátoru. Napětí, které tak vznikne na sekundární straně, se opět usměrní a vyhladí pomocí kondenzátoru. O stabilitu výstupního napětí se stará spínací obvod ve zpětné vazbě, který budí spínací tranzistory PWM signálem.

Mezi výhody spínaných zdrojů patří mnohem menší cena, velikost a tím pádem i váha.

Například zdroj v počítači váží přibližně půl kilogramu a dodává výkon až 800W. Na druhou stranu mají složitější konstrukci a větší rušení, kvůli jejich impulznímu odběru proudů.

Obrázek 3: Blokové schéma spínaného zdroje

(15)

15

1.4. Programovatelné zdroje

Programovatelný zdroj je ten, který dokáže poskytnout prakticky libovolný průběh. Zapnutí, výpadek, opětovné zapnutí a mnohé jiné průběhy, kterými můžete otestovat výrobek „jednou ranou", to jsou programovatelné laboratorní zdroje. Snad největší výhodou programovatelného zdroje (obecně) je fakt, že při samotném testování již nemusíte nic měnit, sledovat, zapisovat.

Je pochopitelné, že takový sofistikovaný přístroj je citelně dražší než běžné laboratorní zdroje, avšak dokáže přinést nesmírnou úsporu času a spolehlivost do výroby. Ve většině případů není možné s běžným zdrojem dosáhnout simulaci reálného kolísání napětí v napájení, výpadky, rušení. Toto „dynamické" testování je současně schopno odhalit riziko „zamrznutí" výrobku (undervoltage lockout) při krátkém podpětí.

Vzhledem i velikostí tyto zdroje často podobné klasickým neprogramovatelným zdrojům. Také se vyskytují stejnosměrné nebo střídavé. Rozsahy výstupních veličin se velice různí podle zamýšlené aplikace takového zařízení. Pro laboratorní účely zpravidla 0 až desítky voltů a 0 až desítky ampér, pak je jakýsi předěl, ve kterém se nachází zdroje s výstupním napětím stovek až tisíců voltů a jednotkami až desítkami ampér a nakonec vysokonapěťové, s výstupními napětími až desítek kilovoltů a výstupními proudy dosahující hodnot desítek miliampér.

Stejně jako běžné laboratorní zdroje je možné i programovatelné zdroje provozovat v různých režimech. Ať už jako zdroj konstantního napětí či zdroj konstantního proudu, tak je také vzájemně paralelně nebo sériově propojovat. Propojování více programovatelných zdrojů zpravidla využívá topologie master-slave, kdy jeden ze zdrojů přebírá řídící funkci nad všemi propojenými zdroji.

Ke komunikaci se používají v závislosti na prostředí, ve kterém mají pracovat, různé sběrnice.

Mezi základní určitě patří RS232/RS485, GPIB. V dnešní době jsou velice oblíbená rozhraní USB i LAN (IEEE4888). Komunikační protokoly jsou zpravidla SCPI „Standard Commands for Programmable Instruments“, které využívá Labview a LXI.

Jak jsem již zmínil, ceny programovatelných zdrojů jsou zpravidla vyšší. Pohybují se od několika tisíců korun po stovky tisíc korun. Cena se pochopitelně odvíjí od jejich parametrů, komfortu obsluhy a množství funkcí.

Uplatnění najdou například při procesech nanášení vrstev nebo u automatizovaných testovacích zařízení, ale také ve všeobecných laboratorních a průmyslových aplikacích.

(16)

16

2. Návrh laboratorního zdroje

Cílem práce je vytvořit lineární laboratorní zdroj, který bude řízený mikrokontrolérem s možností ovládání prostřednictvím čelního panelu i pomocí počítače. Rozsah výstupního napětí by měl být 0V až 24V a rozsah proudu 0A až 2A s možností nastavení maximální hodnoty a s možností odepnout výstupní svorky pomocí relé. Zdroj by měl být naprogramovatelný, aby dokázal provádět průběhy napětí dané uživatelem.

2.1. Koncept

Zapojení je rozděleno do několika základních bloků nebo spíše jednotek, s jasně danými úkoly.

Tento přístup umožňuje pozdější modifikaci hned na několika úrovních, jak bude uvedeno později.

Jelikož je potřeba kontrolovat validitu dat (například pomocí CRC, který se musí průběžně počítat, aby nedošlo k chybě, protože chyba by mohla vést k „náhodnému chování“ a zničení napájeného zapojení) při přesouvání mezi jednotkami, dochází k mírnému prodloužení reakční doby zdroje.

Obrázek 4: Koncept mého zdroje

Obrázek 4 znázorňuje topologii celého zdroje. Propojení je možné realizovat pomocí modrých, nebo červených čar a tak zapojení přizpůsobit úkolu, který má provádět. Popis úkolů jednotlivých jednotek je uveden v následujícím bloku spolu s jejich komunikačními sběrnicemi, rámci a parametry.

(17)

17 Bloky mezi sebou (i počítačem, pomocí převodníku) komunikují pomocí sběrnice UART. Je to z toho důvodu, že je velice jednoduchá a dosahuje dostatečných rychlostí přenosu, i když není používána při plných rychlostech, kterých je mikrokontrolér schopen. Program je psán tak, aby bylo v případě nutnosti možné sběrnici jednoduše vyměnit za jinou.

Sběrnice UART

Sběrnice UART je jedna z nejjednodušších sériových komunikačních sběrnic. Minimum vodičů, na kterých se dá provozovat, je jeden, pokud je třeba komunikovat jenom jedním směrem nebo half-duplexně. Standartní je používat vodiče dva, RX (zkratka pro „příjem“) a TX (zkratka pro „odesílání“). Neznamená to nutně, že se musí komunikovat full-duplexně, ale programátor potom nemusí řešit současný směr toku dat. Podporuje základní kontrolu dat pomocí paritního bitu, buď sudého, nebo lichého. Dále umožňuje kontrolu datového toku, buď softwarovou, například pomocí Xon a Xoff nebo hardwarově (jinak také RTX/CTS flow control), pomocí přídavných vodičů RTS a CTS, které jsou zapojený do kříže, jak je vidět na obrázku níže (Obrázek 5).

Obrázek 5: Propojení dvou zařízení komunikujících pomocí UART

Při práci byla použita rychlost komunikace 115 200 Bd, což je jedna z nejoblíbenějších, hned po rychlosti 9 600 Bd.

(18)

18

2.2. Jednotka pro ovládání výstupu

Jednotka pro ovládání výstupu je první a zároveň nejzákladnější jednotka, která bude mít na starosti samotnou manipulaci s napětím a proudem podle dat, které jí budou poskytnuty v číslicové formě skrze komunikační sběrnici popsanou v předchozí kapitole. UART byl vybrán hlavně z důvodu možnosti komunikovat přímo s počítačem, pomocí jednoduchého převodníku (ten je mimochodem integrován na vývojové platformě Nucleo, je zároveň možné ho odpojit a používat přímo sběrnici klasickým způsobem).

Sběrnici lze nicméně poměrně lehce zaměnit za jinou, jako například SPI, I2C, nebo přímo USB, což je dáno tím, že jsou použity HAL knihovny, navíc je v kódu používání sběrnice relativně abstraktní, takže stačí úprava v jednom místě.

Pro tuto jednotku byla realizována velice jednoduché GUI.

Obrázek 6: Uživatelské rozhraní pro kontrolu jednotky pro ovládání výstupu Používání:

1. Vybrat použitý port

2. Tlačítkem „Connect" aktivovat připojení rozhraní zdroje

3. Do polí „Voltage“ a „Current“ se vyplní požadovaná hodnota a stiskem klávesy enter jsou data odeslána. Jinak tomu je u „Relay state“, to je updatováno hned.

Na Obrázku 6 jsou dvě tabulky. V tabulce vlevo je syrová podoba zprávy tak, jak se odesílají do jednotky pro kontrolu výstupu, vpravo pak zpráva, která přišla jako odpověď.

Pole „Voltage“ a „Current“ nerozlišují mezi tečkou a čárkou, vždy se odesílá tečka, kterou jednotka pro kontrolu výstupu považuje za oddělovač celých a desetinných čísel. Za každou kompletní zprávou následuje <CR> „Carriage return”.

(19)

19

2.2.1. Analogová část

Schéma zapojení

Zapojení je realizováno co možná nejjednodušším způsobem, pouze za použití několika základních součástek.

Pro řízení výstupního napětí je použit 16bitový DAC, který má krok více než dostačující, aby bylo možno krokovat alespoň po setině voltu na výstupu, na proud bohatě stačí 12bitový DAC. Každý integrovaný obvod má vlastní blokovací (bypass) kondenzátor, což jsem hlavně u DAC považoval za vhodné, jednak kvůli tomu, že mohou mít impulzní odběr, ale i kvůli zašumění vlivem vstupních pinů (hodinovému signálu SPI).

Ve schématu níže (Obrázek 7) je uvedeno zapojení s jednoduchou zpětnou vazbou. V průběhu vývoje zapojení bylo prověřováno i zapojení výstupu výkonového zesilovače přes dělič napětí do svorky otevřené zpětné vazby DAC AD5660 (VFB) jako pokus o eliminaci poklesu napětí vzniklého relativně velkým odběrem proudu z výstupního operačního zesilovače. Výsledky zátěžové charakteristiky ale byly horší, než u uvedeného zapojení.

Přechod mezi mikrokontrolérem a výstupním zesilovačem

Obrázek 7: Převodníky pro nastavování výstupních hodnot

(20)

20 Výstupní obvody

Klíčovým elementem celé jednotky je operační zesilovač OPA548 firmy TI, která je mezi konstruktéry velice oblíbená. Operační zesilovač je zapojen jako neinvertující, se zesílením přibližně 8. Odpory nemusí být moc přesné, jelikož se kalibrace provádí softwarově, pomocí vnitřní proměnné, kterou si mikrokontrolér ukládá do flash paměti. Na neinvertující vstup výkonového operačního zesilovače (na Obrázku 8 U_SET) se přivádí napětí z 16bitového DA převodníku AD5060 (ideální krok při výstupním napájení 24V je menší než 0,366mV, což je více než dostačující), který je řízen mikrokontrolérem.

Pro nastavení maximálního výstupního proudu má OPA548 vývod jménem Ilim (na Obrázku 8 I_SET), na který je připojen výstup 12bitového DA převodníku AD5611 (ideální krok při výstupním proudu 2A je menší než 0,488mA, což je také více než dostačující) Pin E/S nebyl použit, jelikož proud je měřen v jiné části zapojení.

Jak je patrné ze schématu, má výkonový operační zesilovač stejně tak jako ostatní integrované obvody vlastní blokovací (bypass) kondenzátor.

Výstup se spíná a odepíná přes tranzistor řízený mikrokontrolérem pomocí relé, aby bylo možné výstup galvanicky odpojit od napájeného zapojení. Antiparalelně k relé je zapojena ochranná dioda, aby indukovaný proud nemohl prorazit tranzistor. Tranzistor PDTD123 obsahuje integrovaný odporový dělič, takže nejsou potřeba externí rezistory, odpor vynutí je 86 Ω, takže není potřeba ani odpor do série.

Vzorec pro maximální výstupní proud:

𝐼_𝑆𝐸𝑇 = 4,75 −(13750 × 𝐼𝑀𝐴𝑋) 15000 Z datasheetu

(upraveno, tak aby byl vzorec validní vůči schématu níže, IMAX je zde maximální velikost proudu)

Obrázek 8: Schéma výstupních obvodů

(21)

21 Obvody pro ovládání

Jelikož se „headless“ jednotka pro ovládání výstupu ukázala jako poměrně těžkopádná, byly přidány základní prvky pro ovládání. Prvním prvkem je tlačítko pro přepínání módu, aby si uživatel mohl vybrat, mezi módy „manual“ a „serial“, čili ovládání pomocí enkodéru a řízení pomocí UARTu ať už přímo z počítače nebo skrze jednotku rozhraní. Druhým prvkem je tlačítko pro ovládání relé, které připíná nebo odepíná výstup, to je ponecháno aktivní vždy, možnost rychlého vypnutí výstupu se někdy může hodit.

Zapojení tlačítek

Standartní zapojení tlačítka spočívá v pull-up odporu a kondenzátoru, pro snížení možnosti vzniku situace, kdy nastane chyba spojená s mechanikou tlačítka, zákmit. Hodnoty součástek v tomto zapojení nehrají příliš velkou roli a dalo by se říci, že lze používat univerzálně hodnotu odporu kolem 10kΩ a kondenzátor 100nF.

Frekvence mechanického zákmitu se nejčastěji pohybuje kolem 10kHz, takže aby vše fungovalo správně, musí časová konstanta být vyšší, než perioda zákmitu, v případě 10kHz tedy 0,1ms.

I přesto se může stát, že bude docházet k chybám. Nejvhodnější je tedy použít kromě toho i ošetření ve FW, po přijetí přerušení je nutno chvíli vyčkat a pokud je hodnota stále v nestatickém stavu, stisk tlačítka se považuje za platný. (Toto čekání není nejlepší realizovat pomocí pollingu, ale většinou to nevadí.)

V mém případě se chyby objevovaly pravděpodobně proto, že bylo použito interních pull-upů ve spojení s délkou a uspořádáním vodiču, konkrétně napájení a hodinového signálu sběrnice I2C. Když se signál po puštění tlačítka vracel zpět na klidovou hodnotu, došlo během hazardního stavu k zákmitu vlivem indukování napětí mezi těmito vodiči.

Obrázek 9: Schéma zapojení tlačítek

(22)

22 Zapojení enkodéru

Pro nastavování požadovaných hodnot se velice často využívá enkodér. Podstatnou výhodou oproti potenciometru je nastavování hodnot „skokově“, data z něj se zpracovávají pouze digitálně, takže nedochází k šuměním ať už vlivem odporu, jako je tomu právě u potenciometru nebo parazitními vlivy, například dotekem a následnou změnou těchto parazitních vlastností.

Ovládání funguje tak, že zmáčknutím enkodéru se mění ovládaná pozice výstupního napětí a proudu. Jeho následným otáčením pak nastavená hodnota. Jak je zvykem, vlevo se hodnota snižuje a vpravo zvyšuje. Zdroj si limity hlídá, takže nemůže dojít k chybnému nastavení.

Podobně jako u tlačítek, i výstupy enkodéru by měli být vybaveny ochranou proti zákmitu, jak HW, tak i ve FW. Výběr vhodných hodnot je zde o něco složitější a musí se brát v potaz více věcí. Například maximální rychlost jakou se má dát enkodérem točit (kolik pulzu muže povést v čase), z čehož vyplývá také minimální délka pulzu.

Existuje poměrně velké množství různých zapojení, která mají za úkol přizpůsobit chování aplikaci, třeba snížit spotřebu během aktivity, maximalizovat možnou rychlost otáčení a podobně. Zde je používáno nejzákladnější.

Používám interní pull-up v kombinaci s kontrolou platnosti pulzu ve FW.

Obrázek 10: Schéma zapojení enkodéru

(23)

23 Zapojení displeje

K zobrazování hodnot byl použit dvouřádkový alfanumerický displej, pro svou rozšířenost a jednoduchost. V kódu k displeji je přistoupeno z pohledu aplikace, ne z pohledu HW, takže je možné displej relativně jednoduše nahradit za jiné zobrazovací medium za použití stejného API za předpokladu, že nebude překročena maximální doba zápisu tak, aby bylo dost času displej refreshovat a ještě stihnout ostatní úkoly mikrokontroléru.

Za běžných okolností se tento displej zapojuje tak, že se s ním komunikuje paralelně, to znamená, že se data se zapíšou na všechny jeho ovládací piny a povolí signálem E (enable), což je ale poměrně nepraktické z důvodu množství pinů, které tento přístup zaměstná. Je sice možné je dále používat k jiným úkonům pokud se zrovna nezapisuje, ale komplikuje to práci a nelze takto postupovat vždy. Byl využit modul I2C expandéru, kterému je zaslána kombinaci pinů a pak na stejném expandéru přepnut pin enable. Data se do displeje zapíší. Jelikož je použit expandér 8-bitový, což by na všechny vstupní a ještě řídící piny nestačilo, musí se využít takzvaně 4-bitový přístup, kde se každý bajt zapisuje postupně, nejdříve horní nibble a poté dolní.

Obrázek 11: Schéma zapojení displeje

(24)

24 Obrázek 12 zachycuje displeje v manuálním módu. Vlevo nahoře je nastavená hodnota napětí, pod desetinami voltů je patrný i kurzor. Vzhledem k tomu, že bliká, mohlo by se zdát, že svítí polovičním jasem. Vedle je hodnota maximálního proudu v ampérech. Každá veličina má pod sebou hodnotu změřenou.

Obrázek 12: Displej v manuálním módu

Obrázek 13 znázorňuje vzhled displeje v sériovém módu, kdy čeká na data ze sériové linky.

Buď přímo z počítače, nebo z jednotky rozhraní.

Obrázek 13: Displej v sériovém módu

Pod displejem je vidět ovládací panel. Tlačítko vlevo slouží pro přepínání mezi manuálním a sériovým módem, tlačítko uprostřed k ovládání relé. Jako poslední v pravé části je enkodér, jehož zmáčknutím se mění ovládaná pozice a otáčením pak její hodnota.

(25)

25 Zapojení mikrokontroléru (Nucleo STM32F303K8T6)

Na Obrázku 14 je blokové schéma mikrokontroléru, kde jsou zachyceny všechny jeho periferie.

Obrázek 14: Blokové schéma STM32F303K8T6

(26)

26 Vzhledem k tomu, že byla použita hotová vývojová platforma, bylo zapojení kolem mikrokontroléru velice jednoduché. Veškeré obvody pro programování, debug, napájení a komunikační sběrnice jsou integrovány na desce.

Vývojová platforma Nucleo (Manufacturer Part No: NUCLEO-F303K8), která je osazena mikrokontrolérem STM32F303K8T6, je zajímavá cenou, velikostí, počtem vývodů, svými vlastnostmi a jako bonus se jedná o relativně rychlé DSP, obsahující FPU, rychlé ADC a dvě DAC, takže zapojení by se dalo realizovat i bez externích převodníků. Tyto převodníky byly zvoleny z toho důvodu, že jednotka kontroly výstupního napětí a jednotka rozhraní by se měly dát spojit do jednoho mikrokontroléru. U něj s přítomností DAC nepočítám, obsahují ho zpravidla DSP a ty mívají relativně malou RAM.

Obrázek 15: Propojení mikrokontroléru se zbytkem zapojení Měření výstupních hodnot

Měření napětí je prováděno ADC převodníkem v mikrokontroléru přes dělič výstupního napětí.

Při vyčítání naměřené hodnoty je poté vypočten průměr z několika posledních hodnot z důvodu přesnějšího měření.

U proudu je využíván Hallův senzor, který nejprve převede proud na napětí, přičemž na něm není prakticky žádný úbytek napětí (vnitřní odpor je přibližně 1,2mΩ). Napětí se zesílí pomocí diferenciálního zesilovače a podobně jako u měření napětí se při vyčítání vypočte průměr několika posledních hodnot.

Obrázek 16: Zapojení pro měření výstupních hodnot

(27)

27 Stabilizátor na 5V

Jedná se pouze o integrovaný třísvorkový stabilizátor z rodiny 78xx, připojený na vstupní napájecí svorku, podle datasheetu. Tato rodina integrovaných obvodů se vyskytuje v mnoha variantách například podle výstupního napětí a proudů, podle jejich použití. Jedna ze základních aplikací je eliminace problémů spojených s šumy a rozvodem napájení po desce. Výstupní proudy jsou u některých až k 1,5A. Obsahují interní přetěžovací ochrany. Mohou být použity buď samy o sobě nebo jako na obrázku (Obrázek 17) nebo s externími součástkami pro doladění výstupního napětí nebo posílením proudů.

Důvodem k přítomnosti stabilizátoru je skutečnost, že Hallův sensor proudu operuje s napájecím napětím 5V a DAC pro ovládání napětí má vnitřní reference nastavenou na 3,5V, takže by bylo velice nevhodné ho napájet z 3,3V.

Obrázek 17: Zapojení 5 voltového stabilizátoru

(28)

28 Deska plošných spojů

Deska plošných spojů je poměrně malá, jelikož místo mikrokontroléru je používána hotová platforma.

Je použit chladič z procesoru počítače s přídavným větráčkem, který vše zvládá s naprostou jistotou.

Popis Obrázku 18: V levé části je konektor, do kterého se zasune Nucleo. Ve spodní části jsou dva konektory pro připojení napájecího napětí (napájecí jednotky) a výstupní svorky, vpravo potom relé připínající výstupní svorky k výkonovému operačnímu zesilovači. Veškerá elektronika se nachází ve středu desky. Není zde displej, tlačítka, ani enkodér, ty byly přidány až později. V konečné verzi, i za předpokladu zachování současné konstrukce, by tak jako tak byly pouze připojeny konektorem, jelikož by se nacházely na desce čelního panelu.

Obrázek 18: Layout desky plošných spojů jednotky pro kontrolu výstupu

(29)

29

2.2.2. Programová část

Inicializace jednotky

Po zapnutí jednotky jsou načteny nastavené konstanty z flash paměti, inicializují se prostředky jako UART, piny, na kterých jsou připojena tlačítka a enkodér, DAC a ADC převodníky, komunikace s dvouřádkovým alfanumerickým LCD displejem. Jednotka se nastaví do manuálního módu s výstupním napětím nula, maximálním proudem nula a rozepnutým relé.

Dále se zapne automatické měření napětí a proudů. Pak již jednotka jen čeká na přijetí paketu, popřípadě na přepnutí módu na sériový.

Program

Celý program je založen na několika přerušeních, která jsou povolována, nebo zakazována podle toho, jestli je jednotka pro kontrolu výstupu v manuálním nebo sériovém módu, případně přerušení, která jsou povolená vždy, jak je tomu u přerušení tlačítka pro změnu módu a tlačítka pro ovládání relé. Vedle toho se cyklicky provádí konverze dvou ADC kanálů, které průběžně měří napětí a proud a naměřené hodnoty průměrují. Počet vzorků se dá lehce měnit, díky definici „FILTER_SIZE“.

Obrázek 19: Vývojový diagram hlavní části programu pro kontrolu výstupu

(30)

30 Program dále obsahuje stavový automat, který provádí časově nekritické operace, například reakci na přijatý paket nebo aktualizaci displeje podle příznaků, které se v přerušení nastaví tak, aby nedocházelo k dlouhodobému blokování vykonání ostatních přerušení a tím snížení dynamiky celého programu.

Obrázek 20: Vývojový diagram stavového automatu jednotky pro kontrolu výstupu

Všechny funkce jsou rozděleny do párů zdrojových a hlavičkových souborů, podle jejich účelu nebo prostředků, které používají tak, aby byl program relativně lehce čitelný a bylo možno ke zdrojům přistupovat způsobem, jakým je zrovna potřeba. Úprava možností současného kódu je časově velmi náročná činnost. Jelikož bylo hlavním cílem pochopení a popsání projevů spojitostí mezi událostmi a následky, nebyla možnost úpravy kódu šířeji využita.

Samotný způsob, jakým je řešeno přecházení mezi módy se jeví jako vhodný, jelikož za žádných okolností nedochází ke sdílení prostředků, ať už ve smyslu prostředků mikrokontroléru nebo částí programu.

(31)

31 Komunikační rámec

Komunikační rámec byl volen velmi jednoduchý, aby bylo možno jednotku pro ovládání výstupu použít i přímo, bez použití ostatních modulů, tzn. z počítače, za použití jednoduchého terminálu. Všechny hodnoty jsou ve formátu ASCII, takže není potřeba žádného převodu, celková délka rámce je dynamická díky tomu, že jako konec zprávy je považován až znak ‘\r’, neboli „Carrier Return“. Zdroj na přijetí kompletní zprávy reaguje odpovědí, která je rovněž ve formátu ASCII a oznamuje, jestli se operace povedla, popř. proč tomu tak nebylo.

Operace Operand Hodnota ‘\r'

G U

Hodnota

'\r'

S I '\r'

R '\r'

0 '\r'

1 '\r'

2 '\r'

3 '\r'

4 '\r'

5 '\r'

6 '\r'

7 '\r'

8 '\r'

9 '\r'

Operace

G … Požadavek o současnou hodnotu S … Příkaz k nastavení hodnoty Operand

U … napětí I … proudu R … relé

0 … naměřenou hodnotu napětí

1 … Současnou hodnotu VOLTAGE_SET_ADJUST_OFFSET 2 … Současnou hodnotu VOLTAGE_SET_ADJUST_MULTIPLIER 3 … Současnou hodnotu VOLTAGE_GET_ADJUST_OFFSET 4 … Současnou hodnotu VOLTAGE_GET_ADJUST_MULTIPLIER 5… naměřenou hodnotu napětí

6 … Současnou hodnotu CURRENT_SET_ADJUST_OFFSET 7 … Současnou hodnotu CURRENT_SET_ADJUST_MULTIPLIER 8 … Současnou hodnotu CURRENT_GET_ADJUST_OFFSET 9 … Současnou hodnotu CURRENT_GET_ADJUST_MULTIPLIER Hodnota

nová hodnota (bere se v potaz pouze, když se nastavuje)

Obrázek 21: Komunikační rámce jednotky pro kontrolu výstupu

(32)

32 Konstanty

V případě nastavování i měření napětí i proudu, se používá aproximace pomocí dvou bodů, jelikož se dá předpokládat, že průběhy budou lineární.

VOLTAGE_SET_ADJUST_OFFSET VOLTAGE_SET_ADJUST_MULTIPLIER VOLTAGE_GET_ADJUST_OFFSET VOLTAGE_GET_ADJUST_MULTIPLIER

CURRENT_SET_ADJUST_OFFSET CURRENT_SET_ADJUST_MULTIPLIER CURRENT_GET_ADJUST_OFFSET CURRENT_GET_ADJUST_MULTIPLIER

Vzorce

Přepočty jsou velice jednoduché, vzhledem k tomu, že veškeré nelinearity jsou obstarány na úrovni HW. Konstanty obsahující „SET“ sloužící k přepočtu mezi požadovanou hodnotou a kódem pro DA převodník. Konstanty obsahující „GET“ slouží pro přepočty mezi kódem z ADC a skutečnou hodnotou, tak jak ukazují vzorce níže.

Vzorec pro výpočet kódu DAC řídícího napětí:

Ucode= VOLTAGE_ADJUST_OFFSET + (VOLTAGE_SET_ADJUST_MULTIPLIER

∙ (požadované napětí))

Vzorec pro výpočet kódu DAC řídícího proud:

I_code = CURRENT_ADJUST_OFFSET + (CURRENT_SET_ADJUST_MULTIPLIER

∙ (požadovaný maximální proud))

Vzorec pro výpočet skutečné hodnoty napětí:

𝑈𝑚𝑒𝑎𝑠= (𝑐𝑜𝑑𝑒 ∙ 𝑉𝑂𝐿𝑇𝐴𝐺𝐸_𝐺𝐸𝑇_𝐴𝐷𝐽𝑈𝑆𝑇_𝑀𝑈𝐿𝑇𝐼𝑃𝐿𝐼𝐸𝑅) + 𝑉𝑂𝐿𝑇𝐴𝐺𝐸_𝐺𝐸𝑇_𝐴𝐷𝐽𝑈𝑆𝑇_𝑂𝐹𝐹𝑆𝐸𝑇

Vzorec pro výpočet skutečného proudu:

𝐼𝑚𝑒𝑎𝑠 = (code/CURRENT_GET_ADJUST_MULTIPLIER) + CURRENT_GET_ADJUST_OFFSET

(33)

33

2.2.3. Výsledky měření

Vzhledem k velikosti proudů, kterých má být zdroj schopen, byl otestován kromě zdroje s jednoduchou zpětnou vazbou (Obrázek 23) i zdroj s nepřímou zpětnou vazbou (Obrázek 22), což spočívalo v tom, že se výstupní napětí výkonového operačního zesilovače přes dělič přivede na otevřenou zpětnou vazbu DAC, který na to má speciální vývod.

Při malé zátěži se obě verze chovaly stejně, ale zvyšováním výstupního proudu se rozdíly začaly stávat patrnějšími. Jak je čitelné z grafů naměřených hodnot, zapojení s jednoduchou zpětnou vazbou si vedlo o něco lépe.

Nepřímá zpětná vazba

Obrázek 22: Nepřímá zpětná vazba Jednoduchá zpětná vazba

Obrázek 23: Jednoduchá zpětná vazba

(34)

34 Zatěžovací charakteristiky zapojení s nepřímou zpětnou vazbou

Graf 1: zatěžovací charakteristika zapojení s nepřímou zpětnou vazbou 5V

Graf 2: zatěžovací charakteristika zapojení s nepřímou zpětnou vazbou 15V Nepřímá

5V Iout Uout

0,5 4,83

1 4,67

1,5 4,5

1,9 4,35

Nepřímá 15V Iout Uout

0,5 14,85

1 14,7

1,5 14,6 1,9 14,45

4,3 4,4 4,5 4,6 4,7 4,8 4,9 5

0 0,5 1 1,5 2

Napětí [V]

Výstupní proud [A]

Zatěžovací charakteristika 5V

14,4 14,5 14,6 14,7 14,8 14,9 15

0 0,5 1 1,5 2

Napětí [V]

Výstupní proud [A]

Zatěžovací charakteristika 15V

(35)

35 Zatěžovací charakteristiky zapojení s jednoduchou zpětnou vazbou

Graf 3: zatěžovací charakteristika zapojení s přímou zpětnou vazbou 5V

Graf 4: zatěžovací charakteristika zapojení s přímou zpětnou vazbou 15V Přímá

5V Iout Uout

0,5 4,95

1 4,88

1,5 4,8

2 4,70

Přímá 15V Iout Uout

0,5 14,95

1 14,86

1,5 14,77 1,9 14,7

4,7 4,75 4,8 4,85 4,9 4,95 5

0 0,5 1 1,5 2 2,5

Napětí [V]

Výstupní proud [A]

Zatěžovací charakteristika 5V

14,6 14,65 14,7 14,75 14,8 14,85 14,9 14,95 15

0 0,5 1 1,5 2

Napětí [V]

Výstupní proud [A]

Zatěžovací charakteristika 15V

(36)

36 Závěr k charakteristikám

Z charakteristik vyplývá, že zapojení s jednoduchou zpětnou vazbou dosahuje lepších výsledků.

Je to trochu zarážející, protože nepřímá zpětná vazba by měla problém se změnou výstupního napětí podle výstupního proudu odstranit. Je pravděpodobné, že se dostala do nějakého druhu nestability. Výše uvedenému nasvědčuje i zatěžovací charakteristika zapojení s nepřímou zpětnou vazbou při 15 voltech, kde se změna napětí v závislosti na proudu chovala nelineárně.

2.3. Jednotka pro napájení

Jednotka pro napájení zpracovává napětí ze sítě. Vlastně se jedná o toroidní transformátor s usměrňovačem, filtrem a svorkovnicí.

Toroidní trafo bylo zvoleno, jelikož je menší, lehčí a hlavně má lepší magnetické vlastnosti. Je možné využít podstatně většího sycení, z čehož vyplývá menší hmota jádra a jeho rozměry.

Dále má velkou ochlazovací plochu, takže je možnost většího měrného zatížení a použití menšího průřezu vodiče.

Jednou z mála nevýhod "toroidů" je značná velikost nárazového proudu při připojení toroidu ke zdroji elektrické energie. Dá se říci, že od výkonu 200VA spolehlivě „vyrazí“ jistič. Křivka toroidního transformátoru se totiž při jeho zapnutí chová jako zkrat. Výkon použitého toroidního trafa je přibližně 50VA.

Tato část je pouze teoretická, vždy byl k napájení používán laboratorní zdroj.

Hodnota výstupního napětí je 24V a hodnota maximálního výstupního proud jsou 2A. Zdroj je určen k pozdější modifikaci, tzn. velikost maximálního výstupného proudu je dána transformátorem a výkonovým zesilovačem v jednotce pro ovládání výstupu (jednotka pro ovládání výstupu mimo jiné obsahuje i maximální nastavitelný proud, aby nemohlo dojít ke spálení z důvodu omylu při nastavování maximálního proudu).

Obrázek 24: Schéma zapojení jednotky pro napájení

(37)

37 Pojistka F1 by měla mít hodnotu 100mA. Hodnota blokovacího kondenzátoru C1 se dá vypočítat podle vzorce

𝐶 = (𝐼𝑚𝑡)/𝑈𝑟

𝐶 = 𝐼𝑚𝑡1 2 𝑈𝑚− 𝑈𝑥

𝐶 = 𝐼𝑚

2𝑓(𝑈𝑚− 𝑈𝑥) Takže po dosazení zjištěných hodnot

𝐶 = 2

2 ∗ 100(24 − 23)= 20𝑚𝐹

Z výše uvedeného vyplývá, že hodnota kondenzátoru C1 musí být vyšší nebo rovna 20mF.

V případě použití velké kapacity bude vhodné vložit mezi výstup B1 a C1 malý výkonový odpor kvůli špičkovému proudu při zapnutí.

2.4. Jednotka rozhraní

Hlavním úkolem jednotky rozhraní je umožnit vykonávání sekvencí tím, že si do své paměti RAM uloží požadovaný průběh a ten pak postupně, ve správné časy, přeposílá do jednotky pro ovládání výstupu nebo pouze přeposílá zprávy do jednotky pro ovládání výstupu (viz příkaz forward).

Aktuální sekvence se nachází v RAM, kde je pro ni vyhrazeno 64kB, takže celkem 8 tisíc vzorků. Tam se dá načíst buď z počítače (command S) nebo z SD karty s fatfs. Na SD kartu se dá také ukládat, ať už z RAM nebo klasicky tak, že se na ni zkopíruje při zapojení do počítače.

Vzhledem k tomu, že jako primární vývojová platforma byla použita Nucleo a komunikace pomocí UART, je možné připojit jednotku pro ovládání výstupu přímo k počítači a použít obslužný program, který může být ve formě GUI nebo čistě z terminálu, takže k ovládání zdroje se dají použít i skripty napsané například v pythonu. Nastavování a měření s pomocí zdroje je tedy možné automatizovat a začlenit do většího celku, přičemž je použit buď celý zdroj, nebo pouze jeho jednotky, které jsou vyžadovány (například jednotka pro napájení se dá zaměnit za jiný zdroj a jednotka rozhraní se nemusí použít vůbec).

(38)

38

2.4.1. Analogová část

V analogové části u této jednotky toho nebylo mnoho k řešení, šlo jen o to mít možnost připojit SD kartu do konektoru, aby bylo možno ji jednoduše měnit a hlavně, aby byl kontakt s kartou spolehlivý. Poměrně často se stává, že se dlouho zasunutá karta časem deformuje vlivem tepla ve spojitosti s mechanickým napětím. Poslední částí zapojení je konektor pro připojení jednotky pro kontrolu výstupu přes UART. Ve schématu na obrázku 25 jsou také vidět headery od vývojové platformy.

Obrázek 25: Schéma zapojení jednotky rozhraní

2.4.2 Programová část

Jako první se inicializují UARTy, pro komunikaci s hostem (PC) a s jednotkou pro kontrolu výstupu. Rozpojí se relé jednotky kontroly výstupu. Nastaví se výchozí hodnoty napětí a proudu.

Dalším krokem je inicializace se „sequence_manager“, což je správce sekvencí, která má na starosti provádění sekvencí, jejich načítání z SD karty, do RAM a naopak, kontrolu validity sekvence v RAM tím, že vypočítá CRC a porovná ho CRCem, který v sobě obsahuj sekvence.

Také slouží jako rozhraní mezi hlavním kódem a přístupem k SD kartě a ovládá svůj timer, díky kterému generuje časy mezi odesíláním vzorků.

(39)

39 Program

Místo vývojového diagramu bylo použito blokové schéma popisující hlavní datový tok v jednotce rozhraní. Stejně tak jako předchozí jednotka i tato přijímá data skrze UART (USB- UART).

Jednotka čeká na kompletní paket. Zpočátku přijímá do Cmd bufferu dokud nedorazí kompletní token, podle kterého se rozhodne, jestli dále přijímat do Cmd bufferu nebo přepnout na Data cache a tak přijmout data do RAM.

Po přijetí konce paketu (0xffff…) se skrze blok „Konec paketu“ přejde na akce spojené s dokončením příjmu. „Forward“ přeposílá data ve vhodném formátu do jednotky pro kontrolu výstupu. Blok „Sekvence“ může být jako název trochu matoucí, jedná se pouze o obstarání operací nad daty, tzn. spustit, zastavit, uložit do paměti a tak dále. Nakonec blok „Data“

- v tomto bloku dojde ke kontrole CRC příchozích dat a případnému oznámení chyby při přenosu.

Ve spodní části Obrázku 26 je vidět SD karta, na které je file systéme, takže SD karta se dá vyčítat a zapisovat pomocí počítače.

Obrázek 26: Blokové schéma programu jednotky rozhraní

(40)

40 Program dále obsahuje stavový automat, který má za úkol provádět operace, které nejsou časově kritické. Hlavním důvodem pro použití tohoto automatu byla skutečnost, že kontrola validity může trvat poměrně dlouho.

Obrázek 27: Vývojový diagram stavového automatu jednotky rozhraní

(41)

41 Komunikační rámec

Komunikační rámec se skládá z tokenu, který nese informaci o povaze přijímané zprávy.

V případě, že jsou příchozí data určena k přeposlání (forward), provádí operaci nad daty (sekvence) nebo je přijímána nová sekvence do paměti RAM. Token dále obsahuje kontrolní součet CRC, používám CRC32 MPEG2. Mikrokontrolér má pro tento CRC HW podporu, takže ho počítá velice rychle a nevyžaduje žádnou paměť navíc, ale to je spíše kvůli vyhlídce do budoucna, periferie pro výpočet kontrolního součtu nebyla využita.

Message je hlavní obsah zprávy. V případě, že jsou přijímaná data určena k přeposlání, obsahuje zprávu ve stejném formátu jako je přijímá jednotka pro kontrolu výstupu (viz.

„Message přikazu forward“).

V případě zprávy typu sekvence obsahuje operaci, což může být například „RUN“ nebo

„STOP“, kde param pak představuje počet opakování. Další důležitá zpráva je například

„SAVE“, neboli uložení sekvence z RAM na SD kartu a naopak, param pak uvádí pořadové číslo sekvence, data se na SD kartu ukládají pod názvem „seq“, za kterým následuje toto pořadové číslo.

Jako poslední je zpráva typu „Data“, která se skládá z délky sekvence, CRCu této délky, CRCu dat, za kterými už následují samotné vzorky, které se mají provádět „Data sample“. Tyto vzorky se skládají z komunikačního rámce jednotky pro kontrolu výstupu, bez ukončovacího znaku, ale zato s proměnnou „Duration ms“, která udává dobu vystavení vzorku. Je dána minimálně na 1ms a maximálně na 65535ms.

Jelikož je použit smíšený formát dat, tzn. některé hodnoty jsou ve formátu ASCII a jiné jako RAW data, konkrétně float „Value“, jsou 4 bajty a „Duration ms“ dva (uint16)

Obecná komunikační rámec Token Message end

Token Message příkazu forward end

CRC32 Command Operation Operand Value 0xffffffffffffffff Message příkazu sequence

Operation Param Message příkazu data

Head Body

len CRC_len CRC_data Data_sample[]

Obrázek 28: Komunikační rámec jednotky rozhraní

(42)

42

2.4.3 Výsledky měření

Na obrázku níže (Obrázek 29) je vidět odesílání dvou po sobě jdoucích zpráv z jednotky rozhraní do jednotky pro kontrolu výstupu. Vzorky by měly jít přesně 10ms po sobě, naměřená hodnota se lehce liší.

Obrázek 29: Záznam dvou po sobě jdoucích zpráv

Zde (Obrázek 30) už je vidět konkrétní paket, jdoucí z jednotky rozhraní do jednotky pro kontrolu výstupu.

Obrázek 30: Detail zprávy pro jednotku kontroly výstupu

(43)

43

3. Realizace

Měření na výstupu

Signál sinus, složený ze stovky vzorků s offsetem 5, amplitudou 2,5 a dobou trvání (duration) 10ms.

Obrázek 31: Napětí na výstupu, generováni sinu frekvence 1Hz

Signál sinus, složený ze stovky vzorků s offsetem 2,5, amplitudou 2,5 a dobou trvání (duration) 1ms. Je zde vidět omezení ze spodní strany, vyplývající z faktu, že zesilovač není rail- to-rail.

Obrázek 32: Napětí na výstupu, generováni sinu frekvence 10Hz

(44)

44

Prototyp

Na Obrázku 33 jsou vidět jednotky pro kontrolu výstupu (vpravo) s vodiči pro napájecí napětí z power jednotky (černo-červená svorkovnice) a výstupem (žluto-černá svorkovnice). Vývojová platforma byla upravena pro debug, přemostění UART, kvůli přepínání komunikace mezi jednotkou pro kontrolu výstupu a počítačem nebo jednotkou rozhraní. Vlevo pak vidíme jednotku rozhraní se zapojenou SD kartou.

Obrázek 33: Fotka prototypu

(45)

45

4. Závěr

Mezi hlavní výhody zdroje složeného z částí patří, že je možné použít buď kompletní řešení, nebo si vybrat jen potřebné jednotky. Dále se dají jednotlivé části zaměnit za výkonnější, menší nebo jinak upravené podle prostředí jejich působnosti, dokud je dodržen komunikační rámec mezi nimi.

Velikost poklesu napětí při zatížení je způsobena operačním zesilovačem OPA548T. Lepších výsledků by se pravděpodobně dalo dosáhnout pomocí speciálně navrženého výkonového zesilovače, popřípadě vyřešit zpětnou vazbu skrze mikrokontrolér tak, že by se hodnota na výstupu změřila, porovnala s požadovanou a podle toho by se rozhodlo, jestli napětí zvýšit, zmenšit nebo ponechat ve stávající výši. Ale zdá se, že nejlepší řešení by bylo využít nastavitelného spínaného regulátoru, například LTC3649.

Průběh vývoje byl zdlouhavější, než jsem čekal, proběhlo mnoho iterací, které si kladly za cíl zlepšit chování celého zdroje a částečně se to i povedlo, ale i přesto se v programu vyskytuje mnoho míst, která by se dala ještě vylepšit.

K výpočtu kontrolních sum CRC32 používám SW implementaci místo HW (STM32F401 má HW podporu), jelikož jsem si nebyl jistý jakou konkrétní predefinici budu chtít použít a celý debug se tím zjednodušil.

Za podstatnou výhodu mého prototypu považuji možnost používat paměťovou SD kartu.

Množství průběhů, které se tam dají uložit je značně velké, navíc se požadované průběhy dají jednoduše klonovat. Na kartu si tak lze například za pomoci MATLABu nebo jiného skriptovacího jazyku vygenerovat libovolný průběh, jehož součástí může být jak změna napětí, což je základ, tak nastavení omezení výstupního proudu, odepnutí relé nebo zjištění hodnoty.

Minimální doba vystavení jednoho vzorku je stanovena na jednu milisekundu, to vyplývá hlavně, z mnou zvolené koncepce zdroje, rozdělení na více jednotek. Tím se komplikuje přenášení dat mezi nimi. Navíc vzhledem k bezpečnosti je potřeba průběžně počítat CRC pro kontrolu validity. V drtivé většině případů by ale tato vzorkovací doba měla být dostatečná.

Pořizovací cena materiálu na sestrojení složeného přístroje není vysoká, pohybuje se přibližně kolem 1500 Kč (bez mechanických prvků). Vývoj vlastního přístroje se rozhodně vyplatí v případě požadavku na jeho speciální parametry nebo funkce, například velmi citlivou proudovou pojistku, což se mi podařilo. Také omezení výstupního proudu lze regulovat velice přesně díky speciálnímu pinu OPA548T. Další speciální funkcí by mohla být extrémně přesná regulace napětí s malými rozsahy výstupními proudy.

(46)

46

Literatura

[1] Sylicon labs. AN0059 [online] 2013 [citováno 2. dubna 2017]. Dostupný z:

https://www.silabs.com/documents/public/application-notes/AN0059.pdf

[2] Milos Vidojevic. Článek o UART. [online]. 2016. [citováno 2. dubna 2017]. Dostupný z:

https://learn.mikroe.com/uart-serial-communication/

[3] Ing. Jan Babčaník. Článek o spínaných zdrojích. [online]. 2007. [citováno 2. dubna 2017].

Dostupný z: http://vyvoj.hw.cz/teorie-a-praxe/spinane-zdroje.html

[4] E. Článek o i2c rozhraní pro lcd. [online]. 2014. [citováno 2. dubna 2017]. Dostupný z:

HTTPS://ARDUINODIY.WORDPRESS.COM/CATEGORY/LCD/

(47)

47

Přílohy

Obsah přiloženého CD

Složky:

 Diagrams

 Všechny vývojové diagramy a bloková schémata použité v práci

 Schematics

 Obsahuje schémata zapojení jednotky pro kontrolu výstupu a jednotky rozhraní (ve formě obrázků)

 Aplications

 Aplikace pro ovládání jednotky kontroly výstupu pomocí počítače

 Konzolové aplikace používané pro ověření funkčnosti obou jednotek

 Projects

 Kompletní projekty pro IDE Atollic

 Kompletní projekty pro Visual studio Soubory:

 Bakalarska_prace_konvicka_2017

 Text bakalářské práce ve formátu PDF

References

Related documents

Předně bych chtěl poděkovat svému vedoucímu diplomové práce, panu profesoru Ing. Ivanu Stiborovi, CSc. za podnětné nápady, profesionální, a zároveň velmi lidský přístup

Antihrdinu můžeme charakterizovat jako hlavní postavu příběhu (tedy hrdinu), který se ovšem vymyká běžnému chápání hrdiny jako takového.. Postrádá hrdinské

Jedná se zejména o dodržení všestrannosti a dobře vedeného tréninku, sportovní aktivity by neměly přinášet příliš velkou únavu a měly by být zajištěny pravidelné

Z grafu je možné vyčíst, že všechny druhy optimalizace, které byly použity, jsou podstatně rychlejší než výpočet NoDB, který volá program React pro výpočet všech buněk

Cílem této práce bylo navrhnout měnič na koncepci spínaného zdroje, který dokáže z palubních článků trakční baterie snížit napětí z 200–320 VDC na 13,8

Jestliže dítě nemluví včas či správně, je dobré neváhat a požádat o logopedické vyšetření. Někdy může být ve 3 letech dítěte ještě brzy na

Tato data jsou získána ze základních účetních výkazů, tedy rozvahou (viz Příloha A) a výkazem zisku a ztráty (viz Příloha B). Jednotlivá data ve výkazech jsou

Teoretickii d6st je logicky dlendnS. Autor popisuje pifrodnf vlSkna rostlinndho pfivodu jejich chemickd sloZenf a mechanickd vlastnosti. Poukazuje na kritickou