This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RPM Accuracy Issue

Other Parts Discussed in Thread: AMC6821

Hi 
In our design we are using AMC6821 fan controller IC, we are trying to use  software RPM control Mode to control the Fan PWM,
We are following the below procedure,

1.Config Reg 0x00 = 0xD4 - 1101 0100 - Default
             0x00 = 0xB4 - 1011 0100 - To change the Software RPM control.

2.Duty Cycle Reg 0x22 = 0x55 

 3.TACH (RPM) MEASUREMENT
    Reg 0x08 - TACH-DATA-LByte

   Reg 0x09 - TACH-DATA-HByte
In my case i have to update my duty cycle based and read back those values in the Tacho meter signal to check whether my fan is working properly or not.

Here if i change the Duty cycle reg value,  Tach data byte register values are not changing,

Kindly let us know if i am missing something.

 

Regards,

Arulmani V

  • The TACH DATA is not updated until START is set in Configuration register.

    thanks,

    ren

  • Config Reg [0x00] is written 0xB5(the Software RPM control), as mentioned.

     

    The following outcomes are obtained. It appears that regardless of duty cycle value, the RPM read is more or less the same.

     

    Configuration Register 1 (Address 0x00)

    Value written = 0xB5

    PERCENTAGE

    CONFIGURED
    DCY-REG[0x22] VALUE

    READ TACH-HIGH_BYTE [0x09]

    READ TACH-LOW_BYTE [0x08]

    READ RPM  rpm = 6000000/(2byte decimal value of RPM read from TACH register)

    EXPECTED RPM

    25(%)

    0x40

    0x07

    0xfd

    2933

    3275

    34(%)

    0x57

    0x07

    0xed

    2957

    4454

    43(%)

    0x6E

    0x07

    0xd0

    3000

    5633

    52(%)

    0x85

    0x07

    0xec

    2956

    6812

    61(%)

    0x9B

    0x07

    0xa4

    3067

    7991

    70(%)

    0xB2

    0x07

    0x8d

    3103

    9170

    79(%)

    0xCA

    0x07

    0xb5

    3041

    10349

    88(%)

    0xE1

    0x07

    0xbb

    3033

    11528

    97(%)

    0xF8

    0x07

    0x9e

    3076

    12707

    100(%)

    0xFF

    0x07

    0x8e

    3102

    13100

  • If you want to configure PWM directly in DCY register 0x22, you must configure FDRC=00 which is Software DCY mode.

    You are setting FDRC=01 Software RPM, which is controlled by writing to the TACH SETTING registers 0x1E, 0x1F.

    thanks,

    ren

  • OMEGA> i2c mw 0x18 0x00 0xB5 (Config reg 1)
    OMEGA> i2c mw 0x18 0x01 0x3D (Config reg 2)
    OMEGA> i2c mw 0x18 0x3F 0x82 (Config reg 3)
    OMEGA> i2c mw 0x18 0x04 0x88 (Config reg 4)

    OMEGA> i2c mw 0x18 0x1E 0x7F;i2c mw 0x18 0x1F 0x7F              /writing to TACH setting REG
    OMEGA> i2c md 0x18 0x08 1;i2c md 0x18 0x09 1  / reading TACH Data Reg
    0008: f8    .  
    0009: 07    .
    OMEGA> i2c mw 0x18 0x1E 0xff;i2c mw 0x18 0x1F 0xff
    OMEGA> i2c md 0x18 0x08 1;i2c md 0x18 0x09 1      
    0008: dd    .
    0009: 07    .
    OMEGA> i2c mw 0x18 0x1E 0x5e;i2c mw 0x18 0x1F 0x5e    /write to TACH setting reg
    OMEGA> i2c md 0x18 0x08 1;i2c md 0x18 0x09 1                     /RPM read from TACH-DATA reg
    0008: bb    .
    0009: 07    .
     Whatever we are writing we are not getting the same in the Tach data register,

  • Higher TACH values correspond to lower fan speeds. The values you are writing may not correspond to a PWM > 30%.

    If the reported TACH-DATA does not reflect actual fan speed, then there must be a mistake in the configuration of the TACH-MODE, PSPR, or PWMINV for your circuit. If the actual fan speed is misinterpreted, it will prevent the AMC6821 from controlling fan speed in Software RPM mode.

    Are you able to achieve higher speeds in the Software DCY mode?

    thanks,

    ren

  • Hi,

    I can able to achieve the higher speed in the Software DCY mode.
    To set the TACH Setting Register, is there any formula?

  • The TACH registers have the following format:

    thanks,

    ren

  • Hi 
    Whatever you have mentioned that is for reading the feedback signal of fan Tacho data formulas, 
    We need how to set the fan speed in the register of TACH Setting Register 0x1E & Ox1F?. 

  • It's the same formula as the other TACH registers.

    float rpm = (100e3*60)/tach;
    uint16_t tach = (100e3*60)/rpm;

    Both lines of code are true and interchangeable.

    thanks,

    ren

  • Hi Ren,

    Using above formula we have calculated the tach values for the Register 1E & 1F, But we are not getting proper value in the Tacho read registers,

    FYR,

    PERCENTAGE SETTED RPM   ADDRESS: 0x1E ADDRESS: 0x1F READ TACH-LOW_BYTE READ TACH-HIGH_BYTE READ RPM Formula Values
    RPM Set Formula Values TACH-SETTING-Lbyte TACH-SETTING-Hbyte
    25(%) 3275 1832.06107 0x07 0x28 0xcb 0x07 3007.518796992
    34(%) 4454 1347.10373 0X05 0X43 0xed 0x07 2957.121734845
    43(%) 5633 1065.15178 0x04 0x29 0xd0 0x07 3000
    52(%) 6812 880.798591 0x08 0x80 0xcb 0x07 3007.518796992
    61(%) 7991 750.8447 0x02 0xEE 0xba 0x07 3033.367037412
    70(%) 9170 654.307525 0X02 0x8E 0x98 0x07 3086.419753086
    79(%) 10349 579.766161 0x02 0x43 0xd1 0x07 2998.500749625
    88(%) 11528 520.471895 0x02 0x08 0x8e 0x07 3102.378490176
    97(%) 12707 472.180688 0x01 0xD8 0xa3 0x07 3069.05370844
    100(%) 13100 458.015267 0x01 0xCA 0xba 0x07 3033.367037412
  • What is the read back of DCY? If the DCY is 30%, then the AMC6821 believes the TACH SETTING is too low for the fan configuration.

    Are you setting START=1 as previously discussed?

    What is your fan circuit? If the TACH-MODE, PSPR or PWMINV is not correctly configured for your circuit, it will result in AMC6821 incorrectly measuring TACH. When the TACH is read incorrectly, AMC6821 will not be able to control fan speed in Software RPM mode.

    ren

  • For DCY register we are keeping the default value, we are not modifying anything.
    Attaching the schematics for your review.

  • Your TACH-MODE must be changed to 1 for your four-wire fan.

    thanks,

    ren