*4.2. Charging Controller*

We used a simple charging controller in this project. The controller first computes the currently available charging power: *Pa*:

$$P\_a(t) = P\_{PV}(t) + P\_{\text{Base}} \tag{1}$$

where *PPV* is the current power production from the PV system and *PBase* additional power taken from the grid. In order to minimize peak loads and to reduce costs and CO2 emissions, one would try to minimize *PBase*. Here, we have chosen *PBase* = 30 kW, but also consider two extreme scenarios with *PBase* = 0 kW and *PBase* = 1 MW (MAX scenario). These values were chosen to cover three interesting conditions: one where only PV power is available (*PBase* = 0 kW), which means 100% green energy, the additional availability of on average 1 kW per EV (*PBase* = 30 kW), and finally, a setting for virtually unlimited grid power (*PBase* = 1 MW). These values both span a wide range, but also appear realistic under different ecological or economic constraints.

As an example, we note that at our facility, peak costs of approximately 100 Euros/kW occur, so that *PBase* should be kept as low as possible.

In the next step, the available power *Pa* was evenly distributed between all EVs until they reached their target SoC. If an EV was provided with more charging power than what was technically feasible, this surplus power was returned to the system and made available for vehicles with higher potential charging power. Only when all EVs reached their target SoC values, then all vehicles were charged from the target SoC to 100%, again evenly distributed.

Note that our simple controller did not consider the current SoC in the EV to prioritize EVs with low SoC levels, since this would increase the complexity of the controller and also raise issues of fairness. We also neglected the impact of the charging strategy on the battery state of health (SOH). While the simulator performed a basic SOH modeling depending on cyclic and calendaric aging, these effects were not considered in the controller and our analysis.
