Piedmont Virginia Community College
Fall 2018 | T 7 - 9:45 PM
Fall 2018 Open Lab Hours
Anonymous Feedback Form
ETR237 - Industrial Electronics I:
Studies linear integrated circuits for industrial applications, motors, industrial control devices, power control circuits, transducers, industrial process control, and sequential process control.
Adafruit Feather 32u4 Basic Proto
DC Motor + Stepper FeatherWing Add-on
Tonight we spent the majority of the class looking at the schedule, discussing our plans for the semester, and looking at some of the broad topics for our projects. We looked at the syllabus and introduced each other!
During class we also built small systems and began to break down our intuitive understanding to form logical reasoning. We looked at a simple home HVAC system and prepared a simple control loop. Everyone then had the opportunity to work with a partner to build a loop and see if the rest of the class could predict what system the process loop was emulating. This brought up good perspective on building strong diagrams for communication, ordering of processes, and communicating results to others.
For next class:
Order the class materials listed in the introduction section.
Safety Guideline Agreement
Today we explored the Arduino platform to build prototyping skills with simple microcontrollers. We will use this platform to build our own motor control and devices. During this class we focused on basic servo control using a small 9g Servo and an Arduino Uno or the Adafruit 32u4 Basic Proto. We learned how to add boards to the integrated development environment (IDE) and begin utilizing existing firmware to build basic motor control. Some of us spent a portion of the class soldering our headers to the Adafruit 32u4 microcontroller. Our first set of goals for the servo control included:
Manually rotate the servo based on a potentiometer's position
Add to previous circuit, a pushbutton that automates certain servo movement
.1" Stackable Headers
Feather 32u4 - Arduino IDE Setup
Arduino and Servo Control - Adafruit
Pushbutton - Arduino
For next class:
Documentation Sharing Link
We spent the majority of time working through the previous class challenges, creating motion of a servo with a pot and then automating that circuit with a pushbutton. We will work on building these projects out into a system related to an RC plane. Your final project goals include:
Create a system that controls 2 servo motors:
High Speed Servo: Control equal range of rotation in two directions, use a potentiometer for control, use a pushbutton to return the servo into neutral position.
High Torque Servo: use a pushbutton to put the servo into a 30 degree position and lock it in place, have an indicator light for this setting, use a potentiometer to control the rest of the range of motion.
Create a schematic and build a working breadboard prototype
Share your progress next class including your model and firmware
Feather 32u4 - Pinout Diagram
Fritzing - How to Add Parts/Library to Bin - Video
Adafruit Fritzing Library - Github
Fritzing Master Library - Github
Potentiometer Servo Breadboard - Fritzing
Potentiometer Breadboard - Image
Potentiometer Servo Code
Pushbutton Servo Breadboard - Fritzing
Pushbutton Servo Breadboard - Image
Pushbutton Servo - Code
Challenge: 2 Servos Breadboard - Fritzing
Challenge: 2 Servos Breadboard - Image
Servos and how to use them - GreatScott!
We worked on the firmware for our project and checking everything in the Arduino IDE. We also prepared our breadboard drawings in Fritzing to make for easier documentation.
2 Servo Challenge Firmware - Arduino
2 Servo Challenge Breadboard - Fritzing
2 Servo Challenge Breadboard - PNG
We created a simple DC switching circuit using our Featherboard 32u4 and a TIP120 transistor. Our goal in class was to start with a simple blink sketch and turn the motor on and off easily. Our goal for next class:
Use a pushbutton as a digital input to "brake" the motor
Use a potentiometer as an analog input to adjust the speed of the motor
A green LED as a "motor on" indicator
A red LED as a "motor off" indicator
BONUS: A separate pushbutton to reverse the motor direction...
Transistors - Sparkfun
DC Motor, How it Works? - LearnEngineering
DC Motor & TIP120 - Breadboard Fritzing
DC Motor & TIP120 - Breadboard Image
DC Motor & TIP120 - Firmware Arduino
We worked on our first H-Bridge circuit and talked about the affordances of controlling a motor with PWM and an H-Bridge. We looked at the L293D a two sided IC with a relatively high current rating and a low cost. We also compared the L9110 H-Bridge. Your next goal is to complete the previous example and remove the TIP120 and replace it with an H-Bridge motor driver. Then you can create the ability to reverse the motor. We will work on this next class...
DC Motor & TIP120 Challenge - Firmware Arduino
L293D to Featherboard - Breadboard Fritzing
L293D to Featherboard - Breadboard Image
Motor Reversing Tutorial - Adafruit
H-Bridge Basics - Modular Circuits
DC Motors with an H-Bridge - NYU ITP Lab
We spent the class period working through our H-bridge projects for a "go-to" motor driver. By the end of class you should have a succesful motor driver application with a reverse and lights for indication of direction and power. We will add sensors next class to gather speed feedback on the motors. We will also use our motor shield to quickly prototype.
Adafruit Stepper & DC Motor Feather Wing Tutorials
Today we worked on adding a hall effect sensor to the list of sensors. We will program the micro to read the hall effect sensor, show the RPM of the motor using as a tachometer, and then control another output.
Hall Effect Example Motor - Arduino Firmware
A3144 Hall Effect Sensor Datasheet
TB6612FNG Motor Driver IC - Datasheet
Adafruit Stepper & DC Motor Feather Wing Tutorials
Adafruit Featherwing Motor Shield - CAD and Schematics
Adafruit Motor Shield Library v2 - Github
How a Hall Effect Sensor Works - HowToMechatronics
We added a simple temperature sensor to the mix, the TMP36. The goal is to develop a fan reaction based on the temperature. We looked at the change in voltage over the sensor on an analog input. This change on an input changes the speed of the fan simply with an
analogWrite command. You are encourages to take advantage of the motorshield at this point.
Resources:TMP36 Temperature Sensor Datasheet
We spent class putting the analog sensor together with the remainder of our circuit, building out a motor that responds to temperature and changes speed based on a range of values.
This class reviewed all of the components, sensors, motors, inputs/outputs that we've touched upon this semester. We looked at the bigger picture in developing systems with these particular sensors. We also discussed the beginning of the final project.
Final Project Guidelines:
Using the 32u4 microcontroller, create a control loop that has:
2 motor controls
3 Different Sensors
This project will include a BOM, schematic, process loop diagram, program, and prototype at a miniimum. Additional features would include creating a PCB, enclosure/working parts, and exceeded the I/O requirements.
We worked on finishing up our temperature and motor examples, adding indicator lights. We also worked on display using a serial LCD.
Arduino + ILM216 LCD Serial Module - Video
Arduino + ILM216 LCD Serial Module - Firmware Example
ILM216 Serial Module LCD Display - User Manual
We covered stepper motors and stepper motor drivers in this class. We built a simple stepper control using the built in stepper library from Adafruit.
Stepper Motors - LearnEngineering
Stepper Motor Usage w Motor Shield - Adafruit
Your final project will encompass much of the elements of class. We began to build a process loop and design a schematic for our project purpose. The guidelines for your final project include are posted in the 11.05 class. Your presentation will include:
Process control loop
Schematics and Design Files
Try to keep your presentation within 10 minutes and prepare for questions