28 April 2005 Brushless DC Motor Controller Software Design Presentation Western Washington University Patrick Prendergast.

Slides:



Advertisements
Similar presentations
Michael Madavane Russell McLoughlin. Plan Build a autonomous car, a GuideBot, that follows a set of directions to navigate an obstacle course Distance.
Advertisements

Jordan Barry Victor Brzeski
M2-3 Buck Converter Objective is to answer the following questions: 1.How does a buck converter operate?
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
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
A.G.I.L.E Team Members: Brad Ramsey Derek Rodriguez Dane Wielgopolan Project Managers: Dr. Joel Schipper Dr. James Irwin Autonomously Guided Intelligent.
Motor Control of an Oscillating Pendulum Nick Myers and Chirag Patel March 9, 2004 Advised by: Dr. James Irwin and Mr. Jose Sanchez Bradley University.
Department of Electrical Engineering Southern Taiwan University of Science and Technology Robot and Servo Drive Lab. 2015/7/2 Digital Control Strategy.
ACTIVE SUSPENSION TEST PLATFORM BRANDON NAYDEN & CHIAO LIU BY ADVISED BY: STEVEN GUTSCHLAG.
Programmable Logic Controller Internal Operations
Digital I/O Connecting to the Outside World
Micromouse Meeting #3 Lecture #2 Power Motors Encoders.
BLDC MOTOR SPEED CONTROL USING EMBEDDED PROCESSOR
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Hybrid I/O – Pulses.
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.
Adviser : Cheng-Tsung Lin Student :Nan-hui Hsieh
Michael Nist. System Software Design  MCU (2): CY8CPLC20 8-bit  32 KB Flash, 2 KB SRAM  Bus Frequency: 24 MHz  Memory requirements:  Main Controller:
System Software Design Colin Gatlin May 12, 2009 Western Washington University.
System Software Design and Documentation Zach Hill Western Washington University.
Lost Item Pager System Design Russ Kinley 5/6/6008.
Ryan Hansgen. General System Design  MC9S08QE64CFT 24MHz Bus Frequency 64 K byte Flash EEPROM, 4.0 K byte RAM  Memory required 8 K bytes ROM 2 K bytes.
Knocker Unlocker JACOB GILBERT | SENIOR DESIGN PROJECT 1.
RFID Access Control System Lucius Knight. General System Design  Microcontroller  PSoC CY8C29466  24MHz Bus Frequency  Memory Available  32kB FLASH.
System Software Design Dane Kim May 4 th, 2009 EET 475, WWU.
NATCAR SUMMER CLASS II 6 July 2004 Chung Hsieh. Topic of Discussion Power Supply Motor Drive Circuits Braking.
SMV Electric Tutorials
BICYCLE SECURITY AND TRIP COMPUTER MATTHEW ROTHNIE WESTERN WASHINGTON UNIVERSITY 4/25/12.
ATV INSTRUMENTATION DISPLAY System Design Ed Raezer Senior Project Western Washington University.
System Software Design Engineer: Mac Gainor Western Washington University.
Machine Access System Software Design and Documentation Western Washington University By: Kevin Pogue.
LED CUBE Preliminary System Software Design Fernando J. Garcia May
Humidity Sensing Fan Controller Jason Huft 05/11/10.
System Software Design Dan Sweet May 6 th, 2008 Western Washington University Bicycle Power Meter.
Automatic Pressure Canning System System Software Design By: Michael Drysdale.
GPS Enhanced PFD System Software Presentation Eric Grossmann.
Software Design Review Andres Rodriguez. General System Design  MCU: STM32F405  MCU Bus Frequency: 84MHz  Memory Requirements  Flash: ~ 10Kb  RAM:
System Software Design GPS Training System Jason Corbridge May 8, 2008 Western Washington University.
LED CUBE Preliminary System Software Design Fernando J. Garcia May
WESTERN WASHINGTON UNIVERSITY KENT SYKES 2009 Audio Field Recorder System Software Design.
ATV INSTRUMENTATION DISPLAY System Software Design Ed Raezer.
Wireless Heart Rate Monitor. On-Person Unit MC13213 (HCS08)  16 MHz Bus Frequency  On Chip Resources 60K of Flash 4K of RAM  Require Resources 15K.
HOME CONTROL SYSTEM By: Justin E. Klumpp & Leo L.S. Wan Leo L.S. Wan.
Electronic Automotive Motor Control System Software Description Viking 32.
Voice Over IP – Software Western Washington University By: Jonathan R. Peterson.
Electronic Memory Game System Software Design Jack Sullivan May 08, 2007.
Solar Patio Umbrella Final Presentation May 3 rd, 2016 Team #37 ECE 445 – Spring 2016.
Self-Sustainable Electric Golf Bag Final Presentation Group 19 Jon Kinney, Cory Edwards, Harrison Kantner 30 April 2013.
Deep Touch Pressure Abdomen Belt Group 32 Kevin Rathbun & Luke Fleming & Chang-O Pyo ECE 445 Senior Design April 28, 2015.
Software Overview Walking Robot by Sharon Davis Kernel MicroC/OSII.
Automated Aquarium Controller System Software Design ETEC 474 Western Washington University By: Gregory Rose.
System Software Design Presentation Western Washington University Taylor Reijm.
Arduino based Automatic Temperature Controlled Fan Speed Regulator.
Sponsor: Beam Technologies Team Members: Andrew McGinnis - ECE Chad Carius - ECE Madison McClellan - ECE Behavior Monitoring Toothbrush.
Application Case Study Christmas Lights Controller
Timers and Event Counters
ECE 445 Smart Window Responding System
Wireless Optical USB Mouse
Microcontroller Applications
Controlling of robot using voice
Wireless Heart Rate Monitor
System Software Design by Chan-Chia (James) Chang
By: Justin E. Klumpp & Leo L.S. Wan
Introduction to Arduinos
CBC Fundamentals Lecture is based on material from Robotic Explorations: A Hands-on Introduction to Engineering, Fred Martin, Prentice Hall, 2001.
ACOE347 – Data Acquisition and Automation Systems
System Software Design
Presentation transcript:

