Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Právě je sob zář 22, 2018 9:20 pm


AD prevodník pre Raspberry

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.

AD prevodník pre Raspberry

Příspěvekod ixo » ned srp 17, 2014 4:33 pm

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.
940 Wp, Pb OpZs 24V/300Ah, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Výkonnosť systému: http://homeinfo.sk/e?user=viktor
(Ne)návratnosť systému: http://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: http://tinyurl.com/mx6gvsj
Uživatelský avatar
ixo
 
Příspěvky: 404
Registrován: stř říj 10, 2012 5:11 pm
Bydliště: Bratislava
Reputation: 14

Re: AD prevodník pre Raspberry

Příspěvekod 007ToMMaS » ned srp 17, 2014 4:57 pm

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 ;)
007ToMMaS
 
Příspěvky: 846
Registrován: sob zář 15, 2012 7:53 pm
Reputation: 10

Re: AD prevodník pre Raspberry

Příspěvekod ixo » ned srp 17, 2014 9:30 pm

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:
940 Wp, Pb OpZs 24V/300Ah, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Výkonnosť systému: http://homeinfo.sk/e?user=viktor
(Ne)návratnosť systému: http://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: http://tinyurl.com/mx6gvsj
Uživatelský avatar
ixo
 
Příspěvky: 404
Registrován: stř říj 10, 2012 5:11 pm
Bydliště: Bratislava
Reputation: 14

Re: AD prevodník pre Raspberry

Příspěvekod 007ToMMaS » ned srp 17, 2014 9:33 pm

Uvidíš ako dopadneš. Ak to rozchodíš daj vedieť. Lebo mne to nejak nefakčí ;)
007ToMMaS
 
Příspěvky: 846
Registrován: sob zář 15, 2012 7:53 pm
Reputation: 10

Re: AD prevodník pre Raspberry

Příspěvekod JML... » pon srp 18, 2014 2:11 pm

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
JML...
 
Příspěvky: 156
Registrován: úte lis 06, 2012 12:33 pm
Reputation: 5

Re: AD prevodník pre Raspberry

Příspěvekod ixo » pon srp 18, 2014 2:45 pm

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)?
940 Wp, Pb OpZs 24V/300Ah, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Výkonnosť systému: http://homeinfo.sk/e?user=viktor
(Ne)návratnosť systému: http://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: http://tinyurl.com/mx6gvsj
Uživatelský avatar
ixo
 
Příspěvky: 404
Registrován: stř říj 10, 2012 5:11 pm
Bydliště: Bratislava
Reputation: 14

Re: AD prevodník pre Raspberry

Příspěvekod JML... » pon srp 18, 2014 3:38 pm

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
JML...
 
Příspěvky: 156
Registrován: úte lis 06, 2012 12:33 pm
Reputation: 5

Re: AD prevodník pre Raspberry

Příspěvekod vata » pon srp 18, 2014 7:49 pm

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
vata
 
Příspěvky: 1351
Registrován: pon zář 12, 2011 10:32 am
Reputation: 57

Re: AD prevodník pre Raspberry

Příspěvekod JML... » pon srp 18, 2014 10:16 pm

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
JML...
 
Příspěvky: 156
Registrován: úte lis 06, 2012 12:33 pm
Reputation: 5

Re: AD prevodník pre Raspberry

Příspěvekod ixo » úte srp 19, 2014 8:34 pm

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...
940 Wp, Pb OpZs 24V/300Ah, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Výkonnosť systému: http://homeinfo.sk/e?user=viktor
(Ne)návratnosť systému: http://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: http://tinyurl.com/mx6gvsj
Uživatelský avatar
ixo
 
Příspěvky: 404
Registrován: stř říj 10, 2012 5:11 pm
Bydliště: Bratislava
Reputation: 14

Re: AD prevodník pre Raspberry

Příspěvekod ixo » stř srp 20, 2014 8:42 am

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...
940 Wp, Pb OpZs 24V/300Ah, Tristar MPPT 60A, Meanwell 1 kW, PowerJack 5kW, Bratislava
Výkonnosť systému: http://homeinfo.sk/e?user=viktor
(Ne)návratnosť systému: http://tinyurl.com/cx74hkv
Zdieľaná databáza meničov: http://tinyurl.com/mx6gvsj
Uživatelský avatar
ixo
 
Příspěvky: 404
Registrován: stř říj 10, 2012 5:11 pm
Bydliště: Bratislava
Reputation: 14


Zpět na Arduino

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník

Reputation System ©'