1

Téma: Měření proudu pomocí SDS

Dobrý den,
Již jsem byl v Eshopu připraven kliknout na "objednat" ale narazil jsem na problém, který se dá těžko obejít, leč je lehce řešitelný. Možná by tato změna zaujala i jiné uživatele a zvýšila by užitnou hodnotu.

Potřebuji mimo jiné měřit DC proud (akumulátory nabíjené solárními panely) při nabíjení je hodnota kladná, při vybíjení pak záporná.

Jako čidlo mám použité ACS712 http://www.ebay.com/itm/ACS712-20A-range-Current-Sensor-Module-for-Arduino-Raspberry-pi-/121030962263

http://www.allegromicro.com/en/Products/Current-Sensor-ICs/Zero-To-Fifty-Amp-Integrated-Conductor-Sensor-ICs/ACS712.aspx

jsou verze pro 5A, 20A a 30A, výstupní napětí Z ACS712 je přímo úměrné protékajícímu proudu, měřený a měřící obvod je oddělený a má izolaci 2.1kV.

Problém je v tom, že 0A = 2.5V, teče-li proud jedním směrem, napětí se snižuje až k 0.5V, teče-li druhým směrem stoupá k 4.5V

         0.5V                                             -20A
         2.5V                                              0A
         4.5V                                              20A 


V kalibraci analogového čidla je dostupná pouze "přepočtová konstanta", což má za důsledek že nelze nijak docílit zobrazení čísla menšího než "0" resp. omezuje to použití přepočtené hodnoty se začátkem vždy v nule.

Pro vyřešení tohoto problému stačí velmi drobná úprava výpočtu a doplnění pole "offset" do WEB stránky nastavení vstupů.

Přidám příklad kousku kódu který používám v Arduinu:

-----------------------------------
int mVperAmp = 185; // hodnota 100 pro 20A ACS712 a 66 pro 30A ACS712 (toto je již existující hodnota s názvem Přepočtová kontanta)
int ACSoffset = 2500;  // tohle je pole které je nutné přidat do WEB okna nastavení vstupů


void setup(){
Serial.begin(9600);
}

