Having done a rough design of the MicroGrid Connection Unit, the next step was to build it on a breadboard and start writing some code. I decided to use a regular Arduino Nano for the first phase, in order to not risk breaking the Nano33 IoT. They are mostly pin compatible so that should be only a small adjustment later on.
One thing I noticed that I missed in the original design post was a way to measure current, which I feel is rather critical. I had some ACS712 modules on hand, so I decided to use one in here. They are supposed to run on 5V, so they work on the regular Nano, but I'll likely have to find a different solution when going back to the Nano33 IoT. But that's for later to figure out. Here's the updated breadboard design:
For easy testing, I used two batteries, one to represent the "local system", and one to represent the grid. A few things that I decided to test:
- Voltage measurement on both sides, with the MOSFET disabled
- Current measurement
- MOSFET duty cycle calculation
- Emergency cutoff
The grid battery has a little less charge, so ideally the local system should feed some energy to the grid battery. I didn't manage to take any pictures, but it seemed to work fine. Using a multimeter, I was able to verify the measurements of both voltage dividers as well as the current measurement. The batteries themselves were not enough to trigger the over-current protection, so I added a 12V LED bulb, which did the job. The dutycycle calculation did not manage to quite deal with that situation properly. The overcurrent triggered as it should, but it wasn't able to dial in a decent dutycycle to make it work as I would've liked.
The Arduino code provides a bit of debug output, which allowed for some more details on what the connection unit is doing, and why. There'll need to be a bit more testing, which probably requires a better test setup than what you can currently see on my bench. But we have a decent start
The Fritzing file as well as the Arduino source code is now up on GitHub: https://github.com/tiefpunkt/microgrid_connection_unit