Category Archives: Arduino Industrial Controller

Productivity P1AM Industrial Arduino PID Control


A Proportional-Integral-Derivative algorithm is a generic Control Loop feedback formula widely used in industrial control systems. A PID algorithm attempts to correct the error between a measured process variable and the desired setpoint by calculating and then outputting a corrective action that can adjust the process accordingly and rapidly, to keep the Error to a minimum.
PID Control Arduino
The following links will explain the PID instruction.
PID for Dummies
PID Theory Explained
Wikipedia PID Controller
We will be using an immersion heater in a cup of water to keep the temperature at a constant value.

PID Control Arduino
Productivity Open P1AM Industrial Arduino PID Control

Our immersion heater will be controlled through a relay using time proportional control from our PID output. A J type thermocouple will be used with the P1-04THM thermocouple temperature and voltage input module. The Arduino PID Library by Brett Beauregard will be used with our productivity open P1AM industrial arduino. Our program sketch will use productivity blocks, that will then be verified into the C++ code in the Arduino IDE. Let’s get started. Continue Reading!

P1AM Industrial Arduino Thermocouple Module


We will now look at the arduino thermocouple module. The productivity open P1AM industrial arduino P1000 thermocouple module can be connected to our P1AM-START1 ProductivityOpen starter kit with Ethernet. We will be programming our arduino thermocouple module using the configuration tool on Github and productivity blocks.
The productivity open P1AM I/O interface chip-set supports the full suite of Productivity 1000 I/O expansion modules. These modules are industry approved and proven in the industrial environment. Modern industrial signal levels for digital and analog inputs and outputs are used. P1000 modules available to you include the following:
• Discrete
• Analog
• Temperature
• Relay
• High-speed Input
• PWM
Arduino Thermocouple Module
We will be adding and programming a P1-04THM thermocouple temperature and voltage input module to our P1AM-START1 ProductivityOpen starter kit with Ethernet. This card is very flexible and we will use the configuration tool on Github and productivity blocks. Let’s get started. Continue Reading!

P1AM Industrial Arduino Watchdog Timer


A watchdog is a piece of code that will timeout when an error occurs in our program. It will usually cause the CPU (program/sketch) to stop or reset.
p1am arduino watchdog timer
We will now look at the instructions for the watchdog timer in productivity blocks. This includes the Configure Watchdog, Start Watchdog, Stop Watchdog, and Pet Watchdog.
p1am arduino watchdog timer
Our sample sketch will modify the P1000 Expansion Digital Inputs and Outputs Part 2 program by adding a watchdog timer.
Let’s get started. Continue Reading!

P1AM Arduino P1 Digital Inputs and Outputs 2


In part 1 we added additional discrete digital inputs and outputs modules (cards) to our P1AM-START1 (Industrial Arduino) ProductivityOpen starter kit with Ethernet. A program was then discussed that will print the modules in our system and then set and reset discrete digital inputs and outputs.
P1-16TR – Productivity1000 relay output module, 16-point, 6-24 VDC/6-120 VAC, (16) Form A (SPST) no-suppression, 2 isolated common(s), 8 point(s) per common, 2A/point, 8A/common.
P1-16CDR – Productivity1000 discrete combo module, Input: 8-point, 24 VAC/VDC, sinking/sourcing, Output: 8-point, 6-24 VDC/6-120 VAC, relay, (8) Form A (SPST) relays, 1A/point.
P1-08SIM – Productivity1000 simulator input module, 8-point.

arduino digital inputs outputs
We will now discuss additional instructions in our industrial Arduino controller that will be used with our P1000 (P1) expansion modules. (cards) Our sample sketch will include a simple start/stop circuit and a shifting circuit.
Let’s get started. Continue Reading!

P1AM Arduino P1 Digital Inputs and Outputs 1


