University Programs Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

University Programs Knowledge Base

Labels

Discussions

Sort by:
Model provided by the Mathworks Academic support team to manage wide angle lenses on the default Freescale Cup car camera.
View full article
There are several programs on the market which are freely available. Below is a list of the more popular [free] ones.  Eagle PCB 123
View full article
This document is addressed to the participants and visitors that will join us for The Freescale Cup 2015 Worldwide Finals 2015 The Freescale Cup 2015 Worldwide Finals will be held on 14-15 September 2015 at the Fraunhofer Institute for Integrated Circuits (Fraunhofer IIS) in Erlangen, Germany. Full address is: Fraunhofer IIS Am Wolfsmantel 33 91058 Erlangen Germany Google Maps location The attendees official guide is now online at https://community.nxp.com/docs/DOC-106164 Agenda of the event for the participants (subject to change): Sunday September 13th: Arrival at Hotels Get together in the evening (approximate time 18:00) at A&O Hostel Monday September 14th: 8:30: Departure from Hotel for City Tour 11:30: Prepare for departure for Fraunhofer IIS 12:00: Buses depart for Fraunhofer IIS 13:00: Lunch 14:00: Opening session 15:00: Start of Practice 17:30: High School and Innovation Challenge Demos 18:00: End of Practice - Start of the evening event 21:00: End of evening event - boarding buses for return to hotel Tuesday September 15th: 8:00: Buses depart for Fraunhofer IIS 9:00: Practice 13:00: Technical Inspection & Lunch 14:30: Final Race 16:00: Awards Ceremony 17:30: Buses depart for Awards Dinner 20:30: Buses depart for Hotel The event will be presented via LiveCast by the Fraunhofer IIS. URL is http://www2.iis.fraunhofer.de/freescale/  Hotel information: Students Hotel: Nuremberg Hostel - Stay at the A&O Hostel & Hotel Nuremberg  Google Maps Location Professors and Press Hotel: NH Nürnberg City Center hotel in Nuremberg Bahnhofstr. 17-19 | NH Hotel Group Google Maps Location Freescale will cover the cost of travel, accommodation and meals for the event for all Freescale Cup qualified teams and one faculty advisor per the rules in place. For Visa invitation letters, please contact marion.thierry@freescale.com or flavio.stiffan@freescale.com Travel booking will be organized by your regional Freescale University Program contact. Please have your faculty advisor get in touch with them for more information
View full article
Pulse-width modulation (PWM), is a technique utilized in robotics for controlling motors and servos. Through the use of internal counters, the microcontroller modulates the duty cycle of a square wave to control the amount of power delivered to a device. The Duty Cycle referes to the porportion of time the square wave is 'on' as compared to the repeating signal period. The higher the duty cycle the higher the power carried in the signal. Duty cycle is expressed as a percentage of time the signal is 'on', with 100% being consistently on.  overview-create-a-pwm-signal Once you feel comfortable that you understand the concepts behind a duty cycle signal, return to Reference Manual: Timer Information portion of the Drive A DC Motor Tutorial
View full article
CW_MERGE_PROJECTS.wmv
View full article
2013 Global Freescale Cup Participant: Malaysia Car Specs: -Freescale Freedom FRDM-KL25Z
View full article
Lecture 1: Introduction and Motor Basics  This training module presented by Professor L. Umanand of CEDT, Indian Institute of Science, Bangalore provides an overview of the Freescale Cup – 2011. It introduces to the challenge describing the various components of the intelligent car tracker. Lecture 2: Pulse Width Modulation  This lecture provides an overview of Pulse Width Modulation Lecture 3: Control Design  This lecture describes controller design and PID control Lecture 4: Speed and Position  This Lecture discusses integrating your PID with sensor data Lecture 5: MPC5607B Overview  This training module provides an overview of the 32-bit Qorivva MPC5607B Processor. The course is targeted towards beginners in order to enable them to quick start the development of software on the MPC5607B.
View full article
Depending on which MCU Devlopment board you have chosen, you will need to figure out a way to mount this to the chassis. I have seen everything from cardboard, to aluminum, to wood. Below is a template complete with CAD drawings to mount the Qorivva TRK-MPC5604B board and the Motor Board onto the chassis. We use plexiglass for ours, but any other millable material is appropriate. The large hole in the middle is for cables from the servo. We attach the board to the car using the plastic standoffs (you will need them 55 mm long, so in our case, we used the combination of 40 + 15 mm) - see an example (SOS code 10260). To attach both the processor and interface boards the simillar 5mm plastic standoffs were used. Preview (.pdf) CAD file (.dxf)
View full article
Features General Tower card Form Factor Connections to allow use with a TRK-MPC5604B Board Camera Interfaces 1. 5-pin header to connect directly to Freescale Line Scan Camera 2. Header for 2nd linescan camera (optional) 3. RCA Camera Interface. Includes an LMH1981 Sync Extraction chip and connectors to MCU to allow for low resolution (32x32) decoding of signals Servo Outputs 3-pin Header to connector directly to steering Servo 1 Extra Servo header. Power Accepts direct Battery Power – Onboard Switching regulator 5-18v Tower Card will source power to other tower modules. All circuitry except for motor controller can be optionally powered over USB Connector Battery Input and motor Outputs will be a Tyco (TE Connectivity) TE Connectivity Screw Terminal http://search.digikey.com/us/en/products/1776275-2/A98036-ND/1826899 Motor Driver 2x MC33887APVW : Dual, Independent 5A Motor Driving Circuit Supports forward, reverse and braking. Current Feedback to MCU ADC to allow for closed loop torque control Programming Integrated Kinetis MK20DN512ZVLL10MCU with OSJTAG Can be used stand-alone or be used as a peripheral in the tower system. Additional I/O Extra signals from K40 routed to tower edge card connector. Signals for H-bridge, camera and servo can be routed to Tower Edge connector to be driven by another MCU card. Each can be disconnected via jumper. - We will need to crosscheck the signals to all other CPU modules. Would it be easier to just have a version that doesn't have the K40 populated and OSJTAG populated? Also, we may not need jumpers. Simply configure the Kinets I/O to inputs. Some basic I/O for debugging. 4-poistion DIP Switch + 4 LEDs. Inputs for Tach Signal/Speed Sensor Design Files Rev Alpha Schematics (Sent to MyRO on 4.4.2012) - Includes 3d view Assembly Prints (For Reference) PCB Fabrication Notes Bill of Materials Rev A Errata: Pins 4 & 5 for the camera (Gnd and +3.3v) got swapped on the PCB. You will need to swap the wires in the cable. You can pop the contacts out of the connector housing with tweezers. POT0 has a jumper wire to pin 26 (ADC1_SE18 . This was done to put all signals *except* the NTSC video onto ADC1 to simplify software. Future versions will have this change in the artwork Some components interfere with the tower connector. It can be mated to about 95%. Will work fine. Future versions will fix this issue Rev Beta Schematics, Assembly Prints, BOM, etc. - Includes 3d view Rev B Errata: None known! Google Code repository for the Example Code: https://code.google.com/p/tfc-twr/ This code works with Rev B of the board (and Rev A). All major interfaces & peripherals have been tested. At some point we will make a video going through the code. By default the Linescan camera code is enabled. The code in Main.c is pretty easy to follow. There is also code for the NTSC camera but must enabled in the TFC_Config.h file via a pre-processor directive. There is also code used for teh OSTAG interface, Labview demo applications and drivers for the USB Pictures Just verified the OSJTAG. Test Project to blink the battery LED's was downloaded into the K20 Videos Testing the Servo circuits….. Testing the pots, servos, H-bridges and K20 USB port Linescan Camera Bringup with Labview NTSC Camera Bringup with Labview 1.) This is a basic demo of an NTSC camera being brought in using the a Combo of the ADC, port interrupts and DMA transfers. 2.) I *ahem* overclock the ADC to 24MHz to get some extra resolution for a 64x64 pixel image (the first 6 columns are junk as they contain color burst data*) 3.) I decimate the images to a few frames per second to send over the WIFI (the booster pack card I made) to a Labview program. The Kinetis can bring the data in a the same frame rate of the camera, I just need to send much slower as there is some overhead in my communications scheme (ASCII text) and the WIFI is driven via a UART. 4.) In reality, I can get a 64 x 480 pixel image in memory as I pull in all the lines. I just decimate the rows to get a 64x64 result on the labview display. 5.) DMA does most of the work freeing up the CPU to do algorithms in the foreground.
View full article
First and foremost, be creative!! Below are just a few inspirational ideas. Option #1 - I cut-down (miter saw) a 4-position TWR-ELEVATOR to make this 2-position design. With the intent of having two boards mounted 1) TWR-PROTO and 2) MCU of choice (K40). If cutting PCB's with power tools is not your thing, you can buy a 2-position Tower Elevator here: http://wavenumber.net/twr-elev-2/ I just marked the holes on the back supportand drilled holes into the TWR-PROTO, a few stand-offs and viola! Option #2 - This option requires the removal of the rear spring. I am not sure how much value that spring honestly provides since most of the track is nice and flat. If you have a newer TWR-ELEVATOR you usually find some way to mount it to the screw holes with some form of L-Bracket. If you have an older TWR-ELEVATOR you can drill a hole in the Secondary Elevator (less PCB traces to worry about) and then mount it to the chassis with a L-Bracket. Option #3 - Check out this gallery of images: https://plus.google.com/u/0/photos/106056936857240793028/albums/5598207628299505201
View full article
Getting Started with the Freescale Cup How to achieve the goal of creating an autonomous vehicle that quickly navigates around a track? Before continuing with this tutorial, students should take the time to choose which Freescale Microcontroller your team is going to use. The Introduction to Freescale Cup Training article has some details about how to choose your microcontroller. Although the concepts and end results are similar no matter which microcontroller you decide to utilize, much of the software implementation details will differ. What is a Microcontroller? For information on what a microcontroller is head to the microcontrollers article. Getting Started - Learn to Program a microcontroller First off, you are going to need to know C programming. For a crash-course head to c-programming-for-embedded-systems. The classic first application to learn how to program a microcontroller is to get through the process of Blinking an LED. This wiki contains a tutorial for each of the Cup microprocessors which simplifies the process of setting up the evaluation board, installing the Integrated Development Environment, and programming the board with a simple set of software which blinks a LED. The Blink a LED tutorial is the first of 4 tutorials designed to familiarize students with the process of designing a cup car. These four tutorials will introduce students to many of the fundamentals of robotics, the software used to control the locomotion and sensors on an autonomous line following vehicle, and provide example code which help simplify the process of creating a competitive entry in the Freescale Cup. Here is an outline of the Basic Microcontroller Programming Tutorial: Read the microcontroller article Choose a microcontroller Set up the development environment Set up the microcontroller evaluation board Program A LED move to the next tutorial…
View full article
There are three types of memory in a typical Micrcontroller  FLASH - where your programs are stored RAM - for manipulating variables during runtime EEPROM - stores long term information
View full article
25 student teams from 21 universities coming from 11 countries will meet on 29-30 April for the Freescale Cup EMEA Challenge. Check out the event information at https://www.facebook.com/events/1425416907713292/
View full article
Getting Started with the NXP CUP These pages help you with the question of how to achieve the goal of creating an autonomous vehicle that quickly navigates around a track (timed race) and solves precision tasks (Figure 8, Speed limit zone, Obstacle avoidance) What is a Microcontroller? For information on what a microcontroller is head to the microcontrollers article. Getting Started - Learn to Program a microcontroller First off, you are going to need to know C programming. For a crash-course head to c-programming-for-embedded-systems. The classic first application to learn how to program a microcontroller is to get through the process of Blinking an LED. This wiki contains a tutorial for each of the Cup microprocessors which simplifies the process of setting up the evaluation board, installing the Integrated Development Environment, and programming the board with a simple set of software which blinks a LED. The Blink a LED tutorial is the first of 4 tutorials designed to familiarize students with the process of designing a cup car. These four tutorials will introduce students to many of the fundamentals of robotics, the software used to control the locomotion and sensors on an autonomous line following vehicle, and provide example code which help simplify the process of creating a competitive entry in the NXP CUP. Here is an outline of the Basic Microcontroller Programming Tutorial: Read the microcontroller article Choose a microcontroller Set up the development environment Set up the microcontroller evaluation board Program A LED move to the next tutorial… Course Material from the NXP CUP professors and supporters: Thanks to our professors and NXP CUP supporters we created an exclusive starter kit. It includes lecture material, information on the car, useful tips on the board etc. Download the file below and dive into a huge support portfolio! ARC Ingenierie Files - The Champions Board! ARC Ingenierie has been very generous in providing us with their PCB layout and Gerber files to produce your own NXP CUP board. They also provided sample code and drivers plus instructions (in French) to get you started. How cool is that?! Many thanks to ARC, this is much appreciated! Download the files below. If you want to build your own board, please contact us. When do so please keep in mind to give credit to ARC university. All boards should have "HE-ARC Ingenierie" inscription.   Further support links: Information on Line Scan Camera Use The Book of Eli - Microcontrollers, robotics and warp drives Microcontrollers MCU 101 - C Programming for Embedded Systems NXP CUP Shield for the FRDM KL25Z
View full article
Photos Videos
View full article
Option #1 Camera Mount Designed by Eli Hughes of WaveNumber LLC. You can order these parts through Shapeway.com which 3D prints on demand. You can choose from all sorts of materials depending on how much you want to spend. Camera Mount Option #2 To attach the camera we found useful to prepare two metal L-shaped pieces made from aluminium. With the help of black plastic distance posts (already available in the kit) and these metal stands, you may freely change the position of the camera over the surface. You may use following files to cut the required shapes (drawing was made using the QCad program): Preview (.pdf) CAD file (.dxf)
View full article
This is the 8th year for the China national finals of Freescale Cup intelligent car racing.  In parallel to this years China regional we are hosting the champion teams from regions around the world in a winner take all racing showdown. Today kicked off day one of the event which is mostly practice.   But first, a little international team building and a tour to Sun Island in Harbin, China. (Photo courtesy of Peter Fang) (Photo courtesy of DamarisOchoa) Followed by some down to business practice where we had our first glimpse of all the teams.   All the worldwide teams look very strong and should be a very competitive match-up. (Photo courtesy of DamarisOchoa) If you are at the Global Freescale Cup 2013  add your pictures in the comments section below!!
View full article
CW_SIMPLE_DEBUG.wmv
View full article
Join the fun and watch the who will be crowned Freescale Cup Champion, LIVE from the Fraunhofer Institute for Integrated Circuits. Check the event info at https://www.facebook.com/events/1425416907713292/ LIVECAST http://p.livecoder.com/Freescale_IIS
View full article
Hardware Servos are specialized dc motors geared to produced high-torques and set at specific angles vs rotating continously. The ability to position the servo at a specific angle over and over makes them ideal for robotics, radio controlled car and other various applications. A typical servo will have range of motion from 180-270 degrees. Most modern servos have a three wire interface, red (V+), black (ground), and white (control). To control a servo you must send it a variable length commands (pulse) in 20ms increments. This type of control is called Pulse Width Modulation. Pulse Width Modulation is a square wave with a set period. By changing the width controlling the proportion of on versus off time, you can obtain a digital ratio from 0-100%. That ratio of on versus off time is called the duty cycle. A microcontroller generates a PWM signal using a timer. The time from the beginning of one sequence to the next is called the period. The main timer registers include: Counter, Modulo, Count Initialization Value, Channel Value, FTM Status & Control, and Channel Status & Control. The Counter will count up from the Count Initialization Value and reset after reaching Modulo. One tradeoff of the design is the Modulo value we set. It represents the count value of a full duty cycle and also the resolution of our servo control. Setting a higher Modulo value allows for more precise variation in the servo, i.e. more accurate steering. The downside is that a higher value requires more time per cycle. It is necessary to configure a timer module for the drive motor separate from the servo because they each require different clock frequencies. Another tradeoff of pulse width modulation is whether it is edge-aligned or center-aligned. Edge-aligned PWM, where the channel is cleared at counter overflow and set at channel match, is simpler to implement in hardware. Center-aligned PWM, where the counter counts up and down, is more difficult to implement but does not give as much noise interference when the channel matches. Servos have 3 wires coming out of them: Ground: Black, Brown Power: Red PWM Signal: White, Yellow, Orange Spec Sheet for Servo used in Freescale Cup Futaba-S-3010 Creating the PWM Signal Much of what is needed to create this signal is discussed in the Motor Control tutorial. Click here to review how to configure a PWM signal on your microcontroller. The same microcontroller configuration utilized to drive a motor can be modified slightly to rotate the arm of a servo. Since the Servo and motor require different clock frequencies, it is necessary to configure a timer module for the servo separate from the motor. Freescale Cup participants will configure the timer modules to output signals that control a steering Servo via varying the Duty Cycle of a PWM signal. Microcontroller Reference Manual: Timer Information You will find high level information about Timer usage in several different areas of a reference manual. See the reference-manual article for more general information. Relevant Chapters: Introduction: Timer modules - lists the memory map and register definitions for the GPIO System Modules: System Integration Modules (SIM) - provides system control and chip configuration registers Chip Configuration: Timers Signal Multiplexing: Port control and interrupts Methods of controlling steering angles Construct a look-up table One way of controlling the steering angles is to construct a look-up table. The input of the look-up table can be the shift distance(in pixels) from the center, and the output could be the steering angles. The look-up table can be put into an excel file. So when you want to use it, just copy and paste the table into your code file. Here is an example of how to construct a look-up table. 1. Set up basic parameters of your car: height of camera(h), angle of camera(theta), velocity of car(v), servo delay(s).. 2. Draw a graph to help you develop a function between your input parameters and your output steering angles 3. Put all paraments into excel. So if you want to change any parameters in the future it will be very convenient. 4. Copy and paste look-up table into code file Note: depending on how you define your parameters, the look-up table may not work as well as you expected. Experiments show that the look-up table works well when the shift distance is small( small turns) and the car tends to go off track when the shift distance is big(sharp turns). Poportional Control (P Control) You can map your servo angle based directly on your line location. Take the derivative of the camera signal and use the derivative peaks as the edges of the line. Take the location of each peak and subtract them from each other to get the line width. Taking the min line peak plus line width will give you the location of the line. Now take that location and map it to your servo. We made Camera.Lock = loc and using this we made Motor.ServoAngle = Camera.Lock»1; This made our line location map directly to our servo and it seemed to work well for us. Additional Theory Training Resources Freescale Motor Control Tutorial Freescale Lecture 1: Introduction and Motor Basics Freescale Lecture 2: Pulse Width Modulaiton Freescale Lecture 3: Control Design Freesacle Lecture 4: Speed and Position Freescale Lecture 5: MPC5607B Overview
View full article