Go Down

Topic: Motor Encoder (Read 2678 times) previous topic - next topic


Aug 24, 2012, 06:56 pm Last Edit: Aug 24, 2012, 06:58 pm by druckgott Reason: 1
Hallo, I have a Motor which has rpm betwenn 2000 and 10000.

I want to encode this motor, so that I know every turn. I don want to mount anything to the motor.

Is there any posibility to do this this an arduino and an sensor.

I also want to get the position of the motor, so its enought if I rotat the motor to a defined position and then
I will programm a software which gives me this position and then the output.

I want to build a balance machine for motors.

So if I connect anything to the motor I can't balance it right good.



Sorry, but if you don't connect something to the motor you will have no way of getting any feedback from the motor. And if you later connect anything to the motor you will be altering its balance. So make your sensor part of the assembly and balance the assembly.


Would you be able to stick... a piece of paper on the motor?  Here are two blog entries I did for what you're talking about.

This one is for speed:  http://messingwithreality.com/spinr-up/
This one is for angular position:  http://messingwithreality.com/where-am-i/

Unfortunately, they use the Netduino board using C#.  The boards are relatively pin compatible, but the Netduino is multitasking.

If you really want to use Arduino, the same can be done, but you have to use interrupts.  I'd suggest you do it with the two interrupt pins.  I'm working on an Arduino solution but I am having a problem at the moment, but its because I want to use the PWM also.  If you're just want speed and position sensing, it would easily get you heading in the right direction.  The Arduino version is here:  http://arduino.cc/forum/index.php/topic,119846.0.html

Hope this helps.


Hallo, ok thx is it not posible to get it over the magnets from the motor with a hall sensor?
Or do I need there special magnets?


I don't know the programming and pin connection but I know what you need. I am working on same project.
You need Magnetic Encoder. I like AS5045.

The magnet you need is :- NdFeB Rod Magnet, Ni-Cu-Ni Plated, Matte
finish, Diametrically Magnetized, Grade N40
Magnet with circumferential field distribution, 2.5mm high, 6mm in diameter.

Here are two links which are helpful for you :-

Some tutorial links:-



I am trying with Arduino UNO 3 and AS5045. If you write any code then please share it with me. I want to make high torque servo motor.


Definitely not my area of expertise, but you didn't mention the type of motor before... car or electric. 

And the answer would still be different with type of electric motor.  Just guessing... (again not my area of expertise) there's DC, AC, Two phase, three phase, and probably a whole lot I don't know.  For instance, I'd say...

  • electric motors using permanent magnets, and windings on the rotor, I'd say probably not.  The main field fluctuations are going on inside the motor between the magnets where you can't get the sensor (easily)

  • For those that use stationary coils, and either permanent magnets or coils on the rotor, you might be able to.  I would imagine you would need calibration to every type of motor.  Because things like the number of coils and two/three phase would change the rotating field considerably.  Sounds like a huge science project.  Let us know here if you try it and how it goes.


ok thx

I want to use it for RC-Motors like brushless motors with differnt numbers of magnets.

but thx @ MohitJindal

for this information I will take a look there.

if I have a code I will post it.


Go Up