Successfully Using Arduino to Control Well and Pressure Pumping During Peak Hours

MholmesMholmes Registered Users Posts: 2
Hi Everyone,

I'm new to this forum, fairly new to solar, and very new to Midnite Solar products. After living off the grid with my wife in a 5th wheel for over a year using a kludged-together solar system I inherited and patched up, we recently upgraded to a more significant installation. I received a lot of great help reading this forum (and many others), and wanted to share our experiences in case it can be of use to someone. I also posted this on the Midnite Solar forum, but wanted folks here to see it too.

I'll save you the back story; suffice it to say, I spent a lot of time and effort in the last 18 months with a 12v PV system that was inherited (free), but undersized and not in great shape. Batteries only lasted a few months before giving up the ghost. Though there were many headaches during that time, it was a great learning environment on what to do—and what not to do.

Our first step into something more robust came with the drilling of our well last winter. They had to go 925ft down to find 7gpm; it was a rough several weeks. We decided on setting the pump at 600ft where we could pump about 3.5gpm; we installed a Grundfos 6 SQF-3 pump, 8awg pump cable (ouch), a CU200 Controller, IO101 Switch Box all filling a 3,000g storage tank with a float switch. These were powered directly by 8 180w, 24v panels wired in series to provide 270+ vdc for the pump; we ran this independent system for about 9 months with no trouble.

For the domestic power PV system we'd upgraded our batteries to 6 Trojan T-105s, added 4 similar 120w panels to the 12v PV system (powering the trailer exclusively); this system was also working fine for about 9 months, though the charge controller was a bit underpowered.

But since our water use is relatively low, the array powering the well pump was sitting idle for 90% or more of the time—clearly a wasted opportunity. We decided to bite the bullet and upgrade the entire system and combine the output of the two arrays, creating the foundation of a system that will also be able to power the house we'll be building in the next 2-3 years. We determined that going with a smaller bank of T105s would work in the short term, with a possible battery upgrade in the next 4-5 years. With the help from the nice folks at Arizona Wind and Solar, our new system would look like this:

• Move all equipment into well house, adding new battery compartment
• Rewire the 8 180w 24v panels into 4 strings feeding a Midnite Solar Classic 150 charge controller
• Rewire the 7 120w 12v panels in series feeding a Midnite Solar Classic 200 Lite charge controller
• Midnite Solar e-Panel with appropriate breakers
• Magnum Energy 4448 PAE inverter
• Add 2 T105s to bring the total to 8 wired in series to 48v
• Power the well pump on 220v AC, not DC
• Add 1/2 hp AC booster pump for the pressure tank

My biggest concern was of course managing the two pump loads to make sure they wouldn't run at the same time, run at night, or when the batteries in a low SOC. With a little Googling, I discovered the wonderful world of Arduino, and realized I could program it to accept inputs from the Classics and trigger a couple of SSRs for the pumps based on some intelligent criteria.

I'm not an EE or a programmer, but have some rudimentary experience with both skills. It took several weeks of research, plus help from an Electrical Engineer friend of mine, to finally come up with the working solution... after burning out two Arduinos :cry:. The big issue is that the Arduino Uno I used has a native 5vdc signal I/O voltage, and though AUX1 can be set to LOGIC/RELAY, AUX2 from the Classic is 12vdc. You have to wire a couple of resistors to divide the voltage down. Likewise on the output, the big SSR I chose for the well pump needed 10-40vdc signal voltage, so I had to use an external 12vdc power supply and a MOSFET transistor to let the Arduino trigger the pump. The smaller 120v pressure pump SSR needed only 5vdc, and so could be triggered directly from the Arduino. This hardware was all built into a 'shield' that attaches to the Arduino and provides terminal blocks to connect the various I/O wires.

The software was definitely the hardest for me. But in the end I was able to establish daily criteria for running the pumps:

