měření napětí Arduino Nano

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
Barbucha54
Příspěvky: 24
Registrován: 27 úno 2014, 01:00

měření napětí Arduino Nano

#1 Příspěvek od Barbucha54 »

Zdravím, pánové jednoduchá otázka. Kolik měření - maximálně, je možné realizovat během jedné vteřiny Arduinem Nano. Potřeboval bych se dostat na 360 měření za 20ms což je 18.000 měření za vteřinu - pokud se nepletu, k tomu ještě na obou analogových vstupech. Je to reálné? Pakliže není, poraďte jak to měřit jinak, přeba přes nějaký AD modul. Děkuji

Uživatelský avatar
misocko
Příspěvky: 1250
Registrován: 26 čer 2009, 02:00
Bydliště: Hlohovec (Sk)

#2 Příspěvek od misocko »

Arduino stiha 9600 samplov za sekundu. Takže asi nejaky AD prevodnik. Tiež je otazne kam chceš tie hodnoty dať, arduino ma malo pamete, a zapis na SD je dosť pomaly. Osobne na SD kartu stiham zapisať 1ms intervaly z jedneho kanala AD prevodnika arduina Mega.

Uživatelský avatar
bdn
Příspěvky: 436
Registrován: 16 led 2020, 01:00

#3 Příspěvek od bdn »

Jestli opravdu potřebuješ 18 000/sekundu, tak bych řekl, že atmega328 to zvládne v 8 bit. kvalitě.
Novější atmega4809/Arduino every, má rychlejší převodník.
Novější SAMD21G18A/Arduino zero, má ještě rychlejší převodník + DMA

Dle DS atmega328:
... Up to 76.9kSPS (Up to 15kSPS at Maximum Resolution)
... A normal conversion takes 13 ADC clock cycles.

Dle DS atmega4809:
...One 10-bit 150 ksps Analog to Digital Converter (ADC)
...A normal conversion takes 13 CLK_ADC cycles.
...The ADC requires an input clock frequency between 50 kHz and 1.5 MHz for maximum resolution.

Dle DS SAMD21G18A:
... One 12-bit, 350ksps Analog-to-Digital Converter (ADC)

Uživatelský avatar
Barbucha54
Příspěvky: 24
Registrován: 27 úno 2014, 01:00

#4 Příspěvek od Barbucha54 »

S panětí by neměl být problém, protože v podstatě potřebuji data z max 4x20ms, 4x360, tj. int 2880Byt - takže ok. ALe koukám, pokud bych to chtěl stinout tak se naučit programovat STM32, že. Ta by to stihla, ne?

Uživatelský avatar
bdn
Příspěvky: 436
Registrován: 16 led 2020, 01:00

#5 Příspěvek od bdn »

STM32, že. Ta by to stihla, ne?
Yes

Uživatelský avatar
Cust
Příspěvky: 5553
Registrován: 17 led 2007, 01:00
Bydliště: Husinec-Řež

#6 Příspěvek od Cust »

STM32 se dá programovat i v Arduino IDE... Alespoň ty vývojové desky nucleo.

Uživatelský avatar
Cust
Příspěvky: 5553
Registrován: 17 led 2007, 01:00
Bydliště: Husinec-Řež

#7 Příspěvek od Cust »

Výhoda je, že u nucleo si můžeš vybrat výkon/paměť/flash/ADC/DAC... U zera je to ložené.

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#8 Příspěvek od Mahoney »

Ehh, to bylo asi na mě, že? Já se omlouvám, napřed jsem položil otázku, a pak mě to zaujalo natolik že "jsem se položil na otázku" a začal se ptát Kachny (tak, jak se dřív ptalo strejdy Googla), až jsem se to všechno dozvěděl a otázku tady smazal jako už zbytečnou (bez refreshe stránky, takže jsem se nedozvěděl že jsi mi mezitím stihl odpovědět).

Jinak ještě doplním - aktuálně mě taky zajímá měření napětí, ale mě zajímá spíš přesnost, zabývám se totiž aktuálně nabíjením různých Li-Ion článků a měřením jejich charakteristiky, a tam se hraje na setiny voltu - takže se potkávám s problémy typu "letitý multimetr už najednou nestačí přesností", "nelze sehnat přesné reference na 5,12V" (a často ani jiné s "mocninovým" napětím, např. 2,56V), "rozlišení AD 10 bitů je relativně málo", vybíráním rezistorů se stejnou odchylkou tolerance do vstupních děličů, případně vhodnými OZ a podobně. Kdo má něco k věci, rád uvítám praktické zkušenosti (narozdíl od planých debat).

Uživatelský avatar
Barbucha54
Příspěvky: 24
Registrován: 27 úno 2014, 01:00

#9 Příspěvek od Barbucha54 »

Pánové, děkuji za plodné informace, které mě opět donutí nastudovat něco nového by člověk nezakrněl. ALe ještě jednu. Podle čeho mám zvolit který čip mám navolit v Adruinu IDE, když je na výběr BluePillF103C8 a GenericF103C8. Na modulu s F103C8, který mám k dispozici, není nic napsáno.
K napěťovým referencím. Co zkusit stavitelné napěťové reference TL493, LM385, LM336? Pokud vyhoví teplotní závislost, která se dá do určité míry korigovat členem s opačnou teplotní závislostí, tak se dá vastavit téměř jakékoliv napětí nad 2,5V. A co se týká operáků, použít přesné stavitelné přístrojové , např AD620 pro jednodušší aplikaci v modulu https://vi.aliexpress.com/item/10050016 ... pt=glo2vnm.