The productivity open Arduino P1AM I/O interface chip-set supports the full suite of Productivity 1000 (P1) Inputs / Outputs expansion modules. These modules are industry approved and proven in the industrial environment. Modern industrial signal levels for digital and analog inputs and outputs are used.
arduino digital inputs outputs
P1000 modules available to you include the following:
• Discrete (Digital)
• Analog
• Temperature
• Relay (Digital)
• High-speed Input
• PWM
arduino digital inputs outputs
We will be adding additional discrete input and output modules (cards) to our P1AM-START1 ProductivityOpen starter kit with Ethernet. A program will then be discussed that will print the modules in our system and then set and reset discrete digital inputs and outputs.
P1-16TR – Productivity1000 relay output module, 16-point, 6-24 VDC/6-120 VAC, (16) Form A (SPST) no-suppression, 2 isolated common(s), 8 point(s) per common, 2A/point, 8A/common.
P1-16CDR – Productivity1000 discrete combo module, Input: 8-point, 24 VAC/VDC, sinking/sourcing, Output: 8-point, 6-24 VDC/6-120 VAC, relay, (8) Form A (SPST) relays, 1A/point.
P1-08SIM – Productivity1000 simulator input module, 8-point.
Let’s get started. Continue Reading!

P1AM Industrial Arduino P1000 Expansion Analog


We will now look at the P1AM Arduino expansion analog modules. This analog expansion is part of the P1000 cards that the P1AM Arduino can use as it’s inputs and outputs. The productivity open P1AM I/O interface chip-set supports the full suite of Productivity 1000 I/O expansion modules. These modules are industry approved and proven in the industrial environment. Modern industrial signal levels for digital and analog inputs and outputs are used.
p1am arduino expansion analog
P1000 modules available to you include the following:
• Discrete
• Analog
• Temperature
• Relay
• High-speed Input
• PWM
p1am arduino expansion analog
We will be wiring and programming our P1-4ADL2DAL-1 combination analog input and output module that came with the P1AM-START1 ProductivityOpen starter kit with Ethernet. Let’s get started. Continue Reading!

Productivity Open P1AM Arduino Time Instructions


Time instructions in our productivity blocks programming (Arduino sketches) consist of runtime (ms), runtime (us), delay ms, and delay microseconds us.
arduino time instructions
We will be looking at each of these instructions that are available for our program using productivity blocks. Delay instructions in our sketches should be used with caution. They will pause our program for the delayed time, not allowing other parts of the program to function. We will be looking at this and the method to do the exact same delay functions without pausing your program.
arduino time instructions
A sample program will be discussed to demonstrate the time functions in our program. Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino Math


Math instructions in your Arduino sketches (programs) consist of arithmetic operations, compound operators, absolute, power, square root, sin, cos, tan, random, map and constrain.
p1am arduino math
These instructions will be generally used with other instructions in your sketch.

We will be looking at each of these instructions that are available using productivity blocks. A sample program will be discussed that will involve some of these math instructions. Let’s get started. Continue Reading!

P1AM Industrial Arduino GPIO Inputs and Outputs


The P1AM-GPIO is an industrial rated shield for the P1AM-100 Arduino system. It provides a connection from most of the P1AM-100 GPIO pins to the front 18 position terminal block connector.
p1am arduino gpio inputs and outputs
We will be looking at the wiring and programming of this input and output industrial rated shield that mounts on the left side of the P1AM-100 CPU arduino unit.
p1am arduino gpio inputs and outputs
Analog points will be wired to a potentiometer and LED (light-emitting diode) for demonstration of the voltage range that we can input and output. Digital points will be wired for discrete input and output using a pushbutton switch and LED. PWM (pulse width modulation) will also be used to control the brightness of a LED connected to a digital output. Let’s get started. Continue Reading!

Productivity Open P1AM Arduino Operators


Operators in your Arduino sketches (programs) consist of comparison blocks, concatenate strings, bitwise operators, string conversion, ‘not’ operator, and compound operators. These operations generally will be used with other instructions in your sketch. It is important to understand what instructions are available and what they are designed to accomplish.
Productivity Open P1AM Arduino Operators
We will be looking at each of these instructions that are available using productivity blocks. A sample sketch will be shown that will use some of these operators. The sketch will get a number between 1 and 100 from the built-in Arduino IDE (integrated development environment) serial monitor. It will print the number on the monitor if it is between 1 and 100, else it will print try again. Let’s get started! Continue Reading!