Elektroměr DTS238-7 - modbus

Odpovědět
josse
Příspěvky: 870
Registrován: pon dub 19, 2021 10:37 am

Elektroměr DTS238-7 - modbus

Příspěvek od josse »

Další čínský kousek:
https://www.aliexpress.com/item/1005002 ... 4c4d9EoX3S
DTS238-7_obr.png
DTS238-7_obr.png (233.04 KiB) Zobrazeno 1783 x
3-phase Elektroměr, umí zobrazit i vyčíst napětí, proudy, power faktor, výkon, včetně jalového, energii celkovou, odebranou i dodanou. je velice podobný jako 1 fázový DDS-238-X, zádrhel jsou nepublikované registry (číňan mi dvakrát psal, že manuál poslal, ale nic na gmail nedorazilo, ...asi nějaká cenzura...), ty celkové registry jsou stejné a ty 3ph registry začínají na 0x80h. Zádrhel byl v tom, že nebyla dokumentace a 3ph elektroměr vrací nuly na registrech 1ph například 0x0C je napětí u 1ph, ale 3ph vrací "0"... protože má napětí A, B a C na 0x80, 81 a 82h

Zatím nemám výtky, rozchodil jsem vyčítání z RS485, ukládám do Emoncms (jako obvykle). Graf vám zatím nedám, asi jsem si rozbil emoncms a budu to muset opravit... zatím obrázek:
DTS238-7.png
DTS238-7.png (62.45 KiB) Zobrazeno 1783 x
Kdyby někdo chtěl inspiraci, přikládám úryvky z pythonu:

...
import minimalmodbus # required for handling modbus
...
MeterCharger = minimalmodbus.Instrument('/dev/ttyUSB0',MeterChargerAddress) # port name, slave address
MeterCharger.serial.baudrate = 9600
MeterCharger.serial.timeout = 0.5
...
TotalEnergy1 = MeterCharger.read_registers(0,2)
LifeEnergy_High = TotalEnergy1[0]
LifeEnergy_Low = TotalEnergy1[1]
LifeEnergy = 0.01 * ((LifeEnergy_High * 65535) + LifeEnergy_Low)
NETENERGY = LifeEnergy * 1000
VOLTAGEA = MeterCharger.read_register(0x80,1)
VOLTAGEB = MeterCharger.read_register(0x81,1)
VOLTAGEC = MeterCharger.read_register(0x82,1)
CURRENTA = MeterCharger.read_register(0x83,2)
CURRENTB = MeterCharger.read_register(0x84,2)
CURRENTC = MeterCharger.read_register(0x85,2)
ActivePower1 = MeterCharger.read_registers(0x86,2)
ActivePower_High = ActivePower1[0]
ActivePower_Low = ActivePower1[1]
ActivePower = (0.01 * ((ActivePower_High * 65535) + ActivePower_Low)) * 100
ActivePowerA = MeterCharger.read_register(0x88,3)
ActivePowerB = MeterCharger.read_register(0x89,3)
ActivePowerC = MeterCharger.read_register(0x8A,3)
ApparentPower1 = MeterCharger.read_registers(0x90,2)
ApparentPower_High = ApparentPower1[0]
ApparentPower_Low = ApparentPower1[1]
ApparentPower = (0.01 * ((ApparentPower_High * 65535) + ApparentPower_Low)) * 100
ApparentPowerA = MeterCharger.read_register(0x92,3)
ApparentPowerB = MeterCharger.read_register(0x93,3)
ApparentPowerC = MeterCharger.read_register(0x94,3)
PowerFactor = MeterCharger.read_register(0x95,3)
PowerFactorA = MeterCharger.read_register(0x96,3)
PowerFactorB = MeterCharger.read_register(0x97,3)
PowerFactorC = MeterCharger.read_register(0x98,3)
...
#print
#print '= RS485-Values for Upload ='
#print 'NetEnergy = ', NETENERGY, ' Wh'
#print 'Voltage A = ', VOLTAGEA, ' V'
#print 'Voltage B = ', VOLTAGEB, ' V'
#print 'Voltage C = ', VOLTAGEC, ' V'
#print 'Current A = ', CURRENTA, ' A'
#print 'Current B = ', CURRENTB, ' A'
#print 'Current C = ', CURRENTC, ' A'
#print 'ActivePower = ', ActivePower, ' W'
#print 'ActivePower A = ', ActivePowerA, ' W'
#print 'ActivePower B = ', ActivePowerB, ' W'
#print 'ActivePower C = ', ActivePowerC, ' W'
#print 'ApparentPower = ', ApparentPower, ' VA'
#print 'ApparentPower A = ', ApparentPowerA, ' VA'
#print 'ApparentPower B = ', ApparentPowerB, ' VA'
#print 'ApparentPower C = ', ApparentPowerC, ' VA'
#print 'Power Factor = ', PowerFactor, ' -'
#print 'Power Factor A = ', PowerFactorA, ' -'
#print 'Power Factor B = ', PowerFactorB, ' -'
#print 'Power Factor C = ', PowerFactorC, ' -'
3,6kWp GWL Poly + 8,82kWp Canadian Mono, 3x PIP4048MS, 3x80P14S 18650 (~640Ah/34kWh)
Elektrárna: https://emoncms.trenet.org/dashboard/view?id=3
TČ: https://emoncms.trenet.org/dashboard/view?id=21
GWalk
Příspěvky: 1
Registrován: ned pro 19, 2021 11:53 am