Uživatelský avatar
Cust
Příspěvky: 5553
Registrován: 17 led 2007, 01:00
Bydliště: Husinec-Řež

#10 Příspěvek od Cust »

Mahoney, jo, něco na co jsem odpovídal zmizelo... K otázce referencí: nevím jestli se to týká procesorů nebo obecně. Pokud jde o procesory, tuším, že u SAMu to jde řešit externí referencí. U STM je to řešené tak, že máš interní referenci, která je ve výrobě změřená a někde v romce vypálené údaje o referencí s teplotní závislostí. Co se týče obecného použití, nedávno jsem kupoval přesné reference od TI. Mrkni na jejich stránky, určitě si vybereš. A na jejich základě jsem přes operák dělal zdroje proudu. Zpětné vazby jsem řešil přes odpory s 0.1 % tolerancí...
Pokud chces externí referencí u STM, tak připojit na jeden analogový vstup.

PS: pozdravuj Chvátila

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#11 Příspěvek od Mahoney »

Barbucha54 píše:když je na výběr BluePillF103C8 a GenericF103C8
Hlavně se podívat pořádně přímo na MCU, jestli to třeba náhodou není STM32F103C6T6 (šestka místo osmičky). Jinak pokud je to stejnej MCU tak by to mělo být jedno.

Co se měření týče ještě si dost pohraješ, člověk postupně začíná chápat proč jsou obvody od Analog Devices nebo Linear Technology tak drahý když vidí, že 12bit převod lítá klidně o tři spodní řády jenom tím, že se mu tam "přifaří" nějaký rušení, vnitřní reference v MCU je "prostě tak nějak", z napájení z USB má modul 4,85V a jiný podobný zjištění (jako třeba že když chce slušný rozlišení tak fakt nebude stačit 8 bitů na 5 voltů, a tak podobně). Teplotní drift neřeším, ještě toho trochu… Mám to v pokojových podmínkách.

@Cust: Žádnýho neznám, ale když nějakýho poznám, tak mu to vyřídím.

Uživatelský avatar
Cust
Příspěvky: 5553
Registrován: 17 led 2007, 01:00
Bydliště: Husinec-Řež

#12 Příspěvek od Cust »

@Mahoney, ok tak to jsi úpně jiný Mahoney než jsem si myslel... :D

Jestli to chceš dělat low noise, tak externí reference, externí ADC a striktně oddělit analogovou zem od digitální. Dost často je propojuji přes nízkoohmický odpor (místo zkratu).

Uživatelský avatar
Barbucha54
Příspěvky: 24
Registrován: 27 úno 2014, 01:00

#13 Příspěvek od Barbucha54 »

Mahoney píše:
Barbucha54 píše:když je na výběr BluePillF103C8 a GenericF103C8
jestli to třeba náhodou není STM32F103C6T6 (šestka místo osmičky). Jinak pokud je to stejnej MCU tak by to mělo být jedno.
Díky za info. Ty čipy jsou C8.

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#14 Příspěvek od Mahoney »

@Cust, tak to taky ledacos vysvětluje :D

S referencemi je to potíž, potřebuju měřit do 4,2 V nejlépe na tisíciny (nebo aspoň s nějakou únosnou chybou v řádu těch tisícin), což je (těch 4,2 V) těsně nad obligátních 4,096. Sehnat 5,12 V - nevím o tom že by byly, 2,56 V je podobný problém, 1,024 V nestačí, tam pak vzniká už větší odchylka když se zpětně násobí (za děličem) + chyba na tom děliči, 2,048V by bylo z tohoto hlediska celkem únosných, ale když to násobíš tak aby ses dostal nad těch 4,2 V tak je to v podstatě ten stejnej průšvih. Nastavitelná reference je cesta, kterou jsem se taky zrovna chystal aspoň vyzkoušet (TL431B = 0,4 % odchylka), ale rády odcházejí a s teplem se "taky rády trochu projdou", ale uvidíme (ale lepší by byla fajn). Už jsem přemýšlel že ten rozsah posunu od nuly, nic lepšího mě zatím nenapadlo. Sice občas potkám článek na kterým by to mohlo vadit, ale na takovým zas už zpravidla není moc co zachraňovat. Že se mi moc nechce násobit ve floatech a podobný srandy ti asi došlo.

Jestli mi dokážeš doporučit nějaký schopný externí převodník tak 12 - 14 bitů (minimum, slušnej 16b by taky neuškodil) kterej mě nezruinuje a nejlépe na SPI tak budu vděčnej.

Uživatelský avatar
Cust
Příspěvky: 5553
Registrován: 17 led 2007, 01:00
Bydliště: Husinec-Řež

#15 Příspěvek od Cust »

hmmm, to je blbý...
Převodník ti neporadím, já jsem externí převodník použil jen jednou v životě a to ne kvůli přesnosti, ale kvůli rychlosti. Takže navíc nebyl SPI, ale klasických 12 bitů na 12 nohách při 200MSps rovnou do FPGáčka. V loni v prosinci to mělo letět do vesmíru přes Roskosmos - družice Bion - posraný Putin - doteď mi to leží na stole!

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“