3-phase signal with position feedback for maglev


I apologise if this topic has already been covered in the forums but I could not find anything directly related to what im trying to achieve with an arduino.

For my final year project in college I am creating a model of a maglev train, and in order to provide the propulsion of the vehicle I must create a 3-phase signal to 3 electromagnets/solenoids which depend on their position in the magnetic field. I’m hoping the picture I’ve attached will more clearly explain what I am talking about. Using 3 hall-effect sensors I will get feedback on where the electromagnets are with respect to the magnetic poles which can be seen in the picture, as the group of 3 solenoids moves the phase must change accordingly in order to attract and repel their adjacent magnets.

My question is, is it possible to create 3 simple d.c phases that will provide power to each solenoid with position feedback from the hall-effect sensors?, if so how should I go about doing this, as I am very inexperienced with arduino’s and their programming. I know motor shields can be used to control motors and phases etc. but I’m hoping I can do it without the shields because I have already spent a fortune on the project and getting it built and materials etc.

Any help or reply on how I might go about achieving this would be greatly appreciated. thank you in advance!

Multi position single phase.png

It sounds as if you will need three outputs but none of them need to reverse. In that case you could either make up your own driver circuit using transistors, or use three of the four half-H-bridge drivers in a conventional motor driver shield. The shield would be faster and easier to get working, the discrete transistors would be cheaper (assuming you get the design right) but take more skill and effort.

I think you ought to be able to be able to detect the strength and polarity of a magnetic field using a solid state hall effect magnetometer, but it might take a bit of trial and error to detect the phasing accurately. I think I'd look for an approach that positioned the hall effect sensor so that the polarity of the magnetic field reversed as the coils passed the point where you need to switch to the next 'phase' of your coils. Gut feeling is that you'd need three sensors to give you enough information to determine where in the cycle you are, but I haven't looked into that.

An interesting project. I can see two ways of driving an electromagnet in this application:

  1. Using a mosfet to drive it (I'm assuming the current requirement will be greater than a BJT can comfortably handle), with a flyback diode across it. When the mosfet turns off, the current will decay quite slowly (which may limit the speed of the train), and the stored energy will be dissipated (mostly, in the resistance of the electromagnet).

  2. Using 2 mosfets to drive it (one at each end), and using the mosfet body diodes as flyback diodes. The current decay will be much faster and the stored energy will be mostly returned to the power supply.

However, looking at your diagrams, would it not allow a greater power-to-weight ratio if you reversed the current in the electromagnets at appropriate times? For example, in position 3 the centre magnet could be activated in the reverse direction. You could achieve this using standard H-bridge chips.