Arduino vyčítání hodnot ze STUDERu
Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Arduino vyčítání hodnot ze STUDERu
Ahoj Všichni ostrovníci.
Úvod
V rámci cvičení v programování laboruji s možností vyčítání údajů z jednotlivých zařízení.
Nejdříve jsem pokoušel SDS, tam jsem moc úspěchů neslavil, tak jsem žezlo podal "Prochazkovi85". Tento pán problémy vyřešil, ale našli se nové obtíže, tentokrát s určitým omezením pramenícím ve vlastnostech SDS. Jsou potřeba naprogramovat java scripty v user.html SDS-ka, pro převod mezi údaji ve formátu IEEE754 na float. A to neumím, tak jsem to odložil na dobu po svátcích. Aby mi s tím kamarád pomohl.
Arduino
Tak jsem se vrhnul na arduino. Ze začátku to vypadalo dobře, zařízeni komunikuje. Ale po třech dnech jsem v koncích s nápady.
Vylezou mi tato data do console
AA3650001000E0762A2110BDB00100000CCF2_________//Proud baterie (3005)
AA3650001000E0762A2110C3B00100077438C5F_______//Napeti stridace vstup (3011)
AA3650001000E0762A2110B8B0010060D3413BC7______//Napeti baterie (3000)
(Ty popisky jsem samo zřejmě do kopíroval) a vyznačil ty Byte které dále potřebuji.
No a teť ten problém.
Potřebuji vypreparovat jenom Byty, které obsahují data.
IEEE754________HEX/DEC_____IEE754DEC na Float___Float
00_00_00_00___00_00_00_00____00_00_00_00________00.00 A
00_00_77_43___00_00_119_67___67_119_00_00_______247.00 V
00_60_D3_41___00_96_211_65___65_211_96_00_______26.42 V
Převod HEX/DEC zvládám a převod IEE754DEC/Float taky.
Neuměl by prosím někdo pomoct jak dál ?
Tady je můj pokus
Tady je převodní program IEE754DEC/Float
Dík předem za snahu
Úvod
V rámci cvičení v programování laboruji s možností vyčítání údajů z jednotlivých zařízení.
Nejdříve jsem pokoušel SDS, tam jsem moc úspěchů neslavil, tak jsem žezlo podal "Prochazkovi85". Tento pán problémy vyřešil, ale našli se nové obtíže, tentokrát s určitým omezením pramenícím ve vlastnostech SDS. Jsou potřeba naprogramovat java scripty v user.html SDS-ka, pro převod mezi údaji ve formátu IEEE754 na float. A to neumím, tak jsem to odložil na dobu po svátcích. Aby mi s tím kamarád pomohl.
Arduino
Tak jsem se vrhnul na arduino. Ze začátku to vypadalo dobře, zařízeni komunikuje. Ale po třech dnech jsem v koncích s nápady.
Vylezou mi tato data do console
AA3650001000E0762A2110BDB00100000CCF2_________//Proud baterie (3005)
AA3650001000E0762A2110C3B00100077438C5F_______//Napeti stridace vstup (3011)
AA3650001000E0762A2110B8B0010060D3413BC7______//Napeti baterie (3000)
(Ty popisky jsem samo zřejmě do kopíroval) a vyznačil ty Byte které dále potřebuji.
No a teť ten problém.
Potřebuji vypreparovat jenom Byty, které obsahují data.
IEEE754________HEX/DEC_____IEE754DEC na Float___Float
00_00_00_00___00_00_00_00____00_00_00_00________00.00 A
00_00_77_43___00_00_119_67___67_119_00_00_______247.00 V
00_60_D3_41___00_96_211_65___65_211_96_00_______26.42 V
Převod HEX/DEC zvládám a převod IEE754DEC/Float taky.
Neuměl by prosím někdo pomoct jak dál ?
Tady je můj pokus
Kód: Vybrat vše
/* Program na vyzkouseni cteni udaju ze zarizeni STUDER pres RS 232 */
char inByte;
int pocet_Byte = 26;
int pocet_Byte2 = 30;
int pp = 2;
byte Ubat;
int j = 1;
int del = 300;
byte p1[26] = {0xAA,0x00,0x01,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x0A,0x00,0x6F,0x71,0x00,0x01,0x01,0x00,0xB8,0x0B,0x00,0x00,0x01,0x00,0xC5,0x90 }; //Napeti baterie (3000)
byte p2[26] = {0xAA,0x00,0x01,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x0A,0x00,0x6F,0x71,0x00,0x01,0x01,0x00,0xBD,0x0B,0x00,0x00,0x01,0x00,0xCA,0xAE }; //Proud baterie (3005)
byte p3[26] = {0xAA,0x00,0x01,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x0A,0x00,0x6F,0x71,0x00,0x01,0x01,0x00,0xC3,0x0B,0x00,0x00,0x01,0x00,0xD0,0xD2 }; //Napeti stridace vstup (3011)
void setup()
{
Serial.begin(9600); //nastav komunikacni parametry Serial0
Serial1.begin(38400, SERIAL_8E1) ; //nastav komunikacni parametry Serial1
//UCSR0C = (UCSR0C & ~ _BV (UPM00) | _BV (UPM01));
}
void loop() { //odesilani do studer
// nastaveni odeslani bytu odeslani bytu spusteni programu cteni asi vynulovani UARTU (musi jich tam byt 13)
for(int i=0;i<(pocet_Byte+1);i++) { Serial1.write(p1[i]); } Cteni(); delay(del); Serial1.write("1234567890123");
for(int i=0;i<(pocet_Byte+1);i++) { Serial1.write(p2[i]); } Cteni(); delay(del); Serial1.write("***trinact***");
for(int i=0;i<(pocet_Byte+1);i++) { Serial1.write(p3[i]); } Cteni(); delay(del); Serial1.write(" ");
}
void Cteni() { //cteni ze STUDER
if (Serial1.available() > 0){
for(int i=1;i<(pocet_Byte2+1);i++) {
inByte = Serial1.read();
Ubat = (inByte);
Serial.print(Ubat, HEX);
}
Serial.println("");
}
}
Kód: Vybrat vše
void setup() {
Serial.begin(9600);
byte array[4] = {65,211,96,0};
Serial.print(convert(array));
}
void loop(){}
typedef union {
byte array[4];
float value;
} ByteToFloat;
float convert(byte* data) {
ByteToFloat converter;
for (byte i = 0; i < 4; i++){
converter.array[3-i] = data[i]; //or converter.array[i] = data[i]; depending on endianness
}
return converter.value;
}
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Tak co neporadí někdo?
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 978
- Registrován: sob čer 09, 2012 9:14 am
Re: Arduino vyčítání hodnot ze STUDERu
Vypreparovat byty?
Například podle pozice od začátku řetězce?
Nerozumím kde je problém.
Například podle pozice od začátku řetězce?
Nerozumím kde je problém.
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Problém je ve mně, protože nevím jak na to. Od rána dělám asi 159-tý pokus a nemám žádný kloudný výsledek.
Prostě mi to nepálí, asi hodně cukroví nebo co.
Prosím nějaký příklad ať se někam pohnu
Dík
Prostě mi to nepálí, asi hodně cukroví nebo co.
Prosím nějaký příklad ať se někam pohnu
Dík
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Tak jsem čekal, že mě pošlete řešení, když je to tak jednoduché, ale jsem se nedočkal. Že by to tak jednoduché nebylo?rob.brno píše:Vypreparovat byty?
Například podle pozice od začátku řetězce?
Nerozumím kde je problém.
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Ahoj všem solárníkům
Tak jsem konečně dohnal svůj pokusný program na vyčítání dat ze STUDERU k nějakému konci.
Našel jsem sice nějaké mouchy, ale to je vždy
Jako hlavní problém je to, že program zpracovává data přes RS232 a celá smyčka trvá neskutečně dlouho.
Takže když přepínám obrazovky, tak celé přepnutí trvá cca 2-3s což je strašně dlouho. Možná, že by někdo zkušenější mohl program podrobit odbornému zkoumání a toto přepínání vylepšit. Leč do konzole se data sypou bez problémů.
Parametry:
Program odzkoušen na Arduino MEGA
Program používá Serial1 pro komunikaci se zařízením Xcom-232i
Je nutný Shifter RS232 ke konverzi 5V logiky na 3V3 logiku.
Vyčítám všechny dostupné údaje protokolu STUDER dle příručky
Vyzkoušeno na zařízení STUDER XTS 1200-24 + BSP 500.
pár obrázků celkový pohled na arduino s displejem + shifter + kouzelná krabička Xcom-232i od STUDERU. pohled na displej pohled na konzoli
Tak jsem konečně dohnal svůj pokusný program na vyčítání dat ze STUDERU k nějakému konci.
Našel jsem sice nějaké mouchy, ale to je vždy
Jako hlavní problém je to, že program zpracovává data přes RS232 a celá smyčka trvá neskutečně dlouho.
Takže když přepínám obrazovky, tak celé přepnutí trvá cca 2-3s což je strašně dlouho. Možná, že by někdo zkušenější mohl program podrobit odbornému zkoumání a toto přepínání vylepšit. Leč do konzole se data sypou bez problémů.
Parametry:
Program odzkoušen na Arduino MEGA
Program používá Serial1 pro komunikaci se zařízením Xcom-232i
Je nutný Shifter RS232 ke konverzi 5V logiky na 3V3 logiku.
Vyčítám všechny dostupné údaje protokolu STUDER dle příručky
Vyzkoušeno na zařízení STUDER XTS 1200-24 + BSP 500.
pár obrázků celkový pohled na arduino s displejem + shifter + kouzelná krabička Xcom-232i od STUDERU. pohled na displej pohled na konzoli
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 978
- Registrován: sob čer 09, 2012 9:14 am
Re: Arduino vyčítání hodnot ze STUDERu
To je nedorozumění. Nepsal jsem, že je to jednoduché. Jen jsem nepochopil "zadání" - do některých řešení se člověk musí naplno ponořit a věnovat tomu hodně času.Frenky píše:Tak jsem čekal, že mě pošlete řešení, když je to tak jednoduché, ale jsem se nedočkal. Že by to tak jednoduché nebylo?
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Já vím, já to dobře vím. Strávil jsem s tímto cvičením cca 3 dni. A přitom to byla taková blbost. Blbě nadefinované pole.
(Točil jsem se neustále v chybové smyčce a nevěděl jak se z ní dostat)
Byl jsem byl v tom okamžiku tak vyčerpaný a zoufalý, že jsem potřeboval nějakou morální podporu. Ale Nový rok byla blbá doba chtít po někom aby mě pomohl, já vím. Ale na druhou stranu mě to těší, že jsem na to přišel sám. Zkušenosti a dovednosti takto nabité se nezapomínají.
Mám s tím ještě problém, že při komunikaci arduina přes RS232 nejde prakticky nic dělat, protože komunikace vytíží arduino na maximum. Bylo by asi potřeba nějak vymyslet způsob jak program přibrzdit a umožnit tak upřednostnění vykonání jiného podprogramu. (třeba obsluha displeje, či eth. karty). Myslím, že se to jmenuje externí přerušení. Jenomže příklady vždy pracují nějakým fyzickým pinem arduina (0, 2) (přesně si nepamatuji). A já mám v příkladu klávesnici ovládanou přes AD převodník (AD 0). (LCD keypad shield). No ještě budu muset trochu pošpekulovat jak na to. Kdyby byl nějaký přesnější nápad, tak uvítám.
Další plány: (po vyřešení problému právě popsaného)
1) Prezentace vyčtených údajů na WEB serveru pomocí ETH shieldu.
2) Záznam na SD kartu (logování).
3) Odesílání dat do jiné databáze (mypower).
4) Odesílání dat na web stránku zařízení SDS (user.html)
No a až nebudu mít co na práci, tak se pustím do TRISTARU a udělám s ním to samé .
No a ve finále bych chtěl mít obě zaízení (TRISTAR + STUDER) za pomocí 1-ho arduina s vyčtenými údaji na jedné user.html stránce zařízení SDS pěkně pohromadě.
Podotýkám, že nejsem programátor, jsem jen kutil domácí.
Aby to bylo k užitku i někomu jinému, tak by to musel někdo znalý předělat. Mě od pradávna zajímala komunikace mezi různými zařízeními a tak se snažím něco se aktivně dozvědět a něco dělat.
PS: Vyčítání ze STUDER-u přes RS232 přes arduino mi běží cca 2 dni v kuse a bez závad.
(Točil jsem se neustále v chybové smyčce a nevěděl jak se z ní dostat)
Byl jsem byl v tom okamžiku tak vyčerpaný a zoufalý, že jsem potřeboval nějakou morální podporu. Ale Nový rok byla blbá doba chtít po někom aby mě pomohl, já vím. Ale na druhou stranu mě to těší, že jsem na to přišel sám. Zkušenosti a dovednosti takto nabité se nezapomínají.
Mám s tím ještě problém, že při komunikaci arduina přes RS232 nejde prakticky nic dělat, protože komunikace vytíží arduino na maximum. Bylo by asi potřeba nějak vymyslet způsob jak program přibrzdit a umožnit tak upřednostnění vykonání jiného podprogramu. (třeba obsluha displeje, či eth. karty). Myslím, že se to jmenuje externí přerušení. Jenomže příklady vždy pracují nějakým fyzickým pinem arduina (0, 2) (přesně si nepamatuji). A já mám v příkladu klávesnici ovládanou přes AD převodník (AD 0). (LCD keypad shield). No ještě budu muset trochu pošpekulovat jak na to. Kdyby byl nějaký přesnější nápad, tak uvítám.
Další plány: (po vyřešení problému právě popsaného)
1) Prezentace vyčtených údajů na WEB serveru pomocí ETH shieldu.
2) Záznam na SD kartu (logování).
3) Odesílání dat do jiné databáze (mypower).
4) Odesílání dat na web stránku zařízení SDS (user.html)
No a až nebudu mít co na práci, tak se pustím do TRISTARU a udělám s ním to samé .
No a ve finále bych chtěl mít obě zaízení (TRISTAR + STUDER) za pomocí 1-ho arduina s vyčtenými údaji na jedné user.html stránce zařízení SDS pěkně pohromadě.
Podotýkám, že nejsem programátor, jsem jen kutil domácí.
Aby to bylo k užitku i někomu jinému, tak by to musel někdo znalý předělat. Mě od pradávna zajímala komunikace mezi různými zařízeními a tak se snažím něco se aktivně dozvědět a něco dělat.
PS: Vyčítání ze STUDER-u přes RS232 přes arduino mi běží cca 2 dni v kuse a bez závad.
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Ještě jsem zapomněl vložit ukázku mé user.html stránky zařízení SDS. Data vyčtená z TRISTAR-u pocházejí nyní z PHP scriptu pana Procházky85. Ke stávajícímu stavu tedy přibude čtvereček s daty STUDER-u. No a proč se tedy snažím s těmi všemi krabičkami, když to vlastně ku ... běží? Protože počítač kde běží php scripty chci vypnout kvůli spotřebě (žere 20w).
No a ještě budu muset popracovat na grafické úpravě a stvořit nějaký obrázek, aby prezentovaná data nebyly jen výčtem dat.
No a ještě budu muset popracovat na grafické úpravě a stvořit nějaký obrázek, aby prezentovaná data nebyly jen výčtem dat.
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 978
- Registrován: sob čer 09, 2012 9:14 am
Re: Arduino vyčítání hodnot ze STUDERu
Jo, to se pak na kod musí podívat někdo nezaujatý nebo je dobré to na pár dnů odložitFrenky píše:Já vím, já to dobře vím. Strávil jsem s tímto cvičením cca 3 dni. A přitom to byla taková blbost. Blbě nadefinované pole.
(Točil jsem se neustále v chybové smyčce a nevěděl jak se z ní dostat)
Já to řeším tak, že si pustím timer, který generuje každou 1milis interrupt. Kde se specifikuje, jak často se budou dělat jednotlivé akce(třeba každých 100ms se sejme stav kb a každých 500ms se zobrazuje, atd.). Krátké akce dělám rovnou v obsluze přerušení, delší v hlavní smyčce podle nahozeného flagu. Podle potřeby se mezi jednotlivými akcemi nechá mcu uspat, aby zbytečně nežral a taky se dá použít watchdog k resetu mcu, kdyby se do určité doby "neohlásil" a někde v programu zatoulal.Frenky píše:Mám s tím ještě problém, že při komunikaci arduina přes RS232 nejde prakticky nic dělat, protože komunikace vytíží arduino na maximum. Bylo by asi potřeba nějak vymyslet způsob jak program přibrzdit a umožnit tak upřednostnění vykonání jiného podprogramu. (třeba obsluha displeje, či eth. karty). Myslím, že se to jmenuje externí přerušení. Jenomže příklady vždy pracují nějakým fyzickým pinem arduina (0, 2) (přesně si nepamatuji). A já mám v příkladu klávesnici ovládanou přes AD převodník (AD 0). (LCD keypad shield). No ještě budu muset trochu pošpekulovat jak na to. Kdyby byl nějaký přesnější nápad, tak uvítám.
void loop()
{
// set_sleep_mode(SLEEP_MODE_IDLE);
// sleep_cpu();
if (merit)
{
merit = 0;
mereni()
}
if (zobrazit)
{
zobrazit = 0;
zobraz();
}
.....
.....
.....
// wdt_reset();
}
ISR(TIMER0_COMPA_vect)
{
cnt1ms++;
if (!(cnt1ms % INTERVAL_MERENI))
merit = 1;
.....
.....
if (temp_on)
analogWrite(TEMP_OUT_PIN,temp);
else
analogWrite(TEMP_OUT_PIN,analogRead(TEMP_IN_PIN));
}
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Hmmmm. Pro mě zatím vyšší dívčí, pokusil jsem se něco napsat, ale nefunguje mi to
Jdu se pokusit o to externí přerušení.
Jdu se pokusit o to externí přerušení.
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Nějak to nefunguje, potřebuji nějaký fungující příklad, v uvedeném příkladu je moc nenznámých se kterými si nevím rady
1) co je cnt1ms (co to je za promennou, mám nadefinovat ?)
2) co je INTERVAL_MERENI (mam to taky nadefinovat? jakou hodnotu? co to je?
Ostatní je jakž tak jasné.
Pokud to všechno nadefinuju ručně
int merit;
int zobrazit;
int cnt1ms;
#define INTERVAL_MERENI = 10;
Tak mi to vyhodí hlášku "expected primary-expression before = token"
Tak nevím co dělám špatně ???
1) co je cnt1ms (co to je za promennou, mám nadefinovat ?)
2) co je INTERVAL_MERENI (mam to taky nadefinovat? jakou hodnotu? co to je?
Ostatní je jakž tak jasné.
Pokud to všechno nadefinuju ručně
int merit;
int zobrazit;
int cnt1ms;
#define INTERVAL_MERENI = 10;
Tak mi to vyhodí hlášku "expected primary-expression before = token"
Tak nevím co dělám špatně ???
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Tak jsem to vyřešil trochu jinak a to pomoci preruseni na pinu arduina 21 v tabulce je to pin 2.
Zatím pin na nic nevyužívám, když tak si ještě můžu vybrat.
Na konci je vidět (neobratné ovládání přerušení).
Tak snad jsem příklad popsal správně
Více zde: http://arduino8.webnode.cz/news/lekce-2 ... -tlacitka/
Zatím pin na nic nevyužívám, když tak si ještě můžu vybrat.
Na konci je vidět (neobratné ovládání přerušení).
Tak snad jsem příklad popsal správně
Kód: Vybrat vše
digitalWrite(prer, LOW); //ovladani preruseni
digitalWrite(prer, HIGH); //ovladani preruseni
Kód: Vybrat vše
Tabulka pinů, kde je možno nastavit přerušení:
0 1 2 3 4 5 Arduino
2 3 -- -- -- -- UNO
2 3 21 20 19 18 Mega 2560
3 2 0 1 7 -- Leonardo
Kód: Vybrat vše
int prer = 21; //pin HW preruseni, v tabulce pin2 ( attachInterrupt(2,test, RISING); )
void setup()
{
pinMode(prer, OUTPUT);
attachInterrupt(2,test, RISING); //(cislo pinu kde je mozne preruseni,podprogram test,prerus pri nab hrane impulsu)
}
void loop()
{
RS232(); //podprogram ktery vycita udaje s RS232
}
void test() //podprogram pro preruseni
{
klavesnice(); //podprogram obsluhy klavesnice
RefreshLCD(); //podprogram cyklickeho menu displeje
}
void RS232() //priklad podprogramu pro vycitani jedne hodnoty ze studeru
{
//Napeti baterie (3000)
for(int i=0;i<(pB+1);i++) {
Serial1.write(p2[i]);
}
if (Serial1.available() > 0) {
for(i=1;i<(pB2+1);i++)
inByte[i] = Serial1.read();
A = inByte[28];
B = inByte[27];
C = inByte[26];
D = inByte[25];
for(int k=0;k<1;k++) {
byte array[4] = { A, B, C, D };
Serial.print("Napeti baterie (3000) ");
Serial.print(convert(array));
Serial.print(" V ");
a000 = (convert(array));
}
Serial.println("");
}
delay(del);
Serial1.write("***trinact***");
digitalWrite(prer, LOW); //ovladani preruseni
digitalWrite(prer, HIGH); //ovladani preruseni
}
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 978
- Registrován: sob čer 09, 2012 9:14 am
Re: Arduino vyčítání hodnot ze STUDERu
Viz. PM.Frenky píše:Nějak to nefunguje, potřebuji nějaký fungující příklad, v uvedeném příkladu je moc nenznámých se kterými si nevím rady
Tak nevím co dělám špatně ???
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Arduino vyčítání hodnot ze STUDERu
Tak jsem snad u cíle.
Posílám výsledek mého webového snažení. Takže arduino čte údaje ze studeru, zobrazuje výsledky
1) do konzole
2) na displej
3) na WEB rozhraní
Podařilo se mi jěště implementovat
1) NTP (čtu časové značky z NTP serveru)
2) Ovládání 8 relé přes LCD Shield
3) cyklické menu
4) Ovládání 6-ti relé přes WEB (při 8 se to jíž seká, asi se program nevejde do paměti)
5) Regulace podsvětlení displeje pomocí PWM
Tak tady jsou ukázky prezentace dat přes WEB
1) první pokus s klasikou 2) druhá verze s šesti relátky
Posílám výsledek mého webového snažení. Takže arduino čte údaje ze studeru, zobrazuje výsledky
1) do konzole
2) na displej
3) na WEB rozhraní
Podařilo se mi jěště implementovat
1) NTP (čtu časové značky z NTP serveru)
2) Ovládání 8 relé přes LCD Shield
3) cyklické menu
4) Ovládání 6-ti relé přes WEB (při 8 se to jíž seká, asi se program nevejde do paměti)
5) Regulace podsvětlení displeje pomocí PWM
Tak tady jsou ukázky prezentace dat přes WEB
1) první pokus s klasikou 2) druhá verze s šesti relátky
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 766
- Registrován: ned lis 13, 2011 5:52 pm
- Bydliště: SK
Re: Arduino vyčítání hodnot ze STUDERu
Dobrá práca Frenky
je možné vyriešiť nejak podobne victrona?
je možné vyriešiť nejak podobne victrona?
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Určitě by to nějak šlo, ale má to spoustu úskalí.
1) Nejsem programátor, takže všechno co udělám je metodou pokus x omyl a tak pokračuji dopředu. Někdy to je tak že i 10 kroků zpátky a pak teprve zase do předu.
2) Ten můj program je velmi nedokonalý a je v něm určitě značně chyb.
3) Neznám protokol VICTRUN-a a nevím, zda bych ho dokázal rozlousknout. Do problému s vyčítáním STUDER-a a TRISTAR-u mě uvedl "Procházka85", ten má lví podíl na tom, že jsem to vůbec dokázal.
4) Nevím jaké fyzické komunikační možnosti mí VICTRON. (Ethernet, sériový port, RS 485).
5) Nemám fyzický přístup k VICTRONOV-i, ten je nezbytný pro ověření kódu.
6) Myslím si, že VICTRON má poměrně slušně zpracován vlastní programové vybavení. (koketoval jsem s nákupem, nakonec to vyhrál STUDER).
7) Nerad bych bral potencionální práci pro „admina“, myslím si, že by to mohl být potencionální úkol pro něj. Já mám práce více nežli je zdrávo a možnost jak si vydělat penízky také. S adminem je to horší, proto bych raději nechal tento úkol pro něho.
1) Nejsem programátor, takže všechno co udělám je metodou pokus x omyl a tak pokračuji dopředu. Někdy to je tak že i 10 kroků zpátky a pak teprve zase do předu.
2) Ten můj program je velmi nedokonalý a je v něm určitě značně chyb.
3) Neznám protokol VICTRUN-a a nevím, zda bych ho dokázal rozlousknout. Do problému s vyčítáním STUDER-a a TRISTAR-u mě uvedl "Procházka85", ten má lví podíl na tom, že jsem to vůbec dokázal.
4) Nevím jaké fyzické komunikační možnosti mí VICTRON. (Ethernet, sériový port, RS 485).
5) Nemám fyzický přístup k VICTRONOV-i, ten je nezbytný pro ověření kódu.
6) Myslím si, že VICTRON má poměrně slušně zpracován vlastní programové vybavení. (koketoval jsem s nákupem, nakonec to vyhrál STUDER).
7) Nerad bych bral potencionální práci pro „admina“, myslím si, že by to mohl být potencionální úkol pro něj. Já mám práce více nežli je zdrávo a možnost jak si vydělat penízky také. S adminem je to horší, proto bych raději nechal tento úkol pro něho.
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Tak jak si hraju s tím WEB serverem na arduinu, tak jsem zjistil, že je to pěkný žrout paměti arduina. Nainstaloval jsem si knihovnu #include <MemoryFree.h>, ktera vraci na promennou client.print(freeMemory()); hodnotu volne pameti v arduinu. Takze pulku pameti arduina (presne 4 140 byte) sezere par radku na webovem serveru arduina. Takze pozor pri programovani hratek s arduinem na web clienta!
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
Re: Arduino vyčítání hodnot ze STUDERu
A ted si zkus jeste volani freeMemory dat na ruzna mista v kodu a uvidis co presne tolik pameti alokuje a taky prijdes na ruzna jina zajimava prekvapeni, treba ze mimo smycku webserveru je pamet relativne volna pro uplne jine ucely
-
- Příspěvky: 830
- Registrován: pon led 21, 2013 6:36 pm
- Lokalita: Doubravička
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8700
- Kapacita baterie [kWh]: 25
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Doubravička
Re: Arduino vyčítání hodnot ze STUDERu
Na to jsem taky přišel. Pokud freeMemory zjistuji v sekce ovladani displeje tak tam mam jina cisla nezli primo ve WEB clientovy. To jsou veci, to jsou veci.
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
http://95.85.214.80, viewtopic.php?t=4809
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 0 Odpovědi
- 695 Zobrazení
-
Poslední příspěvek od jerrypaulick
-
- 19 Odpovědi
- 5227 Zobrazení
-
Poslední příspěvek od mopadzi
-
-
ORNO WE-516 správne odčítanie hodnôt pre FA
od Fliacik » » v Automatizace, měření, statistiky
ORNO WE-516 správne odčítanie hodnôt pre FA
- 4 Odpovědi
- 497 Zobrazení
-
Poslední příspěvek od Fliacik
-
-
-
Nastavení hodnot 100 Amp. Bms pro Lifepo4 24V/120Ah.
od Erny2 » » v mivvy ENERGY
Nastavení hodnot 100 Amp. Bms pro Lifepo4 24V/120Ah.
- 7 Odpovědi
- 1345 Zobrazení
-
Poslední příspěvek od Soban
-
-
-
Nastavení hodnot BMS 100 Amper u Lifepo4 baterie 120Ah/24V.
od Erny2 » » v mivvy ENERGY
Nastavení hodnot BMS 100 Amper u Lifepo4 baterie 120Ah/24V.
- 5 Odpovědi
- 1583 Zobrazení
-
Poslední příspěvek od Soban
-