AD prevodník pre Raspberry

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
Uživatelský avatar
ixo
Příspěvky: 489
Registrován: stř říj 10, 2012 6:11 pm
Bydliště: Bratislava

AD prevodník pre Raspberry

Nový příspěvek od ixo »

Priatelia, pls, ako meriate napätie batérií cez Raspi? Keďže Raspi nemá analog pin, googlim po externých AD/prevodníkoch. Nerozumiem vsak teme natolko, aby som si vedel vybrat vhodny prevodnik (nech meria aspon na desatiny volta presne). Noze poradte nieco osvedcene... Vygooglil som toto, ale mam pochybnosti: http://www.ebay.com/itm/AD-DA-PCF8591-C ... 35da2b4fc5
P.S.: Samozrejme ratam s pouzitim odporoveho delica na max. hodnotu do 3.3V.
1900 Wp, LiFePo 8x200Ah + 123\SmartBMS, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Monitoring systému: https://panel.homeinfo.sk/?id_objekt=15 ... elektraren
(Ne)návratnosť systému: https://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: https://tinyurl.com/mx6gvsj
007ToMMaS
Příspěvky: 1095
Registrován: sob zář 15, 2012 8:53 pm

Re: AD prevodník pre Raspberry

Nový příspěvek od 007ToMMaS »

Ja som si kúpil MCP3208. Rozchodiť to chcem podľa návodu http://www.astromik.org/raspi/18.htm vlastne z tej stránky čerpám aj iné návody. Asi jediná normálna stránka ktorá sa zaoberá presne tým čím potrebujem. ;)
Už dlhšiu dobu pracujem na akejsi home made rozširujúcej doske. Dnes sa mi podarilo rozchodiť konečne displej za pomoci TyTycko (ktorý mi poradil že to býva zlé zapojené)a ešte som rozchodil IO ktorý rozširuje počet GPIO ;)
3,2kWp REC320NP - juh
3,6kWp - Phonosolar PS450M5GFH-24/TH- východ
2x IGridSV-IV5.6KW, 2x Li-ion - 48V / 156Ah =312Ah
Uživatelský avatar
ixo
Příspěvky: 489
Registrován: stř říj 10, 2012 6:11 pm
Bydliště: Bratislava

Re: AD prevodník pre Raspberry

Nový příspěvek od ixo »

Dík, výborný tip, skúsim to aj ja podľa toho návodu... Potom to ešte osekám na úplne funkčné minimum. Mojim cieľom je totiž čítať prevodník nie v pythone, ale unix shelli - ak sa to bude vôbec dať... Python je až druhá voľba. :mrgreen:
1900 Wp, LiFePo 8x200Ah + 123\SmartBMS, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Monitoring systému: https://panel.homeinfo.sk/?id_objekt=15 ... elektraren
(Ne)návratnosť systému: https://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: https://tinyurl.com/mx6gvsj
007ToMMaS
Příspěvky: 1095
Registrován: sob zář 15, 2012 8:53 pm

Re: AD prevodník pre Raspberry

Nový příspěvek od 007ToMMaS »

Uvidíš ako dopadneš. Ak to rozchodíš daj vedieť. Lebo mne to nejak nefakčí ;)
3,2kWp REC320NP - juh
3,6kWp - Phonosolar PS450M5GFH-24/TH- východ
2x IGridSV-IV5.6KW, 2x Li-ion - 48V / 156Ah =312Ah
Uživatelský avatar
JML...
Příspěvky: 156
Registrován: úte lis 06, 2012 12:33 pm

Re: AD prevodník pre Raspberry

Nový příspěvek od JML... »

Pánové používáte stejný převodník jako v mnoha aplikacích já, pokusím se vám poradit myslím ten z ebaye uvedený v prvním příspěvku PCF8591, 4xAD IN a 1xDA OUT řízený přes I2C sběrnici.
Takže Python je výborná volba, ale vhodná pro rychlé skriprtování na pozadí, např při řízení robota na dvou kolech při jeho balancování. Ale vy chcete výstup třeba do MySQL. Předpokládám, že na RPI chcete monitorovat vaší FVE a udělat si z něho mikroserver.

Nejprve připojte modul k RPI +5V, GND potom si najděte na GPIO SDA a SCL piny pro I2C sběrnici.

příkazy které potřebujete pro unix shell: i2cdetect, i2cset, i2cget, uvedu rychlý návod aď to tu nezasí.ám...

Poté v komand lajně příkazy pro IC2 zjištění na které adrese je zařízení:

Kód: Vybrat vše

root@A20-Pepa:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Když již víte na které i2c a adrese zařízení je, můžete číst a zapisovat:

Kód: Vybrat vše

*** vstupy AD
čtení ze vstupu 0 (potenciometr)
přepnutí na vstup 0
i2cset -y 1 0x48 0x00
čtení hodnoty ze vstupu 0
i2cget -y 1 0x48

