Difference between revisions of "Simple EVSE"

From BITPlan can4eve Wiki
Jump to navigation Jump to search
 
(32 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
* http://www.goingelectric.de/forum/ladeequipment/simple-evse-charge-controler-von-ev-power-t7556-100.html
 
* http://www.goingelectric.de/forum/ladeequipment/simple-evse-charge-controler-von-ev-power-t7556-100.html
 
= Parts =
 
= Parts =
* https://www.elektrofahrzeug-umbau.de/shop/ladetechnik/
+
# [https://www.elektrofahrzeug-umbau.de/shop/ladetechnik/ SimpleEVSE Wallbox] <img src='https://image.jimcdn.com/app/cms/image/transf/dimension=1820x1280:format=gif/path/s9f797ea9ad7dc140/image/i3b98618ecb7a3048/version/1468768366/image.gif' width='150'>
* https://www.bauhaus.info/sicherungsautomaten/abb-install-schuetz24a-4-schliesser/p/20409784?q=installationssch%C3%BCtz
+
# [https://www.bauhaus.info/sicherungsautomaten/abb-install-schuetz24a-4-schliesser/p/20409784?q=installationssch%C3%BCtz 24 Ampere 4 Fach Schütz] <img src='https://media.bahag.com/assets/resp_product/13/15/1315833_22404234.jpg' width='250px'>
 +
# [http://www.ebay.de/itm/Sicherungskasten-Kleinverteiler-IP40-aufputz-Unterverteilung-LUX-PLUS-/291240725404 Kleinverteiler Sicherungskasten] http://i.ebayimg.com/images/g/-kgAAOSwQItUJWkW/s-l500.jpg
 +
# [https://www.reichelt.de//index.html?ARTICLE=164977 Raspberry PI 3] https://cdn-reichelt.de/bilder/web/artikel_ws/A300/RASP_03_01.jpg
 +
# [https://www.reichelt.de/index.html?ARTICLE=160286 Raspberry PI Hutschienen-Gehäuse] https://cdn-reichelt.de/bilder/web/artikel_ws/C700/RPI_CASE_DINRAIL_01.jpg
 +
# [https://www.reichelt.de//index.html?ARTICLE=56051 ggf. Endhalter für Hutschine] https://cdn-reichelt.de/bilder/web/artikel_ws/C153/CLIPFIX35-5.jpg
 +
# [https://www.reichelt.de/index.html?ARTICLE=148095 5 Volt Netzteil Hutschiene] https://cdn-reichelt.de/bilder/web/artikel_ws/D400/DR_15_01.jpg
 +
# [http://bg-etech.de/os/product_info.php/products_id/429 Stromzähler]<img src='http://www.bg-etech.de/_shop/WG10/DRS155DE_web1.jpg' width='200px'>
 +
# [https://www.amazon.de/Demarkt-Adapter-RS232-PL2303HX-Konverter/dp/B013GBXZTM TTL - Uart / USB Converter]
 +
# [https://www.amazon.de/CSL-Seriell-Adapterkabel-Konverter-u/dp/B072M4NB5C RS232 - USB / USB Converter]
 +
 
 
= Manuals =
 
= Manuals =
 
* https://www.elektrofahrzeug-umbau.de/anleitungen/bluetooth-modul/
 
* https://www.elektrofahrzeug-umbau.de/anleitungen/bluetooth-modul/
Line 13: Line 22:
 
https://github.com/ed-chemnitz/qmodbus/
 
https://github.com/ed-chemnitz/qmodbus/
 
== Installation ==
 
== Installation ==
 +
=== Prerequisites ===
 +
<source lang='bash'>
 +
sudo apt-get install qt4-dev-tools
 +
</source>
 +
If you have no superuser rights prepend <nowiki>sudo</nowiki> before the commands below or type
 +
<source lang='bash'>
 +
sudo -s
 +
</source>
 +
before you start
 +
==== Debug tools ====
 +
<source lang='bash'>
 +
sudo apt-get install x11-apps
 +
</source>
 +
 +
=== qmodbus installations ===
 
<source lang='bash'>
 
<source lang='bash'>
 
cd /usr/local/src
 
cd /usr/local/src
Line 19: Line 43:
 
make
 
make
 
</source>
 
</source>
 +
 
== Start ==
 
== Start ==
 
<source lang='bash'>
 
<source lang='bash'>
 
ssh -Y <computer with QModBus>
 
ssh -Y <computer with QModBus>
 
cd /usr/local/scr/qmodbus
 
cd /usr/local/scr/qmodbus
QModBus&
+
./QModBus&
 
</source>
 
</source>
 +
 
== Example result ==
 
== Example result ==
 
[[File:registers2017-07-18.png|400px]]
 
[[File:registers2017-07-18.png|400px]]
= Software =
 
  
 +
= Volkszähler =
 +
* https://wiki.volkszaehler.org/
 +
 +
== S0 Pulse auslesen ==
 +
* https://wiki.volkszaehler.org/hardware/controllers/s0-an-rs232
 +
 +
= EVSE Software =
 +
To get this software simply contact us via http://web.bitplan.com/kontakt/
 
== Usage ==
 
== Usage ==
 
<source lang='bash'>
 
<source lang='bash'>
Line 73: Line 106:
 
<source lang='bash'>
 
<source lang='bash'>
 
java -jar simpleevse.jar  --port ttyUSB0 --readall
 
java -jar simpleevse.jar  --port ttyUSB0 --readall
INFO: Frame sent: 010303E8000645B8
 
INFO: Frame recv: 01030C0008000800030014000000051DD0
 
INFO: Frame sent: 010307D000084481
 
INFO: Frame recv: 01031000200001000000010000000000000000CB50
 
INFO: Frame sent: 010307DA00086483
 
INFO: Frame recv: 010310FB0600000000000000000000000000006128
 
 
SetChargeCurrent=  8
 
SetChargeCurrent=  8
 
ChargeCurrent=  8
 
ChargeCurrent=  8
Line 105: Line 132:
 
<source lang='bash'>
 
<source lang='bash'>
 
java -jar simpleevse.jar  --port ttyUSB0 --readall --verbose
 
java -jar simpleevse.jar  --port ttyUSB0 --readall --verbose
INFO: Frame sent: 010303E8000645B8
 
INFO: Frame recv: 01030C0008000800030014000000051DD0
 
INFO: Frame sent: 010307D000084481
 
INFO: Frame recv: 01031000200001000000010000000000000000CB50
 
INFO: Frame sent: 010307DA00086483
 
INFO: Frame recv: 010310FB0600000000000000000000000000006128
 
 
1000 (    SetChargeCurrent)=  8  
 
1000 (    SetChargeCurrent)=  8  
 
Ladestrom einstellen
 
Ladestrom einstellen
Line 192: Line 213:
 
Stromwert 8 (default 25A)
 
Stromwert 8 (default 25A)
 
</source>
 
</source>
 +
 
== read a single register ==
 
== read a single register ==
 
<source lang='bash'>
 
<source lang='bash'>
Line 219: Line 241:
 
Über dieses Register können Sie den gewünschten Ladestrom einstellen. (6-80A).
 
Über dieses Register können Sie den gewünschten Ladestrom einstellen. (6-80A).
 
</source>
 
</source>
 +
== write a single register ==
 +
<source lang='bash'>
 +
java -jar simpleevse.jar  --write SetChargeCurrent=8 --port ttyUSB0
 +
SetChargeCurrent=  8
 +
</source>
 +
same but verbose
 +
<source lang='bash'>
 +
java -jar simpleevse.jar  --write SetChargeCurrent=8 --port ttyUSB0 --verbose
 +
1000 (    SetChargeCurrent)=  8
 +
Ladestrom einstellen
 +
Über dieses Register können Sie den gewünschten Ladestrom einstellen. (6-80A).
 +
</source>
 +
== start a local graphical user interface ==
 +
<source lang='bash'>
 +
java -jar simpleevse.jar  --port ttyUSB0 --gui
 +
to edit a value click the corresponding cell in the value column and press enter
 +
</source>
 +
== start a web server ==
 +
<source lang='bash'>
 +
java -jar simpleevse.ja --port ttyUSB0 --server --debug
 +
SimpleEvSe: 0.0.1
 +
 +
Jul 29, 2017 6:40:46 PM com.sun.jersey.api.core.PackagesResourceConfig init
 +
INFORMATION: Scanning for root resource and provider classes in the packages:
 +
  com.bitplan.simpleevse.resources
 +
  com.bitplan.rest.providers
 +
Jul 29, 2017 6:40:54 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
 +
INFORMATION: Root resource classes found:
 +
  class com.bitplan.simpleevse.resources.SimpleEvseResource
 +
Jul 29, 2017 6:40:54 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
 +
INFORMATION: Provider classes found:
 +
  class com.bitplan.rest.providers.JsonProvider
 +
Jul 29, 2017 6:40:55 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
 +
INFORMATION: Initiating Jersey application, version 'Jersey: 1.19.3 10/24/2016 03:43 PM'
 +
Jul 29, 2017 6:40:57 PM com.bitplan.rest.RestServerImpl addHttpHandler
 +
INFORMATION: adding classpath httphandler /static/->/
 +
Jul 29, 2017 6:40:57 PM org.glassfish.grizzly.http.server.NetworkListener start
 +
INFORMATION: Started listener bound to [0.0.0.0:8102]
 +
Jul 29, 2017 6:40:57 PM org.glassfish.grizzly.http.server.HttpServer start
 +
INFORMATION: [HttpServer] Started.
 +
Jul 29, 2017 6:40:57 PM com.bitplan.rest.RestServerImpl startWebServer
 +
INFORMATION: starting server for URL: http://0.0.0.0:8102
 +
</source>
 +
Now you can use your browser or curl to issue restful commands
 +
 +
Valid commands are e.g.:
 +
 +
*    http://localhost:8102/charge/control/write/StopCharging/1
 +
*    http://localhost:8102/charge/control/write/StopCharging/0
 +
*    http://localhost:8102/charge/control/write/SetChargeCurrent/6
 +
*    http://localhost:8102/charge/control/read/SetChargeCurrent
 +
*    http://localhost:8102/charge/control/read/all
 +
 
<headertabs/>
 
<headertabs/>

Latest revision as of 11:33, 7 October 2017

[edit]

https://github.com/ed-chemnitz/qmodbus/

Installation

Prerequisites

sudo apt-get install qt4-dev-tools

If you have no superuser rights prepend sudo before the commands below or type

sudo -s

before you start

Debug tools

sudo apt-get install x11-apps

qmodbus installations

cd /usr/local/src
git clone https://github.com/ed-chemnitz/qmodbus/
qmake
make

Start

ssh -Y <computer with QModBus>
cd /usr/local/scr/qmodbus
./QModBus&

Example result

Registers2017-07-18.png

[edit]

To get this software simply contact us via http://web.bitplan.com/kontakt/

Usage

java -jar simpleevse.jar Usage
SimpleEvSe: 0.0.1

  usage: java SimpleEvSe
 -a (--readall)    : read all
                     read values of all registers
 -d (--debug)      : debug
                     create additional debug output if this switch is used
 -g (--gui)        : graphical user interface
                     show the graphical user interface
 -h (--help)       : help
                     show this usage
 -j (--jmod2)      : jmod2
                     use jmod2 communication library
 -l (--list)       : listserial
                     list the available serial ports
 -p (--port) WERT  : serialPort
                     the serial Port to use
 -r (--read) WERT  : read
                     read value for the given register
 -s (--server)     : web server
                     start the webserver
 -t (--timeOut) N  : timeOut
                     the serial Port timeout in msecs to apply
 -v (--version)    : showVersion
                     show current version if this switch is used
 -vb (--verbose)   : verbose
                     show descriptions and numbers
 -w (--write) WERT : write
                     write value to the given register

Check serial devices

java -jar simpleevse.jar  --list
available serial devices are:
	ttyUSB1
	ttyUSB0
	ttyAMA0

read all registers

java -jar simpleevse.jar  --port ttyUSB0 --readall
SetChargeCurrent=  8
ChargeCurrent=  8
VehicleState=  3
MaximumCurrent= 20
StopCharging=  0
FirmwareRevision=  5
DefaultCurrent= 32
ModbusActivate=  1
LowestANCurrent=  0
DigitalOrAnalog=  1
SaveValuesOnPowerDown=  0
StopLoadViaButton=  0
Reserved2006=  0
PP-Recognition=  0
Current1=64262
Current2=  0
Current3=  0
Current4=  0
Current5=  0
Current6=  0
Current7=  0
Current8=  0

same but verbose

java -jar simpleevse.jar  --port ttyUSB0 --readall --verbose
1000 (    SetChargeCurrent)=  8 
			Ladestrom einstellen
			Über dieses Register können Sie den gewünschten Ladestrom einstellen. (6-80A).
1001 (       ChargeCurrent)=  8 
			Aktueller Ladestrom
			Zeigt den über das CP-Signal kommunizierte Strom an.
			Dieser Wert entspricht dem eingestellten Ladestrom in Register 1000, 
			kann jedoch nie den Wert aus Register 1003 überschreiten.
			Wird der analoge Eingang AN benutzt, kann der dort eingestellte Ladestrom über dieses Register abgerufen werden.
1002 (        VehicleState)=  3 
			Fahrzeugstatus
			1: kein Fahrzeug angeschlossen, EVSE bereit 2: Fahrzeug angeschlossen
			3: Laden gestartet
			4: Laden mit Ventilation gestartet
1003 (      MaximumCurrent)= 20 
			Maximaler Strom
			Zeigt den maximalen Strom an, der durch den PP-Widerstand bzw. 
			dem angeschlossenen Ladekabel begrenzt wird (6A, 13A, 20A, 32A, 63A, 80A), oder über das Register 2007 eingestellt wurde.
1004 (        StopCharging)=  0 
			Laden beenden
			1: Laden sofort beenden 0: default/start charging
1005 (    FirmwareRevision)=  5 
			Firmware Revision
2000 (      DefaultCurrent)= 32 
			Default Ladestrom
			Der Ladestrom, der beim Einschalten der EVSE anliegen soll.
			Manuelles Einstellen nur dann sinnvoll, wenn das Abspeichern des zuletzt eingestellten Ladestroms deaktiviert wird (Register 2004).
2001 (      ModbusActivate)=  1 
			Modbus aktivieren
			Hier kann der Modbus aktiviert und deaktiviert werden.
			Bei deaktiviertem Modbus kann Pin 4 und Pin 5 des 5-poligen PROG-Anschlusses verwendet werden, um den maximalen Strom manuell über Widerstände einzustellen.
			0: Analog-Eingang über Pin 4 / Pin 5 aktiv
			1: Modbus aktiv (Analog-Eingang über Pin 4 / Pin 5 deaktiviert)
			Achtung: Die Benutzung des analogen Eingangs an Pin 4/Pin 5 ist nicht möglich, wenn das BT-Modul gesteckt ist. Dieses Register bitte nur auf 0 setzen, wenn das BT-Modul nicht angeschlossen ist, da es ansonsten zu Fehlfunktionen der EVSE kommen kann.
2002 (     LowestANCurrent)=  0 
			Kleinster einstellbarer Ladestrom über AN-Eingang
			Wird der AN-Eingang (0-5V) zur Stromeinstellung benutzt (Register 2003), so kann der minimale Strom über dieses Register gewählt werden (6A bis max. Strom), der über den AN-Eingang minimal eingestellt werden kann.
			Wird der Wert 0 gesetzt, stoppt das Laden (Schütz öffnet) bei einem über den AN-Eingang eingestellten Strom kleiner 6A .
2003 (     DigitalOrAnalog)=  1 
			Digitale oder analoge Stromeinstellung
			0: analoge Stromeinstellung über AN-Eingang (0-5V), das Register 1000 wird ausgeblendet.
			Digitale Stromeinstellung über Taster am AN-Eingang auf GND:
			1: jedes Aufblinken der LED eine Stromänderung um 1A, gestartet von 0A
			2: jedes Aufblinken der LED eine Stromänderung um 2A, gestartet von 0A
			3: jedes Aufblinken der LED eine Stromänderung um 3A, gestartet von 0A
			......
			10: jedes Aufblinken der LED eine Stromänderung um 10A, gestartet von 0A 11: feste Werte, die über die Register 2010 bis 2017 eingestellt werden können
			1x Aufleuchten = Stromwert aus Register 2010 2x Aufleuchten = Stromwert aus Register 2011
2004 (SaveValuesOnPowerDown)=  0 
			Stromwerte bei Stromausfall abspeichern oder zurücksetzen auf Default-Wert
			0: Stromwerte werden nicht gespeichert (default)
			1: Stromwerte werden gespeichert (in Register 2000)
2005 (   StopLoadViaButton)=  0 
			Laden über Taster unterbrechen
			0: Laden kann nicht über Taster unterbrochen werden
			1: Laden kann durch Taster (> 1 Sekunde halten) unterbrochen werden und kann erst wieder durch Abstecken und wieder Einstecken des Ladesteckers aktiviert werden.
			Bootloader aktivieren
			33000: Bootloader aktiv, LED leuchtet dauerhaft, bis Update durchgeführt wurde
2006 (        Reserved2006)=  0 
			reserviert, wird vorerst nicht bedient
2007 (      PP-Recognition)=  0 
			PP Erkennung
			0: PP-Erkennung über PP-Pin ist aktiv
			Wert > 0: Anstelle des über den PP-Widerstand begrenzten Ladestrom, kann über diesen Wert ein fester maximaler Ladestrom eingestellt werden. Der Widerstand m PP-Pin wird nicht berücksichtigt.
2010 (            Current1)=64262 
			Stromwert 1 (default 6A)
2011 (            Current2)=  0 
			Stromwert 2 (default 10A)
2012 (            Current3)=  0 
			Stromwert 3 (default 16A)
2013 (            Current4)=  0 
			Stromwert 4 (default 25A)
2014 (            Current5)=  0 
			Stromwert 5 (default 6A)
2015 (            Current6)=  0 
			Stromwert 6 (default 10A)
2016 (            Current7)=  0 
			Stromwert 7 (default 16A)
2017 (            Current8)=  0 
			Stromwert 8 (default 25A)

read a single register

java -jar simpleevse.jar  --port ttyUSB0 --read SetChargeCurrent
SetChargeCurrent=  8

same but verbose

java -jar simpleevse.jar  --port ttyUSB0 --read SetChargeCurrent --verbose
1000 (    SetChargeCurrent)=  8 
			Ladestrom einstellen
			Über dieses Register können Sie den gewünschten Ladestrom einstellen. (6-80A).

same but verbose and with debug information

java -jar simpleevse.jar  --port ttyUSB0 --read SetChargeCurrent --verbose --debug
SimpleEvSe: 0.0.1

INFO: Frame sent: 010303E8000645B8
INFO: Frame recv: 01030C0008000800030014000000051DD0
INFO: Frame sent: 010307D000084481
INFO: Frame recv: 01031000200001000000010000000000000000CB50
INFO: Frame sent: 010307DA00086483
INFO: Frame recv: 010310FB0600000000000000000000000000006128
1000 (    SetChargeCurrent)=  8 
			Ladestrom einstellen
			Über dieses Register können Sie den gewünschten Ladestrom einstellen. (6-80A).

write a single register

java -jar simpleevse.jar  --write SetChargeCurrent=8 --port ttyUSB0
SetChargeCurrent=  8

same but verbose

java -jar simpleevse.jar  --write SetChargeCurrent=8 --port ttyUSB0 --verbose
1000 (    SetChargeCurrent)=  8 
			Ladestrom einstellen
			Über dieses Register können Sie den gewünschten Ladestrom einstellen. (6-80A).

start a local graphical user interface

java -jar simpleevse.jar  --port ttyUSB0 --gui
to edit a value click the corresponding cell in the value column and press enter

start a web server

java -jar simpleevse.ja --port ttyUSB0 --server --debug
SimpleEvSe: 0.0.1

Jul 29, 2017 6:40:46 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFORMATION: Scanning for root resource and provider classes in the packages:
  com.bitplan.simpleevse.resources
  com.bitplan.rest.providers
Jul 29, 2017 6:40:54 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFORMATION: Root resource classes found:
  class com.bitplan.simpleevse.resources.SimpleEvseResource
Jul 29, 2017 6:40:54 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFORMATION: Provider classes found:
  class com.bitplan.rest.providers.JsonProvider
Jul 29, 2017 6:40:55 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFORMATION: Initiating Jersey application, version 'Jersey: 1.19.3 10/24/2016 03:43 PM'
Jul 29, 2017 6:40:57 PM com.bitplan.rest.RestServerImpl addHttpHandler
INFORMATION: adding classpath httphandler /static/->/
Jul 29, 2017 6:40:57 PM org.glassfish.grizzly.http.server.NetworkListener start
INFORMATION: Started listener bound to [0.0.0.0:8102]
Jul 29, 2017 6:40:57 PM org.glassfish.grizzly.http.server.HttpServer start
INFORMATION: [HttpServer] Started.
Jul 29, 2017 6:40:57 PM com.bitplan.rest.RestServerImpl startWebServer
INFORMATION: starting server for URL: http://0.0.0.0:8102

Now you can use your browser or curl to issue restful commands

Valid commands are e.g.: