All Ball Drive - Adventures in Spherical Motors

Using a Arduino to create a Spherical Drive System

Public Chat
Similar projects worth following
Having now passed the decade of Blade Running and Going Back to the Future, I looked back over the years and couldn't help but notice a distinct lack of either Androids or Time-travel. Perhaps I should be grateful for the lack of that particular combination... but notwithstanding I thought for my master's dissertation I'd have a crack at putting us back on track with that classic sci-fi concept: The Spherical Wheel.

What started out as an investigation into all forms of spherical drive system quickly became focussed on the prospect of applying linear induction technology to a spherical object. An application which has only really been developed in the last couple of years, and not yet in the context of the automotive industry.

Let the hacking commence! :D

<< A bit ambitious to picture it going this far perhaps, but this little snap from 2004's I Robot gives a pretty good gist I think.

So Spherical Drive Systems!

After spending the first couple of months of my project researching and theorizing I decided to attempt to develop two prototypes, time permitting. One being a simple cylindrical rotor motor mounted onto a curved linear induction stator in order to prove the concept, and the second a fully fledged spherical drive system.

So how does it work?

Well, the aim is to ultimately end up with a ball (rotor) that is powered externally by the socket (stator) in which it is placed. This will hopefully be achieved through the use of phase shifted AC current (mimicking conventional 3 phase power) to induce changing magnetic fields around the stator coils. This will induce a back-EMF within the copper shell of the rotor as well as a reactionary magnetic field. The two magnetic fields should interact and generate a torque upon the ball/rotor.

In my opinion the best way to visualize this mechanism was likely described by the original linear induction guru; a certain Dr Eric Laithewaite. Also known as the grandfather of MagLev technology, he described the magnetic fields generated by the stator coils as a magnetic river. The flow of the river representing the travelling magnetic field and the reactionary magnetic field as a water mill, the paddles/flux loops being swept along and rotated by the river.

The thinking here is that if this works then multiple stators in different configurations could be used to provide different torque vectors and, before you know it, you'll be sliding your tesla into that tight space and guffawing that anyone had ever seriously considered doing a parallel park.

Portable Network Graphics (PNG) - 167.29 kB - 02/23/2020 at 20:42


WolframAlpha Integral.PNG

The moment I realised that a numerical integral solution would just have to do.

Portable Network Graphics (PNG) - 155.40 kB - 02/23/2020 at 20:42


Portable Network Graphics (PNG) - 169.75 kB - 02/23/2020 at 20:42


Portable Network Graphics (PNG) - 175.33 kB - 02/23/2020 at 20:42


Portable Network Graphics (PNG) - 192.66 kB - 02/23/2020 at 20:42


View all 9 files

  • 1 × Arduino Uno For the sensor array
  • 3 × Arduino Motorshield REV3 Add on shield for arduino. Based on the L298 H-Bridge chipset the Motorshield can power up to 2 motors at 2A or 1 motor at 4A. I am of course using it because it simplified the creation of my AC Power from DC.
  • 1 × Coils Enamalled AWG 19 Copper Wire
  • 10 × Hall Effect Sensor To try and measure the strength of my magnetic field in 3 dimensions.
  • 100 × 5x5mm Neodynium Magnets [N45] To assist in a potential alternative design

View all 15 components

  • 23rd February

    Alex Dunnett4 days ago 0 comments

    9th January - 23rd February

    It's been a while, but quite a bit of progress has been made.


    Nothing really on the research front, the focus has been more on getting models built and stuff made :)


    An additional rig has been designed. This will allow for the measurement of magnetic field strength (flux density) from my device. Hopefully this means that in the event that my device doesn't turn I can at least show I am on the right track.

    Also I have started to produce parts of my Rig using the IForge makerspace at Sheffield Uni. Pretty great place not going to lie.

    ^Lots of holes

    ^Oooo what lovely blond hair that experimental rig has!

    Analytical Calculations

    In the last log I claimed that this would only take a number of days to complete....... 

    Almost two months later I now have a pretty robust analytical model for predicting the performance of the spherical drive system. Here's a graph!

    -The attentive amongst you may realise that the Torque value is not especially high. In fact it is concerning low, hence my back up plan of a magnetic field measurement device to prove that my plan (sort of) had potential.

    Electromagnetic Simulation

    Did give this another crack but my model is throwing up a lot of errors that seems tricky to fix with only the guy on YouTube to look at for help. I think I might endeavour to find someone at the university who knows how to use this software.

    Power Supply

    My solution to this problem, which I had encountered just before the last log entry, is to use an Arduino Mega instead of an Arduino Uno to generate the power.

    This should be possible on account of the additional timers that the Mega has when compared to the Uno. 4 available timers versus 1 timer. (There are more timers on both boards but they are required by other functions).

    The Mega will then act to control 3 Arduino motor shields, offsetting the phases by 120 degrees each. Each board being powered by 3 independent 12V Voltage sources (i.e. 8 AA batteries in series).

    Upcoming Dilemmas 

    Dilemma #1 

    - The time is fast approaching to start building the stator. This will require me to go to some effort and expense purchasing steel sheet and using the water jet cutter to cut it out.  The problem is that the relative permeability of the steel is the key parameter, the values of which vary wildly depending on the grade of steel in question and it is a property which is rarely considered by most suppliers of regular (i.e. cheap) steels. Therefore I have no real guarantee as to what the relative permeability of whatever steel I purchase is. This is something I need to fix, perhaps there is a supplier of stator-grade steels at the university?

    Dilemma #2

    - I really have no idea if my Mega powered 3-phase solution will actually work, or if my code is any good.

    Dilemma #3

    - Time! this thing has to finished by like April! :O! Crikey!

  • 2020 Baseline [9th Jan 2020]

    Alex Dunnett01/09/2020 at 16:09 0 comments

    September 2019 - 9th Jan 2020

    As this is my first log in the Hackaday context I thought I'd share where I'm up to at the start of this new decade (and approx. halfway through my project).


    and boy has there been a lot of this.

    Dare I say that by the current stage of the project this section is complete?

    Probably not, but if I have to come back up from the little research hole where I've burrowed into then it means something has gone horribly, horribly wrong.


    So far a rig has been developed in CAD. This rig will house a singular stator, a cylindrical rotor and the whole collection of Arduino, batteries and electronic circuits that go along with it. The foundations of the rig can also be used to support the spherical rig once that has been designed.

    Analytical Calculations

    Rough pen and paper calculations so far, but looking to generate some more concrete figures in MATLAB over the coming days. 

    Electromagnetic Simulation

    By using the Ansys Maxwell software provided free by my university (and after watching some number of youtube videos by a bloke called Kamyar K.) I will be able to more accurately simulate the performance of my drive system, hopefully informing my design such that the final iteration will at least turn. Even just a little bit :P

    Progress here has been hampered partially by Ansys' immensely unfriendly user interface, but mostly because most of my time in the recent month or so has been spent trying to solve the problem in the next section...

    Power Supply

    The real crux of the problem. Once this has been solved then this whole project will become a good deal more straightforward. 

    Essentially, I know that I need to generate at least two (preferably 3) phases of AC current from a DC power supply. In the previous term I attempted to do this almost solely within the context of Arduino, as I was quite inexperienced with conventional electronics and eager to learn more about programming in the process.  

    To this end I combined an Arduino UNO with a few Arduino Motor-shield Rev 3.'s and developed some code to output a PWM signal that mimicked a sinusoidal AC waveform, using the motor shield's L298 H-Bridge to invert the signal every half period. This gave me control over the frequency of the signal as well as giving me the option to easily use sensor feedback to adjust the performance of the device.

    Before Christmas I thought I had managed to achieve this, as indicated by the attached image. However upon trying to combine the two half signals into one or apply a low-pass filter circuit the waveforms generated did not look at all correct. (These circuits were very basic however, only featuring a sparse collection of resistors and capacitors).

    So to all those who have struggled to the end of this post - 

     Anybody got any advice when it comes to generating 3 Phase AC power from an Arduino-based system for an electronics newbie? Any tips would be appreciated :D

    -Also if the advice could focus on the Arduino + Motor shield Combination then that would be ideal, as I have already put a reasonably large amount of my project budget into those components. (Not the end of the world though).

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates