Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

RS232 display without a computer

Status
Not open for further replies.
I need to feed the RS232 output from a PRO3600 inclinometer directly to an indicator without using a PC intermediary. It's mostly for cost savings and power requirements I want to eliminate the PC. The problem I'm running into is finding an indicator that will properly display the output of the PRO3600 without having it fed from a PC.
The output of the PRO3600 is a + or - sign, a space, xxx.xx numbers, a cr then a lf. I've bought two indicators but neither will display correctly. I can't remember the part number of the first but it appeared the cr would screw up the on screen display each time. The second, a RD4/N works with the negative sign displayed but it doesn't know how to handle the + sign and never gives me tenths or hundredths on the display when in positive angles. I've contacted the company and they say it's a firmware problem and are unwilling to help.
Short of buying more indicators and seeing what would happen, anyone have useable ideas on how to proceed?
 
The data from the 3600 appears to be fixed as to format and content, i.e., it is designed to be exported into a PC based, MS Excel database.

What that means is that you must have some manner/form of computer or microprocessor (w/ an RS-232 port and a display) to capture/display that data. No way around it.

It doesn't have to be a PC (running MS Excel), but it will have to be a "PC-like" device, such as an Arduino or a Raspberry Pi (there are others as well). Any of these devices can be configured with hardware and software to perform as you describe, given the constraints imposed by the rigidity of the data generated by the 3600.

But I should note that it will be no small task to accomplish what you seek.
 
upload_2017-10-24_8-33-17.jpeg

$160.00 usd Is this cost OK?
That display is LED. Can you use LCD? Does it need to be very bright?
 
I did a quick search and found a $99 product, I have no idea if it would work, It would not be an out of the box solution. See: https://www.kincoautomation.com/products/hmi More research is needed.

The LF would be a basic problem for even a simple terminal because it would be list. I think you would want to strip the LF and only output the string IF it did not change from the previous value.

There may be something here: https://comfiletech.com too.

The smart relay might be able to do what you want too. I did, once, download IDEC's simulator. It's a slight investment to start. See: https://us.idec.com/CMSContent/SmartRelay/index.html

Here's a display too. https://www.crystalfontz.com/product/cfa533tmiku-display-module-usb-16x2-character Note that pretty much they all have commands to control them, so a simple monitor is not likely to work.

In this one, https://www.redlion.net/product/225-6-digit-led-serial-slave-display-rs-232rs-485 you need a specific format.

So, it depends on a lot of stuff. How fast you want to do it. Power supplies available. How many units. How much effort into packaging.

It seems like a pretty tough project. Here's https://www.redlion.net/product/225-6-digit-led-serial-slave-display-rs-232rs-485 a company that specializes in CUSTOM.

Here's another company that makes SBC's.

www.picaxe.com is a small PIC that is programmable in BASIC

Find a display/displays that fit a basic footprint that you could substitute if necessary, e.g 1/2 DIN so your not locked in to one manufacturer. If you need mounting hardware or bezels, look at that too, What type of power is available?

I just see the basic structure of:

Power up: Display: *****.** or whatever.

Power up reading: On power up, look for a Line feed. Ignore the first stuff.

Now your synchonized.

I'd continue to make sure the data is valid. e.g. the right format until you program a "LF expected" state.

So, LF becomes the synchonization character.

You could make the routine a bit better by clearing the communications buffer on power up and start the state machine with is it a "+" or "-" then continue by processing as though you received a LF followed by a + and -.

So, this method effectively will allow the display of the first number. If there is junk in the buffer, you'll be looking for a LF to reset the state machine.

You could possibly display invalid digits as backwards question marks too.

I think to get a reliable display, there is a little more smarts needed, Sometimes power-up could leave a character in the buffer on a poorly designed system. let's say you disconnected the RS232 port while it was operating. You then need a way to recover.

There's likely no parity, checksum or other types of error checking.

So, you have to assume that the first read character can be:
Invalid
a "+" or a "-"

Then develop a state machine using your own functions:
issign(); checks for +-
iswhitespace() checks for space
isdigit() or isnotdigit()
isdecimal(); checks for decimal point
isCR()
isLF()

With fancier displays you could actually show the character received in reverse video.

Your testing might be easier too. e.g. power it up and use a terminal for input.
Press a 5; it would display a reverse video 5. and continue displaying reverse video for stuff that doesn;t fit in each position.
When a LF shows up; look at the attributes and numbers.
If you typed the same thing don't display anything, You could move the cursur.

There's a lot more involved if you want to eliminate flicker, make things easy to debug and not relay on what should happen.

With the display, it should happen fast enough that you won;t see anything, BUT if you typed characters slowly from a connected terminal emulator acting as your device, the error checking would be apparent.

So, I'm advocation a display and a small processor that makes the display robust.

Bold, reverse video, backwards question marks, question marks are all possible ways of indicating errors. reverse video of the character received can help determone if it's a bad baud rate or a loose cable. You don;t need the instrument while debugging and you can work faster that way.

I do remember when I managed a huge program development where in the final stage, it would require 2.5 minutes to interact with the hardware, So, if the hardware wasn't present, it would ask if you wanted to enter simulation mode.

It did analysis of those files too.

Although it was a little harder, the reading in of files would generally support values in the file out of order. They were just tags.
 
Run some rs232 snooper software on a seperate pc and see what traffic there is, then it might just be a case of knowing what data to send and emulate the controller with a processor.
 
As Ian said, this should be a simple task with a microcontroller and a 7-segment LED display.

I have an existing board that has an 8 digit display in 15mm tall digits. If a negative sign only will suffice (negative sign or blank for +), I could easily do this for you using existing hardware.

I sent you a PM.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top