Go Down

Topic: AS5040 rotary encoder and quadrature output (Read 5149 times) previous topic - next topic


Hi all,
I've soldered an AS5040 on a breakout board (Sparkfun http://www.sparkfun.com/products/498) and made the connections following the schematics available at http://wiki.makerbot.com/mre2. I had two strange behaviors testing this system (Arduino example code proposed by MakerBot). The first one is that the two MAG+ and MAG- diagnostics leds turns on/off at the same time, the same if the magnet is too far or too close to the chip (I've tested the two pins for short circuits with my tester but there is no continuity in ohm-meter mode). The second strange behavior is that the Arduino serial monitor give me an output of 0-512 positions for one complete revolution, instead of 1024 steps.
Ok, this AS5040 SMD soldering was my first attempt to place an SSOP chip by myself (technique as per http://www.sparkfun.com/tutorials/96, using solder wick) and I am afraid of damaging the chip probably because of too much seconds with the iron on the wick to remove the solder between pins, but I'm not sure about this. First of all I'd like to know if the 512 positions output is right or not.


Maybe the magnet is off-center.  You have to get it centered within 0.25 mm.

Maybe the chip you got was programmed for 9-bit resolution (one of the options).
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp


Reading through the AS5040 datasheet (http://www.ams.com/eng/content/view/download/1240), at page 28 (High Speed Operation - Incremental mode) says that "... Therefore, the AS5040 has a built-in interpolator, which ensures that there are no missing pulses at the incremental outputs for rotational speeds of up to 30,000 rpm, even at the highest resolution of 10 bits (512 pulses per revolution)". I'm a newbie in electronics so I only try to understand as I can. It seem that the 1024 samples/turn is only achieved in Absolute Output Mode (as stated in the following table of the datasheet) but not in Incremental (Quadrature A-B). Can anyone confirm this newbie assumption?


i soldered also a as5040 breakoutboard and it works wuite well but i don't understand how to sensor who reads the rpm ... i can meassure the angle but not the rpm... this should be possible or? how can i bullild this? i'm a programming newbe so maybe someone can help me with the code a little bit?

Go Up