28 April 2005 Brushless DC Motor Controller Software Design Presentation Western Washington University Patrick Prendergast

WWUEET28 April 2005© Patrick Prendergast Kernel Selection To be demonstrated…

WWUEET28 April 2005© Patrick Prendergast Tasks 4) Start 5) Commutation 6) User Interface 7) Data

WWUEET28 April 2005© Patrick Prendergast Start Task Initializations Creates other tasks Period: Once Execution Time: 100ms

WWUEET28 April 2005© Patrick Prendergast Commutation Task PWM creates a sinusoidal motor current Determines motor commutation and PWM duty cycle based on: –Position –Motor Current –Battery Voltage –Commutation Mode

WWUEET28 April 2005© Patrick Prendergast Commutation Task Continued Responds to the Duty Cycle request from the CAN like a critically damped PID controller Response time depends on load (motor current) Controls the 14V gate drive supply (safety feature) Period: 40µs (Periodic) Execution Time: 5µs

WWUEET28 April 2005© Patrick Prendergast Data Task Collects data –Analog to Digital Converter –Controller Area Network (CAN) –Microcontroller Inputs Sends data over the CAN Period: 10ms (Periodic) Execution Time: 40µs

WWUEET28 April 2005© Patrick Prendergast Kernel Selection II Wait now we can determine our kernel: –T P = 40µs for the Commutation Task –T EXEC = 40µs for the Data Task –Therefore, L > 1 for a timeslice kernel So a preemptive multitasking kernel must be used and we have easy access to µC/OS-II.

WWUEET28 April 2005© Patrick Prendergast User Interface Task (UITask) Controls the User Interface LED’s Monitors the on/off switch and starts the shutdown routine. T P = 10ms T EXEC = 2µs

WWUEET28 April 2005© Patrick Prendergast HallIsr Hall Effect state change causes interrupt Refreshes HallState to match hall sensors Period: 5.1ms < T P < 1s (Sporadic) Execution Time: 500ns

WWUEET28 April 2005© Patrick Prendergast CPU Load Maximum Load Load is a non issue

WWUEET28 April 2005© Patrick Prendergast Modules ModuleTasksFunctions/Data main.c Start, Data, User PWMCalc(), ThrottlePos, ComMode, MotorAmps, BattVolts, HallState, Revs, DutyCycle, CompensatedDutyCycle, ModedHallState commute. c Commutation PWMSelect(), ModedHallState, CompensatedDutyCycle ATD.c ATDInit(), ATDAmps(), ATDVolts(), MotorAmps, BattVolts, CAN.c CANInit(), CANFilter(), RxCan(), TxCan(), CANGetStatus(), ThrottlePos, ComMode, MotorAmps, BattVolts, Revs PWM.c PWMInit(), PWMDuty(), DutyCycle InCapt.c HallCapture(), HallState

WWUEET28 April 2005© Patrick Prendergast Data Flow Diagram

WWUEET28 April 2005© Patrick Prendergast CAN Data Flow CAN0Controller ID Filter DataTask() Transmit Buffer Receive Buffer CANFilter() CANGetStatus() CANInit() TXCAN0 RXCAN0 CANPushMessage() CANPullMessage() CAN Bus Physical Layer

WWUEET28 April 2005© Patrick Prendergast CompensatedDutyCycle and Hall State Data Flow Diagram Data Task Commutation Task Buffer OSSemPost()OSSemPend()