Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Právě je pon lis 12, 2018 11:45 pm


Arduino + Voltronics

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

Arduino + Voltronics

Příspěvekod youda » ned kvě 06, 2018 4:22 pm

Chlapi,

máte někdo rozchozený monitoring invertorů Axpert, Infini či jiných od Voltronicsu pomocí Arduina?

Jak jste na to šli? SNMP, Modbus nebo RS232?
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 798
Registrován: úte dub 26, 2016 11:12 pm
Reputation: 136

Re: Arduino + Voltronics

Příspěvekod dequeue » ned kvě 06, 2018 4:40 pm

Arduino nie.
Ja som pouzil RPi Zero W + RS232 (funguje mi aj USB ale obcas sa zasekne a treba reboot)
Software pouzivam vlastny Python + MQTT na vlastny server.
1560Wp + 100Ah 48V Pb + PIP-4048MS
dequeue
 
Příspěvky: 7
Registrován: úte úno 21, 2017 11:29 pm
Reputation: 0

Re: Arduino + Voltronics

Příspěvekod youda » ned kvě 06, 2018 11:59 pm

Ahoj Dequeue,

moc díky za feedback! Bohužel, Raspberry bych se já osobně potřeboval vyhnout. Vím, že je to násobně flexibilnější platforma než Arduino, ale jeho stabilita v provozu 24x7 je prý horší. Navíc, Arduino už na pár věcí používám, tak bych chtěl držet linii.

Mimochodem, používáš na rozklíčování té sériové komunikace z Axperta nějakou knihovnu, nebo sis prostě jen vyparsoval těch pár údajů, které tě zajímaly?
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 798
Registrován: úte dub 26, 2016 11:12 pm
Reputation: 136

Re: Arduino + Voltronics

Příspěvekod dequeue » pon kvě 07, 2018 5:58 am

Ahoj,

kniznicu nepouzivam (o ziadnej neviem), len si parsujem to co ma zaujima.

Prvotne som isiel do RPi, lebo som chcel pouzit USB, to sa neosvedcilo ale inak to bol vyborna volba.
1560Wp + 100Ah 48V Pb + PIP-4048MS
dequeue
 
Příspěvky: 7
Registrován: úte úno 21, 2017 11:29 pm
Reputation: 0

Re: Arduino + Voltronics

Příspěvekod Honza_H » pon kvě 07, 2018 6:38 am

Ahoj.

Já jsem vše našel tady: http://www.homoandroidus.com/viator/pagina_02.html
Je tam komukace arduino axpert přes 232. Šlape to bez problémů.

H.
FVE 2kW, VE 500W, Axpert 4kW, 16x LiFePo 100Ah
Uživatelský avatar
Honza_H
 
Příspěvky: 13
Registrován: ned říj 23, 2016 10:14 am
Reputation: 6

Re: Arduino + Voltronics

Příspěvekod youda » pon kvě 07, 2018 9:50 am

Honza_H,
tak to vypadá výborně! Dobré je to upozornění na nutnost zvětšit sériový buffer:

An IMPORTANT thing is to modify the serial buffer, contained in the SoftwareSerial library (HardwareSerial if we use a mega arduino). You will have to go into the arduino dir and look for the SoftwareSerial.h file in the libraries. You will have to replace the line:
#define _SS_MAX_RX_BUFF 64 // RX buffer size

with:
#define _SS_MAX_RX_BUFF 128 // RX buffer size

This is because the characters coming in from 4048 are sometimes more than 64. Typical example is the QPIGS, which in response shoots about 100 bytes and if there was no change the data would be truncated to about half.


Bohužel, povedlo se mi stáhnout jen PDF schéma k základnímu zapojení. Všechny ZIPy se zdrojáky hlásí, že soubor neexistuje :cry: Prosím, měl bys sketch k té sériové komunikaci?
Přílohy
Viator RS232.JPG
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 798
Registrován: úte dub 26, 2016 11:12 pm
Reputation: 136

Re: Arduino + Voltronics

Příspěvekod youda » pon kvě 07, 2018 6:45 pm

