Steering Servo How to control the car heading via a steering servo Team: //noComment Leader : Christian Software Specialist : Matt Hardware Specialist.

Slides:



Advertisements
Similar presentations
MICROPROCESSORS AND MICROCONTROLLERS
Advertisements

EMS1EP Lecture 8 Pulse Width Modulation (PWM)
Jordan Barry Victor Brzeski
Mark Neil - Microprocessor Course 1 Device Drivers – Digital Voltmeter.
MC68HC11 System Overview. System block diagram (A8 version)
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
Programmable Interval Timer
Sistemi Elettronici Programmabili13-1 MULTI OSC + CLOCK FILTER LVD POWER SUPPLY CONTROL 8 BIT CORE ALU PROGRAM MEMORY RAM I2CI2C PORT A SPI PORT B 16-BIT.
Introduction of Holtek HT-46 series MCU
Analog to Digital Converters (ADC)
EET 2261 Unit 13 Controlling Stepper Motors and Servos  Read Almy, Chapter 21.  Lab #13 due next week.  Final Exam next week.
By: Mark Bright and Mike Donaldson.  Project Goal  Applications of our system  System Block Diagram  Thermal Plant Overiew  Current Progress ◦ Engine.
EMRAM Mini-Sumo Project INNOVATIONS. EMARAM INNOVATIONS Team Members: Nick Enriquez Project Manager, MCU Programmer, PCB Design Isai Michel Webmaster,
HT46 A/D Type MCU Series Data Memory (Byte) Program Memory HT46R22 (OTP) HT46C22 (Mask) 2Kx Kx16 4Kx HT46R23 (OTP) HT46C23 (Mask) HT46R24.
EMRAM Mini-Sumo Project INNOVATIONS. EMARAM INNOVATIONS Team Members: Nick Enriquez Project Manager, MCU Programmer, PCB Design Christian Marquez Parts.
Servo motor angle rotation control by adjusting PWM ratio.
ECGR-6185 Advanced Embedded Systems University Of North Carolina at Charlotte A. Srinivas Reddy Stepper/Servo/DC Motors.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Leader: Amos Friend Hardware Specialist:Luke Noschese Software Specialist: Jacob Longwill Assistant: Ryan Trump By: Team Leroy Jenkins.
Arduino Josh Villbrandt February 4, Digital Circuits Analog versus digital – What’s the difference? – How to represent an analog signal in a computer?
Microcontroller Hands-on Workshop #3 Ahmad Manshad New Mexico State University Institute of Electrical and Electronics Engineers November 7, 2009.
7/23 Timers in Coldfire Processor Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee (480)
September, 2007ENGR Low-Level Robot Control Mechatronics: Motors, sensors & embedded controls.
Collaborative mobile robots Rory McGrath Progress Report.
1 LHO 13 The 8051CF020 and the University Daughter Card.
Pulse Width Modulation (PWM). 100% Pulse Width Modulation (PWM) 0% On the chipKIT there are 490 periods per second. Use analogWrite(pin, value) to control.
Microprocessoren lesson 6. PWM /motor control/servo.
Chapter 2 Introducing the PIC Mid-Range Family and the 16F84A The aims of this chapter are to introduce: The PIC mid-range family, in overview The overall.
MCS51 - lecture 6. Lecture 6 1/32 Extending MCS51 system Built-in peripherals MCS51 family.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Module Introduction Purpose  This training module provides an overview of the analog interfaces.
Suleyman Demirel University CSS340 Microprocessor Systems – Lecture 2 ATMEGA328P ARCHITECTURE ANALOG INPUTS.
Example 12 Pulse-Width Modulation (PWM): Motors and Servos Lecture L8.1.
By James Cockrell and Justin Loveless
Strong as a Buck. Meet The Team Warn Wilson John Clark Dre Crumbly Electrical Engineering Computer Engineering.
Water Flow GROUP A. Analogue input voltage results: Motor Input voltage( V) pin 12 Analogue input voltage (V) Display number
Microcontroller based system design Asst. Prof. Dr. Alper ŞİŞMAN.
Analog to Digital Conversion - ADC Mark Neil - Microprocessor Course 1 Device Drivers – Measuring Voltages.
PIC18F4431. PIC18F1330 Infrared Encoder/Decoder.
Timer 1 and 2 operation, PWM Principles. Timer 1 Operation.
PWM: Pulse Width Modulation © 2014 Project Lead The Way, Inc.Digital Electronics.
Line Sensing 101 TEAM SpeedRacers _______Team Leader _______ Hardware Specialist _______ Software Specialist _______ Assistant 1.
SGDRS Software System Design Justin A. King WWU EET Senior project 2013.
STEERING TEAM: DRIFT KINGS ELEAZAR LUCIANO MATT HART SHANE MILLS STEVE GILLILAND.
MICROCONTROLLER INTERFACING WITH STEPPER MOTOR MADE BY: Pruthvirajsinh Jadeja ( ) COLLEGE:DIET BRANCH:EC.
Microcontroller basics Embedded systems for mortals.
Istituto Tecnico Industriale A.Monaco EURLAB Control a Servo Motor If you want to swing an robot arm or … steer a robot you need a special motor (Servo).
Microcontroller basics Embedded systems for mortals.
Interfacing Touch screen via lpc21xx Resistive touch screens can be a great way to enable complex user input in your projects inexpensively and with a.
1. PIC ADC  PIC18F877 has 8 analog input channels i.e. port A pins(RA0 to RA5) and port E pins(RE1 and RE2). These pins are used as Analog input pins.
Application Case Study Security Camera Controller
Microcontroller basics
Motor Control Solutions
team toykO drift Team Members: RYAN WILSON: LEADER
Analog Comparator An analog comparator is available on pins PE2(AIN0), PE3(AIN1) The comparator operates like any other comparator. -when (+) exceeds (-)
By: Team Short Circuit;
Freescale ARM Timer Programming
The Arduino Microcontroller: Atmel AVR Atmega 328
Introduction to Microprocessors and Microcontrollers
Motor Control Solutions
Line Sensing 101 TEAM SpeedRacers _______ Team Leader
ADC, DAC, and Sensor Interfacing
ECE 354 Computer Systems Lab II
Power System TEAM SHOCK Team Leader: Matt Uhrine
Arduino : Introduction & Programming
ADC and DAC Programming in AVR
Sensors and actuators Sensors Resistive sensors
Device Drivers – Digital Voltmeter
Robotics System Lecture 11_12: DC Motor
Arduino म्हणजे काय?.
Motor Control Solutions
Presentation transcript:

