This Instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com)
Are you ChemE? Do you want to prototype a CSTR? You are in luck! Hi, I'm Chukwubuikem Ume-Ugwa a Chemical Engineering student at University of South Florida. This Project models a CSTR and uses a 5V stepper motor for the impeller. The CSTR is temperature controlled.
Step 1: Before You Start to Tinker
Here are some things you should know before getting started.
How to prototype with any 3D prototyping software. I used Autodesk inventor.
How to 3D print your model.
How to code in C/C++
How to Arduino.
Step 2: Your Toolbox
You should have the following in your toolbox
1 X Arduino Uno
1 X USB Cable
1 X Stepper Motor
1 X ULN2003 Motor driver module
1 X 5V Buzzer
1 X lm35 Temperature Sensor
1 X IIC 1602 LCD
1 X 4pin IIC cable
1 X Breadboard
1 X Bundle breadboard jumper wires
1 X IR controller (w battery)
1 X IR receiver
1 X Green 3mm LED
1 X Red 3mm LED
1 X 220Ω Resistor
Step 3: Control System Setup
How does it work?
1. The IR receiver receives a command signal from the IR remote.
Available Commands:=> On, Off, Override
2. The IR receivers decodes the command.
3. The Arduino performs the appropriate actions.
4. The Temperature sensor measures the system temperature.
5. The Arduino checks the measured temperature against a set point.
6. The Arduino performs the necessary actions ( Shutdown and alarm or do nothing)
Step 4: 3D Print
For your printed parts you should have
1. the impeller/agitator
This impeller has a rectangular opening on the head for easy insertion of the motor head. This configuration is not recommend if your impeller weighs more than the motor.
2. the cover
the cover is designed to accommodate the motor and the shafts to keep the motor in place.
the rectangular opening is for the motor cable.
3. the tank
a cylindrical container with rectangular opening for view into the reactor.
D = 7 mm
H = 50 mm
inner arc: 20 mm
outer arc: 23.031 mm
Step 5: Assembly
1. Hook up the motor to the reactor cover.
2. Insert the motor head into the impeller head
3. Lock in the reactor cover
Step 6: Control System Wiring
1. Use your jumper wires and connect Arduino Uno 5V pin and GRND pin to the +ve and -ve rails respectively on the breadboard.
2. Insert the motor cable into the ULN2003 Motor driver module.
3. Connect the ULN2003 Motor driver module's live and GRND pins to the breadboard.
4. Connect the ULN2003 Motor driver module's motor pins to pins 4, 5, 6, 7
5. Connect the red LED +ve lead to Arduino pin 13
6. Connect the green LED +ve lead to Arduino pin 12 .
7. Connect the buzzer +ve lead to Arduino pin 11
8. Connect the RF receiver data lead to Arduino pin 2
9. Connect the LM35 Temperature sensor data lead to Arduino pin A0
10. Connect the LCD SDA and SCL pins to the corresponding Arduino pin. Also connect the live and GRND for the LCD
Step 7: Arduino Sketch
There are 6 functions/routines in the sketch. The two important ones are the control() and readTemp() which controls the reactor and reads measured temperature respectively.
The code that controls the LEDs, LCD, Buzzer, and stepper motor is attached below. The dependency zip file contains the required libraries.
Download the file and the accompanying zip. Copy the zip content into your Arduino's library folder. The zip contains other folders, these folders should each be copied directly into the Arduino library folder. The directory tree should look like this
To run the code,
Open it from your Arduino software.
Click the upload arrow with your USB plugged into your computer and Arduino.
The Stepper Motor
An issue with the stepper motor is that it blocks execution until a full revolution is completed.