Reading central heating system thermistor's?

A few observations:

  • You don't need D1 or C3
  • Pin 14 of the MCP3204 should go to the filtered supply (+ve side of C2), not the unfiltered supply
  • C2 in my design was 22uF, not 220uF
  • You also need 10uF or 22uF in parallel with 100nF between pins 16 and 9 of the ADUM6401 (the evaluation board is laid out for 22uF and already has the 100nF)
  • Pin 12 of IC1 should be connected to pin 7, and separately connected to the common side of the voltages to be measured
  • If you use the evaluation board, it is laid out for a 68uF capacitor at C5, and C4 is already on the board.
  • I suggest you include 10K resistors in series with the MCP3204 analog inputs, to give some protection against voltage transients

The 3 channels passing signals to the isolated side of the ADUM6401 are interchangeable.

You have a choice of how you interface the Arduino Mega to the device:

  • For maximum speed, use hardware SPI. In this case, the SCLK pin of the Mega must be routed to SCK of the MCP3204, MOSI must be routed to Din, and Dout must be routed to MISO. You can route any other output pin on the mega to CS on the MCP3204. Maximum SPI speed is 1MHz if you use the A version of the ADUM6401, and as high as the Mega will go (8MHz) if you use the C version. However, if you want to share the SPI subsystem with other devices, then you need to connect a tri-state gate between the ADUM6401 channel D output and MISO (I use a 74LV1G125 for this - it is an SMD device).

  • Alternatively, use any 4 pins you like on the Mega and use software SPI. The achievable data rate will be lower, although you can probably approach 1MHz if you use direct port access.

I hope this helps