Re-engineering my Dolphin

by PoolBoy
(Washington, DC)

I love my dolphin except for when it breaks. This is my second unit on its second drive box. They last about three to four years with my use. So I have taken my box apart and there is no water damage, no visible component damage, it goes through the test sequence and then shuts off. I have cleaned both motors and still no luck. Always the same story. I have always bought the rebuilt boxes and in my discussions with the service center, a german fellow as I remember, he always chastised me for taking the box apart. He claimed that the boxes are nitrogen charged at a certain numbers of atmospheres. This makes perfect sense since nitrogen is much more thermally stable than air. So for my project I have installed a Schrader valve in the cover. I have not been able to get the box to hold more than a couple of pounds though. It leaks right past the o-ring. Just being filled with nitrogen is probably better than air but I would like a little more positive pressure. Anyway on to the real problem.
So I have set off on retrofitting the unit with an alternative controller. I know others have talked about this in the past but nothing has come to pass. So my first attempt will be with some basic Arduino hardware. An Uno, L298 bridge, and a tilt sensor. I am basing my code on what I have observed and I am sure there is probably a lot more baked into the factory controller. I can do a pretty good job brushing and vacuuming my pool so if I can just get the machine to do just a little better I will be happy. This will be a little clumsy mounted in the box but if it works I can move on to something more purpose built and probably cheaper than the $35 worth of Arduino gear I borrowed from my son.

So I am hoping for some input and knowledge from anyone in the forum that can help with these questions.

1) In the water during the startup I observed the amp draw @ 1.8 when the fan starts, then jumping to 2.3 or so when it tries to drive. Out of the water the amp draws are roughly 1/3 of this. Does anyone have any other information about amp draws? The L298 bridge is rated 2 amp continuous / 3 amp peak per motor,so I would be close now.

2) Is there any reason to believe that the current sense resistors adjust the motor PWM up based on load? Like a dirty bag or when climbing the wall. This would make sense but maybe overkill and I will see when I start testing. Thoughts?

3) My next test is to measure the rpm's of the two motors as it goes through test. This will be out of the water and unloaded but should be relative -- I think. Anyone got any info?

4)Cleaning logic - This is the part that Maytronics has a lot of experience in but does it need to be that hard. I think there are three modes that are happening when the machine runs. Ignoring the self test, which I don't plan on replicating. It will either work or not. Here are the differences I see;

A)- (Quick Clean) The machine moves about the bottom cleaning only up the walls far enough to trip the tilt sensor. Maytronics calls this scanning but other than recognizing the longest run I don't see how it is gathering anymore info. If it had a compass it could plot the size x direction but it doesn't so it really doesn't know where it is. It does this for a period of time before it allows itself to start climbing the walls. Any thoughts on how long this should be? Is this necessary? For this function I have the code set to drive in one direction for "X" seconds or until the tilt sensor activates. It then reverses direction and repeats the same checks. The tilt sensor also counts the total cycles to be used in determining how long the cleaning cycle has been running as well as when to "steer"

B)- (Steering) Steering is accomplished by running up the speed and the cable drags to spin it around. Any ideas on how often this should occur (10 Cycles) and how long the high speed should last (3-4 seconds. It would be helpful if someone could post their observations since my machine doesn't work anymore.

C)- (Wall Climbing) So this one is pretty self explanatory and may be he simplest operation. Ignore the tilt sensor and lengthen the drive time in any direction. This may be part of the "Scanning" where it takes the lonest run without tilting and then adds a number of seconds for it to get up the wall and move laterally. Does the fan motor PWM need to be bumped up when climbing so it sticks to the wall better? What about the drive speed, does it get increased to get better brushing action at the top? Any thoughts or observations would be great.

I have most of my code cobbled together with variables I think might be right for my pool. I am waiting for a LM2575 voltage regulator to post and hope to give it a whirl this weekend.

Comments for Re-engineering my Dolphin

Average Rating starstarstarstarstar

Click here to add your own comments

Nov 26, 2020
Rating
starstarstarstarstar
ReEngineering Dolphin
by: Anonymous

The info here is extremely useful.
I have the Dx6 model and I'm working to replace it with L298N and Arduino Uno.

