Tool/software:
Hi,
I'm experiencing occasional reading errors from the AMC6821, to which a 3-wire fan is attached.
Readings to TACH DATA are executed by multiple bytes reading starting from 0x08. The fan runs at fixed rpm (around 5900 rpm), thus TACH DATA stays at around 1016.
Sometimes TACH DATA returns a doblue value ( 11500rpm, 500 value from TACH DATA), sometimes four times the real value (23000rpm).
Here's the configuration for CONFIG1, CONFIG2, CONFIG4:
CONF1 = 0x01
CONF2 = 0x06
CONF4 = 0x80
Readings are requested every 3s.
As you can see from the image below, this is the comunication via I2C when the microcontroller requests TACH DATA register. Here TACH DATA returns the correct value (0x405 = 1029 = 5830 rpm)
Instead, the image below is a screen when TACH DATA returns wrong value (0x203 = 515 = 11650 rpm)
I monitored TACH signal from the fan and there's no frequency change when TACH DATA is wrong.
I'm attaching a piece of the schematich with the interessed part
Does anyone have any idea about the reason the AMC sometimes returns wrong value?
I just wanted to note that sometimes it's a recurring phenomenon, sometimes it's less frequent.
As you can see from the schematich A0 was left unconeccted, so I tried to change its address by tying it to VCC.
Any help would be appreciated.