Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2019:accu-monitor

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2019:accu-monitor [2020/01/19 21:01]
Milan Ambrož [Hardware]
2019:accu-monitor [2020/01/19 22:17] (aktuální)
Milan Ambrož [Závěr]
Řádek 85: Řádek 85:
 Analogově-digitální převodník pracuje v automatickém režimu měření deseti kanálů a referenčního zdroje napětí. Změřené hodnoty jsou opět pomocí DMA zapisovány do pole hodnot "​adcvalue" ​ Analogově-digitální převodník pracuje v automatickém režimu měření deseti kanálů a referenčního zdroje napětí. Změřené hodnoty jsou opět pomocí DMA zapisovány do pole hodnot "​adcvalue" ​
 AD převodník mikroprocesoru STM32 funguje tak, že při konfiguraci zvolíme, které vstupy chceme měřit a ty se měří cyklicky za sebou. Vše se děje automaticky,​ není potřeba ručně volit, který vstup se má změřit. vždy pokračuje na další. ​ AD převodník mikroprocesoru STM32 funguje tak, že při konfiguraci zvolíme, které vstupy chceme měřit a ty se měří cyklicky za sebou. Vše se děje automaticky,​ není potřeba ručně volit, který vstup se má změřit. vždy pokračuje na další. ​
-Jako poslední se měří vnitřní napěťová reference. Z této reference se pomocí kalibrační hodnoty, kterou do mikroprocesoru pevně nahrál výrobce vypočáítá ​aktuální napájecí napětí AD převodníku. Toto napětí posléze slouží jako referenční napětí pro AD převod měřených hodnot.+Jako poslední se měří vnitřní napěťová reference. Z této reference se pomocí kalibrační hodnoty, kterou do mikroprocesoru pevně nahrál výrobce, se vypočítá aktuální napájecí napětí AD převodníku. Toto napětí posléze slouží jako referenční napětí pro AD převod měřených hodnot.
 Tento přepočet je prováděn pomocí proměnných typu float z důvodu, že zde vychází velká čísla a výsledek dělení je desetinný. Mikroprocesor ale i s float proměnnými počítá velmi rychle, narozdíl od osmibitových mikroprocesorů. Tento přepočet je prováděn pomocí proměnných typu float z důvodu, že zde vychází velká čísla a výsledek dělení je desetinný. Mikroprocesor ale i s float proměnnými počítá velmi rychle, narozdíl od osmibitových mikroprocesorů.
 V následující ukázce kódu se vypíše na sériovou linku napětí prvního akumulátoru:​ V následující ukázce kódu se vypíše na sériovou linku napětí prvního akumulátoru:​
Řádek 103: Řádek 103:
 V poslední řadě se v hlavní nekonečné smyčce programu kontroluje, zdali napětí některého z akumulátorů nevybočuje z pevně nastavených mezí. V tomto případě se rozsvítí indikační LED pro daný akumulátor. V poslední řadě se v hlavní nekonečné smyčce programu kontroluje, zdali napětí některého z akumulátorů nevybočuje z pevně nastavených mezí. V tomto případě se rozsvítí indikační LED pro daný akumulátor.
  
-Na začátku kódu jsou defonovány ​hodnoty jak děliče, tak mezních napětí:+Na začátku kódu jsou definovány ​hodnoty jak děliče, tak mezních napětí:
 <code c> <code c>
 #define divider 23.0 #define divider 23.0
Řádek 145: Řádek 145:
 Při výrobě DPS v domácích podmínkách se mi nepodařilo vyvolat kvalitní předlohu pro výrobu, pravděpodobně mám už staré zásoby fotocitlivého kuprextitu a z tohoto důvodu jsem sestavil zařízení pomocí vývojového kitu a nepájivého pole. Při výrobě DPS v domácích podmínkách se mi nepodařilo vyvolat kvalitní předlohu pro výrobu, pravděpodobně mám už staré zásoby fotocitlivého kuprextitu a z tohoto důvodu jsem sestavil zařízení pomocí vývojového kitu a nepájivého pole.
  
-Při výrobě finálního výrobku je také třeba v progrtamu ​změnit hodnotu dělícího poměru, aktuální hodnota je vztažená k děliči 680k/33k, protože dané rezistory byly k dispozici ve vývodovém pouzdru. ​+Při výrobě finálního výrobku je také třeba v programu ​změnit hodnotu dělícího poměru, aktuální hodnota je vztažená k děliči 680k/33k, protože dané rezistory byly k dispozici ve vývodovém pouzdru. ​
  
 Funkce SW byla otestována na nepájivém kontaktním poli a pracuje spolehlivě. Na ukázkách jsou sice využity čtyři vstupy, ale postupně byly ověřeny všechny vstupy. ​ Funkce SW byla otestována na nepájivém kontaktním poli a pracuje spolehlivě. Na ukázkách jsou sice využity čtyři vstupy, ale postupně byly ověřeny všechny vstupy. ​
Řádek 151: Řádek 151:
 Zbylé dva kanály a dvě nevyužité LED jsou plánovány pro rozšíření funkce. Pomocí dvou kanálů budou měřena napětí obvodu 24V a 12V, ze kterého se napájí osvětlení. LED budou indikovat správnost těchto napětí. Zbylé dva kanály a dvě nevyužité LED jsou plánovány pro rozšíření funkce. Pomocí dvou kanálů budou měřena napětí obvodu 24V a 12V, ze kterého se napájí osvětlení. LED budou indikovat správnost těchto napětí.
  
-Další užitečné rozšíření bude aplikace ​jednoducháho ​filtru výstupu AD převodníku. Ačkoliv jsou vstupy filtrovány,​ tak příležitostně je změřena špatná hodnota, pravděpodobně vlivem rušení. Tato chyba se ale může vyskytovat taktéž z důvodu dlouhých přívodů a sestavení na nepájivém kontaktním poli.+Další užitečné rozšíření bude aplikace ​jednoduchého ​filtru výstupu AD převodníku. Ačkoliv jsou vstupy filtrovány,​ tak příležitostně je změřena špatná hodnota, pravděpodobně vlivem rušení. Tato chyba se ale může vyskytovat taktéž z důvodu dlouhých přívodů a sestavení na nepájivém kontaktním poli.
  
 **ZIP archiv se schematem a PCB v SW Eagle a zdrojovými kódy:** **ZIP archiv se schematem a PCB v SW Eagle a zdrojovými kódy:**
 +{{ :​2019:​monitor_pb:​mereni_solar_nucleo.zip |}}
  
 **Krátké video demonstrující funkci:** **Krátké video demonstrující funkci:**
 +https://​youtu.be/​7ZXOgswnDS0 
 +{{youtube>​7ZXOgswnDS0?​medium}}
  
 ===== Zdroje ===== ===== Zdroje =====
2019/accu-monitor.1579464092.txt.gz · Poslední úprava: 2020/01/19 21:01 autor: Milan Ambrož