• Any pumping activity is only allowed while Classic 1 (there are 2 Classics) AUX1 is on -- this is set to 'Waste Not' or 'Opportunity HIGH'
• The pressure pump is triggered first, and is active for 10 minutes (there's a regular pressure switch inline on this circuit too as a backup)
• The well pump is triggered second, and runs for 40 minutes

Each of the pumps has a daily timer that accumulates; if AUX1 wavers in and out, the pumps will follow, resuming only when AUX1 is HIGH, and only until the daily timer totals out at 10 or 40 minutes respectively. While the well pump is running, it's constantly querying the float switch to see if the tank filled up; it will shut down and not run again until the switch drops out.

At the end of the day, the Arduino looks for Classic 1's AUX2 signal which is set to 'Nite Lite HIGH'; this tells the software to reset the daily timers, end the day's work, then wait for the next AUX1 'Waste Not' before deciding what to do next. There are two indicator LEDs on the Arduino enclosure panel to show activity status, plus three indicator lights inside the trailer to let me know when the pumps are on and if the generator is running (I installed the remote start package from Magnum).

There are also two physical override switches on the front of the Arduino enclosure; you can manually activate either or both pumps at any time; currently they do not add to the daily accumulation timers, but they certainly could. There is also a software switch for the pressure pump that can be activated by turning Classic 2's AUX1 to HIGH; I can trigger this from the remote MNGP that is mounted in the trailer. This is great as I can force the pressure pump to run for a while if we get a few cloudy days in a row and the pressure is low.

The system has been running for a few weeks now and behaving as planned. It's pretty exciting to be putting the excess power to use when and where it's needed, while preserving the life of this small battery bank. I'm very happy that Midnite Solar chose to expose these great AUX options. Obviously there are many, many more things that could be automated and controlled to manage the power, batteries, etc.

I'll attach some pix now, as I don't see a way to add them in line with the text. Please let me know if anyone has any questions; I can provide a lot more detailed explanation of any of the steps, the Arduino shield, programming code, etc. if anyone is interested.

Thanks, and I hope you enjoy it.

Mark Holmes


  • vtmapsvtmaps Solar Expert Posts: 3,738 ✭✭✭✭
    Re: Successfully Using Arduino to Control Well and Pressure Pumping During Peak Hours
    Mholmes wrote: »
    But since our water use is relatively low

    Congratulations... you seem to have ascended a very steep learning curve in just a year. btw, I saw your post at Midnite, but my question is more suitable to this forum.

    My question is about your booster pump research... why such a large booster pump (1/2 hp)? What brand and model?

    I am pressurizing my house with a cheap 115 v AC Shurflo (3 gpm) pump, and it is adequate for our needs. They are not rated for continuous duty and the brushes cannot be replaced. When it fails I would like to replace it with a higher quality pump, but I don't need more capacity than the shurflo. Do you have any suggestions?

    4 X 235watt Samsung, Midnite ePanel, Outback VFX3524 FM60 & mate, 4 Interstate L16, trimetric, Honda eu2000i
  • MholmesMholmes Registered Users Posts: 2
    Re: Successfully Using Arduino to Control Well and Pressure Pumping During Peak Hours
    My question is about your booster pump research... why such a large booster pump (1/2 hp)? What brand and model?

    Hi vtMaps,

    There's a lot of backstory I didn't include -- quite a bit of trial, error, band-aid patches and emergency scrambles as we dealt with the realities of parking a trailer in a forested lot at 4,000 ft in the mountains with winter coming on fast... with no well, no power, and just a septic system.

    At first we were hauling water in the back of our pickup with a 200g portable tank; we'd transfer that to a 550g tank on the land, then pump that into the 100g trailer holding tank for daily use (and use the on-board, on-demand ShurFlo pump on the trailer for domestic pressure). I'd picked up a small utility pump during this time:

    When we installed the well and built the well house, I used that pump for the pressure system, and installed the largest single pressure tank we could find: about 125g I think. I wasn't sure if the utility pump would work for this, but it seems to be fine (if not ideally suited). The idea was to run the pump once every day or two for about 10 minutes to charge the tank; the drawdown was sufficient to keep us pressurized for a day or two. Using the Arduino to control the pump has been working out great -- basically I don't need to think or worry about it.

    I saw a lot of possibilities for other booster pumps, both AC and DC, but it wasn't clear what would be best for us. This solution works for the interim, and I suspect we'll be replacing the booster pump with something designed for this purpose (the plumbing was designed with a future upgrade in mind); but I need more experience with our usage, the new solar equipment and inverter, future battery upgrade... basically the longer I delay the need to replace the pump, the smarter I'll be to make a choice.

    Sorry that doesn't really answer your question! But I'd be curious to follow your research and see what you come up with.


Sign In or Register to comment.