Minimalist PLC

Hello, My first post. I've read a lot about arduino but still have some doubt.

What I'm trying to do is cheapest possible solution for the following system:

4 Analog Input (4-20mA), or 0-10 Volt. 10 Digital Inputs. 16 Digital Outputs that can drive 3A solenoids,Contactors, maybe through mechanical relays.

Microprocessor will do the neccessary calculation from Analog and digital inputs and turn on/off certain outputs.

I'm doing this type of control with PLC, and whant to emulate the same functionality with Arduino.

Or maybe Arduino is not the correct choice.

I saw A clip about ATtiny chip that was programmed with arduino, and then was able to blink a led.

My project is slow moving Hydraulic cylinders, round 2cm/Second.

The goal is to achieve lowest cost possible.

Thank you for reading.

For that number of IO, I’d go with an ‘arduino’ that had more IO available, such as something ATMega644/1284 based so you have 32 IO pins to work with.
Be pretty straightforward to have your analog inputs go thru voltage dividers to get 0-5V range.
0/5V digital inputs are straightforward.
Digital IO driving transistors, or relays, also straightforward.
All that, and last 2 IO free for serial downloads or status reporting.

I have some boards on order, delivery any day now, that would be a good starting point to connect to another card with dividers & drivers, or to make a new custom board.

There is another way to do the same with 4 small boards, with One AI, 4 Digital Inputs and 4 Digital Outputs with 4 Relays.

One of the boards will be Master , the other 3 Slaves, Communications ModBUS/RS485 or similar, distance between any 2 boards 50feet Max.Communication speed in not critical.

Communiction 2-3 wire Max, with opto-isolation (must), Tryed to do this with SPLATCO controllers, was burning boards because communication overvoltage, first thing in the morning when power was applyed.

And 2line 16Character screen must be attached as an option.

Is it Doable?

And what Language Arduino support?


Ah, good old scope creep. Sure, can be done. Arduino is programmed in C/C++.

I’d go with an ATmega 2560 and forget about anything much smaller. The cost difference is minimal and you’ll save a lot of grief having the memory to spare and not having to struggle to source an Arduino based on a non-standard uPC.

If you’re looking for something close, with Modbus for the interface, drop me a PM. I don’t have the RS-485 interface done, but there are plenty of RS-232 to RS-485 converters on the market. Or if you have a few weeks to spare, I’ll have the RS-485 driver laid out :wink: