This page last changed on Feb 25, 2006 by stepheneb.
From an email response to a person who wanted to adapt our program to new Metex models of DMMs
The ME-21 comes with a manual and software from Metex. The manual describes the communications format starting on page 32. Did your meter come with a manual and serial cable? Here are the values for the ME-21: 2400 bps, 7-bit, parity: none, stop bits: 2. Different meters may use different communication rates. To get data sent from the meter send the meter a "D" character. The meter will respond with a 15 character record which includes AC/DC settings, value, and units. The record ends with a CR char.
To determine how your meter works connect a serial cable from your DMM to a serial port on your computer. Turn on your meter and start up an old-style communications program and first try the settings above. Send a "D", if the returned chars are unreadable change the baud rate.
I'm including below an email I sent previously where I was decoding some of the ranges that we aren't currently supporting in our program. Some of the details may be helpful in understanding the returned data formats. The retuned data described below is what appeared after sending the meter a "D" char.
I didn't mention it specifically but Logic, and Diode/Continuity would be handy (Frequency too but it may be a bit harder, see below). These are not on the critical path (won't be used by teachers in the next couple of weeks) however it would be nice to have those feature in the program. If they aren't there the program should probably display "Unknown Scale" instead of the current behavior which seems to be to keep whatever the last scale was.
This one should be easy.
label Units min value max value
-----------------------------------------------------
Diode/Continuity mV 0 1999
The meter is trying to send a 1mA current through the probe leads and measuring the voltage drop.
representative data
DI OL mV (overrange-no connection)
DI 0000 mV (leads shorted together, meter sounds tone)
DI 0020 mV (across 20 Ohms, meter sounds tone)
DI 0030 mV (across 30 Ohms, meter does not sounds tone)
DI 0477 mV (across power diode)
DI 1609 mV (across small green led, led lights dimly)
label Units min value max value
--------------------------------------------
Logic <none> -1 1
To actually operate this scale properly requires a setup procedure on the meter. First set the switch to Logic, then connect meter-COM to circuit-ground and connect meter V/Ohm to circuit V+, then press Set button on meter. This stores the V+ value in the meter, future logic tests are done based on this stored voltage range. Now use meter-V/Ohm lead to test circuit.
LO rdy (initial reading before voltage range is set)
LO Lo (reading 0-30% of V+)
LO Mi (reading 30-70% of V+)
LO Hi (reading 70-100% of V+)
If the readings are less than 0V (with respect to meter-COM) then the logic detection still operate however a "-" is inserted in the string returned.
LO - Lo (reading 0- minus 30% of V+)
LO - Mi (reading minus 30-70% of V+)
LO - Hi (reading minus 70-100% of V+)
If we do this scale this is my suggestion for translating the returned values into numeric data:
LO rdy 0
LO Lo 0
LO Mi 0.5
LO Hi 1.0
LO - Lo 0
LO - Mi -0.5
LO - Hi -1.0
label Units min value max value
--------------------------------------------
Frequency kHz 0.000 1999
Frequency is a bit strange. It has a huge dynamic range, from 1Hz to 1.999 MHz. The meter autoranges from kHz to MHz (199.9 kHz to 0.200 MHz). By the way, "k" when prefixed to a unit should be a lowercase "k".
The CCDMM program is built with a very simple interface which works for non-autoranging scales. One way to deal is to create an axis that goes from 0 to 1999 kHz. Of course the graph would not show much resolution when the frequency changed from 10 to 20 Hz (0.010 to 0.020 kHz) but the digital display would still read correctly. Another UI question arises when the values rise above 199 kHz. The LCD display on the meter will now report the units as MHz (and the values will of course reflect this) – however I don't think there is any practical way to handle this change in the UI structure of the program except to convert the returned value back into kHz by multiplying by 1000. This implies extra logic in the parsing so that when ME-21 reports the units "MHz" you can do the multiplication for conversion to kHz.
When displaying numeric values it would be good to use the precision of the meter (on this scale 4 digits) to decide how many units to the right of the decimal place to print. See the list of representative data below.
I know Walter's program uses 0 to 2 kHz however since it is not going to be used by teachers/students anytime soon I'm trying to think through how it should work and am not as concerned about having it work exactly the same.
Coolest would be a pop up menu attached to the frequency axis max value label itself that allowed a user to change the displayed axis (and default setting) between full scale ranges of 2, 20, 200, and 2000 kHz.
Here is a list of values the meter returns when measuring Frequency.
FR 0.000 KHz
FR 0.017 KHz
FR 0.097 KHz
FR 0.179 KHz
FR 03.12 KHz
FR 09.08 KHz
FR 021.5 KHz
FR 039.5 KHz
FR 093.2 KHz
FR 194.0 KHz
FR 0.210 MHz
FR 0.661 MHz
FR 1.400 MHz
FR 1.988 MHz
FR .OL MHz
|