
Automation board
September 2019
This project was made to be a cheap replacement for a PLC. The aim was to make a board that was easy to program could do basic functions like have an ADC to be able to read read 4-20mA signals, PID control, drive relays I also wanted to have the board able to do some basic temperature sensing by just connecting a thermocouple to an ADC pin. Arduino was a good fit for the programming requirements so I wanted it to be compatible with it. I picked the ATmega 328-pu as I have so many about but the board works with the ATmega8 as well.

There are 3 opamps used in this design. 1 is working as a buffer to prevent any loading effect the ADC of the microcontroller may cause. The other 2 are non-inverting amplifiers with values of 120 ohm and a pot + resistor to give around 100k ohms. The last 2 inputs can be used as simple digital inputs if desired or analog inputs. With a 250 ohm resistor across the pin and gnd they can read values off 4-20mA industrial sensors too.

The next task to tackle was the mechanical CAD I knew I wanted the enclosure to be able to be mounted on a DIN rail much like an actual PLC the terminal blocks and programming header obviously had to be accessible once the pcb has been installed I also wanted the option for a fan to be mounted. Here is what I came up with.


I also wanted to use a relay module in conjunction with the automation board to control higher voltage devices so I bought one off ebay with 4 relays. and designed a mounting bracket to install it on a DIN rail. the module uses 5V from the linear regulator on the automation board for power and can be switched with the digital outputs of the board.

After I was happy with the design I 3D printed the automation board enclosure and the relay module mount. This can all be fit neatly in another enclosure or anywhere else that has a DIN rail.