Skip to content

Commit 9199262

Browse files
committed
Add section regarding phase count switching support
Signed-off-by: Michael Heimpold <michael.heimpold@chargebyte.com>
1 parent 20f893d commit 9199262

File tree

5 files changed

+122
-0
lines changed

5 files changed

+122
-0
lines changed

docs/source/_static/images/switch-3ph1ph-mutual.drawio.svg

Lines changed: 4 additions & 0 deletions
Loading

docs/source/_static/images/switch-3ph1ph-serial-3p-contactor.drawio.svg

Lines changed: 4 additions & 0 deletions
Loading

docs/source/_static/images/switch-3ph1ph-serial-4p-contactor.drawio.svg

Lines changed: 4 additions & 0 deletions
Loading

docs/source/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
templates_path = ['_templates']
1919
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
2020

21+
numfig = True
22+
2123
# -- Options for HTML output -------------------------------------------------
2224
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
2325

docs/source/everest_charging_stack.rst

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,114 @@ This module implements and integrates OCPP 1.6 support within EVerest.
121121

122122
This module implements and integrates OCPP 2.0.1 support within EVerest.
123123

124+
Energy Management: 3 phase / 1 phase switching
125+
==============================================
126+
127+
During AC charging, it is sometimes desired to charge with less than 4.2 kW (= 6 A * 230 V * 3 phases),
128+
e.g. for solar charging setups. EVerest comes with built-in support for such setups and can dynamically
129+
switch the count of phases provided to the car. It only requires a corresponding hardware setup and
130+
support in the used hardware abstractation layer.
131+
132+
The Charge Control C is equipped with two independent onboard relays. This makes this hardware platform
133+
ideal for setting up such a phase count switching setup.
134+
Also the BSP driver `CbTarragonDriver <https://github.com/chargebyte/everest-chargebyte/tree/main/modules/CbTarragonDriver>`_
135+
(aka HAL) for this platform gained support for this.
136+
137+
A phase count switching setup always consists of two contactors which are controlled by the charging
138+
stack more or less independently. There exists two different kinds of hardware setups which are
139+
different in the physical wiring:
140+
141+
* **serial** setup type: In this setup type both contactors are wired in 'series'. This means, that
142+
the primary contactor always switches all phases (directly or indirectly) while the secondary contactor
143+
only switches the phases 2 and 3. The advantage of such a connection is that all phases appear
144+
simultaneously on the care side, not one after another.
145+
To achieve this, the primary contactor either switches all phases or, in addition to the neutral line
146+
and one phase, also switches the control path from the secondary contactor.
147+
From the software perspective, the secondary contactor is switched on first, but switched off last.
148+
In contrast to the primary contactor: this one is switched on last, but switched off first.
149+
This ensures that - in combination with the physical setup - a homogeneous view of the grid to
150+
the car. Thus the charger appears to be a single-phase only or a three-phase charger.
151+
152+
.. _switch-3ph1ph-serial-1:
153+
.. figure:: _static/images/switch-3ph1ph-serial-4p-contactor.drawio.svg
154+
:width: 80%
155+
156+
Example wiring with two contactors 'in series', both with auxiliary contacts for feedback generation.
157+
Both contactors must be rated for 400 V in this setup.
158+
159+
.. _switch-3ph1ph-serial-2:
160+
.. figure:: _static/images/switch-3ph1ph-serial-3p-contactor.drawio.svg
161+
:width: 80%
162+
163+
Another example wiring with two contactors 'in series'. Here too, both contactors must be
164+
rated for 400 V. In this example, the primary contactor only needs to switch 3 wires.
165+
166+
* **mutual** setup type: In this setup type, two different contactors are used 'in parallel'. However,
167+
it is important that only one contactor can be active at a time, i.e. they exclude each other *mutually*.
168+
This is supported by software configuration, but should already be enforced in hardware,
169+
e.g. by using the auxiliary contacts as shown in :numref:`switch-3ph1ph-mutual`.
170+
This setup allow to use a single 400 V-rated contactor in combination with a (cheaper) 230 V-rated one.
171+
172+
.. _switch-3ph1ph-mutual:
173+
.. figure:: _static/images/switch-3ph1ph-mutual.drawio.svg
174+
:width: 80%
175+
176+
Example wiring with two contactors in 'mutual' setup. The primary contactor must be
177+
rated for 400 V, the secondary contactor can be rated for 230 V only.
178+
179+
As mentioned, the **CbTarragonDriver** module is the relevant hardware abstraction layer for EVerest
180+
for the Charge Control C platform. The module must know which wiring type is used in the charger
181+
and offers the configuration parameter **switch_3ph1ph_wiring** for this which can take the following strings:
182+
183+
* **none** (default): No phase-count switching is supported - only R1/S1 is used to switch on/off a single contactor.
184+
* **serial**: Phase-count switching support is enabled using the serial wiring as described above: R1/S1 switches
185+
the primary contactor, R2/S2 is attached to the secondary contactor.
186+
* **mutual**: Phase-count switching support is enabled using the mutual wiring as described above. R1/S1 is wired to
187+
the three-phase contactor, R2/S2 is wired to the single-phase contactor.
188+
189+
Snippet of an EVerest configuration file which fits the configuration for :numref:`switch-3ph1ph-mutual`:
190+
191+
.. code-block:: yaml
192+
193+
...
194+
tarragon_bsp:
195+
module: CbTarragonDriver
196+
config_module:
197+
contactor_1_feedback_type: no
198+
contactor_2_feedback_type: no
199+
switch_3ph1ph_wiring: mutual
200+
connector_type: IEC62196Type2Socket
201+
...
202+
203+
However, enabling support for phase-count switching in the BSP module is not sufficient. The EVerest configuration
204+
must include a module of type 'EnergyManager' which must be properly linked to 'EvseManager' module et al.
205+
This 'EnergyManger' has also a configuration switch **switch_3ph1ph_while_charging_mode** which controls the
206+
phase-count switching in general:
207+
208+
* **Never**: Do not use 1 phase / 3 phase switching even if supported by the BSP.
209+
* **Oneway**: Only switch from 3 phase to 1 phase if power is not enough, but never switch back to 3 phase for a session.
210+
* **Both**: Switch in both directions, i.e. from 3 phase to 1 phase and back to 3 phase if available power changes.
211+
212+
The EnergyManager module has also additional configuration options to allow fine-tuning of the behavior, but
213+
all ship with reasonable default values and thus are not explained in detail here.
214+
A description of all these parameter can be found in the
215+
`EnergyManager manifest <https://github.com/EVerest/everest-core/blob/main/modules/EnergyManager/manifest.yaml>`_.
216+
217+
And also the 'EvseManager' module allows fine-tuning the switching process with two configuration parameters:
218+
219+
* **switch_3ph1ph_delay_s**: This takes an integer and defines, how many seconds the charging stacks waits between
220+
the switching process. In combination with Charge Control C, this value should be at least 11 seconds since the
221+
onboard relays are enforced to only switch on every 10 seconds, using this exact value or less generates a warning
222+
but does not result in faster switching.
223+
* **switch_3ph1ph_cp_state**: Allows to configure the CP state used during phase count switching. The default value
224+
of 'X1' should work with all cars and thus it's recommended to leave it on this default value.
225+
226+
The full description of all these parameters can be found in the
227+
`EvseManager manifest <https://github.com/EVerest/everest-core/blob/main/modules/EvseManager/manifest.yaml>`_.
228+
229+
.. note::
230+
Phase count switching is only possible in basic charging mode.
231+
124232
Further reading
125233
===============
126234

0 commit comments

Comments
 (0)