Pool Boy, Luc - I'm stuck with how to convert the power supply 21 AC to the correct DC voltage to the 2 engines (I have less knowledge on electronics).
Do you have a working solution that you can share?

I would highly appreciate if you can share any information.


guyelbaz@gmail.com
Guy

Mar 20, 2020
Rating
starstarstarstarstar
Re
by: Pool Boy

Clean the motors, brush and commutator areas. To much current draw because of carbon dust can make the board shut down.

Mar 20, 2020
Rating
starstarstarstarstar
My slightly Modified S3
by: Max

Poolboy, my unit is a Dolphin S3, which had a bad CB that I couldn't find by itself. I managed to purchase a CB from another bot and adapted to the S3. The alternate board is a 2410075lf rev1. Kind of interesting malfunction after 3 years of pristine operation. When power on, the unit moves back and forth for about 15 seconds, turns the pump motor on for 5 secs and then stops and nothing happens afterwards. Seems like a program fault. Is that CB re-settable?
Thanks for your input. elmacko2104@gmail.com

May 18, 2018
Rating
starstarstarstarstar
ReEngineering Dolphin
by: Luc

Your info about pwm is of the highest importance. I appreciate I will keep you well informed. My pm is lbalsacq@gmail.com

May 18, 2018
Rating
starstarstarstarstar
Dolphin Magic
by: Pool Boy

Driving the motors at 100% probably won’t give you the results you want. The optimum sweeping speed is around 35% pwm for the drive. It goes marginally higher to climb and about 65% to steer. Fan runs at 85%. I was able to measure these parameters from the factory board prior to destroying it. These seem to work pretty well. You have to be mindful of heat generated inside the box. The only cooling is the brass motor nuts that are exposed to water. The fan motor nut is very large because it works harder than the drive motor. There is a partial schematic posted elsewhere on this forum that point in the right direction. After experimenting with the arduino, I went with an 8 pin, I believe 2314, avr on a new pcb. I use the 2 pwm outputs and one input for the tilt sensor. I replicated the power supply. The most expensive part was the pcb board. It works pretty good, well enough for me to move onto other projects. Sweeping coverage was better in the original but I am sure the have a lot more time perfecting this. Sometimes I watch it work and think About additional code to make it smarter but Life calls and I move on. I have pictures of my work but don’t know how to include here.

May 18, 2018
Rating
starstarstarstarstar
Re-engineering my Dolphin
by: Luc from Belgium

Thanks a lot for your fine in-depth analysis. I'm active in repairing my Dolphin, and I am following the same process as you. I am not sure that it is mandatory to control the motor speed by PWW. Is not it OK when applying simpler control , i.e. ON/OFF with 100% duty cycle?
My Dolphin was produced in 2003, and I got no issue for 15 years. Regarding the MC, the mine is a COPxxx (National sem. I think). I plan to determine (by reverse engineering) which are the output ports that drive the two motors (via HC most and so on), in order to directly drive the last stages (without any current condition). For that purpose I will have to cut some PCB copper edges and to connect them to the output of a small Arduino module.I plan to reuse the existing output stages and not to substitute with L298. Hoping so to keep the existing heatsink.
Additional info, like schematic or advises are welcome.

Jun 16, 2016
Rating
starstarstarstarstar
More...
by: Pool Boy

Further investigation reveals that that both of the mosfets are driven by NOR gates. One input is connected to the pwm output of the MC and the other goes to op amp based current sensing circuit. My board has a problem in the current sensing portion of the circuit and is too involved for me to make much sense of it. It is possible to wire this NOR input low and then reprogram the MC so it ignores most of the higher level circuitry on the board. So right now my dolphin is working but only using 2 pwm outputs, the relay output and the tilt sensor input. What I don't have is any current clipping or the out of the water shut off. It works okay and you probably wouldn't know that this isn't the way it came from the factory. My concern is heat right now. I abandoned the L298 idea after considering the heat they put off. The big brass nuts for the motors actually do a pretty good job of sinking heat in the water. I have an adafruit Bluetooth link that I want to attach to the MC so I can program the parameters without taking it apart. My plan is to make my own PC board to incorporate ACS712 current sensors in place of the resistors.

Click here to add your own comments

Join in and write your own page! It's easy to do. How? Simply click here to return to Dolphin Maytronics Repair Comments.