Pages: [1]   Go Down
Author Topic: Multimeter SD data logger  (Read 2203 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Edison Member
*
Karma: 63
Posts: 1604
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Any interest in a multimeter to SD data logging program?

I have been playing with a cheap, $30, multimeter with an RS232 interface.  It even includes a k type thermocouple.

http://www.multimeterwarehouse.com/TP4000ZCSpec.htm

http://www.amazon.com/gp/product/B000OPDFLM/ref=ox_ya_os_product

The included PC software did not function with my Win7 machine so I decided to try building an Arduino SD logger.

I found the meter's serial protocol http://www.multimeterwarehouse.com/TP4000ZC/TP4000ZC_serial_protocol.pdf.

I discovered that the RS232 cable is just two wires connected to an opto-isolator.  I built a simple cable for the Arduino using a 10k resistor and a 3.5mm stereo plug.

I am able to read the meter's serial data using the Software Serial library and decode the data using the above specification for the meter chip.

Here are some sample records from a debug session.

Quote
24 -006.4 m V
35 01.17 n F
66 032.8   C
72 -001.3 u A
157 120.9   V AC
211 40.84   Hz
364 354.6 k Ohms
366 1.460 M Ohms
The first number is the time in seconds, the second number is the value on the meter's display.

The third column is the multiplier (n = 1e-9, u = 1e-6, m = 1e-3, blank = 1, k = 1e3, M = 1e6).

The fourth column is the unit (F = farad, C = degrees Celsius, A = amps, V = volts, Hz, or Ohms).

The fifth column contains AC or is blank.

I plan to write CSV files and write the multiplier as a number.

Several other meters use this chip.
Logged

Dee Why NSW
Offline Offline
Edison Member
*
Karma: 47
Posts: 2204
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I can hardly believe what I'm reading here......

I have two datalogging multimeters. The reason I have two is that the first one I bought has crappy software. It turns out that the second has crappy software too. They were bought to replace a dongle that actually has good software but is unreliable. I was only wondering under the shower a couple of nights ago, that I might be able to put this stuff to better use by way of an Arduino.

It looks like this is possible.

Karma to you.

The meter to I have to hand is a UT61C. It cost me a lot more than $30 but looks much the same as yours. It has two opto eyes under a sliding cover.

Are you essentially just using a 10k in series to connect the meter to a digital pin? I have just pulled the D9 plug apart. There is a lot of wiring there but it doesn't mean it is all used at the other end.
Logged

0
Offline Offline
Edison Member
*
Karma: 63
Posts: 1604
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The UT61C sends 14 byte packets and several websites have the protocol.  The protocol is in the file UT61BCD.LOG on this site.

http://www-user.tu-chemnitz.de/~heha/hs_freeware/UNI-T/

Here is the meter chip datasheet http://www.ic-fortune.com/upload/Download/FS9922-DMM4-DS-11_EN.pdf.

Making an interface cable is a bit tricky.  These meters have opto-isolators and use tricks to generate RS232 with power from control lines driven by the PC serial interface.

I was able to use 5V and a resistor to generate TTL serial from the output of the opto-isolator.

I don't know how the UT61C does it's serial.
Logged

0
Offline Offline
Edison Member
*
Karma: 63
Posts: 1604
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have posted a sketch for logging data from a TekPower TP4000ZC or Digitek DT4000ZC multimeter as TP4000ZC20130427.zip code.google.com/p/beta-lib/downloads/list.

Instructions for interfacing the meter to an Arduino are included.  The interface consists of a standard audio cable with 3.5 mm plugs, a 3.5 mm socket, and a 10k resistor.

Here is the readme file:
Quote
The sketch TP4000ZC.ino is a data logger for TekPower TP4000ZC and
Digitek DT4000ZC multimeters.

This sketch requires the SdFat library located here:

http://code.google.com/p/sdfatlib/downloads/list

An Arduino interface for the meter is described in interface.txt.

logger.jpg shows my debug setup.

The meter protocol is defined in TP4000ZC_serial_protocol.pdf.

Links to other meter info are in meter_info_url.txt.

The sketch was debugged with an Adafruit Data Logging Shield but
any SD module/shield should work.

Data is logged to a file named DMMLOGnn.CSV where nn is a number 00-99.

The csv log file has three or four columns depending on the value of
MULTIPLIER_FORMAT.

For MULTIPLIER_FORMAT = 1 the format is:
<time in seconds from boot>,<value with multiplier>,<units and other info>

For MULTIPLIER_FORMAT = 2 the format is:
<time in seconds from boot>,<value>,<multiplier number>,<units and other info>

For MULTIPLIER_FORMAT = 3 the format is:
<time in seconds from boot>,<value>,<multiplier character>,<units and other info>
possible multiplier characters are

'n' - nano
'u' - micro
'm' - milli
' ' - multiplier of one
'k' - kilo
'M' - Mega

The following are configuration parameters:

const uint8_t DMM_RX_PIN = A0;   // DMM connected to analog pin 0.
const uint8_t DMM_TX_PIN = A1;   // Analog pin 1, not used.
const uint8_t SD_CS_PIN = SS;    // SD chip select pin.

// Options for multiplier format are 1, 2, 3
#define MULTIPLIER_FORMAT 3

// If ECHO_TO_SERIAL is nonzero, print record to Serial.
#define ECHO_TO_SERIAL 1

Logged

Pages: [1]   Go Up
Jump to: