Monday, February 9, 2015

2/3/4 Wire RTD Arduino Shield Design with KiCad

Here is a design for reading a 2, 3, or 4 wire RTD on an Arduino.  This design is based around the MAX31865 chip which has a 15 bit A/D on board along with all the voltage divider circuitry.  Here is the overview of the chip from the datasheet and the 2 wire example configuration:


I based my design for this unit on the MAX31865 PT-100 RTD to Digital Breakout board from Playing with Fusion.  For $30 that is a nice option but I had some of the parts in-hand and decided to give PCB design/fab a try (also Maxim has a good sampling policy along with TI).
I used KiCad to design the schematic and layout.  My KiCad build is BZR 5376 which was the latest build as of 1/16/2015.  I'm not sure if my files will open in early releases.  The KiCad files can be found in Google drive HERE.  There are gerber files for the top and bottom layers, board outline, NC drill file, back silkscreen (jumper references), and top paste (for a stencil).  If anyone has an LPKF machine and uses CircuitCAM (as I do) there is .cam file for the board and for a solder paste stencil. 

Here is the schematic of the board:


In addition to the MAX31865 RTD chip there is a 3.3 volt voltage regulator to power the MAX chip and an 8-bit Bidirectional Voltage-Level Translator so that the 3V3 logic of the MAX chip can be sent to the 5V logic of the arduino.  'Playing with Fusion' added in pads for shunt resistors so that you could bypass the Voltage-Level Translator if you were to use a different microprocessor which runs at the same logic voltage.  This is not in my design as I'm strictly dealing with the arduino at this time.  

I added in a series of jumpers so that the user could input a 2, 3, or 4 wire RTD (100 or 1000 ohm) on the fly without having to solder or de-solder different control lines.  There is a possibility this could impart some disturbances into the RTD reading, but how much I can't say until I test it.  The R100/R1000 and the C100/C1000 paths need to be chosen or disconnected depending on if you are using a 100 or 1000 ohm RTD.  Here is a little spreadsheet of how jumpers 5, 6, 11, 12, 13, and 14 should be set depending on if a 2, 3, or 4 wire RTD is being used (O = open, X = closed): 

Jumper 2 wire 3 wire 4 wire
5 O X O
6 X O X
11 X O O
12 O X X
13 X X O
14 O O X

Here is the 3D image of the board produced by KiCad.  The MAX chips is a QFN, so you likely will be solder pasting.  You could extend the pads if you want to hand solder and there are a few example footprints in the default KiCad that do this, but you need to have the thermal pad (center of chip) soldered down well to avoid any over heating.  I used header models for all the jumpers and P1 & P2 connectors, but these could be replaced with anything you'd like with a .1" pitch spacing.  I am going to be using screw terminals for the RTD connector (Phoenix Angled Screw Terminal) and a female socket header for the I/O port to the arduino.      





Feel free to post any comments or questions.

1 comment: