{'fraction_non_alphanumeric': 0.034174042052488876, 'fraction_numerical': 0.010845654064562336, 'mean_word_length': 4.470127326150832, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Behavioral Modeling of DC/DC Converters in Self-Powered Sensor Systems with Modelica

DC/DC converters are the essential component of power management in applications such as self-powered systems. Their simulation plays an important role in the configuration, analysis and design. A major drawback is the lack of behavioral models for DC/DC converters for long-term simulations (days or months). Available models are cycle-to-cycle-based due to the switch-mode nature of the converters and are therefore not applicable. In this work, we present a new behavioral model of a DC/DC power converter. The model is based on a thorough discussion of the model aspects that are relevant for self-powered systems, such as electrical representation and the causal connection if input and output. The model implementation is shown in the Modelica language and is available as an open-source library. The highlights of the model are a feedback controller for operation at the maximum power point (MPP), a loss-based efficiency function, and the start/stop behavior. The model’s capabilities are demonstrated in a 24h-experiment to predict voltage levels and the conversion efficiency.


Introduction
The term "self-powered systems" describes systems that are electrically separated from their environment and contain at least one energy-harvesting source and an energy storage. Our target applications are low-power systems such as wireless sensor nodes (WSN) powered by energy harvesting (EH) [1]. Here, systems should be small and inexpensive [2] and are often installed in large quantities [3]. The system needs to have an efficient energy extraction to deliver sufficient power to the consumers similar to sensors and actuators. Furthermore, it needs to cope with varying input power due to environmental conditions and manage an energy storage. Consequently, the system needs a sophisticated power management [4]. The essential component in a power management are DC/DC converters, which transfer power and adjust voltage and current levels.

Simulation: Level of Detail vs. Time Scale
Modeling and simulation of systems in general is important to not undergo a lengthy try-and-error approach during the design phase. Simulations and their results can be differentiated by the level of detail and the captured time scale. In the context of designing DC/DC converters, a high level of detail and a short time scale (<1 s) is applied to check the efficiency, the control stability and the electromagnetic compatibility (EMC). Contrarily, in the context of self-powered system design, a low level of detail and a long time scale (>1 h) is applied to check the dimensioning of the storage size and the duty cycles of the electrical consumers.
Our research is focused on long-term experiments and energy balance modeling of self-powered wireless sensor systems [5]. We consider the DC/DC converters to be self-Modern power converters are switch-mode devices operating at switching frequencies in the range of 100 kHz to 3 MHz. The usual approach of modeling a power converter is to simulate every cycle of charging and discharging the internal storage elements similar to inductors and capacitors. Such a cycle-to-cycle simulation can be carried out by tools such as LTSpice or TINA-TI. The simulation is very detailed but the required calculation duration t calc is huge regarding the simulated time span t sim .
If weeks or even years shall be simulated, this leads to an unmanageable computational effort and such a high level of detail is not necessary. The proposed model describes the steady-state behavior of a DC/DC converter, which means that internal switching is not modeled but averaged. Our model is written in the Modelica language, a hierarchical, multi-physical and non-causal equation-based modeling language. The term "non-causal equation-based" means that modeling can be done using DAEs (differential algebraic equations). The solver performs symbolic variable transformation so that cause and effect of a certain behavior do not have to be determined. Hierarchical modeling means that the DAEs can be structured in blocks and displayed graphically.

Power Class of Self-Powered Sensor Systems
Besides the time scale, the power throughput of the system determines, which effects are relevant for the converter model. Sensor systems are typically low-power devices and converters operate in a range from 1 mW to 10 W. In the field of renewable energies and microgrid, typical powers are in the range from 100 W to 10 kW, which is about six orders of magnitude greater.
For EH-systems, the focus is on reducing standby power. Furthermore, a very low start-up voltage is desirable to avoid non-conversion losses. Maximum power point tracking (MPPT) is often accomplished by the fractional open-circuit voltage method (FOCV) [7]. For mid-power systems, the focus is on a high conversion efficiency and there is enough energy available for FPGAs implementing sophisticated algorithms such as the perturb and observe method (P&O) [8,9].

Structure and Functions a Micro Power Management
The principle structure of self-powered systems is shown in Figure 1 and consists of three main components: An energy harvester, a storage element and electrical consumers such as microcontrollers and sensors. To connect these components, two power converters are used in between. There are three major functions of a power management illustrated with blue curly braces and explained next: • Energy extraction: The output impedance of the harvester varies with the input power due to the environmental fluctuations. To extract as much energy from a harvester as possible, a continuous matching called maximum power point tracking (MPPT) is needed. The first power converter in Figure 1 is typically a step-up converter. For instance, a single solar cell only offers a voltage of about 0.5 V at the MPP, but a Li-Ion battery has an open-circuit voltage of 3.7 V. • Storage interaction (charge and protect): Most secondary batteries (e.g., Li-ion) need a constant-current, constant-voltage charging scheme (CCCV). Due to power fluctuations, this scheme cannot be followed completely, but at least a voltage limiting to prevent under-and over-charge must be implemented in both converters. • Voltage supply: A regulated constant voltage is required to supply the consumers. The second power converter is typically a step-down converter, as e.g., a low-power microcontroller needs a stable voltage of 1.8 V, which is below the battery voltage.

Power Management Integrated Circuits (PMICs)
A more enhanced DC/DC converter is often referred to as PMIC (power management integrated circuit). Although the term PMIC refers to a wide range of chips and modules, most PMIC include a DC/DC converter or at least its control part. Besides the energy conversion process, additional features such as MPPT and protection circuits are integrated in an IC. These features make them ideal to fulfill the power management functions mentioned above. PMICs differ mainly in the structure (buck/boost) and the implemented feedback concept (see later in Section 4.4).
Designers of self-powered systems typically prefer commercially off-the-shelf (COTS) solutions due to cost, the availability of evaluation boards and fast board bring-up. There are several popular PMICs (currently around 20) for energy-harvesting WSNs that have an impact on system design, as overviews in [6,10] show.

Structure of PMIC vs. the Presented Model
The model presented in this work is driven by commercially available EH-PMICs. However, PMICs show a high structural variance from one type to another. Besides the DC/DC converter, every PMIC integrates a different subset of additional features such as MPPT, over/under voltage protection, additional battery backup, supercapacitor charge balancing and power-good indication.
It is difficult to capture this variance in one self-contained model. Instead, the model itself should be hierarchical and consist of the key component, a DC/DC converter presented in this paper and other components, which are then freely arranged.

Related Work
The ModelicaStandardLibrary 4.0 [11] only contains switch-mode models of a DC/DC converters (e.g., Modelica.Electrical.PowerConverters.DCDC.ChopperStepDown), which is only mentioned here for the sake of completeness. Only the power transformation is modeled by ideal transistors and the PWM control is outsourced as another component (signalPWM).
Torrey et al. suggest in [12] a behavioral model of a DC/DC converter using Modelica. By means of a proportional-integral (PI) controller and a commanded output voltage the output current is controlled. The corresponding load is then reflected to the input as a current sink by dividing P out by V in and a constant efficiency value. Another feature is a minimum operating input voltage V min , where the input current sink is set to zero for too low input voltages. The converter efficiency is modeled as a constant value and an additional input resistor representing quiescent currents. The model is intended to be used for high power applications (approx. 5000 W).
The open-source PhotoVoltaics Modelica library [13] includes a DC/DC converter to extract energy from solar cells (PhotoVoltaics.Components.Converters.DCConverter). The input is modeled as voltage source, which is commanded externally by a MPP tracker, following the P&O concept. The input power is calculated and compared to the output power by means of an integral (I) controller. The controller controls the variable current source, which results in an output voltage that cannot be limited in any way. The model does not consider any losses. Furthermore, the converter is continuously running, and start-up or shutdown behavior is modeled.
The commercial EDrives library [14] includes three inverter models (DC/AC converters) to provide power to electric drives. The EDrives.PowerConverters.Averaging model neglects switching effects. The output is represented by a voltage source, which is commanded externally. The output power is calculated by multiplying the commanded V out and the resulting I out , which is then reflected to the input. An I controller compares P in and P out and controls the input current sink. The model assumes a constant efficiency of 100% and runs continuously.
Oliver et al. propose in [15] a behavioral model of a multi-output DC/DC converter. The input is represented by current sink and the outputs are represented by voltage sources with internal resistances. The focus is on modeling transient behaviors (start-up, load steps and output cross-over effects) with RCL networks without simulating the switching of the converter. A state-machine handles remote on/off an protections.
Behrmann et al. present in [16] a toolbox for energy analysis of self-powered sensors written in MATLAB Simulink. The toolbox features several blocks, which communicate via power ports. Thus, voltage and current levels are not considered and start-up and MPPT cannot be analyzed. However, the converter efficiency is modeled as a look-up table.
In summary, it can be stated that the related work only covers basic behaviors of the converter and there is no model available that is specifically for low-power applications.

Model Scope and Discussion Based upon Modeling Aspects
In this section, we define the scope of our DC/DC converter model. All relevant aspects are highlighted, and the methodology of the implementation is discussed. Furthermore, the considerations are compared to relevant approaches from literature.

Electrical Representation
The electrical representation of the converter's input and output is important for the interaction with other components such as the energy harvesters and the loads. For the input, a passive component (resistor or conductor) is preferable, since voltage and current levels are determined by the connected harvester. Still, active components are used as input in the literature [15,17], which can lead to negative input voltages. A conductor is beneficial compared to a resistor, as it can be disabled completely with a modest numerical value of zero (G in = 0 S), whereas for the resistor the value infinity (R in = ∞ Ω) is required. Furthermore, a resistivity of zero is not needed in reality.
The converter output must be an active element (voltage or current source) that can be converted by means of an additional resistor according to the Norton-Thevenin theorem. In our model, the output of the DC/DC converter is represented by a controlled current source. This represents very well the entirety of pulse currents from the inductor and a filter network of a real DC/DC converter.

Causal Connection of Input and Output
After defining the input and output ports, the causality between them needs to be established. There are two possible approaches: (1) a forward definition (approach of energy availability), where the power into the converter is controlled which then results in a certain output [13] or, (2) a backward definition (approach of energy demand), where the output is controlled, which results in a certain power draw at the input of the converter [12,14,15].
The first approach will be recommendable, when the input energy is limited and aspects such as MPPT should be implemented in the model. The second approach will be preferable if unlimited energy input can be assumed and if the load supply should be modeled precisely, including the load regulation.
Our model implements the forward definition, as input energy is limited. Only power that is consumed at the input is accessible at the output, which is further described in Section 5.3. Another reason is that this corresponds to the flow of energy in reality. Here, the input energy is first stored by an inductance and a PWM-controlled switch and is then accessible at the output capacitor.

Efficiency Function and Power Losses
Self-powered systems typically only have limited access to energy and thus, the efficiency of the components becomes crucial. The efficiency η of a power converter is the ratio of instantaneous output power P out and input power P in according to Due to the converter's working principle, the four port values (input voltage V in , input current I in , output voltage V out and output current I out ) correlate with each other. For example, if the input voltage drops, the input current will increase if a constant load is connected. With a real power converter, this correlation is non-linear and η is not simply a constant value. Instead, the efficiency should be considered to be a function depending on at least one of the four port values. Unfortunately, other available models only offer to specify a constant value for the efficiency [12] or even assume an efficiency of 100% [13,14]. The next best approach is to provide a fit function [18] or a look-up-table [15,16] for the efficiency. This may be practical, but it is not very accurate from a physical point of view.
When the efficiency function is modeled, one must keep in mind that it is just a calculated and unitless ratio and has no direct physical equivalent. However, the efficiency can be explained by introducing the concept of power losses, which also leads to a deeper understanding of the converter. Power losses originate from capacative switching losses, the switch resistance and parasitic resistance in the inductor and capacitors [18,19]. The total power losses of all components P loss, tot reduces the output power and thus the efficiency according to In this paper, we do not consider the internal structure of the parasitic components for three reasons: (1) The values of the internal parasitic components such as on-resistance and capacitances are not known and cannot extracted completely from the datasheet. (2) The individual loss terms can be quite complicated (see [19]) and simple models are usually preferable. (3) The equations are sectioned depending on the converter type (buck or boost) and operation mode (continuous conduction or discontinuous conduction). Our approach is to observe the efficiency curves and choose four simple loss terms with respect to V in and I in , which is further described in Section 5.4.

Feedback Control
Off-the-shelf power converters are active components with a closed-loop control. A behavioral model should also implement a feedback concept for the following reasons: (1) The function of a DC/DC converter in the power management is determined by the feedback concept (see Section 2.1). For energy extraction, the input voltage V in is controlled by the MPP tracking algorithm (FOCV or P&O). For storage interaction with CCCV charging, a combination of I out and V out is used. And for voltage supply, the output voltage V out is controlled. (2) The converter model is embedded into a complete system of energy sources and sinks. The above voltages and currents are setpoints that can deviate from the actual value. They are no fixed values, since this would lead to contradictions within the system model.
A feedback control monitoring V out is implemented in [12] and MPPT (monitoring V in ) is implemented in [13]. Our proposed model features setpoints for all power management functions, which is further described in Section 5.7. Both buck and boost converters are modeled in one approach.

Converter Start-Up and Shutdown
The start-up and shutdown behavior is another relevant behavior of a DC/DC converter, especially in energy-harvesting applications where the input voltages are small (<1 V). Small amounts of energy are then available, but cannot be used because the input voltage is below the minimum working voltage V min and the converter is switched off. Another phenomenon is the minimum cold-start voltage V start . Its value is higher than V min and must be exceeded if the converter has not been running before (it was cold). After successful start-up, the converter will provide power to internal circuitry to reduce the minimal working voltage. The difference of these voltages can be quite significant, e.g., consider the BQ25570 where V min = 100 mV and V start = 600 mV [20].
Assuming a constantly running converter overestimates the available energy for the system loads. Only a few other publications model the minimum working voltage [12,15]. If the cold start is not implemented, simulation loops can occur by continuously switching on and off the converter. Our model implements both the minimum working voltage and minimum cold-start voltage by means of a state machine, which is further described in Section 5.6.

The Proposed Behavioral Model
Our model is part of an open-source library [21] to simulate EH-powered WSNs. The structure of the proposed model is shown in Figure 2. As we use Modelica, it is easy to create hierarchical models and make use of existing components from the ModelicaStan-dardLibrary 4.0 [11]. The model components are explained in the following.

Overview of the Power Path
In the following Sections 5.2-5.4, we will explain the power path of the converter. First, we will present the electrical representation of output and input. Then we will explain how to determine the output current. Lastly, we will explain how the efficiency within this path is modeled. The three corresponding icons are shown in Figure 3.

Electrical Representation and Working Principle
We model the input of the DC/DC converter by the controlled conductor G in . The output is represented by a controlled current source I out . The input conductivity G in will consume the input power P in , which is adjusted by a PI controller and a start-stop logic. The converter efficiency η is modeled by means of internal power losses P loss, tot . The output power P out is then derived from P in by subtracting these internal losses. Finally, the output current I out is calculated by dividing the output power P out by the output voltage V out according to

Determination of the Output Current
Taking a closer look at (3) reveals that there is a risk of a division by zero, which can be problematic during simulation. The condition where the denominator is zero (V out = 0) will occur during start-up, when the converter outputs no voltage but consumes a certain start-up input power. Furthermore, a short circuit at the output equals V out = 0.
To solve the division-by-zero issue, we substitute V out in (3) by V out as defined in (4). An exponential term is added to V out , which evaluates to 0.1 V for V out = 0 and then rapidly decays to zero for larger output voltages, as shown in Figure 4. For a regular output voltage (e.g., 3.3 V), the additional term evaluates to 4.7 × 10 −16 V and is then negligible.
V out := V out + e −10·V out 10 (4) Figure 4. Substitution of V out with V out by adding an exponential decaying term.
The authors in [12] faced a similar division-by-zero problem and solved it by adding a small constant (10 −10 ) to the denominator. However, this can result in a very high output current at start-up due to the reciprocal operation. e.g., for an output power of 1 W, (3) yields an output current of 1 × 10 10 A for V out = 1 × 10 −10 V.

Efficiency Calculation Based on Power Losses
We model the converter efficiency by first observing the main characteristics of the efficiency curves. In this paper, we focus on step-up (boost) converters, but the principle is also applicable for step-down converters. For step-up converters, the relevant curves, provided by the manufacturer, are the efficiency η plotted against I in and V in at a constant V out . For step-up converter, the efficiency is usually shown w.r.t I out and V in . Figure 5 shows in solid lines the efficiency curves of the ADP5090 boost converter, extracted from the original datasheet [22] for V out = 3.0 V. The raw measurement data and a script to obtain the simulated results is available here: [21]. The dashed lines show the simulated efficiency according to our model. The used formulas and parameters are explained on the next page. However, first, we study the general behavior of the graphs, where we observed the following four characteristics:

1.
The input current sweep shows a plateau with a flat maximum (i.e., ≈1 mA for the ADP5090), whereas the input voltage sweep is monotonically increasing without a clear maximum.

2.
The curves in the current sweep show a similar shape, but the higher Vin, the higher the efficiency. This can be explained by the fact that the V out -to-V in ratio moves closer to 1, which causes fewer losses.

3.
In both graphs, the efficiency drops rapidly for very small input powers. The behavior is similar even if V in and I in are swept independently of each other.

4.
Only in the I in sweep, the efficiency decreases for high input currents. It will be especially dominant if the input voltage is small. There is no comparable slope at the "right side" in the V in graph.
As motivated previously, our approach is to choose appropriate loss terms P loss,i , which are a function of V in and I in . This differs from other approaches, in which the efficiency is described directly by a fit function [18]. Finally, the sum of all power losses P loss, tot is calculated in (5) and is then subtracted from the input power in P in (6). During the whole simulation, the condition 0 < P loss < P in must hold true. Otherwise, the efficiency becomes negative of greater than 100%, which can happen if a fit parameter is not correctly chosen. As a precaution, we added the max function to (6).
P out = max(0, P in − P loss, tot ) Generally, the individual loss terms P loss,i can be arbitrary functions in V in and I in . However, we want a dedicated control of the curves in either the I in sweep or the V in sweep and take advantage of the fact that the fraction in the efficiency function (2) contains V in · I in . In doing so, the fraction can be shortened, and we obtain loss terms, which act only in the V in sweep or the I in sweep. The four loss terms are described by (7) to (10) and are explained in the next sections. The fit parameters k 1 to k 4 of the loss terms can be extracted directly from the characteristic curves. The actual values for the plot in Figure 5 (ADP5090 converter) are: k 1 = 0.01 V, k 2 = 0.11 √ V, k 3 = 1.2 µW and k 4 = 1.35 Ω. These values can change depending on the buck/boost converter chip.

Power Loss Proportional to I in
The first loss term (7) is proportional to I in . In the efficiency function, I in cancels out and we obtain horizontal lines in the I in sweep. This also represents the maximum efficiency and the plateau. Furthermore, we obtain the characteristic 1 x shape in the V in sweep, where the efficiency increases monotonically with increasing V in . Already this simple term models the first two behaviors that we observed at the beginning.

Power Loss Proportional to
The second loss term (8) builds on (7), by adding further losses which are proportional to the square root of V in . This term is a step towards defining a global maximum efficiency. For a moment, consider the loss term P loss = k 2 · I in · V in that will lead to a constant efficiency, when plugged into (2) (resulting in η max = 1 − k 2 ). Given that defining an η max is a too hard restriction, the √ V in is a good compromise. In summary, this term helps to push down the efficiency curves in the I in sweep for decreasing V in .

Constant Power Loss
The third term given by (9) describes power losses that are independent of the input power and are always present. This comprises losses such as quiescent currents (leakage) and internal bandgap references. It models the decreasing efficiency in the I in sweep for low input currents (slope on the "left side"). For very low input powers (P in < k 3 , typically below 1 µW), the efficiency becomes negative. Fortunately, the model handles this situation by switching-off the converter and by (6).

Power Loss Proportional to I 2 in
The fourth loss term is given by (10) and models the decreasing efficiency in the I in sweep for high input currents (slope on the "right side"). The loss originates from by conduction losses, which dominate at high currents according to Ohm's law (P = R · I 2 ).

Overview of the Control Path
In the following Sections 5.6-5.8, we will explain the control path of the converter. First, the start-stop mechanism is presented. Afterwards, the determination of the feedback error and the PI controller is explained. The three corresponding icons are shown in Figure 6. In Section 5.9 the operation at the MPPT is explained, which is an iteration of all three components.

Minimum Start-Up and Working Voltage
Equations in Modelica are primarily intended to model continuous behavior, whereas algorithms are used to describe state machines. Therefore, we model the start-up and shutdown behavior as an algorithm, whereby the Boolean state variable isOn is introduced (see Figure 7). It indicates whether the converter is running or not.
To determine the transition between on and off, the input voltage V in is compared to the minimum working voltage V min and the cold-start voltage V start , respectively. In addition, the output setpoint voltage V set is used: Consider a case in which an energy storage is connected to the converter, which is charged in such a way that its terminal voltage is higher than the intended output voltage of the converter. Then, the converter should not switch on even though the input condition is fulfilled (V in > V start ).

Feedback Error Determination and Setpoints
A proportional-integral (PI) controller controls the input conductivity G in to reach the following setpoints: At the input, the voltage V mpp can be commanded to achieve MPPT (see Section 5.9). At the output, two setpoints (limits) can be provided: The maximum output voltage V set and the maximum output current I set . By means of these parameters, a regulated voltage supply as well as a current-limiting storage charging (CCCV) can be implemented. The model is designed in such a way that the converter stays on for as long as possible. Especially at high loads, the converter will reduce the output power by neglecting the output setpoints to keep the converter alive (V in > V min ).
In summary, three setpoints are monitored by the controller, which results in three inequations, given in (11). The controller will try to fulfill at least one of the inequations by equality. The total error of all setpoints e PI is calculated using a minimum function (12). When the converter is off, the error e PI is certainly >0. The connected PI controller would integrate this error, which leads to incorrect results when switched on again. Therefore, e PI must be set to zero during the off-state.

Closed-Loop Feedback by a PI Controller
The feedback error signal e PI is fed into the PI controller. The I part was added to continually mitigate the P offset error. A D part was not added, because the PI implementation is already fast enough, and the solution is less complicated. Equation (13) describes the PI controller's transfer function. The output y PI is connected to the input conductivity G in (see Figure 2) by means of the start-stop logic according to (14). Here, a switched-off converter corresponds to G in = 0.
In a real converter, the controller parameters k FB and T FB determine the ripple response and stability of the converter output. An approach to calculate k FB and T FB is presented in [12]. Here, a sinusoidal load and a resistor is connected, and the transfer function of the controller is then analyzed for high and low frequencies.
In our model, the main reason for the PI controller is that the model actually compiles in Modelica and does not lead to an algebraic loop. In doing so, the two controller parameters can be chosen in a wide range. We found that for both k FB and T FB , a value of 1 × 10 −4 gives the best results.

Operation at the Maximum Power Point
The model offers to connect an externally controllable voltage V mpp , to allow the converter to operate at the MPP. The voltage V mpp represents the lowest value for V in at limited input power, which is different to [13], where V in is forced to be V mpp . For a better understanding, consider a scenario with real power source (with internal resistance) and a load at the output: as the load increases, the input voltage V in in the model will only decrease as low as V mpp , which represents the minimum suitable input voltage. A further reduction of V in will not result in extracting more power from the harvester.
The voltage can be provided externally via the port extMPP or by the parameter fixedMPP and with useExternalMPP being disabled. To disable the MPP feature completely, the voltage V mpp can be set to 0 V. To determine V mpp , several approaches are used in reality (FOCV and P&O) [7,8]. The different techniques are not part of this DC/DC converter model. However, the MPP tracking is implemented by means of an external tracker, which follows the FOCV method and a pilot cell. The setpoint V mpp is calculated as the fraction of the open-circuit voltage V oc according to

Simulation Setup
To demonstrate the usability and the behavioral aspects of the model, a simple use case was created. The setup is shown in Figure 8, consisting of a solar irradiation simulator, a solar cell, the DC/DC converter and a LiPo Battery. The second power converter (cf. Figure 1) was omitted, as this converter typically operates only in the constant-voltage mode and is less interesting. Furthermore, CCCV is already done by the first converter. The model source code of the setup is part of our online library [21], where the path is: EnergyHarvestingWSN.PowerConverter.UnitTests.SolarADP5090.
The solar simulator is the same as in our previous publication [5]. It describes a sunny morning and a cloudy afternoon by means of sinus functions. The peak irradiation is 1000 W/m 2 . The solar cell is a two-diode model and comparable with the model in [13]. The area A is set to 3 cm 2 and the short-circuit current density Jsc is set to 37 mA/cm 2 , resulting in peak efficiency η sol,p = 18%. By means of an internal pilot cell, the open-circuit voltage is measured and scaled by k = 0.8 and is then available at the V mpp port. The chosen DC/DC converter is the ADP5090 from Analog Devices. As explained in Section 2.3, the MPPT is not implemented in this block. We set V start to 0.5 V for this experiment. The battery model is based on [23] and shows the typical non-linear charging characteristics. The capacity is 50 mAh and the charge-stop voltage is 4.2 V.
The simulated timespan was half a day (43,200 s) and the simulation was carried out on a PC with an Intel ® Core ™ i7 running at 2.5 GHz. As numerical solver, the program Open-Modelica 1.18.0-dev was used and an interpolation interval of 100 s was chosen.

Simulation Performance
The compilation of the model takes approx. 10 s. After that, the actual required computational time t calc (for the DASSL integration method) is below 1 s. Prolonging t sim to one year (31,536,000 s), results in a t calc = 1 min and a result file of approx. 200 MByte, which is still manageable. And still, the results are very detailed, and all voltage and currents are simulated precisely, as shown in Figure 9.  Figure 9 (top) shows V in in blue, V mpp in green and I in in red color. At t = 6 h, the solar irradiation starts and V in is increasing rapidly due to the non-linear IV-characteristic of the solar cell. At the times t = [6.09 h, 13.03 h, 14.63 h], the converter starts up. It looks as if the input voltage has overshoots at these points, but actually it is only because the converter needs at least an input voltage of 0.5 V to work. In off-state, no current is drawn from the solar cell, but when switched on, the converter regulates V in down to V mpp . At t = 15.47 h, the battery is full and no more current flows out of the converter into the battery. Consequently, the MPPT is stopped and V in jumps from below 0.5 V to 0.6 V, which is the V oc at this time. Figure 9 (bottom) shows the DC/DC converter efficiency in magenta and the efficiency of the solar cell in yellow. The converter shows a peak efficiency of 80 % because V in is always below 0.5 V during operation. Whenever the solar efficiency is high due to a high solar irradiation, the converter efficiency drops to as low as 55,4 % because of conduction losses (P loss, 4 ).

Behavior Discussion
Additionally in Figure 9 (bottom), the terminal voltage of the LiPo battery (=V out ) is shown in cyan. At t = 15.47 h, the battery is full. The constant-current phase of a CCCV charging scheme cannot be followed, due to the environmental fluctuations. However, the charge stop at V out = 4.2 V is visible.

Discussion
In the following, our work is discussed with respect to the start-of-the-art. In model scope (see Section 4), five aspects of a DC/DC converter model were highlighted. Table 1 shows how well the models perform on these criteria. It must be mentioned that none of the state-of-the-art models was specifically designed for self-powered or energy-harvesting systems. It is, therefore, not surprising that no model implements a separate cold-start voltage V start . Most of the publications use some kind of closed-loop controller; however only one commanded variable is available then. It is also noticeable that the best approach to model the efficiency is a simple look-up table. A variable efficiency, such as in our model, was not considered by any other publication.

Conclusions
This paper presented a new behavioral model for a DC/DC converter. First, a thorough discussion about the model scope and aspects for self-powered systems were given. Afterwards, the model with all relevant equations was explained and the graphical representation in Modelica was shown. A simulation setup and the results round off the paper. As discussed in Section 8, our model outperforms the other publication in the following points: • The model implements a complete start-stop behavior with minimum working voltage V min and the cold-start voltage V start . • The converter efficiency is modeled as a function, which is based on losses and depends on V in and I in . The loss terms are carefully selected to easily extract the parameters from the manufacturer's datasheet. • The closed-loop controller allows three modes of operation: CV (constant-voltage output), CC (constant-current output) and MPP (following the maximum power point by regulating Vin).
Our main contribution is that detailed simulations of energy-harvesting systems can be carried out now within seconds. This is supported by our demonstration setup. Here all relevant behavioral aspects are visible in the voltage and efficiency curves. The model helps to design a real system, by studying all losses and side-effects of the power conversion in a micro sensor system. The risk of a system failure due to energy shortage can be simulated without time-consuming field tests.
All parameters of our model can be extracted from the datasheet without knowing the internal structure of the converter. The published library (available online on GitHub [21]) provides datasets for popular PMICs such as the ADP5090 and the BQ25570 and a Python script to fit the parameters.
The language Modelica offers great features as explained in Section 1.2 and is the perfect tool for us: Writing down the equations makes the source code well readable, and the causal connection of elements does not have to be considered (such as in MATLAB Simulink). Furthermore, as the model is equation-based, it can be ported to other circuit simulators such as PSpice. Lastly, it is a non-commercial language and there are currently over 100 free libraries available [24].
In conjunction with other Modelica libraries, also other harvester types can be simulated, e.g., thermoelectric generators with [25]. For electromagnetic or piezoelectric energy harvesters, first a rectifier stage and a buffer capacitor is needed. Our future research steps are the simulation of real systems that are set up with our modular test platform [6]. Since Modelica also supports the simulation of sequential programs, dynamic duty cycling algorithms of the microcontroller shall be investigated and simulated. Finally, by simulating the energy balance, the reliability of self-powered systems shall be calculated and evaluated.
Author Contributions: J.K. is the lead author of this paper. He conceptualized, investigated, implemented and evaluated the research contents and wrote the original version of the paper. L.M.R. and S.J.R. contributed by reviewing the manuscript and by project administration and supervision. All authors have read and agreed to the published version of the manuscript.

Data Availability Statement:
The raw data of graphs and tables presented in this study are available on request from the corresponding author.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript CCCV