Multi processor modular Arduino idea

Hello

I have a couple of projects coming up which may warrant this, so I just wanted to put forward a couple of ideas to get feedback on, and to point me towards the right processors for the job.

Basically I am thinking of building up a modular system for my use to start with. My intension is for it to be a cheap PLC like system, however quite far from the interface you would find on a PLC, and just using arduino IDE as the language.

Basically what I was thinking of, is have a processor board, which could be like a Mega644P or something with more serial ports, which would handle the comms to the real world, and comms to the other modules (maybe a few other functions). I would then have another board dedicated to Relay Outputs, maybe 6 of them or something, which would have another processor on it. I would then have another board for inputs, which would most likely be opto isolated inputs, which would be controlled by another processor. And another board for high speed counting - this processor I am really unsure about at this stage. Basically I want a processor with a number of external interrupts - or maybe even a few smaller processors on this board with say 2 external interrupts.
So each module will have its own program, and have comms (I2C most likely) back to the main processor, which handles all the data coming in and going out, and also the serial comms to say a PC or another collection/interface device.
You could have multiple of each module if required - ie 3 Input boards, and 4 relay output boards, and 2 counter boards, all feeding into the main processor.
There may be more module boards which could be useful also, standard outputs, etc.

By having a seperate processor for each board and for the main processor, then the processors can in theory run fairly unloaded, and therefor the processors 'Scan Rate' would be quite fast compared to if everything was crammed into the one processor. More expensive, yes, however getting more out of the arduino would therefore be possible if the tasks are split, as I have seen so many times this recommended in other posts.

Its not rocket science by any means, but I am just wanting assistance in to choosing the appropriate processors for the job. Ie I dont want a large processor which I will only use 2% of the flash and 10% of the functions, where it is not needed as that is jsut a waste.

This is a very draft idea at this stage, I havent put a huge amount of thought into it yet. I do have a couple of projects which some of them will turn commercial, so having a nice modular system that can be expanded on easily and can be used for a number of projects, I think would be great.
I would then make up libraries as needed, and functions to easily write to the modules so the main processor code is nice to read and easy to manage.

If anyone has some suggestions for Arduino compatible processors for each of the modules, then let me know.
As I say, its not rocket science, its not a hard project, but I think it would be a great enabler for a number of projects. And of course I would be more than happy to share the schematics, board layouts and code.

James

Hi James,

I sent you a PM about this.

Rob

There are several ways to go about doing this. But using the idea that an Arduino is the core and it will need to talk to several other processors, I2C probably is the best balanced approach.

The "modules" could be pretty much any processor that can handle the I2C protocol. The are PIC chips or ATTiny's that can easily do this without having a processor that is overkill. There are even ports of the Arduino that will work on an ATTiny85... http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1274820597

The advantage to using an ATTiny85 over a PIC is the simple fact that you could use the Arduino interface.

There are probably 100's of devices out there using PICs and other small micro-controllers to allow them to communicate easily over I2C.

So yes your idea will work and has even been done before. Just bring some unique uses/ideas to the table and go from there.

Hi
Yep it is looking like I2C is the best way to go from the reading I have done, and from information I have requested in other posts.

I plan to make each of the other processors be Arduino compatible too - I have no interest in using PIC's etc at this stage, I want to keep it all Arduino.
I was also thinking along the lines of the AtTiny85's, but havent done any reading on them yet other than looking at the basic specs.

Im sure this isnt new as you say, not trying to do anything groundbreaking here, more to make a device which I can use for a number of projects in the place of a PLC, which will cost <$100 or so, depending on which IO cards are used. And because projects are fun and making a project to enable other projects is always good.

Cheers
James