Network RC Car Seth Schwiethale James Crosetto James Ellison
Feb 22, 2016
Network RC CarSeth Schwiethale
James CrosettoJames Ellison
square pulse of 1.0-2.0 ms, repeats every 20 ms
It is the same for both steering and acceleration
width of the pulse determines the direction/speed w/ 1.5 ms as the nominal center
the amplitude of the pulse is from the reference level of the Vcc (5v)
Car’s Input
1 “alarm” output
max activation is 100 times/sec (increments of 10 ms)
Camera’s Output
Camera’s output can’t produce a 20ms PWM signal that is high between 1-2ms
Car cannot be driven by Camera directly
need something that modifies the output signal of the camera so it can be used by the car
The Problem
Using a microprocessor (MC9S12DP256) has a clock signal rate of 24MHz has registers for a Pulse Width Modulator
and an Enhanced Capture Timer
Signal from the camera can be varied between 10-110ms for speed and 120-220ms for steering
The Solution
Pulse Width Modulation
car’s input
camera’s output
microprocessor
used to create correct output signal
uses CPU clock signal to generate signal lengths
current signal is 24MHz and we need a 50Hz (20ms) signal (Factor of 480000!)
Pulse Width Modulator
Initializing the Pulse Width Modulator
Determining the Output Signal
The pulse width modulator uses registers to decrease the frequency of the clock signal before it is used as an output signal
Two output signals can be generated from the clock signal
Modifying the Clock Frequency
Allows for finer control of signal
The periods of both SA and SB need to be 20ms
Setting the Period
The duty cycle (the part of the PWM signal that is high) needs to be 1-2ms in length
Initialized to 1.5 ms
Setting the Duty Cycle
Notice the difference!
Pulse Width Modulation Code
Used to trigger interrupts Set up to trigger an interrupt every time a
signal goes high or low on an input port (TCTL4 and TIE)
Enhance Capture Timer
Timer Register (TCNT) is incremented every clock cycle (24MHz clock = 24 million times per second)
Clock slowed to 187.5 KHz TCNT is 16-bit register (0-65535) Overflows about every 1/3 second
(65535/187500) Never overflows more than once per input
signal from camera
Counting
Interrupt
Conclusion