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.
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....
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.
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.
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.
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 [u]this[/u] 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.
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:
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.
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.
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.
Thanks MrAl for you input, the challenge I am facing now is actually prior to receiving the data. By that I mean The REQUEST TO SEND command from the software is not known.
I cannot communicate with the meter unless a code is send first TO THE DEVICE.
arishy:
Thanks MrAl for you input, the challenge I am facing now is actually prior to receiving the data. By that I mean The REQUEST TO SEND command from the software is not known.
I cannot communicate with the meter unless a code is send first TO THE DEVICE.
Hi,
Yes, but dont you have the original software? You can set it up to keep reading and reading and at the same time view the data stream. That's the only way unless you can find the protocol info on the web or something for that meter. You can also view the initial contact info that the software sends.
That will also verify that the meter still works properly with RS232.
If I use the software I will have to be in WXP or VM. The software is capable of logging into excel format.!!!
What I am trying to do is REPLACE the software with an Arduino Sketch. From all the above it seems a very challenging job, but you are right IF I need to dig deep I should start monitoring the WXP software on WXP machine. Something I hate to do.
You indicate "the software is capable of logging into excel format !!!" -- for what it's worth, CSV is a format that Excel understands very easily, so saving the data in a format that Excel can import is no big deal (CSV is Comma Separated Values). You only need to monitor the software long enough to find out what it is sending to get the meters attention and tell it to send data - then, you use that in your Arduino code.
arishy:
If I use the software I will have to be in WXP or VM. The software is capable of logging into excel format.!!!
What I am trying to do is REPLACE the software with an Arduino Sketch. From all the above it seems a very challenging job, but you are right IF I need to dig deep I should start monitoring the WXP software on WXP machine. Something I hate to do.
Hi again,
Yeah i hear ya
When i did one of mine i had to make up a special connector with something like 8 pins because it used a special connector, and i hated to have to do that. I had to use an old wire wrap connector as the 'plug'. I was lucky i still had one of those laying around from years ago when WW was popular (think 1970's).
When i did my remotes i logged every remote i had using the scope and a special pin diode and light duty power source (battery). It was a little difficult to see some of those codes on the scope because they had various patterns for each button and there were a lot of buttons. It took hours, but after that i had the codes for every single remote i had and gained the experience to do more remotes in the future if needed, although i switched a while back to using the Arduino as logic detector/pulse catcher/logger to do the pattern detection.
Once you do it you never have to do it again as long as you document all your work properly. If you do use a scope it helps to take photographs of the waveforms.