190 likes | 347 Views
USB Interfaced Force Sensor. By: Byron Roberts John Campbell Sean Larkin. Project Objectives. Interface sensor with computer. Sensor must convert an analog signal to a digital signal. Sensor output displayed on screen. Complete project as soon as possible. Facilitate group learning.
E N D
USB Interfaced Force Sensor By: Byron Roberts John Campbell Sean Larkin
Project Objectives • Interface sensor with computer. • Sensor must convert an analog signal to a digital signal. • Sensor output displayed on screen. • Complete project as soon as possible. • Facilitate group learning
Materials Used • Flexi-force Sensor • MSP430 Micro-controller
The Sensor • Tekscan FlexiForce sensor • thin • durable printed circuit makes up the sensor element • allows easy integration to many different areas. • Sensor detects and measures a change in force • determines the rate of change in force • detects force thresholds • identifies contact.
Computer Interface Hardware • Texas Instruments MSP430 Microcontroller • Mixed-signal microcontroller • 16-bit CPU • Low power consumption • MSP430F2xxx series • Operating frequency 16 MHz • Voltage Range 0-3.6V • 14-pin JTAG connection • USB interfaced
Computer Interface Software • IAR Embedded Workbench • Freeware code compiler and debugger • Supports 30 different processor types • Supports C programming
Setting up the Software • Project -- Options • General Options • Target – Device • MSP430F013
Choosing the right library • General Options • Library Configuration • Library -- CLIB • Taking up less memory • General Options • Library Options • Printf formatter -- Small
Setting up the debugger • Debugger -- Setup • FET Debugger • Using the right drive • FET Debugger • Setup – Connection • Texas Instrument USB-IF
IAR Sensor Program #include <msp430x20x3.h> #include <stdio.h> int i; void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P1DIR |= 0x01; // Set P1.0 to output direction SD16CTL = SD16REFON + SD16SSEL_1; // 1.2V ref, SMCLK SD16INCTL0 = SD16INCH_1; // A1+/- SD16CCTL0 = SD16UNI + SD16IE; // 256OSR, unipolar, interrupt enable SD16AE = SD16AE2; // P1.1 A1+, A1- = VSS SD16CCTL0 |= SD16SC; // Set bit to start conversion _BIS_SR(LPM0_bits + GIE); } #pragma vector = SD16_VECTOR __interrupt void SD16ISR(void) { printf("%d\n", SD16MEM0/1291); }
How it Works • TekscanFlexiForce sensor • Piezoresistive sensor • Meaning? Voltage directly related to force?
How it works (cont.) • resistance is inversely proportional to the applied force and the conductance
Set up • Simple set up • USB connected • Add weight • Readout on screen • keeps track of data collected • Gives digital actual weight readings
Problems encountered • MSP430 not easy to program • Software integration with windows 7 • Surface area of sensor • Calibration difficult
Future of our project • Digital read out to LCD display actual weight. • Send data to excel to make graph and permanently store the data • Extra portable scale
References • http://www.intersema.com/docs/intersema_brochure_en.pdf • http://static.technorati.com/10/09/02/17535/oilrig3.jpg • http://www.futek.com/apps_load.aspx
Thank You • Questions?