Project:supplying constant power to a motor from a variable power source

Hello everyone, my name is Gauthier, I am currently a french student in a preparatory class for exams in Paris and I am trying to carry out a student project. I am looking to meet the power consumption needs of a house (modeled by a motor) using a variable natural energy source such as river flow or a solar panel (modeled by a voltage source with variable resistance). The primary objective is to maximize the power recovered by this source using an MPPT by varying an artificial variable resistance seen by the source (with an Arduino-controlled buck-boost DC-DC converter and MOSFET switches or transistors). I don’t think we should work with very high voltages and currents, since we just want to demonstrate the benefits of MPPT. The second objective is to connect this new maximized power source to both a battery and the “house.” The goal is to compare the house’s consumption demand with the variable power supplied by the MPPT (using sensors). If the energy supplied exceeds consumption, we supply the “house” and give the surplus to the battery to charge it. And when the natural source is too weak for the house’s consumption, even with the MPPT, the battery can supplement the MPPT’s power so that the “house” always has enough energy to function. After doing some research, I understand that a bidirectional buck-boost converter controlled by transistors (or MOSFETs) and driven by an Arduino board could connect the “house” to these two energy sources (the battery and the MPPT), but I don’t think I know these components well enough to be able to handle them without risking damage. That’s why I’m looking for people who have already built a similar system or who are simply familiar with this field to give me some advice. Can someone help me with it? I also wanted to know if I could buy a ready-made bidirectional buck-boost converter somewhere so that I would only have to put it in my electrical circuit and drive it with Arduino?

Hello Gauthier, welcome !

Can you do a schematic illustrating the different blocs of your system ? It will be easier to understand your objective this way.

Here is my schematic. There are probably some things that are incorrect or unclear due to my lack of experience, so I am counting on your expertise to help me :folded_hands:. By the way, as I am French, there may be some acronyms that do not correspond in English, but I hope it is still understandable… I don’t really know if the BUS is necessary or if it can simply be replaced by a cable line on a breadboard.

Why do you model the house using a motor ? You won’t have any power consumption if you do not apply a breaking force on your motor.
You might consider using a variable resistor instead, it is simpler, you will be able to adjust the power consumption of the house by varying the resistance directly.

Also to model a solar panel or a generator, you need to “emulate” its power curve, and its I-V characteristic curve. Otherwise, your MPPT will not be able to track the maximum power point of the curve if the source is a voltage source with a linear resistor.
In order to demonstrate that you MPPT is effective, you first need to have a source that does have a maximum to be tracked.

Below is an exemple of the characteristic curves of a solar panel :

You can not obtain the I-V curve above with your Variable voltage source as per your schematic except if you script or control your source to behave like the red curve above.

Hello @GauthierF ,

I think you can start by using some simpler way of modeling your problem.
First, your schematic is pivoted by 90 degrees. The +V is on the top rather than the left and the GND should be in the bottom.

But before going that, you should think just in terms of power. Here’s a simplified way of showing it:

Before doing something complicated, get an excel spreadsheet and create this type of system. This will help you understand the problem and “size” your system.
You can paste here your “simulation” results for a simplified power representation of the system. Once that is done, we can then talk about other details in the implementation.