čtení ze vstupu 1 (fotoodpor)
přepnutí na vstup 1
i2cset -y 1 0x48 0x01
čtení hodnoty ze vstupu 1
i2cget -y 1 0x48

čtení ze vstupu 2 (termistor)
přepnutí na vstup 2
i2cset -y 1 0x48 0x02
čtení hodnoty ze vstupu 2
i2cget -y 1 0x48

čtení ze vstupu 3 (0)
přepnutí na vstup 3
i2cset -y 1 0x48 0x03
čtení hodnoty ze vstupu 3
i2cget -y 1 0x48


*** výstup DA
zhasne LED
i2cset -y 1 0x48 0x41 0x00
rozsvítí LED naplno, hodnoty mezi jas LED
i2cset -y 1 0x48 0x41 0xff
Povolit v konfiguraci PHP exec a to v/etc/php5/apache2/php.ini, smazat v disable_functions = pcntl_exec.
No a pak lze v PHP použít shell syntaxi:

Kód: Vybrat vše

<?php
echo "<span style='font-size:50; font-color=blue'>\n";
echo("
<style>
body {background-color: black; color: yellow}
</style>
");

//funkce na čtení hodnot z registrů
function ctireg() {
  exec("sudo i2cget -y 1 0x48"); //první čtení je minulá hodnota - nepoužije se
  return substr(exec("sudo i2cget -y 1 0x48"),-2);
}

exec("sudo i2cset -y 1 0x48 0x00"); //přepnutí na vstup 0
usleep(5000); //počkat na měření 5ms
$hodnota=(5/255)*hexdec(ctireg());
echo "<br>\n";
echo "AD vstup 0 potenciometr : ".$hodnota."\n";

//rozsvícení LED
exec("sudo i2cget -y 1 0x48 0x41 0xff"); // svítí naplno
//exec("sudo i2cget -y 1 0x48 0x41 0x00"); //nesvítí

exec("sudo i2cset -y 1 0x48 0x01"); //přepnutí na vstup 1
usleep(5000); //počkat na měření 5ms
$hodnota=(5/255)*hexdec(ctireg());
echo "<br>\n";
echo "AD vstup 1 fotoodpor    : ".$hodnota."\n";

exec("sudo i2cset -y 1 0x48 0x02"); //přepnutí na vstup 2
usleep(5000); //počkat na měření 5ms
$hodnota=(5/255)*hexdec(ctireg());
echo "<br>\n";
echo "AD vstup 2 termistor    : ".$hodnota."\n";

exec("sudo i2cset -y 1 0x48 0x03"); //přepnutí na vstup 3
usleep(5000); //počkat na měření 5ms
$hodnota=(5/255)*hexdec(ctireg());
echo "<br>\n";
echo "AD vstup 3 jumper       : ".$hodnota."\n";

?>
hodně toho je popsaný v datasheetu k tomu AD čipu tady.
Přeji hodně úspěchu, nedavno jme to řešili tady.
:yes: :yes: :yes: :yes: :yes: :yes: :yes: :yes: :yes:
Investicí do FVE chci ušetřit, né okrádat národ na odpustcích za výkup a nějaký barevný bonus!
2.8kWp + Vertex/InfiniSolar 3kW + 100Ah 48V LiFeYPO + A20mikroserver = moje FVE
Uživatelský avatar
ixo
Příspěvky: 489
Registrován: stř říj 10, 2012 6:11 pm
Bydliště: Bratislava

Re: AD prevodník pre Raspberry

Nový příspěvek od ixo »

JML, ďakujem, naozaj výborný hint! Hodiny som googlil narazil som aj na tieto príkazy ale najťažšie je "oddeliť zrno od pliev". :) Už včera som sa ohľadom ic2 dostal po úspešné zbehnutie "i2cdetect -y 1". Na PCF8591 mi prekáža, že je 8-bitový, čiže rozlíšenie 256 krokov pre 30V, čiže 0,12V / krok. Desaťbitový (a´la Arduino) s 1024 krokmi by bol už fajn. Neviem - čo napríklad tento? http://www.gme.sk/ad7997bruz-0-p931-035 (10-Bit ADC, I2C,Vcc 2,7..5,5V)?
1900 Wp, LiFePo 8x200Ah + 123\SmartBMS, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Monitoring systému: https://panel.homeinfo.sk/?id_objekt=15 ... elektraren
(Ne)návratnosť systému: https://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: https://tinyurl.com/mx6gvsj
Uživatelský avatar
JML...
Příspěvky: 156
Registrován: úte lis 06, 2012 12:33 pm

Re: AD prevodník pre Raspberry

Nový příspěvek od JML... »

