Registrační avomet

 

 

Registrační avomet

 Paměťová SD karta umožňuje záznam měřených hodnot a jejich následné grafické zpracování, např. v EXCELU (soubor "*.csv"). Táto skutečnost byla inspirací k sestavení registračního avometu. Byly použity komponenty aktuálně "po ruce", např. pětimístný displej (50 mV). Byla zvažována možnost použití procesoru ATtiny, od čehož bylo ustoupeno z důvodu nedostatečné paměti předmětného čipu, viz diskuse

Rozsahy měření: stejnosměrné napětí 20 V, stejnosměrný proud 20 A. 

Ideové schéma registračního avometu:

 

Arduino je zde zastoupeno procesorem ATmega328P. Jeho zapojení ve verzi "Arduina bez Arduina" je uvedeno v kapitole "Uspání a přerušení" (krystal 16 MHz zapojíme na kontakty X1 a X2 procesoru). Modul SD karty byl zapojen podle kapitoly "SD modul" . Pro napájení byla použita baterie LiPo 3,7 V. Dobíjení adapterem 5V bylo upraveno diodami v sérii (LiPo akumulátor by neměl být nabíjen více jak na 4,2 V). Z důvodu napájení SD mikro modulu 4,5-5,5 V bylo nutné použit napěťový násobič (MT3608) zvyšující napětí  z 3,7 V na  5 V. Referenční napěťová úroveň analogového vstupu procesoru ATmega byla zvolena 1,1V (parametr INTERNAL, viz kapitola "Kontrola napětí"). Pro okamžité sledování měření byl zvolen pětimístný displej původně pořízený jako miliampermetr 50 mA. Po odstranění bočníku byl displej využit jako vysokoimpedanční milivoltmetr s rozsahem 50 mV (není vhodný, poslední dvě pozice problikávaly). Rozsah napětí 20 V byl upraven děličem. Rozsah 20 A byl upraven bočníkem (podrobností zde) a operačním zesilovačem LM358N s nesymetrickým napájením (z důvodu vyhovující linearity byl vybrán jeden z deseti). Procesor lze programovat přes konektor převodníkem CP2102 podle kapitoly "Butování/nahrávání AT328P" . Při nahrávání musí být odpojeno napájení (LiPo 3,7 V) a musí být zapnutý záznam (červený kolébkový přepínač), tj. pin RESET procesoru nesmí být spojen s GND.  

K přepínání funkce U/I byl využit kolébkový přepínač se střední nulovou polohou umožňující přímé připojení samostatného vstupu na "sběrnící" 1,1 V, na kterou je připojen  analogový pin A0 procesoru (vhodné pro záznam s intervalem 0,1s překlenutím kapacit na vstupech rozsahů 20 V a 20 A). Záznam na kartu SD se zapíná červeným kolébkovým přepínačem napojeným na reset procesoru (a na červenou ledku). Vstupy a dobíjení jsou umístěny shora, přístup na SD slot a konektor programování zdola. 

 

Do procesoru nahrajeme přes převodník CP2102 skeč " SD_avomet.ino" :

Skeč "SD_avomet.ino":

//************************
// ZADEJ ČASOVÝ INTERVAL ZÁZNAMU, např.: 1 minuta = 60000, 1 sekunda = 980, 0.1 sekundy = 81 (Poz.: 19 milisekund je čas potřebný k záznamu, tj. čas běhu smyčky) 
int T = 980; 
//************************

#include <SPI.h>                                                               // knihovny  
#include <SD.h>                                                                

File soubor;                                                                        //deklarace 
int const pinCS = 2;
float H=0; 
float X=0;
int Z=0;

void setup()
{SD.begin(pinCS);                                                             //nastavení pinu D2 - signál CS pro SD kartu
Serial.begin(9600); 
analogReference(INTERNAL);}                                       //nastavení interního referenčního napětí 1,1 V   

void loop() 
{H=analogRead(14);                                                         //načtení analogové hodnoty na pinu A0, zde 14
X=((H*20)/1023);                                                            //nastavení rozsahu měření - 20V, 20A
Z=X*100;                                                                         //úprava na celé číslo (x100) pro Excel (Excel používá desetinnou čárku, v Excelu se vydělí stem)  
soubor = SD.open("DATA.csv", FILE_WRITE);              //založení souboru "DATA.csv" na SD kartě 
soubor.print(Z);                                                                 //záznam hodnoty "Z"
soubor.println(";");                                                             //záznam středníku    
soubor.close();                                                                  //uzavření záznamu
delay(T);}                                                                         //nastavení času mezi záznamy, viz záhlaví 

 

V záhlaví skeče máme možnost nastavit interval záznamu, např. 1 minuta, 1 sekunda, 0,1 sekundy.  Násobení měřené hodnoty konstantou 100 (Z=X*100) bylo zavedeno z důvodu použití celých čísel pro účel grafického zpracování dat souboru "DATA.csv" v Excelu (Excel používá desetinnou čárku, Arduino desetinnou tečku). V Excelu se sloupec hodnot vydělí stem (konstanta 100 je vhodná pro záznam s intervalem 1 sekunda). Vstupní odpor na rozsahu 20 V činil 15 MΩ, vstupní odpor napojení na "sběrnici" 5 MΩ. Odběr zařízení činil 60 mA (baterie na 24 hodin).

Na co si dát pozor

Zapojení obsahuje přímý vstup na "sběrnici" označený ve schématu + 1,1 V. Napětí 12 V připojené nedopatřením na tuto sběrnici, tj. na analogový pin A0, poškodilo procesor. Došlo pravděpodobně k průrazu v analogové části procesoru. Vstup A0 (včetně dalších A1-A5) vracel vždy maximální hodnotu 1023 nezávisle na připojeném napětí. Byla použita patice, takže procesor byl snadno vyměněn. Zběžně ověřené další funkce poškozeného procesoru, např. nahrávání skeče, program "blink", tlačítko" byly funkční. Analogové piny A0-A5 bylo možné konfigurovat a použít jako funkční digitální vstupy. 

Překážky

 Po sestavení "hardweru" se projevila vysoká impedance systému a vysoká citlivost použitého displeje. Při měření např. jednotek voltů jsou ve skutečnosti na nejcitlivějších pozicíchi zobrazovány μV.  Displej na posledních dvou pozicích problikával. Rovněž "vysoká" impedance (odpor analogových vstupů ATmega328P při zapnutém procesoru je 100 MΩ) směřuje k nestabilitě na nízkých hodnotových úrovních. Např. použití červené blikající ledky k indikaci záznamu generovalo problikávání displeje na úrovni desetin voltů (bylo změněno na běžnou ledku). Z uvedených důvodů je v zařízení vhodné použít "nízkoodporové" nulování do jednoho bodu, stínění "U" boostru,  stínění vysokoimpedančních přívodů, kvalitní filtraci aj. Na dvojitém odporovém děliči a na operačním zesilovači se projevovala částečná nelinearita, která vyžadovala pečlivou volbu OZ a pečlivou volbu a nastavení napěťových děličů k docílení směrodatné odchylky +/- 5% v celém rozsahu měření. Rovněž samotné analogové vyhodnocení napětí procesorem ATmega328P není zcela ideální (viz LSB na straně 259 manuálu procesoru).

Přes uvedené nevýhody našel předmětný registrační avomet praktické uplatnění v "hobby amatérském" bastlení. 

 

Praktické použití

 

Stav akumulátoru Vybíjení C

 

 

Únor 2021 

 

Home

 

Arby

arduinohobby@email.cz