I have some experience in programming embedded systems, but I have never developed with Arduino setups. I am seeking your assistance and expertise to quickly get on track.
I am looking for a board and for modules to build a data acquisition system that should feature:
– RS-485 communication
– I2C bus
– Analog input for 0-5 V differential measurement (from -0.5 to 5.5 V ideally) with a minimum of 14-bits A/D converter.
– I plan on developing using a MAC computer and C / C++ family language.
– I would like to have an ARM processor on the board, but that's optional.
From what I have heard, a MAX485 module would work for RS-485 communication. Is is compatible with any board or should I pay attention to some specifications when selecting the board?
I2C seems to pe present on every model.
I have found boards featuring 12-bits analog inputs, but they don't seem to perform differential measurements, do they?
I would be grateful for any advice, pointer or board/module recommendation that you may give.
You will have to come up 14 bit ADC that does -0.5 to 5.5 seperately.
Maybe this http://cds.linear.com/docs/en/datasheet/1417fas.pdf
and scale your input down some.
You will need +/-5V supply.
Another option is to scale your sources down some and add DC offset to bring it up in the 0-4V range and use just +5V supply.
Thank you for your reply. That could work for me. So, I guess it doesn't already exist as a shield or module?
Otherwise, do you have any experience in adding RS-485 communication to an arduino board?
RS485 is simply a spec for differential signalling over 100 ohm UTP or STP,
its compatible with anything... Or do you mean something more than that,
such as an actual protocol over 485 (no protocol is implied in 485, its just
the physical layer).
Thank you for your reply. No, I just mean stitching an RS-485 port onto an arduino board. If I am not mistaken, there isn't one already?
I have found that, maybe, a MAX485 based module could work. But I don't know about the compatibility of a all the available accessories with the different boards.
I started looking into arduino only today, and from what I have gathered, there are many different "producers" who sell different boards based on one common template.
My goal is to develop an acquisition board that will either take data from 0-5V commercial sensors or from an I2C bus. The data should be transmitted over an RS-485 bus. I will implement the protocol to be used over the RS-485 bus (HART-based possibly). But for that, I need to have an aruino board with an RS-485 port.
I have no knowledge of electronics. The more "advanced" thing I did was to use a RCV420 to convert from 4-20 mA to 0-5V… that says everything.
So, the best solution, by far for me would be to find plugable shields or modules to reach my goal.
Currently, I feel a little lost in front of all the boards and accessories, and software development kits. I love the ARM platform and the 32-bits PIC, but their 3.3V operating voltage take me a farther away from getting 0-5V data acquisition. So I should better stick with a arduino uno. Maybe.
Ideally, if someone can tell me which hardware they recommend me to purchase, that would give me a head start. That way, I would be able to focus and try until I make it work, knowing that everything can work.
Thank you so much for your guidance. I took the time to investigate the hardware you suggest. I also checked your website (which is great btw) and I have ordered three modules for testing : one arduino leonardo, one chip kit uno32 and one arduino due, with two RS485 shields ans one 16-bits ADC shield for testing.
From the specs, I guess the ADC shield will work fine both at 3.3V and 5V, but I can't say about the RS-485 shield. It is unclear. In case it does not play nice with 3.3V, I plan on using a 74LVC245 logic level shifter.
Again, thank you so much for your help in quickly getting started so quickly!
MAX481 looks to be a 5V powered part, all its specs are at 5V. Not sure what will happen at 3.3V. http://datasheets.maximintegrated.com/en/ds/MAX1487-MAX491.pdf
Shame the schematic didn't use the "invoke" command to show the power & ground pin for the '481.