RPI moc nedoporučuji na vážnější a dlouhodobější věci, tuhne a zakopává - bohužel.
Pak nedoporučuji Olimex, ten je skvělej, ale pokud se něco pos... tak si s vámi vytřou nějakou a to i nesmyslnou argumentací - osobní zkušenost, a český prodejce vám to jen syrově přetlumočí :yes: .
Momentálně používám A20 Marsboard s A20 CPU - nic nežere má SATA a velkou NAND, s RK3066 je výkonnější žravější a nemá tolik v NAND - teď jsou v akci a frí šiping! a mají img pro NAND, což dodnes třeba Olimex nemá.
Na opravdu super věci doporučuju InForce se Snapdragonem Krait Quad, ale je poněkud vyšší cena.
Investicí do FVE chci ušetřit, né okrádat národ na odpustcích za výkup a nějaký barevný bonus!
2.8kWp + Vertex/InfiniSolar 3kW + 100Ah 48V LiFeYPO + A20mikroserver = moje FVE
Uživatelský avatar
vata
Příspěvky: 1403
Registrován: pon zář 12, 2011 11:32 am

Re: AD prevodník pre Raspberry

Nový příspěvek od vata »

JML... píše:
RPI moc nedoporučuji na vážnější a dlouhodobější věci, tuhne a zakopává - bohužel.
To nemůžu potvrdit - na RPI jsem měla na vývoji (relativně silné zatížení) uptime několik měsíců a žádný problém. Jenže záleží na kartě - teď jsem zrovna na jednu instalovala valcMonitor (debian, nová 8GB Class10 Verbatim), a už během nastavování to několikrát vytuhlo, tak šla do foťáku. Karta je problém, ne RPI. Bohužel najít nějaký klíč podle kterého se dá předem určit, jestli nějaká konkrétní SD bude v RPI dobře fungovat, se mi nepodařilo.
Inteligentní ostrov - www.vati.cz
Uživatelský avatar
JML...
Příspěvky: 156
Registrován: úte lis 06, 2012 12:33 pm

Re: AD prevodník pre Raspberry

Nový příspěvek od JML... »

RPI jsem tu měl několik z UK i z PRC, a vždy stejné buď tuhlo nebo drhlo, a na kartě ani na distribuci OS nezáleželo, strávil jsem tím dost času a už opravdu ne. Nejenže RPI je už HW dávno za zenitem a za jeho cenu jsou daleko spolehlivější a výkonnější kousky. Nehledě z pohledu bezpečnosti je to docela úlet to pověsit na lan s publikování do internetu. Binárky jednotlivých balíčků jsou dost out a aktualizace jádra a služeb? Nebudu se přít, toť jen můj názor...
Investicí do FVE chci ušetřit, né okrádat národ na odpustcích za výkup a nějaký barevný bonus!
2.8kWp + Vertex/InfiniSolar 3kW + 100Ah 48V LiFeYPO + A20mikroserver = moje FVE
Uživatelský avatar
ixo
Příspěvky: 489
Registrován: stř říj 10, 2012 6:11 pm
Bydliště: Bratislava

Re: AD prevodník pre Raspberry

Nový příspěvek od ixo »

Dakujem vam za vybornu pomoc, prave som rozchodil citanie napatia cez AD prevodnik, aspon to tak v tejto chvili vyzera. 8-) Pouzil som tento 8bitovy prevodnik: http://www.gme.sk/img/cache/doc/433/079 ... heet-1.pdf - viacbitovy v gme.sk nemali, na prvotny test ac2 rozhrania vsak zatial postacuje aj tento. Vstupne napatie som pouzil 3.3V z RPI, prevodnik mi cez i2cget vracia hodnotu "255" v hex formate.
Prekvapili ma dve veci:
a) i2cdetect vrati po opakovanom zavolani castokrat inu adresu zariadenia. Zvykne to variovat medzi dvoma-troma hodnotami. Je to podla vas v poriadku? Zatial netusim, ako to osetrit v bash scripte;
b) i2cget vrati spravnu hodnotu az po stvrtom nacitani. Zistil som to tak, ze som dal nacitavat z nepripojeneho kanala a potom spat z pripojeneho kanala. Cele som to opakovane pretestoval;
c) i2cget obcas vrati aj inu hodnotu ako 255, spravidla 128, co mi pripada byt velky odskok oproti povodnej hodnote 255...
1900 Wp, LiFePo 8x200Ah + 123\SmartBMS, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Monitoring systému: https://panel.homeinfo.sk/?id_objekt=15 ... elektraren
(Ne)návratnosť systému: https://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: https://tinyurl.com/mx6gvsj
Uživatelský avatar
ixo
Příspěvky: 489
Registrován: stř říj 10, 2012 6:11 pm
Bydliště: Bratislava

Re: AD prevodník pre Raspberry

Nový příspěvek od ixo »

Ahojte, problém s náhodným prideľovaním adries sa vraj dá vyriešiť uzemnením určitých troch hardwarových pinov prevodníka. Možno sa tým vyrieši aj problém s chybným načítavaním hodnôt...
1900 Wp, LiFePo 8x200Ah + 123\SmartBMS, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Monitoring systému: https://panel.homeinfo.sk/?id_objekt=15 ... elektraren
(Ne)návratnosť systému: https://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: https://tinyurl.com/mx6gvsj

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek