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.