IO SCADA Trainer Board: Users Guide
Board Description
The SCADA IO trainer board can be used to train/teach a variety of different concepts. The board contains user components the allow for sensor feedback, forward control, and user interface. This board can also be used as a great debugging tool for micro-controller platforms. It is compatible with a number of different voltage levels and it operates at a low power which is safe for students and desk development.
The following is a basic guideline for using the SCADA trainer board. This guide covers more of the concepts and less of the platform specific learning
Board Setup
- Power the board from a 5V adapter
- If you are using the servo motor this cable can be plugged in, otherwise it can be left unplugged.
Lab #1: Controlling the LEDs
Controlling the LEDs is very simple, all that is required it a high signal on one of the LED terminals. On the board a MOSFET then drives the LED at a specific current regardless of the voltage you are using.
- Insert a wire into LED1
- Touch the other end of the wire to +5v, the LED will illuminate
- Insert the wire into BT1, pressing the button will light up the LED
- Connect GND to the Arduino GND pin
- Attach the wire from LED1 to an Arduino on pin 2 and enter the following code, running this code will blink an LED
Lab #2: Reading a Potentiometer
Potentiometers are devices used in a large percentage of all electronics devices. A potentiometer is essentially a variable resistor series pair. It acts as two resistors in series, changing the rotation of the "pot" changes the resistance of both resistors.
- Insert a wire into POT
- Connect GND to the Arduino GND pin
- Insert this wire into A0 on the Arduino. Entering and running the code below will print out the value of the Analog to Digial converter on the Arduino.
Lab #3: Reading other Sensors
There are a number of other sensor on the SCADA trainer board that can be read using the code featured in Lab #2. Just by changing the wiring you will be able to see the output of these sensors.
- Connect HALL to the Arduino A0 pin and run the program from lab #2
- Connect GND to the Arduino GND pin
- Place a piece of iron or a magnet close to the Hall sensor (labeled on board) and watch the output from the Arduino change. A Hall effect sensor is used to measure magnetic fields.
- Connect TEMP to the Arduino A0 pin and run the program from lab #2
- Put your finger or other heat source on the temperature sensor (make sure it is relatively dry) and observe the values changing. This is a temperature sensor and it gives a voltage output based on its temperature.
- Connect BLUE, RED, or GREEN to the Arduino A0 pin and run the program from lab #2
- Shine a colored light or LCD screen at the color sensor, you will be able to observe the value output from the Arduino changing. If you are reading the red channel and you shine a red light at the sensor you will see a high value output and a low value on the other channels.
Lab #4: Reading an Encoder
An encoder is a device that can be used to determine different properties of rotation, these include speed, direction and position. In this lab we will use the Arduino to determine the position of the encoder even over multiple revolutions. Encoders are used in simple devices like printers and complex devices like industrial robotics. Despite the large gap in technology the principal of a rotary encoder remains the same. More info on using an encoder with Arduino can be found here
- Connect PHASE B to Arduino pin 3 and connected PHASE A to Arduino pin 4
- Connect GND to the Arduino GND pin
- Run the code below on the Arduino and view the output in the serial monitor.
Lab #5: Spinning a DC Motor
The power required to move a DC motor is often much greater than can be provided over digital logic. Because of this we need to use a number of MOSFETs to drive the motor and to add the ability of switching the motor direction. To spin the motor we can use the SCADA board outputs or an Arduino/micro-controller.
- Connect M+ to BT1 on the SCADA board and M- to BT2
- Pressing either of these buttons will spin the motor in either forward or reverse. Note that if these buttons are push quickly the motor will spin at a slow speed. This is pulse width modulation and it can be implemented on the Arduino using the analogWrite() function.
Lab #6: Moving a Stepper Motor
Stepper motors are a type of motor that is used for position control. These motors do not spin when power is applied. Instead they move one step, if power is applied in the other direction the motor will step again. This operation needs to be repeated in order to move the motor.
- Connect the pins as follow to the Arduino S1A > 2, S1B > 3, S2A > 4, S3B > 5
- Connect GND to the Arduino GND pin
- Enter the below code into the Arduino and run, you should see the stepper motor spinning. Try changing direction using the other included function. In the Arduino IDE software there are other stepper motor examples that can be explored
Other Devices on the Board
All of the devices on the board are designed to operate at a maximum of 5v DC. Power can be applied to any terminal (excluding ground) on the input board to drive a device. Below is a list of other device on the board
- Solenoid: Apply power and the solenoid will actuate
- Buzzer: Apply power and it makes a noise, pulse for different noises
- Servo: Apply an analog voltage to change the angle of the servo. Hint > connect the servo terminal to the POT terminal on the other board
- Opto Interrupter: Read the voltage on the OPTO terminal. Put an object in the opto gate to trigger the sensor.
Using the SCADA board as a trainer tool
The SCADA I/O trainer board can be adapted to many different platforms for use in training. Using the SCADA trainer board allows students to focus on higher level control common in industry today. This board saves students from having to deal with breadboarding and major wiring issues and allows them to focus on high level concepts.
Some of the platforms that the SCADA trainer board has been tested with are:
- Raspberry Pi (excluding analog features)
- BeagleBone
- Arduino (Uno and Mega)
- UDoo Computer
- Labview myRio
- Labjack DAQ
If you are unsure if your platform will work with this board please contact us at info@roboteurs.com.
Training Tips
- Have students use the board to test the concepts (ie spinning the motor). Have them create the Arduino control themselves based on concepts learned
- Have the students explore sensor calibration. Have them calibrate the color sensor by having the Arduino print the color of light shone at it. This is done by reading all three color channels and using if statements to determine the color.
- Use inputs and outputs together. Having students use the inputs to control the outputs explores real SCADA concepts. An example of this would be spinning the motor when the temperature rises to much. The students can see the reaction when they warm the sensor. This requires analog reading function, comparison if statements, and IO for motor control.