Steering Servo How to control the car heading via a steering servo Team: //noComment Leader : Christian Software Specialist : Matt Hardware Specialist : Vic Assistant : Andrew

Overview  Hardware  Futaba S3010 Specs  Components Needed  Wiring  Interfacing  Registers Used  Register Diagram  Analog to Digital Conversion  PWM Review  Mechanical Binding Test  Software Implementation  Summary  References  Questions

Hardware Futaba S3010 Servo (1)

Futaba S3010 Specs Control System: +Pulse Width Control Required Pulse: 3-5 Volt P-P Square wave Operating Voltage: Volts Operating Speed (4.8V): 200 ms/60 degrees at no load Operating Speed (6.0V): 160 ms/60 degrees at no load Pulse Span: usec Dimensions: 1.6” x 0.8” x 1.5” Weight: 1.40z (41g)

Components Needed  32 bit ColdFire MCU FireBird32  Smart Car chassis with mounted Futaba servo  Bench Top Power Supply(5v)  Jumpers  Oscilloscope  Potentiometer

Wiring Powering the Servo  Connect 5V from power supply to the RED pin on the servo connector  Tie the grounds of the ColdFire and the bench top supply together  Connect the BLACK ground pin from the servo to the Coldfire ground Connecting to Coldfire  Connect WHITE control pin from servo to Coldfire PWM output port (PF4)

Interfacing MCU(Coldfire) Servo Power Supply (5V)

Registers Used TPM2SC – Status Control Register TPM2MOD – Modulo Register (sets period) TPM2C0SC – Channel Status and Control Register TPM2C0V – Value Register (sets pulse width)

Register Diagram

Analog to Digital Conversion Initialization  Select ADC clock source and divide by # bits for conversion (ADCCFG) Per Conversion  Select channel to convert (ADCSC1)  Wait for conversion complete (COCO)  Read data from result registers (ADCRx)

Analog to Digital Conversion //derived from Prof Sumey int adcGet() //adc conversion on PTB4, 10 bit thus result, result then returned { //channel 0=PTB0... channel 7=PTB7 //channel 8=PTD0... channel 11=PTD4 // perform conversion ADCSC1 = 4;// start conversion on PTB4, channel 4 while (!ADCSC1_COCO){} // wait for conversion complete* return ADCR; // grab 2-byte result and return it } void adcInit() { // ADC initialization: ADCCFG = (0b10 << ADCCFG_ADIV_BITNUM) // select Busclk/4 (3MHz) + (0b10 << ADCCFG_MODE_BITNUM); // 10-bit mode }

PWM Review MCF51JM128 ColdFire® Integrated Microcontroller Reference Manual

Mechanical Binding Test NO YES FOREVER { adcresult = adcGet(); dir(1000+adcresult); } //Max=1777us //Min=1134us

Software  void initializeMCU() { ….. //SOPT2_CLKOUT_EN = 1; ….. }  PWM initialize() TPM2SC = TPM2SC_CLKSA_MASK // select bus clock for timer clock + 8; // divby-8 prescaler (8MHz / 8 = 1MHz Timer clock) TPM2MOD = 10000; //Period = 20,000us= """20ms"""= f=50Hz TPM2C0SC=0x38; //Set status control register TPM2C0V = 1500; //Pulse Width = """1.5ms""“ * TPM2C0V *

Summary How to control the car heading via a steering servo

References  (1) “S3010 Std. HT Ball Bearing." S3010 Std. HT Ball Bearing. N.p., n.d. Web. 17 Feb  (2) “How Do Servos Work?" How Do Servos Work? N.p., n.d. Web. 17 Feb  (3) "Futaba S Standard High-Torque BB Servo." Futaba S3010 Servo Specifications and Reviews. N.p., n.d. Web. 17 Feb. 2015

Questions?