V zápalu nadšení jsem vyhledal dva PDF manuály k sériové komunikaci. Jeden měl být pro Axpert, druhý pro InfiniSolar (kdyžtak na požádání PDF zašlu). V detailech protokolu se Axpert a Infini mírně liší, nicméně celková forma je identická. Měnič prostě očekává příkazy jako QPIGS, QMOD, QID, QVFW, QVFW2 ... A data vrací ve formátu (BBB.B FF.F ...

Vyzkoušel jsem tedy pár výše uvedených příkazů po RS232 poslat na InfiniSolar Plus 5K, ale ten se semnou nechtěl vůbec bavit. Až monitor komunikace Infini + SolarPower ukázal, že ti dva se spolu baví novou verzí protokolu!

Příkazy už nezačínají znaky QP ale ^P002^P016.
Příkazu QPIGS nově odpovídá ^P003GS
QPIRI se nám změnilo na ^P005PIRI
Každý příkaz je třeba potvrdit 0x0d, tedy terminálovým znakem <Carriage_Return>

Nový je také formát odpovědí. Data se nově vracejí jako ^Dxxx aaaa,bbb,cccc ..., kde xxx je trojmístné číslo, ihned následované odpovědí v ASCII kódu, kdy jednotlivé hodnoty jsou odděleny čárkou. Například:

Challenge: ^P005PIRI
Reponse: ^D0472300,500,0217,2300,0217,0100,0480,2,01,0,1,0
Obsahem response jsou štítkové hodnoty zařízení:
- Grid rating 230V
- Frekvence 50Hz
- Max proud 21.7A
- Výstupní napětí 230V
- Výstupní proud 21.7A
- Proud MPPT vstupu 10A
- AKU 48V
- Počet MPPT trackerů 2
- .
- .
- .

Nechal jsem tedy SolarPower chvilku běžet a ten během pár minut naposílal tyto příkazy:
^P002T
^P003DM
^P003FT
^P003GS
^P003ID
^P003MD
^P003PS
^P003SV
^P003WS
^P004CFS
^P004FET
^P004GOF
^P004LST
^P004MAR
^P004MOD
^P004PLE
^P004VFW
^P005AAPF
^P005ACCT
^P005BATS
^P005FLAG
^P005FPPF
^P005GPMP
^P005HECS
^P005OPMP
^P005PIRI
^P005VFW2
^P006FPADJ
^P006GLTHV
^P006MPPTV
^P016EH2018050718210
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 798
Registrován: úte dub 26, 2016 11:12 pm
Reputation: 136

Re: Arduino + Voltronics

Příspěvekod youda » pon kvě 07, 2018 11:03 pm

A ještě info k fyzickému zapojení. Port RS232 na měniči je ve formě DB9 female:
InfiniSolar RS232.JPG

Kabel pro zapojení do PC je obyčejná produžka DB9 samec-samice. Piny jsou zapojeny napřímo a to pouze tyto:
2---2
3---3
5---5
shield---shield
DB9 RS232 pinout.png


Takže na ebay objednávám k arduinu převodník TTL na RS232 v provedení "samec", tak aby šel použít s obyčejnou prodlužkou.
max3232.JPG
max3232.JPG (20.7 KiB) Zobrazeno 755 krát


PS: Nemáte někdo vyčítání toho nového protokolu už hotové, ať nemusím znovu objevovat Ameriku? ;)
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 798
Registrován: úte dub 26, 2016 11:12 pm
Reputation: 136

Re: Arduino + Voltronics

Příspěvekod Honza_H » úte kvě 08, 2018 7:20 am

Ahoj.

Snad se ti podaří toto rozchodit. Je to prvotní kód, který jsem stáhnul z viatoru. Já už mám ve svém programu jen chaos :oops: . Tohle chodilo na prvmí dobrou.

Honza H.
Přílohy
viator_light_01.ino
(7.49 KiB) 20 krát
FVE 2kW, VE 500W, Axpert 4kW, 16x LiFePo 100Ah
Uživatelský avatar
Honza_H
 
Příspěvky: 13
Registrován: ned říj 23, 2016 10:14 am
Reputation: 6

Re: Arduino + Voltronics

Příspěvekod youda » úte kvě 08, 2018 7:22 am

Diky Honzo :)
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 798
Registrován: úte dub 26, 2016 11:12 pm
Reputation: 136

Re: Arduino + Voltronics

Příspěvekod youda » úte kvě 08, 2018 10:47 pm

Informační update pro nadšence:

Sketch viator_light_01.ino samozřejmě nejde přímo použít pro InifiniSolar, jelikož ten už mluví novým, výše popsanýn protokolem. Nicméně jsem z něj pochopil několik funkčních principů, takže ještě jednou díky Honzovi za pomoc!