void loop(){

RawValue = analogRead(analogIn);
Voltage = (RawValue / 1023.0) * 5000; // Gets you mV
Amps = ((Voltage - ACSoffset) / mVperAmp);
----------------------------------------------------------------------------------

Zde je počítáno s odporem 2k7 tedy že vstup SDS bude 0-5V

SDS je velmi pěkné zařízení a věřím že možnost měření proudu by jistě oslovilo více uživatelů. Pro o zvážení zda by se nedala tato jednoduchá úprava FW realizovat.

s pozdravem Milan


p.s. ACS712 umožňuje měřit i AC proudy, tam by to chtělo trošku větší SW zásah, jelikož jeho výstupní napětí opisuje sinusovku o amplitudě přímo úměrné protékajícího proudu. SW by musel ukládat do proměnné min. 50 ms z něhož by zjistil min/max hodnoty a jejich rozdíl by byl výsledný proud.

2

Re: Měření proudu pomocí SDS

Je to samozřejmě složitější.

U všech čidel ACSxxx bez vyjímky - "nula Ampér" je VDD / 2, což při napájení čidla VDD = 5V je práve zmíněných 2.5V (tj. vás ACSoffset).
Jenže.
VDD není nikdy 5.00000V - ale třeba 4.95V nebo 5.12V atd. - a čidlo potom má nulu úplně někde jinde, než by ji software čekal.

Toto se řeší tak, že se současně musí měřit i VDD a to samostatným spojem z napájecího pinu ACSxxx přímo na vstup A/D převodníku procesoru. Takže vlastně je potřeba dva A/D kanály na jedno ACSxxx čidlo (je-li jich více, pak je potřeba měřit VDD na každém zvlášť, kvůli přesnosti).

Až bude vyřešeno toto, dá se to v SDS-C zpracovat a zobrazit výsledný údaj např. na uživatelské webové stránce.

To co SDS první generace nabízí, na svém výchozím webovém rozhraní, je čiště určeno pro jednoduché zobrazení měřeného napětí na jednotlivých A/D kanálech (vstupech), od 0V do xV (a právě jen kvůli rozsahu je tam ta možnost kalibrace).
Nikdy jsme neplánovali udělat to jakkoliv více složité - pro všechny složitější převody a vzájemné přepočty je uživatel povinnen použít buď vlastní SDS-C nebo hodnoty zpracovávat dodatečně dálkově třeba na serveru (číst surové A/D hodnoty z SDS a na serveru zpracovat atd.).

Aby to nebylo tak omezené, tak teprve pro druhou produktovou řadu SDS (BIG, STSW, SMALL) jsme udělali možnost přepočtu surové digitální hodnoty na jednotku, prostřednictvím uživatelského polynomu šestého stupně.
To by řešilo váš problém - kupte si proto některý z SDS druhé produktové řady.
Nebo si kupte něco co jste původně chtěl (první produktová řada SDS) a dodělejte si vlastní výpočty.

V každém případě budete potřebovat dva A/D kanály (vstupy) na každé ACS čidlo, právě kvůli správnému ustanovení nuly ! toto je zcela kritický požadavek.
Např. nekorigovoná hodnota z ACS712 tak skáče + / - 0.5 A i více, ačkoliv čidlem neteče proud. Ta samá chyba se pak přidá k jakékoliv hodnotě skutečného proudu, který se ACS bude snažit změřit.

Na čidla ACS obecně pozor, protože sice mají geniální vlastnost plné galvanické izolace, ale jsou zcela náchylné na přítomnost magnetického pole (stačí kovový šroubek v blízkosti, nebo přiblížit šroubovák při testování atd.) a hodnoty uletí.
Čidla je proto potřeba kalibrovat až v místě finální instalace a zaručit to že se instalace nezmění.

Pozn. podporu pro měření AC proudů neplánujeme. Toto všichni uživatelé SDS řeší externím usměrňovačem - zapojeným mezi výstup čidla proudu a A/D vstup SDS (pro ACSxxx, viz např. přímo ukázkové zapojení usměrňovače s OZ v katalogových listech výrobce čidla). V každém případě, správná kalibrace je nutná.

Proto je vždy výhodnější využít kaliborované elektroměry, přinejmenším pro měření střídavého výkonu, a použít jejich S0 výstup pro připojení k SDS.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

3

Re: Měření proudu pomocí SDS

Díky za vyčerpávající informace.
ohledně  ACS712 - Není problém poměrně jednoduchým způsobem dosáhnout 5V +-10mV (jak krátkodobě tak dlouhodobě) Pakliže bychom uvažovali např. o 20A verzi, tak jeden krok AD 10bit převodníku je 0.05V pročež se to vejde do +-2 digity což dělá výslednou chybu cca +- 80mA. Ale i tak, bylo-li žádoucí měřit napětí pro ACS, stačí měřit jedno společné ze kterého budou napájeny všechny ACS712, jejich spotřeba je zanedbatelná a úbytky na vedení by neměly vliv.

Uvažuje-li se o nabíjecích/vybíjecích proudech +- 20A  pak chyba měření +- 250 mA není nijak zajímavá, což ani magnetické pole, ani rozumně stabilizovaných 5V nemůže ovlivnit.

Řada SDS (BIG, STSW, SMALL) je pro mé použití zajímavější, už jen díky tomu, že má 12 bit AD převodník. Bohužel jsem se nikde nedopátral informací o cenách a dostupnosti resp. je zmíněn termín září a odkaz na shop, který mlčí. Vydržím tedy v očekávání ještě následujících 6 dní. :-)

4

Re: Měření proudu pomocí SDS

S čidly ACS jsme dělali hodně velké množství výrobků, a toto jsou přímé zkušenosti. Pokud pracujete s několika kusy, tak bude stačit to udělat nahrubo... stějně tak pokud můžete použít pro jeden, dva, svých kusů nějaké drahé LDO apod.
U tisíců kusů co jsme dělali se už ukázala naprostá nezbytnost toho co jsem popsal, včetně nutnosti měřit napájení čidla přímo dalším spojem z napájecího pinu čidla (draze zaplacené zkušenosti). Dokonce i to kam koncoví uživatelé umisťovali výrobky ovlivňovalo měření (ono to není vidět třeba ihned, ale až za čas - tohle se pak špatně hledá).

Ohledně nových SDS - kontaktujte výrobce, p. Prejda, viz odkaz na webu eshopu.
Mělo by se to tam snad co nejdříve objevit, vývoj je už dávno ukončen.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

5

Re: Měření proudu pomocí SDS

Jistě, je rozdíl u aplikací, kde je nutné mít jeden kus jako druhý, něco jiného je, když si instalaci dělám sám a vím co můžu očekávat za chyby měření jak jsou velké, případně jak je eliminovat (změnou umístění čidla, stabilizací napájení a.t.d.) Nicméně motivace napsání mého prvního příspěvku byla taková, že lepší měřit s určitou předem známou chybou než vůbec.

Pana Prejdu budu kontaktovat, Dík za Váš čas.