@@ -121,6 +121,114 @@ This module implements and integrates OCPP 1.6 support within EVerest.
121121
122122This 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 point is here, that if all phases are to be visible to the car,
144+ they should appear simultaneously, not one after the other.
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+
124232Further reading
125233===============
126234
0 commit comments