Go Down

Topic: logging voltage reading from Multimeter (Read 5042 times) previous topic - next topic

arishy

The software that came with the meter (Craftsman) is old and require com port.
I know the baud rate (600), also I have a cable that allows me to use USB (virtual com port).
So, I installed WXP (Temporary!!!!) and tested the meter and it is working.

My question is how can I use Arduino to replace this setup that uses WXP.


All I want is kick start, by that I mean simple sketch  to READ the data; once I have something to work with I can format it and eventually log it in.

I tried MakerPlot but I failed to communicate with the serial port. I also tried other programs just to get a reading ...but no luck. As I mentioned before all I need is to "see" if data actually transmitted to the arduino and if it is ; then display it.

TomGeorge

Hi,
Have you opened a monitor/terminal program in your PC to see what is being sent raw.

Tom... :)
Everything runs on smoke, let the smoke out, it stops running....

arishy

Of course I did....I just now went to Putty configured Com port and baud rate 0f 600 ...nothing...

I hate to come to the conclusion that I MUST USE this old crappy software...
That is why I asked for help... Simple Arduino sketch to tell me for SURE that there no data coming my way.

I know what you think, if the terminal gives me nothing then there nothing you can do with arduino....

jackrae

Maybe your "request to send" isn't being interpreted correctly by the multimeter

arishy

I think you got my drift....I need to get "deeper" and thought Arduino can help.

Hear me out ..

Instead of "relying" on utilities I can insert the usb cable connected to the com port of the multimeter to a "programer" then I have access to the Tx and RX wires... I feed these to Arduino and try to get something. And since I am not expert in serial communication (netty gritty ) and I want to rely on an expert to guide me, in order to get deep into the communication details.

gpsmikey

From the few multimeters I have played with that had a com port on them, they only responded (sent) data after you sent them a command of some sort.  You could either configure an arduino (with an RS-232 converter on it) and a LCD for example to display the data being sent or you could wrap the one com port running their software around to a second port running Putty etc. to see what is being sent to start the conversion.  I remember one meter I had (still have, but no idea where the book is for it) included some simple BASIC code samples of the strings to send to get data from the meter.  You might search for "BASIC multimeter commands" or something like that - it may be a standard set of commands.
mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3

gpsmikey

I have no idea if your meter is the same as mine (mine is a Metex), however I did find the manual for it and in the section on software under "writing your own software", they say "The host computer must give the meter the "D" command to activate data transmission".  Yours may be the same - mine also uses 600 baud, 7 bit ASCII, No parity and 2 stop bits (from the manual).  See if that helps.
mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3

DVDdoug

There are so many variations-options with RS-232 that it can be very difficult if you don't have the complete documentation...  Many years ago I was programming two RS-232 "things".   One was something from HP (back when HP was an instrumentation company) and the documentation was clear and the programming was easy.   The other one was a printer from some other company an it was a pain to figure-out.  

I don't know if this will help, but at work we use something like this to test the hardware/connections.   (Mostly we us it to check if we need a null modem adapter.)

There is a way to loop-back and fake-out the handshaking, and you might want research how to do that.   That makes the hardware connections easier and more fool-proof, and if the handshaking is being used by the software you can optionally connect it later.

Quote
they say "The host computer must give the meter the "D" command to activate data transmission".
My boss once made a "splitter" with 3 DB9 connectors so he could tap-into an existing (working) RS-232 connection with a terminal.  But, that's just for monitoring the software-communication protocol after you have the right baud rate, stop bits, parity, handshaking, connections, etc., so you can set up the terminal correctly. 

allanhurst

#8
Nov 01, 2016, 07:16 pm Last Edit: Nov 01, 2016, 07:17 pm by allanhurst
If you think RS232 is a pain, try working with IEEE-488 - the HP-IB

awful.

HP should have been ashamed of themselves.

regards

Allan

gpsmikey

If you think RS232 is a pain, try working with IEEE-488 - the HP-IB

awful.

HP should have been ashamed of themselves.

regards

Allan
Been there, done that and you are right.  It takes an entire processor (well, 8748 back in my day) to handle the handshake etc. so something could talk on that bus.
mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3

arishy

Wow ...I walk up and I was amazed to see all these info that you are sharing...Thank you


A very important conclusion from the above: There must be a request to send back the meter data.

That explained a lot.

It is a PAIN to deal with RS232...

Since I do not have the documentation, it will be try and error ( Hence the pain!!)

The loopback could be a solution, it happens I have RS232 loopback dongle I can try but I lack the background!!!

Another approach is to reinstall WXP run the software while monitoring the terminal; may be I can detect the request command.

In all the the above I need some handholding Any Takers ???

P.S. I will give it all the time it needs


ElCaron

Have you checked the sigrok project?

arishy

sigrok project  ....going right now...thanks

arishy

sigrok project  ...just came back....
This is a highly sophisticated Logic Analyser...The problem is you need to know what you are after. By that I mean full knowledge of all the communication protocols and your device must has the proper drivers in order to be recognized. In my case I am using a serial to USB cable together with the driver needed to run on W10.
In spite of it's sophistication; it does not recognise the driver that I am working with..This means that there are equivalent drivers that I must use...and that will drive me crazy....

You see; W10 recognise the device and assign com port to it. So, you expect the PulseView to see it too. But no. It sees it as com port but does not ACCEPT the driver because it is NOT recognized.

MrAl

#14
Nov 02, 2016, 06:55 pm Last Edit: Nov 02, 2016, 07:04 pm by MrAl
Hi,

If you can get the original connection working you can look at the pins with an oscilloscope or the Arduino itself.  It's a little tricky but the codes sent are not that complicated, at least not with the meters i have worked with.  They had sent in ASCII code whatever info they want to show up on screen.

For example, to display 2.93v it would send the ASCII code for 2, then the code for the decimal point, then the code for 9, then then code for 3, then the code for lower case 'v'.  It would then repeat after some sync delay.

I had to do this with an RS meter that i bought a long time ago and the PC interface software that acme with it ('acme' is a known cheap brand name and also the word 'came' with two letters scrambled) was completely stupid and not variable at all.  The screen looked like it was part of some kind of Charlie Brown cartoon or something.  The meter was not cheap either over $100 USD.

The main point to detecting the RS232 codes is to figure out where the frame is first, then look at each bit in several frames and compare to what is being displayed on screen already.  The frame will be maybe 8 to 10 bits and the ASCII codes may be only the lower 128 character set so it may only use 7 bits for the codes rather than 8.

If you dont have a scope then use the Arduino for a logic detector.  You can detect the pulses and display the times on the serial monitor.  This can also be done for a TV remote using an IR sensor.  You can then look at the times and determine the high and low bits and by correlating to the info that is already on screen (with a constant input to the meter say 5.00v) you can figure out the protocol.

A little tricky but definitely doable.

Go Up