InfiniSolar chci připojit přes Z-Wave protokol, abych data dostal s co nejmenším počtem převodníků až do Z-Wave gatewaye, kde je budu finálně zpracovávat. (Už dnes tím zapínám a sleduji všechny termostaty, čerpadla, zavlažování, čističku, bojler, pračku, garáž...no prostě skoro všecko. Až se to jednou podělá, tak budu mít doma jen tmu, zimu a potopu.)

Nejdu tedy programátorsky pohodlnější cestou SNMP-LAN-Linux-LAN-Gateway, ale kratší, trnitější, RS232-Arduino-Gateway. Místo klasického Arduina používám Z-UNO, což je miniaturní destička s čipem SigmaDesigns ZM5101, který umí rovnou bezdrátový protokol Z-WAVE. Bohužel není to programátorsky úplně nejpříjemnější, jelikož k němu například není knihovna SoftwareSerial.h a kvůli nekompatibilitě AVR vs 8051 ani spousta dalších knihoven. Nezná to proměnné typu String, ale jenom Long, Int, Byte, Word a Char. A zrovna při práci s RS232 tedy absence Stringů a souvisejících funkcí docela naštve :lol:

ZUNO.JPG

Místo SoftwareSerial.h jsem tedy použil vestavěný HW UART, místo Stringů kopec Charů a i ten problém s malým bufferem na UART (64 Byte) se nakonec dal vyřešit ;)

Do měniče posílám příkaz ^P003GS<CR> a čekám na odpověď, která pro tento příkaz vždy začíná 5-ti znaky ^D086 a končí <CR>. Díky tomu poznám, že řetězec skutečně obsahuje ty informace, na které jsem se měniče ptal a nikoliv odpověď na jiný příkaz nebo garbage.

Jakmile z řetězce vyčtu hodnoty MPPT, výkonu a zatížení, nacpu je do proměnných a posílám příkaz ^P003PS<CR>. Tím požádám o druhou sadu hodnot, kde jsou údaje o nabíjení AKU. Druhou odpověď poznám podle response ^D061.

Oba příkazy znovu opakuji pouze tehdy, pokud si Z-Wave gateway řekne o aktualizaci údajů. Intervaly komunikace přes Z-Wave i RS232 jsou tedy sladěné a lze je díky tomu měnit on-the-fly, přímo ve webovém rozhraní gatewaye. Mohl bych se měniče ptát každou sekundu, ale to patří mezi dvě věci, které nemám rád:

1) moc převodníků mezi systémy
2) zbytečně častý polling

Challenge: ^P003GS
Response: ^D0865500,1500,0000,0000,0000,000,+00000,2318,,,4995,0000,,,2316,,,4995,,,,028,028,000,0

Challenge: ^P003PS
Response: ^D06100000,00000,,,,,,0392,,,00392,0415,,,00415,008,1,0,0,0,0,1

Další krok bude prověřit detailní význam všech údajů v obou typech response. To nejdůležitější info už jsem asi rozklíčoval, ale pořád tam zbývají nějaké údaje k prozkoumání.

Youda
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 798
Registrován: úte dub 26, 2016 11:12 pm
Reputation: 136

Re: Arduino + Voltronics

Příspěvekod eSumo » stř kvě 09, 2018 12:10 pm

Zdar!
Mám doma něco podobného - používám Domoticz, RFLink GW, MySensor GW a hromadu MySensors...
Jeden takový MySensor jsem taky různě ohýbal, aby mi posílal z EASun (Voltronics) do Domoticzu...
Hledal jsem hledal a nakonec jsem použil podle mne dokonale napsaný kod odtud:
https://github.com/MHassanNadeem/WatchPower

Dá se číst vše a posílat cokoli... I s CRC...

Hodně úspěchů! ;)
12x SOLYNDRA 200; ISolar SMV II 5k-48; Arduino PLC; 18650 - 14S120P
eSumo
 
Příspěvky: 21
Registrován: úte kvě 09, 2017 9:50 am
Bydliště: FnO
Reputation: 0

Re: Arduino + Voltronics

Příspěvekod youda » stř kvě 09, 2018 10:02 pm

eSumo tak to je mazec. Ta knihovna SolarPower.h je fakt pěkná. Nechápu, že jsem na tohle sám nenarazil.
Bohužel, jak koukám dovnitř, i tady je komunikace starší verzí protokolu, takže je to vhodné pro klony Axpertu a možná první verze Infini. Nové verze "Plus" a "Super" už mluví jinak :(

Prozkoumám to, možná by do toho šlo nové příkazy naportovat.

Díky!!!
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 798
Registrován: úte dub 26, 2016 11:12 pm
Reputation: 136


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

cron
Reputation System ©'