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.

AMC6821: Recommendation on testing temperature sensor on AMC6821

Part Number: AMC6821


Hello!

I'm looking into testing the AMC6821 fan controller and one test will be the temperature sensor. I  have AMC6821 local temperature, along with a NPN transistor as a remote temperature sensor. Do you have any recommendations / suggestions on how to test the temperature sensor?

I'd like to measure temperature at ambient and read if that is correctly being processed by the fan controller. From there, I’d like to increase the temperature to see if that causes duty cycle to increase. Since the firmware is not yet written, I don’t think I’d be able to check if the duty cycle increases but would still like to read again if that is being processed as a temp increase

Thank you!

  • Dear Charlie - 

    Thanks for the post! This device is I2C/SMBus interface and uses a R/W register structure that is pointer based.

    To read the temperature sensors, after setting bit 0 of Register 1 to a one (this is a "START" bit), you can then go read Temp-DATA-LByte and Temp-DATA-HByte registers. If only 1°C of resolution is required, the temperature readings can be read back at any time and in no particular order. If reading the 11-bit measurement is required, the process involves a two-register read for each measurement.

    To get an 11-bit result of the remote sensor, the controller must read the Temp-DATA-LByte register (0x06) first, and then the Remote-Temp-DATA-HByte register (0x0B) to complete the reading. However, to get bit 11 of the local sensor only, or to get both local and remote sensors, the controller must read Temp-DATA-LByte first, Local-Temp-DATA-HByte (0x0A) second, and Remote-Temp-DATA-HByte third. This method causes all associated temperature data registers to be frozen until the Remote-Temp-DATA-HByte register has been read. This process also prevents the high byte data from being updated while the three LSBs are being read, and vice-versa (from page 13) 

    Page 8 and on of the AMC6821 datasheet begin to discuss the I2C (standard) interface, addressing etc. 

    Once you get that up and running, you could use the R-Therm limit and L-Therm Limit and the Force Fan to full speed (see figure 14 on page 15 and page 22 and on for more detail) this may help you accomplish your intial goals of checking the part and starting to control the fan while you decide which features you need to use to optimize your efforts. 

    After this or you could also start with the PWM example on page 16 for finer control of the fan based on your logic, using the temperature. 

    There are also four different fan speed control modes as well. Lots of choices. 

    Are you using a MCU or MPU? If MPU, this part is supporting in Linux kernel. https://www.kernel.org/doc/html/v5.12/hwmon/amc6821.html , in case that help you out.