AS5600 Angle magnetic sensor analog out problem

Hello
I’m trying to use this sensor as angular feedback for my robot aram instead of resistive potentiometer.
I expected that the analog output be activated as default, but when I attached th magnet and turned it, the out put was always 5V.
I tried program it using out pin and POG pin, but the analoug output is still 5v.
when I connect to it using Arduino via I2c i can see that the angles are limited between 0-180 as I programmed it using out pin, but it doesn’t change the output at all. I also tried to write value 0x08 in register MANG_H but no success.
Any one has experience using this sensor and analog output ?
you can see the registers reading from AS5600 in 0-180 degree

Angle =180 :

ZMCO = 1
ZPOS_H = 1
ZPOS_L = 41
MPOS_H = 9
MPOS_L = 28
MANG_H = 0
MANG_L = 0
CONF_H = 0
CONF_L = 0
RAW_H = 9
RAW_L = 34
ANGLE = 179
STATUS = 103
AGC = 68
MAGNITUDE_H = 8
MAGNITUDE_L = 81

Angle =0 :
ZMCO = 1
ZPOS_H = 1
ZPOS_L = 41
MPOS_H = 9
MPOS_L = 28
MANG_H = 0
MANG_L = 0
CONF_H = 0
CONF_L = 0
RAW_H = 1
RAW_L = 62
ANGLE = 1
STATUS = 103
AGC = 70
MAGNITUDE_H = 8
MAGNITUDE_L = 39

Per page 21 of the datasheet, the MANG register can only be written if ZPOS & MPOS haven’t been written, e.g. ZMCO=0. That’s not the case in the above, which would explain the MANG_H write failure.

It appears that you’re able to interface via I2C without problem, and that the device is registering the magnet presence and rotation correctly, based on the data above. The status registers appears to be indicating that things are working properly, and the configuration register looks like it’s set to analog output mode, so by all accounts it seems like you should be getting an analog output, as you’re expecting.

I would expect that device damage sufficient to disable the output stage would also produce noticeable effects beyond it, which doesn’t seem to be the case. My suggestion then would be to take a very close look at the system and the measurement apparatus, to ensure that you’re actually seeing what you think you’re seeing, and that the system on the test bench is the same as the one on the schematic, and the concept of it in your mind. I’ve lost track of the number of times a problem like this turned out to have a very simple solution, such as connecting the power supply, probing the correct node, plugging the other end of the test lead into the meter, removing a rogue solder blob, etc…

1 Like

I was using AS5600-SO_EK_AB adaptor kit for my test. I removed the AS5600 chip from the board and soldered the new chip, now I have analog output by default correspond to 0-360 degree. I guess something was wrong with the chip because I didn’t have any changes in analog output from first day.
it’s working now and I’m not going to re range it since I afraid it stops working, I can use 0-360 instead of 0-180.
Thank you anyway.

Sorry to revive an old thread but I too had the same exact problem with 10 of these, and it turned out you need to run 3.3v to vcc and NOT 5v. Although, instead of the expected 0-1023 value, it reads at roughly 0-800. Hope this helps! There’s not a lot of info for the as5600 sensor online unless its over i2c.

I had the same problem (symptoms) with the same chip. In my case it turned out that the (white) module the chip is on pulls the GPO pin to ground with a 1K resistor (R4 on my board), disabling the analog output. Removing the resistor or tying the boards GPO pin to VCC solved the problem.

2 Likes

Thanks a bunch; I was about to discard a couple of the aliexpress white boards and your solution saved them.

1 Like

ı solved with remove R4 resistor too. Finally it worked analog output 0-5v
You should tryindir

1 Like

Mob, when you say the analog was reading 0-5 V, were you feeding the white as5600 chip 5V on the VCC pin? Everything I can find on that whit chip is that it is only 3.3V on the VCC and I’m afraid of frying one testing it out, but I want to run that chip on 5V

Actually, this is the only post on OUT mode for the AS5600 on the internet. In fact I can verify that removing R4 does fix the problem. I have always run these devices at 5v and never had any issue. I get close to the full range of inputs after a low pass filter of between 3 and 1020.

Note that reading the I2C value takes 920us. Reading the analog value is at least 10 times faster. I did not try to optimize the I2C because I doubted it could be made 10 times faster and I need the speed.

When read from Arduino the output for stationary motor was ±1. A high quality pot was ±3. The I2C would occasionally toggle between two values but generally did not change.

I have solved this problem by connecting GPO pin of the AS5600 encoder to VCC. You don’t need to remove the R4 resistor from the AS5600. you can solve the problem by just connecting the GPO pin to VCC.

1 Like

Hi! I also tested by applying GP0 pin to pullup, its working perfectly without removing R4. Thanks Furqan!

Just started working with this board. Following out the traces and drawing a schematic leads me to believe that this board was designed to be configured for either 3.3V or 5V. To use with 5V, remove R1 (essentially a jumper). C1 will still be on Vcc, and C2 will be on 3.3 as we want. Don’t know why I didn’t find this in any of my searches. The comments others have made with regard to R4 seem to be spot on.