Technical Paper Draft - EDGE - Rochester Institute of Technology

advertisement
Multi-Disciplinary Senior Design Conference
Kate Gleason College of Engineering
Rochester Institute of Technology
Rochester, New York 14623
Project Number: P09141
THERMAL HEATER CONTROLLER
Anthony Berwin/Mechanical Engineer
John
Scipione/Electrical
Engineer
Scott Rioux/Industrial Engineer
Greg Pawlowski/Electrical
Engineer
ABSTRACT
The satellite thermal heater controller is a single
master multiple slave system that is arrayed in a
distributed fashion with centralized control. The
design is used in satellite applications to control the
temperature of critical optical subsystems. Currently
dedicated data and power lines are run between the
master controller and the many slave controllers. The
purpose of this project is to eliminate the data lines by
instead communicating directly over the power bus.
The fundamental challenge with this design is
producing effective and reliable communication over
the power bus. However, the benefits include higher
performance,
decreased
power
consumption,
decreased overall weight, and improved thermal
performance when compared to the current system.
This design reduces the power consumption and
weight used adding considerable value and extending
the products life cycle.
The controllers are
implemented using multiple DSPs connected via
power lines. A GUI is developed to allow the end user
to monitor telemetry and also update the settings on
the DSP units.
NOMENCLATURE
GUI: Graphical User Interface, used to link the human
element to the machine element to allow control.
ASCII: Communication method that is used to send
data from the GUI to the DSP’s and back.
SCI: The communication protocol that is used to
communicate from the GUI to the DSP and back.
Sarmad
Abedin/Electrical
Engineer
FSK: Frequency shift keying, type of communications
being used.
PWM: Pulse width modulation, used to modulate the
FSK signal.
ADC: Analog to digital converter, used to demodulate
the FSK signal.
DSP: Digital Signal Processor. A microcontroller.
Goertzel: An algorithm used to emulate the Fast
Fourier Transform using a microcontroller. Useful for
frequency detection.
INTRODUCTION (OR BACKGROUND)
Satellite systems take decades to create and
implement. Following this long development process
there is only one shot at getting the system to work in
space. Sending a satellite into space is the last time
anyone will touch it which means that all the
components have to be tested and work perfectly
before they are sent on the satellites first and final
mission. The cost associated with sending a satellite
into space is immense and is directly proportional to
the weight of the system. Therefore, any weight
reduction is greatly desired. Another key problem with
space devices is power. Satellites get all of their power
from battery arrays which are charged via solar panels.
Since solar energy is not the most direct and efficient
way of creating power, power is a luxury on board a
satellite. Therefore the heater controller system has to
be as efficient as possible and must deal with the
fluctuating power supply with spikes and irregularities
on the power bus.
Copyright © 2009 Rochester Institute of Technology
Once the two fundamental problems of power and
weight of a system were considered, the design
concepts for the heater controller were developed. A
traditional design approach is to run dedicated lines
from the master controller to each slave controller. To
minimize weight and power, the communications
between the master and slave controllers is done over
the main power bus. Separate communication wires
are not be needed. This presented the main and most
difficult design challenge of the project. One controller
must produce an AC signal and pass it over the power
line. The receiving controller must decode and
interpret what the other controller is sending. The
DSP’s themselves are going to have to be controlled
from an end user, which means the development of
some sort of GUI. This function needs to be able to
control all aspects of the DSP’s and be able to
monitor them.
PROCESS (OR METHODOLOGY)
The first phase of the design process involved doing
concept development. By engaging with the customer
a set of requirements and relevant data was collected
and then translated into the customer needs and
specifications. Gathering needs data from the customer
was an ongoing process, but, most of the needs were
established soon after the start of the project.
Customer needs were organized into three priorities,
must haves, should haves, and niceties. The list was
refined and reorganized until an essential list was
produced. A full treatment of the process of gathering
and refining the customer needs can be found in the
references. (1)
Once the customer's needs were laid down, concrete
measurements were gathered into specifications. As
with the needs requirements, the specifications were
updated over time but the most important
specifications were established early on. Eventually a
final list of specifications was nailed down. A full
treatment of the process of gathering and refining the
specifications can be found in the references. (2)
A high level system overview was developed using the
customer needs and specifications. This was distilled
into a block diagram of the project. Once the high
level overview of the design was complete, each of the
individual blocks were split up so that they could be
developed separately. A communication protocol was
established. A modulation and demodulation
technique was developed. Interface electronics to
condition the AC and DC portions of the signal were
designed.
An enclosure was specified. A GUI
interface was designed.
Once the major subsystems of the project were
established, the designs were evaluated by the
customer and by faculty in order to ensure that the
designs was feasible. Each of the major subsystem
went through several iterations of evaluation and
redesign before a final design was selected.
Once the major subsystems were established, the
culmination of each of the subsystems was combined
into a detailed design package. This final package was
again reviewed and refined until the entire design was
declared finished.
With the final design established a large amount of
programming had to be done to realize the design.
Many of the subsystems involved programming the
DSP to emit and detect the needed signals. For
instance, the PWM on the DSP had to be programmed
to produce a sine wave at the appropriate frequencies.
The DSP, using the ADC, also had to be programmed
to detect those same frequencies implementing the
Goertzel algorithm. The GUI also had to be
programmed to emit the correct protocol. A separate
protocol had to be programmed in order to enable the
DSPs to communicate. At first, each piece was
programmed and tested separately. Once the various
pieces of the design were completed they had to be
integrated together and tested to make sure that they
worked together. This involves sending a signal from
the GUI and have it go through the master DSP to the
slave DSP and back again.
The final product was built and tested. The final build
was then compared against the needs and
specifications to see how it matched up.
RESULTS AND DISCUSSION
The Texas Instruments TMS320F2808 DSP is used to
communicate between the master and slave DSPs over
the 22 AWG wire. Because only one communication
wire is available FSK signal generation is necessary to
communicate between the two DSPs. The transmitted
FSK signal is generated using the pulse width
modulator (PWM) of the TMS320F2808 of the
EZDSP. The transmitted signal will pass through a
passive low-pass filter to smooth the signal and
generates a sine wave.
The PWM signal outputs on a TMS320F2808 device
are variable duty cycle square waves with 3.3 volt
amplitude. These signals can each be decomposed into
a DC component plus a new square wave of identical
duty-cycle but with a time-average amplitude zero.
The idea behind realizing digital-to-analog (DA)
output from a PWM signal is to apply an analog lowpass filter the PWM output to remove most of the high
frequency components leaving only the DC
component. The bandwidth of the low-pass filter will
essentially determine the bandwidth of the digital-toanalog converter.
Two main sources of error negatively affect the DA
output. Firstly, the PWM duty cycle can only be
specified with a finite resolution. The resolution is
directly related to the PWM carrier frequency used.
For example, suppose 100 kHz PWM is desired with
the PWM module driven by a 100 MHz
SYSCLKOUT. The time-base of the PWM will
provide 1000 clock counts per cycle of PWM at which
to specify the timer compare value. This directly
affects the duty cycle. If the standard PWM is used,
the resulting resolution is just less than 10-bits. The
desired DC output is specified in steps of 3.3 mV
(3.3V/1000). However, using the enhanced PWM
module (ePWM) provides approximately 6 additional
bits of resolution beyond the standard time-base
resolution. This equates to just under 16 bits of
resolution.
The second source of error is the peak-to-peak ripple
produced by unfiltered harmonics. The two error
sources sum together to yield the total uncertainty:
total uncertainty = harmonic ripple + duty cycle
resolution
The duty cycle resolution can be improved by
decreasing the carrier frequency of the PWM.
Reducing the carrier frequency from 100 kHz to 50
kHz will cut the step size in half to 1.65 mV (~11 bits
resolution for the standard resolution PWM or ~17 bits
resolution for the high resolution PWM). The lower
carrier frequency also decreases the base frequency of
the unwanted harmonics. The first harmonic will now
appear at 50 kHz rather than 100 kHz, and more of it
will pass through the analog low-pass filter increasing
the harmonic ripple.
For a given analog low-pass filter a trade-off exists
between the harmonic ripple and PWM duty cycle
resolution when selecting the PWM carrier frequency.
The optimal carrier frequency is the one where the
total uncertainty is smallest.
The performance of the filtered PWM as a digital-toanalog converter depends heavily on the choice of the
analog low-pass filter chosen. Active filters (built
using op-amps) are often used rather than passive
filters (built solely using resistors, inductors, and
capacitors). Although active filters avoid the
impedance loading issues suffered by passive filters,
passive filters can offer lower cost and reduce
complexity. The gain bandwidth of the op-amps must
be considered when using active filters. The gain
bandwidth represents the upper frequency that the opamp can effectively handle when used in a closed-loop
circuit configuration with small signal input. However,
passive filters do not suffer as much from a gain
bandwidth problem, although they do have their own
high-frequency design issues (especially in designs
that utilize inductors).
The two most important filter properties when
selecting a low-pass filter are the bandwidth and the
stop-band roll off rate. The filter bandwidth is the
frequency at which the filter's frequency response
magnitude equals 0.707 (-3 dB). The filter bandwidth
directly relates to the maximum signal frequency that
the PWM/DAC will handle effectively and the stopband roll-off rate is the slope of the frequency
response magnitude at high frequency. Combined with
the bandwidth, the roll-off rate determines the amount
of harmonic ripple that will be seen in the output of
the filter. In general, low-pass analog filters roll-off at
a rate of -20 dB/decade per filter order (-20 dB/decade
for a 1st order filter, -40 dB/decade for a 2nd order
filter, etc.).
For this design, a 2nd-order low-pass passive filter
was chosen. The 2nd-order low-pass filter offers 40
dB/decade of stop-band roll-off -- a two-fold
improvement over the 1st order filter. The step
response of the filter is an important measure of
performance for the practical situation of changing the
DAC output from one voltage level to another. It is
important to get as low a damping ratio as possible in
order to have fast rise times. However, low damping
ratios produce large step response overshoots and long
settling times. The smallest damping ratio with no
overshoot in the step response is ζ=1 (critically
damped). It is also desirable to avoid having a resonant
peak in the frequency response magnitude of the filter.
The smallest damping ratio with no resonant peak is
ζ=0.707 (-3dB). The choice of damping ratio will
depend on the particular requirements of your system.
A reasonable trade-off is often to choose the filter
damping ratio between 0.707 and 1.0.
A passive 2nd order passive RC filter is constructed by
cascading two 1st order RC filters in series.
The following component values were chosen:
R1 = R2 = 1k
C1 = C2 = 0.01uF
This resulted in a cutoff frequency of
ωn = 100kHz
and a dampening ratio of
ζ = 1.5
A cutoff frequency ~100kHz is desirable for this
particular application as it will cutoff most of the
higher harmonic frequencies . The frequencies desired
for this design are between 50Khz and 100Khz.
Higher order filters offer progressively better stopband roll-off rates, and hence remove more of the
unwanted ripple. However, design complexities
associated with thermal drift and component value
variation increase with filter order. Cost and board
space also increases. At some point an actual DAC
chip becomes a better solution than emulating one
with a PWM/DAC.
Using the above designed filter, the next step is to
produce the desired PWM function from the DSP.
The PWM frequency is derived from SYSCLKOUT =
100 MHz. The eZdsp 2808 is clocked from a 20 MHz
oscillator. The CPU clock is initialized with
SysCtrlRegs.PLLCR = 10. So that the CPU clock is
running at CLKIN= 100 MHz. This clock feeds other
module as SYSCLKOUT.
In order to generate the desired frequencies the
SYSCLKOUT is divided down to a more reasonable
frequency used by the HRPWM. The SYSCLKOUT is
divided by 400 to give a PWM clock of 250Khz. The
PWM clock is then divided down a second time to
yield the desired frequency for a binary 0 or 1. For
example
250kHz/4.1667 = 60kHz which represents a binary 0.
250kHz/2.7778 = 90kHz which represents a binary 1.
This PWM clock is fed into a table of sine values to
vary the duty cycle of the output of the PWM. After
the PWM signal is fed through the DAC a sine wave
of the appropriate frequency results. In this way the
PWM/DAC produces the correct frequency for a 0 or a
1. A division factor of 1 can be used to produce no
output since 250Khz is above the cutoff frequency and
thus will be filtered out by the low pass filter.
The ADC is used extensively in this application. The
ADC is used to receive the communications signal
and, to monitor the functionality of the Hybrid Heater
Controller (HHC). Each HHC is made up of 2
controllers and the DC power input circuitry. Each of
the controllers have 3 points that the ADC has to
monitor for a total of 6 monitoring points, the power
input circuitry is monitored at 2 separate points. The
two thermistors on the controller have to be monitored
to calculate the temperature near the optics. The
voltage after the comparator is monitored to make sure
it is turning on and off at the correct times and the
heater power return is also monitored to make sure the
heater is turning on at the specified time, and to make
sure it is functioning. There are two separate points on
the DC power input circuitry that are being monitored,
these are the power input, to make sure the circuit is
receiving the DC input from the power bus and the
input voltage to the controller circuitry to make sure
the controller is receiving the correct DC voltage from
the input circuitry. The monitoring of the HHC
requires 8 separate ADC channels.
After the
monitoring another channel is required to receive the
communications signal from the DC power bus. The
total number of ADC channels required for this
application is 9, but a tenth channel has been set up for
use in future applications.
The ADC's main function is to sample the received
communications signal and demodulate it into its
binary equivalent message. Binary FSK modulation
techniques were used for the communications between
the master and slave. The two frequencies used to
represent a zero and a one are 62.5 kHz and 83.33
kHz. These frequencies were chosen because there is
“chopping” noise on the DC power bus between 20
and 50 kHz so frequencies above this range were
chosen for faster transmitting times out of the range of
the noise. These frequencies were also chosen based
on the calculations used for the Goertzel filter. A
sampling rate of 208.33 kHz was used because it at
least meets the Nyquist criteria and gives the
microcontroller enough time in the ADC interrupt to
do the Goertzel calculations.
The ADC was
configured for this frequency based on the divisions of
the high speed peripheral clock which is 100 MHz.
This sampling frequency was calculated by dividing
the high speed peripheral clock by a factor of 2 times
twelve which is set in an ADC register, then the
sample and hold time was set to 2 clock cycles which
divided the frequency down by a factor of 2 and
finally divided down by another factor of 10, which is
from the number of ADC channels being sampled.
This is how and why the communications and
sampling frequencies were selected.
The most important part of the project is the Goertzel
algorithm.
This algorithm is how the DSP's
demodulate the transmitted BFSK signal.
The
Goertzel algorithm is like a fast Fourier transform in
that it determines the energy of a signal, but unlike the
fast Fourier transform it only determines this for select
target frequencies instead of a range of frequencies.
By looking at the target frequencies (ft), sampling
frequency (fs) and number of samples (N) a coefficient
is determined.
Coefficient = 2*cos(2п*k)
where,
k = integer (N*ft/fs)
After the coefficients for each target frequency are
determined each sample goes through a intermediary
calculation that saves the current calculation and the
previous calculation. After N times there is a final
calculation using the previous calculations and the
coefficients to determine the magnitude squared
(energy) of the signal. By setting a threshold the
frequency is determined if the magnitude squared is
greater than the threshold.
This is how the
demodulation of the signal functions. Synchronization
of the signal was accomplished by setting another
threshold and taking the difference of the current and
previous ADC input. This threshold is set above the
noise threshold so, if a signal is present the difference
is greater than the noise threshold and the Goerztel
algorithm starts to demodulate the message.
In order to properly communicate between the user
interface (LabView) and ‘master’ DSP, an SCI
protocol was adopted. An SCI protocol allows the
streaming of 8 bits in every transmission and
communicates in ASCII format. In order to meet the
objectives of the project, a proper protocol would
allow the user to interact with a slave of its choice and
read/set the temperature of the Hybrid Heater
Controller (HHC). Keeping this in mind, three
transmissions of 8 bits each were developed consisting
of slave ID bits, control bits, and Temperature bits.
In the master DSP, an interrupt routine was developed
to adequately read in the data. A circular buffer was
used with an input and output pointer in order to
ensure that data would not be lost. A structure was
setup for one complete message, consisting of
SlaveID, ControlBits, and TempBits, that would read
and clear the circular buffer in order to allow for it to
read more data.
In order to effectively relay the message to the ‘slave’
DSP over the power bus, the LabView message had to
be properly modified. The 24 bit LabView message
was enhanced with two start bits, a transmit/receive
bit, 5 telemetry bits, an error bit,6 checksum bits, and a
stop bit. The final message that would be sent to the
slaves would now be 40 bits. The start bit would
trigger to the ‘slave’ that a message was being relayed
and the end bit would separate the different messages.
The CheckSum bits are essential to make sure no error
has occurred in the transmission over the power line.
This would count the number of ‘1’s in the message
and output that number in binary format. This value in
binary format would be added to the protocol and
checked by the ‘slave’ that the number of ‘1’s read by
the slave is the same as the number of ‘1’s sent out by
the master. The telemetry bits would allow the slave
to report back to the master the on/off state of 5 key
elements. This is mostly used to pinpoint any faults
that might occur in the HHC. If there occured an error
in the transmission of the message, the error bit was
added in order to request the master to ‘resend’ the
message.
Bits
Description
B0-B1
Start indicator
B2
B3-B10
Tx/Rx bit
Slave ID number
B11
B12
B13
B14
B15
Error bit
Zone/type of error
Read/Set
Temp/Heater State
Read what?
B16
Vdd state (telemetry(tlm) pin)
B17
B18
B19
B20
Bus voltage(tlm pin)
Heater state (tlm pin)
Thermistor (tlm pin)
Transistor gate (tlm pin)
B21-B32 Temp Value
B33-B38 Checksum
B39
Stop bit
The final 40 bit message was relayed to the PWM and
sent out bit by bit over the UART protocol.
CONCLUSIONS AND RECOMMENDATIONS
This section should include a critical evaluation of
project successes and failures, and what you would do
differently if you could repeat the project. It’s also
important to provide recommendations for future
work.
REFERENCES
Using PWM Output as a Digital-to-Analog Converter
on a TMS320F280x
http://focus.ti.com.cn/cn/apps/docs/techdocsabstract.ts
p?appId=270&abstractName=spraa88a
Spread-Frequency Shift Keying Power Line Modem
Software Architecture –
http://focus.ti.com/apps/docs/techdocsabstract.tsp?app
Id=198&abstractName=spraa94
Within the text, references should be cited in
numerical order by order of appearance. The
numbered reference should be enclosed in brackets.
For example: “It was shown by Prusa [1] that the
width of the plume decreases under these conditions.”
In the case of two citations, the numbers should be
separated by a comma [1,2]. In the case of more than
two references, the numbers should be separated by a
dash [5-7].
References to original sources should be listed
together at the end of the paper, and should include
papers, technical reports, books, prior team projects,
personal discussions, websites (not Wikipedia), and
software. References should be arranged in numerical
order according to the sequence of citations within the
text. Each reference should include the last name of
each author followed by his initials.
Rearward-Facing Step," Technical Report No. HTL26, CFD-4, Iowa State Univ., Ames, IA.
ACKNOWLEDGMENTS
(1) References to journal articles and papers in serial
publications should include: last name of each author
followed by their initials, year, full title of the article
in quotes, full name of the publication (abbreviated),
volume number (if any) in bold (do not include the
abbreviation, "Vol."), issue number (if any) in
parentheses (do not include the abbreviation, "No."),
inclusive page numbers using “pp.".
(2) Reference to textbooks and monographs should
include: last name of each author followed by their
initials, year of publication, full title of the publication
in italics, publisher, city of publication, inclusive page
numbers using "pp.", chapter number (if any) at the
end of the citation following the abbreviation, "Chap."
(3) Reference to individual conference papers, papers
in compiled conference proceedings, or any other
collection of works by numerous authors should
include: last name of each author followed by their
initials, year of publication, full title of the cited paper
in quotes, individual paper number (if any), full title of
the publication in italics initials followed by last name
of editors (if any) followed by the abbreviation, "eds.",
city of publication, volume number (if any) in
boldface – include, "Vol." if part of larger identifier
(e.g., "PVP-Vol. 254") – inclusive page numbers of
using "pp.".
(4) Reference to theses and technical reports should
include: last name of each author followed by their
initials, year of publication, full title in quotes, report
number (if any), publisher or institution name, city.
Example References:
[1] Ning, X., and Lovell, M. R., 2002, "On the Sliding
Friction Characteristics of Unidirectional Continuous
FRP Composites," ASME J. Tribol., 124(1), pp. 5-13.
[2] Barnes, M., 2001, "Stresses in Solenoids," J. Appl.
Phys., 48(5), pp. 2000–2008.
[3] Jones, J., 2000, Contact Mechanics, Cambridge
University Press, Cambridge, UK, Chap. 6.
[4] Lee, Y., Korpela, S. A., and Horne, R. N., 1982,
"Structure of Multi-Cellular Natural Convection in a
Tall Vertical Annulus," Proc. 7th International Heat
Transfer Conference, U. Grigul et al., eds.,
Hemisphere, Washington, DC, 2, pp. 221–226.
[5] Hashish, M., 2000, "600 MPa Waterjet Technology
Development," High Pressure Technology, PVP-Vol.
406, pp. 135-140.
[5] Watson, D. W., 1997, "Thermodynamic Analysis,"
ASME Paper No. 97-GT-288.
[6] Tung, C. Y., 1982, "Evaporative Heat Transfer in
the Contact Line of a Mixture," Ph.D. thesis,
Rensselaer Polytechnic Institute, Troy, NY.
[7] Kwon, O. K., and Pletcher, R. H., 1981,
"Prediction of the Incompressible Flow Over A
Be sure to acknowledge your sponsor and customer as
well as other individuals who have significantly
helped your team throughout the project.
Acknowledgments may be made to individuals or
institution
Download