Vanderbilt University
Department of Biomedical Engineering
Propulsiometer Instrumented
Wheelchair Wheel
April 25th, 2006
Group Member:Seri Mastura Mustaza (BME)Siti Nor Wahida Fauzi (BME)Ahmad Shahir Ismail (EECE)
Hafizul Anwar Raduan (CompE)
Abstract
Wheelchair provides mobility for 1.4 millions people with physical impairments
with physical impairments and about 75% of them uses manual wheelchair. But there is a
high incidence of secondary musculoskeletal and neurologic upper extremity injuries
occurs among users after prolonged use of the wheelchair. Propulsion biomechanical
studies have been used to assess what attributes of propulsion might be contributing to
the development of injuries. . The main goal of our project is to continue the electronic
and instrumentation development of an innovative propulsiometer design that promises to
provide this technology at an affordable cost. The development of this project can be
breakdown into several stages. The early stage involves creating the timeline of this
project and designing the concept and ideas of an ideal propulsiometer system. In
completing this project, we decided to build our own circuit to reduce the cost, size and to
avoid having the unnecessary function in the final product. Our main project can be
divided into four parts. The first part is to collect data of forces during propulsion from
the load cell, the second part is to collect data of the degrees of rotation from the
quadrature optical encoder, the third part is to plot all the data in the computer with the
appropriate interface, which is in our case, we use the EXCEL. The last part is to transfer
the data wirelessly to the computer. Based on the outlined specifications set forth in the
project description, the design met about 85% of the requirements. We successfully
interface the plots of output data from both load cell and optical encoder to computer
using EXCEL. The wireless connectivity was not implemented, nor was the software
fully developed.
Introduction
Wheelchair provides mobility for 1.4 millions people with physical impairments
with physical impairments and about 75% of them uses manual wheelchair. But there is a
high incidence of secondary musculoskeletal and neurologic upper extremity injuries
occurs among users after prolonged use of the wheelchair. Number of manual wheelchair
users experiencing pain tend to increase with time spent using a wheelchair. The shoulder
is the most commonly reported site of musculoskeletal injury among manual wheelchair
users. Survey shows the prevalence of shoulder pain ranges between 31% and 73%
depending upon the subject group. Other than shoulder pain, the prevalence of elbow,
wrist and hand pain has been reported to be up to 16%, 13% and 11% respectively. The
incidence of carpal tunnel syndrome and rotator cuff tendonitis is greater than 50% for
people who regularly use manual wheelchairs as compare to 3% of general population.
All of these injuries are due to the large force that the users have to exert in order to
propel the wheelchair.
Propulsion biomechanical studies have been used to assess what attributes of
propulsion might be contributing to the development of injuries and what strategies
wheelchair users can adopt to reduce the likelihood of developing injuries. The main goal
of our project is to continue the electronic and instrumentation development of an
Figure 1: a)The propulsiometer instrumented wheelchair wheel
Figure 1: b) the component of propulsiometer on the tubular hoop
innovative propulsiometer design that
promises to provide this technology at an
affordable cost. Propulsiometer (Figure 1a) is
an instrument used to access the characteristic
of forces applied to the hand rim during
propulsion. It consists of a data acquisition
(DAQ) system, load cell, wireless transmitter,
battery, DC/DC converter and a sensor
(Figure 1b). Currently, the data acquisition
system that the propulsiometer use is
MiniDAT™. MiniDAT™ is a wireless data
acquisition system that enables the users to
monitor, acquire and process data from remote sensor over the wireless link. MiniDAT™
has 16-bits resolution with 16 single ended or 8 differential analog inputs. It also has 8
digital I/O lines. The problem with MiniDAT™ is not only is consume a lot of power,
expensive and it is quite bulky, but it has also been discontinued. So our main goal is to
replace the MiniDAT™ and redesign the propulsiometer as a whole so that we can
decrease the size, weight, cost and power consumption relative to the current design.
Propulsiometer are mostly use in clinical research to hopefully find strategies to
reduce the likelihood of developing injuries. Researchers would be able to assess their
client’s propulsion technique, as well as the appropriateness of their wheelchair setup.
The user could try out different wheelchairs, wheels, seating configurations and pushing
styles until the most ergonomic combination is found and they need the propulsiometer to
access the propelling technique. The users can continuously monitored their forces and
frequency for each stroke, and alter their ways of propelling the wheelchair to ways that
required less force. Researched also used propulsiometer to calculate metabolic rate when
propelling the wheelchair uphill, downhill and on flat surface. We can also use
propulsiometer to train the manual wheelchair users on the correct ways to propel the
wheelchair in order to reduce stress injuries. Other than that, if we can make this
propulsiometer commercially marketed, it can also be used in hospitals to determine the
appropriate wheelchair for each patient that needed them.
Presently, there is one company that have already produced a propulsiometer and
commercially available in the market which is SMARTWheel®. Similar to the design
that we are trying to improve, SMARTWheel® collected data and transfer it wirelessly to
the computer. The data provided include average force and push frequency. But the
problem with SMARTWheel now is that it cost about $20,000 and it is directly mounted
to the wheel. So, if you are doing clinical research and the subject that you are testing
varied in size hence needs different sizes of wheelchair, you have to buy 2-3 sets of this
wheelchair. The design that we are working on right now, have advantage over
SMARTWheel® because the data acquisition system is located on tubular hoop and cam
be mounted to different size of wheel. So people only need one of this although they are
using 3 different size of wheelchair's wheel. We are also hoping to beat the cost of
SMARTWheel®.
With our sponsor's need taken into account and comparison with the previous
design, our team has set the specifications in order for us to reach the goal of this design.
The propulsiometer data acquisition should have a quadrature encoder input. Quadrature
encoder is wheel angle sensor that senses the position of the wheel with respect with its
initial position. The output of the quadrature encoder is a digital output. The system also
should be cable to collect the data swiftly and continuously in order to achieve high
accuracy in the reading. It should have a wireless capability in order to transmit the data
wirelessly to the computer. The system also should able to handle a bipolar input. This is
because, the wheel can rotate clockwise or counterclockwise from its original position
hence the voltage will go to positive or negative relative to the origin. And on top of
everything else, we want a system with low power consumption which is about 5 Watts
only. We will be discussing further about the target specification in the method section.
Methods
The development of this project can be breakdown into several stages. The early
stage involves creating the timeline of this project and designing the concept and ideas of
an ideal propulsiometer system. We meet with our sponsor Dr. Mark on weekly basis to
develop our understanding on the previous design in order to set the specification of this
system ultimately improves it. This stage also includes selecting the appropriate material
to use in building the prototype that we needed. The next stage is preparing all the
documentations including weekly progress report and monthly oral presentation as well
as writing the final report and preparing the posters for senior design day. The final stage
is putting everything together and tests the performance of the whole system.
The stage of development of ideas took the longest time for us. After several
meeting with Dr. Mark, we have been able to set the target specification for our project.
The system is going to have 8 inputs (7 analog inputs and 1 digital input) and 1
quadrature encoder input. This decision is base on the fact that load cell is going to have
6 analog signals feed into the DAQ system which is the force and torque in x, y and z
direction and the system should be able to plot the data from quadrature encoder for
sensing the wheel angle. In order to achieve the necessary accurateness in collecting the
data, we have set the threshold limit for the sampling rate to be at least 200 Hz and after
discussing with Dr. Mark, he said that a 12-bit resolution A/D system is accurate enough
to be used for the system. As have been mentioned previously, due the rotation of the
wheel, it is crucial for the system that we will be designing to be able to handle bipolar
input ranges from -5 volts to + 5 volts. Since we want to eliminate the use of cable due to
several factors (as stated in the IWB – see appendix 1), this system should have a
wireless capabilities that can transmit data as far as 20 meter apart. The components use
in building this system also should consume power less that or equal to 5 watts.
The next step in to decide which components and system is the most suitable in
providing us the specification that we want. Firstly, we studied the pre-packaged product
that has all the specification needed for this design as our guide in building the circuit that
we needed. Base on the QFD diagram (appendix 1) it is obvious that building our own
circuit is the best decision to go in building this propulsiometer. But since one of our
requirements is for the system to be able to handle bipolar input, if we were to design and
built our own system, we have to incorporate lots of programming in the design, for the
A/D chip to handle negative voltage. Since we only have one computer engineer student
in our group we think it is best for us to use a pre-package microcontroller system that is
available in the market which the microcontroller has already been programmed to handle
Figure 2: The components use to build the prototype of our design
the bipolar input. After presented the suitable prepackage product to Dr. Mark and plenty
of discussion, we re-consider in designing and building our own circuit.
We spent the next few weeks selecting the best A/D chip, quadrature decoder
chip, wireless transmitter together with other necessary stuffs such as voltage regulator,
capacitor and resistor
and of course building
the circuit with all of
these components.
After extensive
research, and weighing
several options, we
have selected
MAX1270 for the A/D
chip, LS7166 chip for the quadrature decoder, wireless serial adapter to transmit the data
wirelessly and basic stamp module which have the microcontroller to interfacing the rest
of the circuit with the computer. The whole system is represented in Figure 2. MAX1270
A/D chip have 8 channel single ended, 12 bit resolutions, a programmable input range
and sampling rate of more than 200 Hz. So basically, we can program this channel to
have either 10 volts, 5 volts, 5 volts or 0 volts. It also fulfilled all the specification
that we need without too many unnecessary functions. The LS7166 quadrature decoder
chip has 8-bit tri-state I/O bus and does not require any external clock. The Basic Stamp
2 Microcontroller has 32 bytes ram and operate at speed up to 20 MHz.
The next step is to design the connection among all of the electronic components
and also working on the programming of the microcontroller. In designing the circuit, we
tried to search on the web several projects that use almost the same components that we
do. We also got some help from Prof. Tim Holman form the EECE department. The
finalized circuit diagram is shown in Figure 3. After finalizing the circuit, we divide the
group into 2, one is to do the programming parts (finalized programming code in
appendix 2), and the other will do the circuit assembly. After we have put together the
desired circuit onto the breadboard, we tested the system by inputting the output of
function generator into each of the channels. The data output from the basic stamp was in
bits. Below are the equations we used to convert the data to voltage and the voltage is
proportional to the forces and torques applied.
Figure 3: schematic diagram of the design circuit
For A/D:Converting binary bit to voltage:
If BITX is from 0 to 2048:
If BITX is
For Q/D:Converting binary counter to angular position:
The output data that come out of our
design matches our expectation. Base
on the data, we are convinced that this
circuit is definitely working as we
expected it to be, so we solder the
components onto a carrier board.
(Figure 4)
We then compile the entire circuit
component onto the hand rim and connected it to the load cell on the wheels. In doing so,
we can actually get the real-time data from the load cell as well as to actually see and
compare our design with the previous design. We then test our circuit using the load cell.
The output from the load cell is shown in appendix 2. It definitely matches our
expectation.
Results and Discussions
Our main project can be divided into four parts. The first part is to collect data of
forces during propulsion from the load cell, the second part is to collect data of the
degrees of rotation from the quadrature optical encoder, the third part is to plot all the
data in the computer with the appropriate interface, which is in our case, we use the
EXCEL. The last part is to transfer the data wirelessly to the computer.
Figure 4: all the components after being transfer onto a carrier board
The load cell is located at the center of the wheelchair's wheel. It is used primarily
as the load sensor during the propulsion of the wheelchair. It has 6 channels where all
these channels give the output in term of both forces and torques in the x, y and z-
direction. Since the load cell accepts voltage in the range of ±5V, we need an A/D
converter that can accepts this range of voltage. After an extensive research, like had
mentioned previously in the methodology part, we have decided to use MAX1270 A/D
converter chip since it has all the specification that we need.
In
order to
make sure
that our
design works
perfectly, we
test the first
part of our
project, which is to collect the data from the load cell using a constant input from the
function generator, a value of +5V and -5V alternately, since the load cell works in the
±5V range. Figure 5 shows the output of the A/D converter at a constant voltage of +5V.
The plot consists of the voltage value from the 6 channels of the A/D converter chip. The
graph shows a fluctuation of the voltage value in the range of 4.91V to 4.93V. From this
graph, we postulated that our prototype is correct. So we continue on testing it with the
load cell. Figure 6 show the output of our prototype when testing using the load cell. The
plot consists of the forces and torques in the direction of x, y and z-axis versus time. The
Voltage vs Time of Each Channel
4.91
4.912
4.914
4.916
4.918
4.92
4.922
4.924
4.926
4.928
4.93
3:32:28 3:32:33 3:32:37 3:32:41 3:32:46
Real Time
Volta
ge, V
CH 0
CH 1
CH 2
CH 3
CH 4
CH 5
Figure 5: Plot of voltage vs time from the A/D
converter of each of the six channels at a constant
voltage of +5V
plot fluctuates every time we provide
some force at the wheel.
The next part is to collect the data
from the US Digital optical quadrature
encoder. The data that was collected is the
angle of the rotation of the wheel during propulsion. After an extensive research, like had
mentioned previously in the
methodology part, we have decided to
use LS7166 encoder chip since it can
handle the optical quadrature decoder
function. Figure 7 shows the plot of
angle of the rotation versus time. The
range of the rotation is from 0 degree to
360 degree. During the testing, we rotate the wheel slowly for the first few cycles and
then increase the velocity of the rotation. In this graph, we can see that the first few
cycles are slower than the last few cycles and this shows that our prototype works
perfectly.
The third part is to interface all the data that we have collected into the computer
properly. The BASIC Stamp 2 module has a built in function that can transfer all the data
into the EXCEL program. All we need to do is to program it so that it can automatically
transfer into the EXCEL, which is very good since EXCEL is one of the easiest interfaces
that can be learn by anyone easily. All of the graphs that were discussed before are all
plotted in the EXCEL program.
Forces/Torques vs Time
-80.0000
-60.0000
-40.0000
-20.0000
0.0000
20.0000
40.0000
60.0000
80.0000
100.0000
120.0000
0:00:00 1200:00:00 2400:00:00 3600:00:00 4800:00:00 6000:00:00
Time
N, N
m
TxTyTzFxFyFz
Figure 6: Plot of the data of forces and torques versus time collected from the load cell
Angle of rotation
-50
0
50
100
150
200
250
300
350
400
3:32:24 3:32:28 3:32:33 3:32:37 3:32:41 3:32:46 3:32:50
Real Time
Angu
lar P
ositi
on, d
egre
eAngle of rotation
Figure 7: Plot of wheel angle of rotation versus time
Unfortunately we were unable to complete the last part, which is the part where
we transfer all the data from both load cell and optical quadrature encoder to the
computer wirelessly, since the wireless device that we have bought does not work as
what we have expected. We thought that the wireless device will work perfectly since it
is just a plug and play device. However, the device does not work as what we have
expected. We also found that other customers that have bought the same device as ours
were also having these difficulties in trying to make the device function.
Safety Considerations:
Since our project involves with the wheelchair users, we have to take into account
some safety factors that can affect these wheelchair users while they were using our
product. One of the major factors that need to be considered is the arrangement of all of
the electronic parts. For example, are there any wires dangling outside of the tubular hoop
of the wheelchair. If there is, it will interfere with the movement of the wheel during
propulsion and eventually, it will cause some minor accident. This is very crucial since if
this scenario happens, the safety of the disable people is in danger because they have
limited movement to control the wheelchair and to control the situation itself. So, we
have to make sure that no wires were suspended outside of the wheelchair’s wheel
tubular hoop.
Other conditions that are important are the storage factor and any condition that
can cause potential hazard. All the electronic components of this product are mounted at
the tubular hoop of the wheelchair's wheel. This tubular hoop can be easily replaced with
other tubular hoop that does not have all the propulsiometer on it, in case the wheelchair
user does not feel like using the propulsiometer. The circuitry needs to be checked at the
beginning of each experiment to prevent any potential problems like short circuit.
Besides, all the electronic components are attached onto the tubular hoop using the
Velcro-cuff. So, we also have to make sure that the Velcro-cuff can handle all the
components.
Economic Analysis:
As had mentioned before, the propulsiometer instrumented wheelchair's wheel is
being used in many areas in biomechanics labs. Some experiments that have been done
are to measure the metabolic rate of a subject and to come out with the best way for the
disable patient to propel the wheel to minimize the occurrence of the Carpal Tunnel
Syndrom, for example. Since this propulsiometer instrumented wheelchair's wheel is only
being used extensively in the lab, and not by any specific disable patient, we suggest that
this product can be use primarily in research area and maybe by the doctors that are
currently monitoring patients who are having symptoms cause by extensive use of
propelling the wheelchair.
The total cost is $197 (refer to appendix) and this is affordable, in comparison
with the previous design, which cost nearly $4000. Since the cost is fairly low, we
suggest that this product can be introduced into the market where the wheelchair users
can monitor their ways of propelling the wheelchair themselves, or be monitored by their
personal doctor.
Since the cost is fairly low compared to other solution that is out there, we hope
that our product can be improved and be commercially marketed. Besides, we have one
advantage in comparison to the SmartWheel™. Our product can be use on different size
of wheels, rather than only on one size of wheel for the SmartWheel™ product.
Conclusions
Based on the
outlined
specifications set forth in the project description, the design met about 85% of the
requirements. The conversion of analog signals from the load cell to digital using an
analog digital converter has been completed using the MAX1270 chip. MAX1270 is able
to accept voltage signals of ±5 volts and has a resolution of 12-bits. Reading the
quadrature encoder signal was done through using a quadrature decoder chip, LS7166,
which has a 24-bit counter. We successfully interface the plots of output data from both
load cell and optical encoder to computer using EXCEL. The wireless connectivity was
not implemented, nor was the software fully developed. These two portions were not
accomplished due to some major road blocks along the design process. The wireless
solution purchased did not work as anticipated and the alternative solution is not
available until May. The actual acquiring parts and building of the prototype took longer
Figure 1: The final design
than initially anticipated. Too much research on possible solutions was done in order to
avoid using microcontroller. At the end, the use of microcontroller was unavoidable.
When the various pieces were assembled, a lot of time was spent on learning how to
program a microcontroller. Once we properly programmed the microcontroller there was
not enough time to develop the software to properly process the raw data received form
the load cell and quadrature decoder.
Recommendations
The next major task is to improve the sampling rate of the data collected by up to
400 MHz. Currently the data are sampled at approximately 100Hz. The limitation of the
current design is due to the speed of the BASIC Stamp 2 microcontroller. The interpreter
chip on the BASIC Stamp 2 fetches and executes instructions from a separate serial
EEPROM chip. While clocked at 20 MHz, the execution time for each higher level
PBASIC instructions is slower due to the fact that the interpreter chip takes time to send
serial message to the EEPROM chip and then receives a serial reply message with the
next token. BASIC Stamp 2 has performs at approximately 4000 instructions per second
without taking into account the time it takes for serial communication with the MAX1270
A/D converter.
An example of a microcontroller that can handle higher sampling rate is the SX
microcontroller. There is no external interpreter and all the program memory is internal
flash. It can be clocked up to 75 MHz which equivalent to 75 million machine language
instructions per second. The SX microcontroller can be programmed in SX BASIC which
is very similar to PBASIC, so some of the programming work can be easily ported.
Another major task is to add wireless connectivity to the design. Initially we
bought a serial cable wireless replacement, the Socket CSA. We were under the
impression that it would replace the serial cable we are currently using by adding
Bluetooth connectivity between the PC and the BASIC Stamp 2 microcontroller.
However, it turns out that the Socket CSA only support RTS/CTS communication
protocol while the BASIC Stamp 2 uses a much simpler communication protocol.
To add wireless connectivity, we recommend buying the Parallax 433 MHz
transmitter and receiver module. It supports high-speed data transfer rates (up to 19.2k
baud). Furthermore, it is compatible with all BASIC Stamp modules and SX chips and
line-of-sight range of 500 feet. In order to communicate with PC, we will need to convert
the TTL/CMOS signal to RS-232 signal using RS-232 driver/receiver chip such as
MAX232.
Currently, we are logging data with Microsoft Excel by using the macros
provided by Parallax. It is a fairly simple macro and only receives serial data from the
BASIC Stamp 2 without processing it. Thus the data received are raw data from the load
cell and quadrature encoder and need to be processed in order to be understood. A better
method of data logging is to use National Instrument LabView software. LabView can be
configured to read data from the serial port, process it and display the data.
As of now, we have no proper casing for our BASIC Stamp 2 carrier board. A
proper enclosure would protect the circuitry from exposure and damage. Research on
possible materials, methods and cost for producing this casing would have to be
conducted.
After all the improvements are completed, the next step would to test the device
on the field and a research on its marketability should be conducted. Research on the rival
product, SmartWheel should also be conducted to compare our design advantages and
disadvantages. Then, a proposal can be written including market demographics, potential
initial cost and projected profits and feasibility. With the proposal ready, the device could
be presented to interested companies to see how it could be manufactured. The
completion of this design is in sight and feasible. Given the proper tools and funding, a
group could see it through to completion.
References and resources
i) MAXmobility Laboratory
ii) Repetitive Strain Injury among Manual Wheelchair Users. Rory A. Cooper,
Michael L. Boninger and Rick N. Robertson.
iii) http://www.3rivers.com/swhome.php
Appendix 1
1) Total cost for the project
Part CostBS2 Development Kit $ 149.00 BS2 Carrier Board $ 24.00 LS7166 $ 12.23 Electronic components (capacitors, LEDs, etc) $ 7.77
9V battery $ 2.50 5V Voltage Regulator $ 1.50 MAX1270 A/D chip Free $ 197.00
2) QFD diagram
Col
lect
dat
a at
hi
gh sa
mpl
ing
rate
Tra
nsm
it da
ta
wir
eles
sly
Can
han
dle
quad
ratu
re
inpu
t
Quality Function Weight 1 2 3 4 5Compatibility ++ ++ ++ 3 ABCAffordable cost - + + 5 A B CEliminate unnecessary function
+ + + 2 AB C
Accurate + + 4 B A CLow power consumption
- ++ 4 A B C
Safe + 5 A BC
Stated values A 80 B 69 C 85
A = V-Link B = Sheldon C = Designing own circuit 3) Innovation Workbench (IWB)
Problem Formulation and Brainstorming Diagram
1/12/2005 2:45:13 PM Idea # 1Find a way to eliminate, reduce, or prevent Disrupted by noise in order to avoid Packet lostand Lagging under the conditions of Wireless DAQ.Find a way to eliminate, reduce, or prevent Packet lost under the conditions of Disruptionby noise and Inconsistent speed and performance.Find a way to eliminate, reduce, or prevent More power under the conditions of 12-bit, 8channels chip.
1/12/2005 3:03:25 PM Idea # 2Find a way to eliminate, reduce, or prevent Inconsistent speed and performance in order toavoid Packet lost and Lagging under the conditions of Wireless DAQ.Find a way to eliminate, reduce, or prevent Lagging under the conditions of Inconsistentspeed and performance, Disruption by noise and Many Functions.Resolve the contradiction: The useful Wireless DAQ should provide Easy to install and Low
cost over range avoids Disruption by noise and Inconsistent speed and performance.Find a way to eliminate, reduce, or prevent Inconsistent speed and performance in order toavoid Packet lost and Lagging under the conditions of Wireless DAQ.
1/12/2005 3:15:47 PM Idea # 3Find an alternative way to obtain No cable that offers the following: provides or enhancesLess mess in workplace, Increase safety and Freedom of movement that does not requireWireless DAQ.Find an alternative way to obtain Increase safety that does not require cable and electricleakage.
1/12/2005 3:33:50 PM Idea # 4Find an alternative way to obtain 12-bit, 8 channels chip that offers the following: providesor enhances More channel provided and Faster processing and avoids More power.Find a way to eliminate, reduce, or prevent More power under the conditions of 12-bit, 8channels chip.Resolve the contradiction: The useful 12-bit, 8 channels chip should provides More channelprovided and Faster processing and avoids More power.
Appendix 2: Data and Programming Codes
Forces and torques in x, y and z direction using load channel
Zero if we didn't anything to the rim and, voltage value appear after applying force on the rim. *notes: Data shown is not the entire data
Tx Ty Tz Fx Fy Fz0.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.037 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.037 0.000 0.037 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0000.007 0.000 0.037 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0001.252 0.000 1.252 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.007 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.037 0.000 0.000 0.0000.007 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.007 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.037 0.000 0.000 0.0000.007 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.037 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.007 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.037 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.154 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.015 0.000 0.000 0.0000.154 0.000 1.311 0.000 -10.151 0.0001.252 0.000 1.384 0.000 -13.777 49.0650.000 0.000 1.370 0.000 -12.085 0.0001.252 0.000 1.311 0.000 0.000 0.0001.736 1.750 1.560 15.388 -16.758 -36.7380.037 0.000 1.260 0.000 -13.535 -23.2030.000 0.000 0.000 0.000 0.000 0.0001.560 1.875 1.846 20.383 -24.734 -41.3311.487 0.000 1.377 0.000 -12.488 0.0001.252 0.000 0.000 0.000 0.000 0.0001.516 1.853 1.875 20.544 -39.155 -41.3311.399 0.000 1.377 13.857 -13.777 0.0000.000 0.000 0.000 0.000 0.000 0.0001.758 1.875 1.853 19.739 -26.023 -41.3311.560 0.000 1.721 0.000 -13.777 0.0000.000 0.000 0.000 0.000 -8.621 0.0001.560 1.377 2.307 24.089 -24.089 0.0000.000 -0.938 0.000 0.000 -8.621 43.7480.000 0.000 0.000 0.000 0.000 -30.9382.197 1.838 2.490 25.540 -41.250 0.0001.282 -0.923 1.384 0.000 -10.313 41.3311.252 0.000 0.000 0.000 0.000 -30.9382.336 1.838 2.336 27.070 -41.250 0.0001.516 -0.784 1.501 13.777 -9.668 0.0001.252 1.553 0.000 0.000 -12.810 -41.3311.794 0.000 1.875 19.739 -20.625 50.0320.000 0.000 0.000 0.000 0.000 0.0001.252 1.838 0.000 0.403 -13.777 -41.3311.406 0.000 1.875 17.161 -20.625 82.1780.000 -0.938 0.000 -7.251 0.000 51.2401.794 2.336 2.205 20.625 -22.317 -50.5151.560 1.560 1.545 14.583 -13.777 -41.331
1.399 1.853 0.000 0.000 -9.829 -41.3310.154 1.326 0.000 0.000 0.000 -29.7291.252 0.000 0.000 0.000 0.000 -23.2030.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 -0.938 1.487 0.000 0.000 0.0000.037 0.000 1.252 14.099 -13.777 0.0001.384 2.498 1.406 16.436 -21.995 82.4191.721 1.875 1.553 16.436 -13.777 -24.6531.260 1.780 1.252 13.777 -13.535 -25.1371.875 2.498 2.498 25.781 -41.250 41.3311.399 1.838 1.406 17.161 -14.180 -29.4870.154 1.875 1.252 0.000 -10.313 -25.1371.523 1.875 0.000 14.421 -13.777 -30.9381.311 1.729 1.875 20.625 -24.170 56.7991.545 2.336 1.282 0.000 -13.777 -38.4301.326 1.260 0.000 0.000 -9.829 -30.9380.000 0.000 1.875 20.222 -13.777 81.9361.311 1.750 1.406 19.014 -13.777 -25.8621.501 1.729 1.252 0.000 -10.313 -23.2031.370 2.190 1.487 16.516 -14.583 0.0000.000 -0.703 1.501 17.080 -13.777 0.0001.311 2.322 0.000 0.000 -13.777 -29.7291.399 1.384 0.000 13.777 -13.535 -30.9380.000 1.523 1.868 15.469 -13.777 61.1501.721 1.252 1.516 14.583 -13.777 -30.9381.370 1.406 1.252 0.000 -10.313 0.0001.282 2.336 1.326 14.583 -13.777 72.2681.545 1.406 1.252 0.000 -13.777 -30.9381.252 1.560 0.000 0.000 -12.488 -21.9950.000 0.000 0.000 0.000 -8.379 0.000
0.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0001.252 0.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.000 0.000 0.0000.000 0.000 1.252 0.000 0.000 0.000
Programming codes
' {$STAMP BS2}
' {$PBASIC 2.5}' {$PORT COM1}
'Maxim 1270 PinsMAX_cs CON 13 ' chip select pin for MAXIM 1270 (only needed if more ' than one chip)MAX_clock CON 12 ' synchronous clock pin to control MAXIM 1270 chipMAX_out CON 14 ' for sending the controlbyte to the MAX1270 chipMAX_in CON 15 ' for reading data from MAXIM 1270 chipmsb CON 1 ' mode for shiftout functions: msbbehindclock CON 2 ' mode for shiftin: msb post clock
'LS7166 PinsLS_cs CON 8 'csLS_rd CON 9 'rdLS_wr CON 10 'wrLS_ctrl CON 11 'ctrl
'Data Variables:ADres0 VAR Word ' for holding the 12-bit result from A/D channel 0ADres1 VAR Word ' for holding the 12-bit result from A/D channel 1ADres2 VAR Word ' for holding the 12-bit result from A/D channel 2ADres3 VAR Word ' for holding the 12-bit result from A/D channel 3ADres4 VAR Word ' for holding the 12-bit result from A/D channel 4ADres5 VAR Word ' for holding the 12-bit result from A/D channel 5
pos0 VAR Byte 'low byte of 24-bit counterpos1 VAR Byte 'middle byte of 24-bit counterpos2 VAR Byte 'high byte of 24-bit counter
X VAR Byte ' variable to represent datasPin CON 16 ' serial Pin - P16, Programming portBaud CON 6 ' baud mode for a rate of 38400, 8-N-1
Configure: ' label 6 columns with TIME, FX, FY, FZ, TX, TY AND TZ SEROUT sPin,Baud,[CR,"LABEL,TIME, CH0, CH1, CH2, CH3, CH4, CH5, pos0, pos1, pos2",CR] ' clear all data columns (A-J) in Excel SEROUT sPin,Baud,["CLEARDATA",CR] PAUSE 1000 ' allow data communications to stabilize SEROUT sPin,Baud,[CR] ' send a lone CR to ensure StampDAQ buffer is ready
'*********** MAIN PROGRAM *************GOSUB Init_LS
again: GOSUB Read_Counter 'read data from encoder chip GOSUB Read_LoadCell 'read load cell
' send to excel SEROUT sPin,Baud,["DATA,TIME,", SDEC ADres0, ",", SDEC ADres1, ",", SDEC ADres2, ",", SDEC ADres3, ",", SDEC ADres4, ",", SDEC ADres5, ",", DEC pos0, ",", DEC pos1, ",", DEC pos2, ",", CR]
GOTO again ' Endless loop.'****************************************
Init_LS: LOW LS_cs HIGH LS_ctrl HIGH LS_wr HIGH LS_rd DIRL=%11111111 'declare as outputs OUTL=%00110101 'master control register GOSUB execute_write OUTL=%01001000 'Input control register GOSUB execute_write OUTL=%10000000 'output control register GOSUB execute_write OUTL=%11000001 'quadrature control register GOSUB execute_write RETURN
Read_Counter: HIGH LS_ctrl DIRL=%11111111 OUTL=%00000011 'latch counter output GOSUB execute_write LOW LS_ctrl DIRL=%00000000 LOW LS_rd pos0=INL HIGH LS_rd LOW LS_rd pos1=INL HIGH LS_rd LOW LS_rd pos2=INL HIGH LS_rd HIGH LS_ctrl RETURN
Read_LoadCell: ' sample channel 0 LOW MAX_cs SHIFTOUT MAX_out, MAX_clock, msb, [%10000101 \ 8] SHIFTOUT MAX_out, MAX_clock, msb, [0 \ 4] SHIFTIN MAX_in, MAX_clock, behindclock, [ADres0 \ 12] IF (ADres0 > 2047) THEN ADres0 = -(4095-ADres0)
ENDIF ' sample channel 1 SHIFTOUT MAX_out, MAX_clock, msb, [%10010101 \ 8] SHIFTOUT MAX_out, MAX_clock, msb, [0 \ 4] SHIFTIN MAX_in, MAX_clock, behindclock, [ADres1 \ 12] IF (ADres1 > 2047) THEN ADres1 = -(4095-ADres1) ENDIF ' sample channel 2 SHIFTOUT MAX_out, MAX_clock, msb, [%10100101 \ 8] SHIFTOUT MAX_out, MAX_clock, msb, [0 \ 4] SHIFTIN MAX_in, MAX_clock, behindclock, [ADres2 \ 12] IF (ADres2 > 2047) THEN ADres2 = -(4095-ADres2) ENDIF ' sample channel 3 SHIFTOUT MAX_out, MAX_clock, msb, [%10110101 \ 8] SHIFTOUT MAX_out, MAX_clock, msb, [0 \ 4] SHIFTIN MAX_in, MAX_clock, behindclock, [ADres3 \ 12] IF (ADres3 > 2047) THEN ADres3 = -(4095-ADres3) ENDIF ' sample channel 4 SHIFTOUT MAX_out, MAX_clock, msb, [%11000101 \ 8] SHIFTOUT MAX_out, MAX_clock, msb, [0 \ 4] SHIFTIN MAX_in, MAX_clock, behindclock, [ADres4 \ 12] IF (ADres4 > 2047) THEN ADres4 = -(4095-ADres4) ENDIF ' sample channel 5 SHIFTOUT MAX_out, MAX_clock, msb, [%11010101 \ 8] SHIFTOUT MAX_out, MAX_clock, msb, [0 \ 4] SHIFTIN MAX_in, MAX_clock, behindclock, [ADres5 \ 12] IF (ADres5 > 2047) THEN ADres5 = -(4095-ADres5) ENDIF HIGH MAX_cs RETURN
execute_write: 'pulse write line LOW LS_wr HIGH LS_wr RETURN