First post here. I hope I provide enough information for getting sensible replies.
I am looking at a project to provide a stand-alone box to display positions for a 5-axis motor-controlled stage. I was thinking of using 2x 4-digit serial 7 segment displays (e.g. COM-11442) for each axis to give me 8 digits. So a total of 10 display modules. The box will receive data over wired Ethernet allowing it to be moved around the instrument.
First question: Is there a better solution that 10 seperate displays? I really don’t want to go down the route of a custom board and designing my own as it is not my area of expertise, and we will only ever be building 2 of these so there is no great economy of scale.
I intend driving these from an Arduino Mega 2560, though I may be able to get away with an UNO. Cost is really not an issue so I just feel happier using something with plenty of space.
Second question: what is the best way of controlling these to write the data? I had originally thought about using SPI and using a number of Output pins on the Mega to act as SS (i.e. 10 lines, one per board). While the refresh rates will not be super-fast (in fact a lot of the time there will be no values changing), when a stage is in motion I would like to be able to refresh each display pair in such a way as there is no obvious delay between the first and second 4 digits. SPI is clearly fast but I guess there are concerns about cable length and noise. Second thought was I2C since it is designed for multiple devices to be daisy-chained. I should not have problems of arbitration, because all of the communication will only be from the arduino to the displays. So any thoughts on this would be greatfully received. If there are any recommendations on special precautions on the serial lines (extra circuitry etc) please feel free to say. Don’t assume I necessarily know that something is needed.
I think that covers the main questions.
I will also be considering adding some extras to the box to possibly allow the user to drive the stages. Maybe a selector to switch between axes (LED indicator for the active axis), and then buttons to jog the stage (maybe with a fast/slow switch too). This control will go back over Ethernet to the commercial stage controllers.