Difference between revisions of "AnkleHardwareSpec2007Sep"
From DIDEAS Wiki
m |
m |
||
Line 24: | Line 24: | ||
* ??? board to board stacking connector (more reliable that wires) | * ??? board to board stacking connector (more reliable that wires) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ===Strain, SEA, Motor Temp, Supply current | + | ===Strain, SEA, Motor Temp, Supply current === |
− | * | + | * 4 analog inputs to CPU, DC to 500 Hz analog bandwidth |
* 1 x 10k(or more) thermo resistor (requires opamp follower) : AGND and signal | * 1 x 10k(or more) thermo resistor (requires opamp follower) : AGND and signal | ||
* 2 x strain gauge bridges (340 or 1k ohm) to high gain INA326 : AGND, SG+, SG-, bridge reference | * 2 x strain gauge bridges (340 or 1k ohm) to high gain INA326 : AGND, SG+, SG-, bridge reference | ||
− | * SG bridge reference voltage through 0.1% resistance (1k to reduce bridge current) ideally from AVCC3.3 (ADC reference) or from AVCC5 | + | ** SG bridge reference voltage through 0.1% resistance (1k to reduce bridge current) ideally from AVCC3.3 (ADC reference) or from AVCC5 |
* 1 x analog input for SEA hall sensor board (no voltage or current amp required) : 3.3V, AGND, signal | * 1 x analog input for SEA hall sensor board (no voltage or current amp required) : 3.3V, AGND, signal | ||
− | |||
− | === | + | ===Pager Motor=== |
− | * | + | * 3 pin header |
* ability to turn on/off pager motor (3.3V) | * ability to turn on/off pager motor (3.3V) | ||
− | |||
Line 48: | Line 40: | ||
===Ambient Temperature=== | ===Ambient Temperature=== | ||
− | * Thermo resistor (>=10k) with opamp follower placed very close to XY axis IMU | + | * Thermo resistor (>=10k) with opamp follower placed very close to XY axis IMU (or epoxied to XY sensor) |
===Supply Voltage Monitor=== | ===Supply Voltage Monitor=== | ||
Line 54: | Line 46: | ||
===IMU=== | ===IMU=== | ||
− | * | + | * 3 DOF acceleromters, 2 DOF rate |
+ | * 3axis (SPI) accelerometer [http://www.sparkfun.com/commerce/product_info.php?products_id=753 LIS3LV02DQ] | ||
+ | ** this sensor will be (nearly) always powered and used to wake the processor | ||
− | + | <strike> | |
* Z axis rate gyro [http://www.sparkfun.com/commerce/product_info.php?products_id=7920 ADXRS300 (analog)] or ADIS16100 (digital) | * Z axis rate gyro [http://www.sparkfun.com/commerce/product_info.php?products_id=7920 ADXRS300 (analog)] or ADIS16100 (digital) | ||
+ | </strike> | ||
* XY axis (analog) rate gyro [http://www.sparkfun.com/commerce/product_info.php?products_id=700 IDG300] | * XY axis (analog) rate gyro [http://www.sparkfun.com/commerce/product_info.php?products_id=700 IDG300] | ||
− | * Note: XY is in | + | ** Note: XY is in circuit board plane |
===AVCC5 monitor=== | ===AVCC5 monitor=== |
Revision as of 21:34, 14 September 2007
Contents
State Machine (Master) Controller
- 25.38V max supply voltage (6 cell LiPoly)
- IIC EEPROM for controller parameters (24LCxx)
Off board interfaces
Switch Input
- external logic switch input for mode control
External Serial Communication and ISP
- Ability to support a variety of attached serial devices: wired RS-232, Bluetooth, 802.11, and ISP.
- 1Mbaud (max) RS-232 level ASYNC serial (Tx, Rx, RTS, CTS) :
- Power for external devices: 5V and Vbat (with 0.25amp self resettable fuse)
- ISP signals (PGC, PGD, MCLR) for external ISP
- signals: Vbat, Vcc5, GND, Tx, Rx, RTS, CTS, PGC, PGD, MCLR
Power / Data to Motor Controller
- logic level ASYNC 2-wire serial between SM and motor controller CPUs
- logic level output to motor controller fault pin to disable PWM
- logic level input for motor controller alert status
- (Vbat) battery power from motor controller
- sense path to battery for voltage monitoring
- ??? board to board stacking connector (more reliable that wires)
Strain, SEA, Motor Temp, Supply current
- 4 analog inputs to CPU, DC to 500 Hz analog bandwidth
- 1 x 10k(or more) thermo resistor (requires opamp follower) : AGND and signal
- 2 x strain gauge bridges (340 or 1k ohm) to high gain INA326 : AGND, SG+, SG-, bridge reference
- SG bridge reference voltage through 0.1% resistance (1k to reduce bridge current) ideally from AVCC3.3 (ADC reference) or from AVCC5
- 1 x analog input for SEA hall sensor board (no voltage or current amp required) : 3.3V, AGND, signal
Pager Motor
- 3 pin header
- ability to turn on/off pager motor (3.3V)
On board sensors
Ambient Temperature
- Thermo resistor (>=10k) with opamp follower placed very close to XY axis IMU (or epoxied to XY sensor)
Supply Voltage Monitor
- (better than) 1% accurate measurement of battery voltage (prevent over-voltage during regeneration)
IMU
- 3 DOF acceleromters, 2 DOF rate
- 3axis (SPI) accelerometer LIS3LV02DQ
- this sensor will be (nearly) always powered and used to wake the processor
- Z axis rate gyro ADXRS300 (analog) or ADIS16100 (digital)
- XY axis (analog) rate gyro IDG300
- Note: XY is in circuit board plane
AVCC5 monitor
- If SG bridge is powered from AVCC5 then we need to measure AVCC5/2, and SG bridge offsets depend on AVCC5
LEDs
- 2 LEDs mounted so as to be externally visible
Low Power Support
- Design for overall low power
- Target for sleep power of 5mW (0.12WHr/day - from VBAT), processor is sleeping.
- RS232 output interface disable (Rx still active - SN75C3223)
- Control of supply to internal sensors : ambient temperature, IMUs
- Control of supply to external sensors : ankle angle, SG, SEA, motor temperature
Sensor Power
- EC30 MR-ENC 15.5mA @ 5V : 77.5mW
- EC30 HALL SEN 10.6mA @ 5V : 53mW
- SG : 73mW(340ohm/5V), 10mW (1k/3.3V), 2.7mW(1k/1.6V)
- IDG300 9.5mA @ 3.3V : 31.mW
- ADXRS300 6-8mA @ 5V : 35mW
- ADIS16100 7-9mA @ 5V : 40mW
- ADIS16006 1.5-1.9 @ 3-5V : 5 mW
- LIS3LV02DQ .6-.8 @ 2.2-3.3V : < 2.6mW
- ankle angle pot : 0.1-1mW
- Power supply (LT3470) efficiency 70%>5mA, 60%@1mA, 35%@0.1mA, (0.6mW from Vbat when LT3470 enabled)
software
- ability to reprogram controller over ASYNC serial
- 2 DMA controllers run the two ADC units at 12 bits, 400 KHz total sample rate
- Input capture measures PWM period of magnetic rotary encoder / QEI captures encoder position
- DMA controller sends/receives SPI to digital accelerometer
- Main code loop runs at 500 Hz
- decimation of analog inputs
- reads ankle position
- reads IMU, estimates orientation
- reads motor controller status (motor current, motor position, status)
- processes external communication interface