Re: Elektroměr DTS238-7 - modbus

Příspěvek od GWalk »

Ahoj

doufam, ze to pomuze. Melo by to fungovat i s Tasmotou. Pravdepodobne, ale bude potreba trochu upravit zdrojak.
Poridil jsem si ho taky. Ale pres Modbus 485 umi daleko vice nez ve founu.

Pekny den

PS: Reší tu 1F DDS238-2 https://github.com/arendst/Tasmota/issues/6531
Přílohy
DTS 238-7 Manual RS485 Modbus Protokol.pdf
(315.51 KiB) Staženo 165 x
silvestr
Příspěvky: 1
Registrován: ned led 16, 2022 12:41 pm

Re: Elektroměr DTS238-7 - modbus

Příspěvek od silvestr »

Zdravim,
zvazuju nakup tohoto elektromeru. Chtel bych do nej dostat Tasmotu. Mohli byste prosim, vy co ho mate, zjistit, co je uvnitr za wifi modul? Nemuzu to nikde na netu najit. Vim, ze u podobneho jednofazoveho je ESP8266, takze na nem Tasmota bezi, ale u tri fazoveho to muze byt jinak.

Pripadne pokud mate odkaz na video, kde ho nekdo rozebral a podival se dovnitr (hledal jsem hodne, nenasel).

Moje motivace je vycitat hodnoty pres MQTT (idealne ta Tasmota). Pokud by to neslo, tak bych si koupil o dost levnejsi a spokojil se s Modbus 485.

Dekuju.
jburak
Příspěvky: 1
Registrován: pát úno 04, 2022 9:15 am

Re: Elektroměr DTS238-7 - modbus

Příspěvek od jburak »

Tak WiFi modul má označení TYWES3
Přílohy
wifi_modul.jpg
wifi_modul.jpg (718.67 KiB) Zobrazeno 1255 x
Kodl69
Příspěvky: 1302
Registrován: úte dub 06, 2021 10:45 pm

Re: Elektroměr DTS238-7 - modbus

Příspěvek od Kodl69 »

Asi disgrafik... TYWE3S https://duckduckgo.com/?q=TYWE3S&t=lm&atb=v302-1&ia=web
chceš do toho tasmotu nebo něco jinýho? je to vlastně ESP12 s jinou nálepkou, říká nešmírující vyhledávač...
Polostrovní FVE 8 kWp na severu jižní moravy. Samodomo měnič, osvětlení na DC, MPPT od Victronu, nic od Studeru...
Odpovědět

Zpět na „Elektroporadna“