Professional Documents
Culture Documents
Submitted
December 16, 2010
SolarJacketsTelemetry(ECE4007L01)
Executive Summary
The Solar Jackets from the Georgia Institute of Technology is participating in the 2011 World
Solar Challenge and 2012 American Solar Challenge. Throughout the solar car race, two escort vehicles
accompany the one-man solar-powered vehicle to monitor its safety and performance.
The Telemetry System is a subsystem of the overall solar car design, which includes units for the
generation and management of energy from the photovoltaic cells, for vehicle mechanism, and for the
motor control. In order for the proper interface of several electrical and physical connections, the
Telemetry Group has worked closely with other Solar Jackets teams. The total cost of the project
prototype is $437.
The Solar Jackets Telemetry System is an automatic, remote monitoring device that collects and
transmits crucial instrumental data from low-power sensors and controllers inside the solar car to its chase
car through a wireless link. This data includes the battery voltage and current, the motor controller
voltages and currents, the indoor and outdoor ambient temperature, and the vehicle speed and location. A
single-board computer acquires and processes the signals from the sensors and controllers and sends them
to a chase vehicle using the widely used IEEE 802.11 standard.
Our design is able to measure the above mentioned signals, except the currents. The currently
used model has an output voltage that is too small for the ADC to read. A differential amplifier or a
similar model manufactured by the same company are potential solutions. Also, the LCD display for the
driver could not be programmed due to time constraints.
The data provided by the system will allow the support team to develop strategies and monitor
performance of the car in unfamiliar environments. During the test runs, the gathered and stored
information can be further analyzed to independently study and improve the efficiency of the car.
SolarJacketsTelemetry(ECE4007L01)
1.
Introduction
The Solar Jackets Telemetry Group requested $437 in funding for the design of a car telemetry
system for the Georgia Tech Solar Jackets club who is participating in the World Solar Challenge 2011
and the American Solar Challenge 2012. Information about these competitions can be found in Appendix
A.
1.1
Objective
The telemetry systems objective is to gather data from the solar car and transmit it via a wireless
link to a chase car. It is a subsystem of the overall solar car design, which includes units for the generation
and management of energy from the photovoltaic cells, for vehicle mechanism, and for the motor control.
This information will be provided by sensors and the controller unit which will be deciphered and
exported by an onboard single board computer to a remote laptop in the chase car.
1.2
Motivation
The telemetry system helps develop strategies and monitor performance through provision of data
that includes the battery voltage and current, the vehicle power consumption, the power generation from
the solar panels, the temperature of the cells and battery pack, the vehicle speed and location, the faults
and status signal from the controller, and GPS. Telemetry systems have been a key factor in modern
motor races and this telemetry system will provide similar benefits. This system however, will be
customized to meet the specific needs and requirements of the Solar Jackets club and the competitions
they will be taking part in.
1.3
Background
Car Racing
Telemetry systems are an integral part of Formula One racing. Data is constantly gathered and
sent off-board to the racing team via sensor networks so that they can constantly update their strategy for
the current race as well as improve the cars design for future races [1]. Potential risks to the driver are
also identified to be dealt with in a timely manner. For example, the racing team can notify the driver if
SolarJacketsTelemetry(ECE4007L01)
2.1 Overview
The Solar Jackets telemetry system allows a user to view and store real-time data from the solar
powered car. The data will be viewable remotely through a computer program that will be installed on a
laptop computer. The main purpose of this system is to provide the individuals in a chase car with real
time data that will help monitor performance of the solar car.
Features of the telemetry system include:
SolarJacketsTelemetry(ECE4007L01)
3.
Vehicle speed
Wireless link with solar car, making information viewable from a distance
SolarJacketsTelemetry(ECE4007L01)
Table 7. GPS Receiver Specifications (GlobalSat BU-353 Waterproof USB GPS Receiver)
Feature
Specification
Connection type
USB
Data output format
NMEA 0183
Position accuracy
3m
Input voltage
4.5-6.5 Vdc
Input current
50 mA @ 5V
Operating Temperature
-40C to +80C
Update Rate
1 record per second
4.
4.1
Design Approach
The Solar Jackets telemetry system consists of three critical components. The first component is data
collection, which was performed in several different ways. Information about the temperature, and
current was gathered from analog sensors placed throughout the solar car while voltage was measured
SolarJacketsTelemetry(ECE4007L01)
using a voltage divider circuit. The second component of the telemetry system is the onboard computer,
which is a single-board computer (SBC) running Linux. This computer gathers and processes all of the
data from the previous components. The last component of the telemetry system is a wireless link
between the onboard computer and a portable laptop. Figure 1 summarizes the different major electrical
components and interfaces used in our design.
Data Collection
The telemetry system collects data from several different sources. Data such as temperature,
voltage, and current are gathered from sensors placed throughout the solar car. Each of these sensors is
connected to an analog-to-digital (A/D) converter on the SBC. The A/D converter requires an input that
has a voltage range between 0 and 3.3 V. As a result, the output of the sensors is calibrated and
normalized to this voltage range. This process is repeated for each of the sensors using resistors and opamps to scale the output voltage of the sensor to this range before it was handed off to the A/D converter.
SolarJacketsTelemetry(ECE4007L01)
4.2
Design Details
of the RPM-
circuit without a magnet is 2.8V. As the south pole comes in close proximity (ca. 25mm) to the sensor,
SolarJacketsTelemetry(ECE4007L01)
switches to -0.022V. The SBC code counts the number of LOWs within a certain time range to
calculate the RPM. The speed of the car can then be calculated by scaling this RPM measurement by the
wheel circumference.
Physically, the magnet will be placed on one of the front (non-motored-powered) wheels while
the hall-effect sensor will be placed on the solar car shell close to the wheel. Its remaining circuit
elements are located on the jumperboard.
Current Measurements
Four sets of the HASS 200-S are used to measure currents at four different locations in the solar
car. One measures the DC current flowing between the battery pack and the motor controller. Three
additional units are used to measure the three-phase pulsating currents between the motor controller and
motor (Figure 3). The negative terminal of the battery pack is used as the common ground for all
measurements.
0.625
Where
Eq. 1
= 2.487V
SolarJacketsTelemetry(ECE4007L01)
to amplify the signal with a gain of 8.8, such as through a differential amplifier. Another solution is to
replace the HASS-200 with the HASS-50 model, which has a primary current range of 150A, instead of
600A. An incremental change of 10A corresponds to a voltage change of 0.125V.
Voltage Measurements
The voltage is measured using voltage dividers. The figure below shows the voltage divider
circuit used for the DC voltage measurement coming out of the battery pack.
The two 270 k resistors and the diodes are for protection of the SBC from any unwanted current
surges while the LMC6484AIN is used to buffer the signal again. Figure 6 below shows the schematic of
the circuit used to measure the AC voltage coming out of the motor controller.
SolarJacketsTelemetry(ECE4007L01)
10
SolarJacketsTelemetry(ECE4007L01)
11
Temperatture
T MAX129
The
99 temperature sensor outpputs a binary value,
v
which is
i read as an integer
i
by thee
SBC. Thee SBC is prog
grammed to diivide that inteeger by 8, settting the resoluution of the teemperature. Since
S
the outputt is in units off Kelvin, the SBC is programmed to connvert the scalle to the Fahreenheit. The
temperatuure sensor wass configured to
t the SBC thhrough the SP
PI bus, as show
wn in Figure 8.
F
Figure
8. Conn
nection circuiit of MAX1299 (temperatuure sensor with internal AD
DC).
GPS Receeiver
T GlobalSatt Bu-353 GPS
The
S receiver is connected
c
to the
t onboard computer throuugh a USB
connectioon. This GPS receiver
r
allow
ws position innformation to be gathered regarding
r
lonngitude, latitudde,
and altitudde of the solaar car. Once connected,
c
thee receiver prooduces the datta using an inndustry standaard
protocol (NMEA
(
0183). This data iss stored and forwarded
f
on the wireless link
l
through a code writtenn on
the SBC. The GPS receeiver outputs a measuremeent every secoond.
Wireless Module
M
T wireless module
The
m
used on
o the SBC is an Asus Wirreless-G USB
B adapter. Thiis module alloows
the SBC to
t join a wirelless network which
w
can alsso connect to a laptop. The IEEE 802.111g wireless
standard used
u
operates on the 2.4GH
Hz spectrum, and allows data transfer raates up to 56M
Mb/s. This
standard is
i widespread
d, and is built in to almost every
e
laptop in
i the presentt day. By usinng such a widdely
used standdard, it will be very easy too expand the system using standard wirreless routers and antenna
SolarJackketsTelemetrry(ECE4007L0
01)
12
accessories. The specific Asus USB adapter uses drivers that are supported by the manufacturer of the
SBC (Technologic Systems). All of the drivers necessary are loaded through the startup script created for
the SBC. The script also can be used to tell the Asus adapter about which wireless network to join, and if
any passwords are needed. For more detail about the startup script, refer to startup_script.pdf located in
the DesignFiles folder.
By creating this wireless network, common networking socket programming is available for use
on the SBC. Either a connection with the remote laptop could be established, or individual datagrams can
be sent from the SBC to a specified port through the network socket. In addition to being used to
broadcast the gathered data through a socket, the wireless network can be useful for debugging. Telnet
and FTP can be accessed over the wireless network to be used for remote debugging. The maximum
range advertised for this Asus USB adapter is 1085ft in an unobstructed outdoor environment.
SBC Program
There is only one program that is needed for the telemetry system to begin gathering and
broadcasting data. This program was written in the C language, and runs several processes at once in a
constant loop. The program gathers data from each of its sources and eventually builds one long, commadelimited string containing all of the current data. This string is created once every second and
broadcasted to the remote laptop. The string is also saved to a USB flash drive mounted on the SBC
throughout the duration of the program.
Both the ADC and the temperature sensor are connected to the SBC via a serial peripheral (SPI)
bus. Although there are built in SPI functions on the SBC, this bus is created using bit-banging of the
DIOs on the SBC. Many reliability and customization problems were encountered when attempting to
use the built in SPI functions. These problems could likely be resolved in the future, if one wished to free
up more of the DIOs. This bit-banging of the DIO pins creates a clock, serial input, serial output, and a
chip select for each device on the bus. To receive a measurement, a byte is first sent to ADC specifying
SolarJacketsTelemetry(ECE4007L01)
13
the input to read. The ADC then returns the requested measurement as a 12-bit value. This process is
also very similar to the one used for receiving measurements from the temperature sensor.
The GPS receiver used sends out a new string of data every second. Data from the GPS is
received through a virtual serial port connection via the pl2303 USB-serial driver. In addition to the main
loop of the program, another process is created to monitor this virtual serial port for incoming data. The
additional process is necessary because the read command used to receive incoming data from the serial
port blocks the rest of the program running until there is data on the line. This new process continues to
loop waiting on new GPS data, and then returns the data to the main program when received.
In order to measure data from the RPM sensor, one of the DIOs must be constantly monitored
over a five-second period. An additional process is created in the program to continuously monitor this
digital input over the five-second period and count the number of revolutions made. This measurement is
then returned to the main program.
For a more in-depth analysis of the code, refer to the commented code SJ_telem.pdf in the
DesignFiles.
Remote Laptop Program
The remote laptop program is a very simple program that can be used to monitor and save the
data being broadcasted by the SBC. This program has been developed to run on Linux; however, a
similar program could easily be created to run on another platform. The program is essentially a
listening server that waits for incoming data on the specified port. Whenever a new string from the
SBC is received, the data is updated on the console display shown in Figure 9. The string is also saved to
a CSV file on the laptop. This CSV file could then be viewed using programs such as Excel or Matlab for
calculations and/or graphing.
For more details about the remote laptop program, refer to the commented code in listener.pdf
located in the DesignFiles.
SolarJacketsTelemetry(ECE4007L01)
14
Data Storage
Data collected by the telemetry system is stored in two different locations. As the listening
program on the remote laptop receives strings of data from the SBC, they are saved to a file on the laptop.
However in the event that the laptop is not receiving the strings of data being broadcasted, the data will
still be saved. Every string of data that is broadcasted off-board of the SBC is also saved to a USB flash
drive on-board. This allows for redundancy, as well as a full log of measurements from the telemetry
system. At a rate of one 200-byte string per second, data storage should accumulate at around
700kb/hour. This would allow for almost 3000 hours worth of data storage on a single 2GB flash drive.
The code is currently written so that all collected data will be appended to a single CSV file.
However it is recommended that additions to code be made to allow for renaming of data logs to prevent
one large accumulating file. In order to change the save directory of the remote laptop program, the
directory must be changed in the code itself.
6.
6.1
Table 9 summarizes the rpm measurements obtained from the SBC and the corresponding ones from the
tachometer. The percentage error is less than 1%.
SolarJacketsTelemetry(ECE4007L01)
15
Table 9. Comparison Between RPM Measured by SBC/Hall Effect Sensor Circuit and Tachometer
SBC (rpm)
Tachometer (rpm)
Percentage Error (%)
168.1
161.8-170 *
N/A
300
300.8
0.266
504
505.6
0.316
6.2
current from the 12V car battery through different parallel combinations of the 1, 2 and 3 resistors.
Since the power ratings of the resistors is 200W, the test runs established a maximum current of 18A
through a parallel combination of 1 and 2 resistors. The figure below shows the setup used to create
different DC currents.
SolarJacketsTelemetry(ECE4007L01)
16
Table 9. Comparison
C
beetween the Thheoretical andd Measured Output
O
of the Current
C
Sensoor
6.3
T
Testing
of Volltage Measurrements
Figure 11 belo
ow shows the physical connnections that were made onn the motor controller
c
to teest
Figure 11. Physicall connections made for the AC and DC voltage meassurements at
, we connecteed our voltagee divider circuuit on
T test the accuracy of the DC
To
D voltage measurements
m
the DC sidde of the mottor controller. The table beelow shows thhe results we obtained.
o
SolarJackketsTelemetrry(ECE4007L0
01)
17
Table 10. Measurement Results read by SBC from the DC Voltage Circuit
To test the accuracy of the AC voltage measurements, we connected our voltage divider circuit
with the AC side of the motor controller. The oscilloscope showed a max voltage of 94 V while the SBC
gave an output of 96 V. The difference is not necessarily the error as the oscilloscope itself may have
some error in its reading. However, a difference of only 2V was observed between the reading from the
oscilloscope and the output from the SBC. The figure below shows the output waveform obtained of the
AC voltage coming in from the motor controller.
6.4
As can be seen from the figure, the approximate room temperature was 70F.
SolarJacketsTelemetry(ECE4007L01)
18
7.
Cost Analysis
The table below lists the quantity and prices of the product used in our design.
Table 11. Prices of Component
Description
TS-7250 SBC
USB 802.11g wireless network interface for TS-7250
GlobalSat BU-353 Waterproof USB GPS Receiver
Hall-effect, unipolar switch (A1120) switch
Magnet Alnico 5 (AlNiCo)
Current Sensor (HASS 200)
12-bit, 16 input channel ADC (MAX11633) **
QSOP-24 to DIP-24 Adapter
Temperature Sensor with ADC and SPI **
SSOP-16 to DIP-16
Quad rail to rail op amp (LMC6484)
Voltage regulator, 5V, 3A (LD1085V50)
Voltage regulator , 3.3V, 1A, input
Total Cost
** free samples available from MAXIM
SolarJacketsTelemetry(ECE4007L01)
19
Quantity
1
1
1
1
2
4
1
2
1
2
3
1
1
Cost
$185.00
$35.00
$36.95
$1.37
$1.17
$26.00
$8.13
$12.00
$7.20
$10.00
$3.61
$1.63
$1.13
Constraints
The telemetry system has some constraints. The solar car that the telemetry system will be a part
of will go to Australia and will need to be able to function in temperatures in excess of 50 C. This means
that every component in the telemetry system must individually be able to withstand that kind of
temperature. Special attention was paid to make sure that all the components used can handle
temperatures in excess of 50 C. Another important constraint is that the telemetry system in the solar car,
because the solar car is operated using solar energy, should use as little power as possible. Special
attention was paid to minimize power consumption while using parts such as the Wi-Fi wireless link as
well as the TS-7250 single board computer. The Solar Jackets also require that the RF link be able to
transmit over a range of 50-100ft. Additionally, due to a project budget, all the components were
purchased in no more than $680.
Codes and Standards
IEEE 802.11: it includes several standards for wireless local area network communication. It will
be used to deliver data to the off-board computer in the chase vehicle.
C programming: it is used to program the ADC to read in data from several components and then
transmit that data wirelessly to an off-board computer . The C language is a common language for
embedded systems devices and will also be used to program the single-board computer.
Synchronous Serial Port (SSP): it is a master/slave interface for synchronous serial data links.
Operating in master mode, the SBC sets the data frame, bit rate, and chip select lines to initiate
the communication with the ADC, temperature circuit and LCD.
Motorola Serial Peripheral Interface (SPI) bus: is one of the protocols for the master/slave mode
of the SSP. The peripheral slave devices, which include the ADC, temperature sensor and LCD,
have this serial interface so that the SBC can controls the read and write status.
SolarJacketsTelemetry(ECE4007L01)
20
NMEA 0183: the GPS receiver delivers data to the single-board computer using this industry
format standard. The format delivers strings of ASCII text corresponding to the measured
location values.
Tradeoffs
While TS-7250 is used for this project, a potential alternative is the TS-7260. The TS-7260
computer offers an option of lower power consumption and more digital in/out pins. However, the TS7250 was chosen as students from previous semesters had worked successfully with this computer. Also,
the TS-7250 was $30 cheaper than the TS-7260.
The Zigbee module for wireless transfer was the initial choice for this project due to its ease of
implementation and low power consumption. However, the driver needed for the Zigbee module was not
compatible with the Linux Kernel 2.4 on the SBC. The Asus Wireless-G USB was chosen for its excellent
compatibility with the TS-7250.
8.
SUMMARY
Currently, the Solar Jackets Telemetry System has the following data captured and sent to a remote laptop
and also stored on a USB memory stick at the on-board SBC
o
Vehicle speed
Several steps are still required to integrate our design into a solar car.
8.1
Current Sensor
A solution for the ADC to recognize the change in output of the current sensor is to amplify the signal
with a gain of 8.8, such as through a differential amplifier shown in Figure 15. Another solution would be
SolarJacketsTelemetry(ECE4007L01)
21
replacing the HASS-200 with the HASS-50 model, which has a primary current range of 150A, instead
of 600A.
LCD
Also, an LCD display for the driver will be a key feature of the telemetry system. Important
information can be organized in a small LCD screen for the driver. Another important component
required before being able to integrate the Telemetry system in the solar car is a printed circuit board. All
the schematics shown above were currently hooked up on a breadboard. This was because we realized
that students taking up this project next semester might want to make some changes. Finally, another
improvement is to further limit the power consumption of the overall circuit through the use of higher
resistor values with the same overall ratio.
8.2
The GUI can easily be improved and potentially allow the setting of value specific thresholds that would
notify the user if certain ranges were exceeded. This could be beneficial for ensuring that current draw is
not above recommended levels, as well as maintaining temperature levels that are safe for the driver of
the solar car. The broadcast/listener program is currently only set up to work with one remote laptop,
SolarJacketsTelemetry(ECE4007L01)
22
however the code can easily be expanded to send the same data to multiple addresses. This would allow
several users to view the data at the same time in the chase vehicle.
SolarJacketsTelemetry(ECE4007L01)
23
References
[1]
Waldo, J.; , "Embedded computing and Formula One racing," Pervasive Computing, IEEE ,
vol.4, no.3, pp. 18- 21, July-Sept. 2005 doi: 10.1109/MPRV.2005.56
Available: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1495385&isnumber=32128
[aa]
T. Toler, (2010, August 30). The User Experience of F1 Telemetry. Solid State UX [Online].
Available: http://www.solidstateux.com/interaction-design/the-user-experience-of-f1-telemetry/
[bb]
[cc]
[dd]
[ee]
[ff]
[gg]
[hh]
SolarJacketsTelemetry(ECE4007L01)
24
APPENDIX A
WORLD SOLAR CHALLENGE 2011 AND THE AMERICAN SOLAR CHALLENGE 2012
SolarJacketsTelemetry(ECE4007L01)
25
SolarJacketsTelemetry(ECE4007L01)
26
APPENDIX B
GANT CHART FOR TELEMETRY SYSTEM DESIGN
SolarJacketsTelemetry(ECE4007L01)
27
SolarJacketsTelemetry(ECE4007L01)
28
Duration Start
(days)
Date
4
9/20/10
20
9/21/10
20
9/21/10
0
9/27/10
31
10/4/10
14
10/4/10
9
10/4/10
7
10/13/10
7
10/21/10
7
10/29/10
27
11/6/10
14
11/6/10
14
11/20/10
10
11/23/10
5
10/1/10
5
10/24/10
19
11/27/10
0
12/3/10
0
12/10/10
0
12/16/10
0
12/16/10
End
Date
9/24/10
9/27/10
10/11/10
9/27/10
11/5/10
10/18/10
10/13/10
10/20/10
10/28/10
11/5/10
12/3/10
11/20/10
12/4/10
12/3/10
10/6/10
10/29/10
12/16/10
12/3/10
12/10/10
12/16/10
12/16/10
APPENDIX B
CIRCUIT SCHEMATICS AND SBC CODE REFER TO FOLDER ON WEBSITE DesignFiles
SolarJacketsTelemetry(ECE4007L01)
29