Difference between revisions of "AnkleHardwareSpec2007Sep"

From DIDEAS Wiki
Jump to: navigation, search
m (Sensor Power)
(Power / Data to Motor Controller)
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
*[[Motor]]
 +
*[[AnkleSoftwareSpec2007Sep]]
 +
 +
 
=State Machine (Master) Controller=
 
=State Machine (Master) Controller=
* 25.38V max supply voltage (6 cell LiPoly)
+
* 25.38V max supply voltage (6 cell LiPoly, estimated Rs of 100mohm), 16.5V min input when motor operational, electronics should remain operational to 15V
* IIC EEPROM for controller parameters (24LCxx)
+
* IIC EEPROM for controller parameters (RECMD: 24LCxx)
  
  
Line 7: Line 11:
  
 
===Switch Input===
 
===Switch Input===
* external logic switch input for mode control
+
* externally mounted switch (logic levels) input for mode control
  
===External Serial Communication and ISP===
+
===External ASYNC Serial Communication and ISP===
* Ability to support a variety of attached serial devices: wired RS-232, Bluetooth, 802.11, and ISP.   
+
* Ability to support a variety of attached serial devices (with external converter): eg wired RS-232, Bluetooth, USB, 802.11, and ISP.   
 
* 1Mbaud (max) RS-232 level ASYNC serial (Tx, Rx, RTS, CTS) :  
 
* 1Mbaud (max) RS-232 level ASYNC serial (Tx, Rx, RTS, CTS) :  
* Power for external devices:  5V and Vbat (with 0.25amp self resettable fuse)  
+
* Power for external devices:  5V and Vbat (with 0.20amp self resettable fuse)  
 
* ISP signals (PGC, PGD, MCLR) for external ISP
 
* ISP signals (PGC, PGD, MCLR) for external ISP
* signals: Vbat, Vcc5,  GND, Tx, Rx, RTS, CTS, PGC, PGD, MCLR
+
* signals: Vbat, Vcc5,  GND, Tx, Rx, RTS, CTS, PGC, PGD, MCLR -- try to keep same pinout as on original
 +
* also include standard debug header, if room permits
  
 
=== Power / Data to Motor Controller ===
 
=== Power / Data to Motor Controller ===
 
* logic level ASYNC 2-wire serial between SM and motor controller CPUs  
 
* 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 output to motor controller fault pin to disable PWM (short motor leads?)
 
* logic level input for motor controller alert status
 
* logic level input for motor controller alert status
 
* (Vbat) battery power from motor controller
 
* (Vbat) battery power from motor controller
* sense path to battery for voltage monitoring  
+
* ??? sense path to battery for voltage monitoring; sense differentially using 2 inputs to ensure accurate reading
 
* ??? board to board stacking connector (more reliable that wires)
 
* ??? board to board stacking connector (more reliable that wires)
  
===Ankle Angle Sensor ===
+
===Strain, SEA, Motor Temp, Supply current ===
<strike>
+
* 5 analog inputs to CPU, analog bandwidth DC to 500 Hz, 12-bit ADC (sequential)
* 5 pin header with digital signals
+
* 2 x 10k(or more) thermo resistor (requires opamp follower) for IMU temperatures :  AGND and signal
* quadrature encoder (5V single ended) [GND, 5V, ChA, ChB, NDX to dsPIC QEI inputs]
+
* 2 x strain gauge bridges (340 or 1k ohm) to high gain (RECMD) INA326 :  AGND, SG+, SG-, bridge reference
* or magnetic rotary encoder (such as AS5045 family) [GND, 3.3V, PWM to dsPIC IC timer]
+
* 1 x analog input for SEA hall sensor board  (discuss type of input) HMC1501: 3.3V, AGND, signal, signal2?
</strike>
+
** SG bridge reference voltage through 0.1% resistance (1k to reduce bridge current) ideally from AVCC3.3 (ADC reference) or from AVCC5
 
 
===Strain, SEA, Motor Temp, Supply current, Ankle Ankle===
 
* 5 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
 
* 1 x analog input for ankle angle (10k-100k) potentiometer (higher bandwidth for fast power cycling)
 
  
===Vibrator Motor and Piezo===
+
===Pager Motor===
* 4 pin header  
+
* 3 pin header  
 
* ability to turn on/off pager motor (3.3V)   
 
* ability to turn on/off pager motor (3.3V)   
* ability to drive miniature piezo (from PWM or OC)
 
  
  
Line 48: Line 44:
  
 
===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 IMU ICs (or epoxied to each of them)
  
 
===Supply Voltage Monitor===
 
===Supply Voltage Monitor===
Line 54: Line 50:
  
 
===IMU===
 
===IMU===
* One SPI device, and (upto) 3 analog rate gyro signals
+
* 3 DOF accelerometer, 2 DOF rate gyros (in PCB plane)
 +
* 3-axis (SPI) accelerometer [http://www.sparkfun.com/commerce/product_info.php?products_id=753 RECMD LIS3LV02DQ]
 +
** this sensor will be (nearly) always powered and used to wake the processor
  
* 3axis (SPI) accelerometer [http://www.sparkfun.com/commerce/product_info.php?products_id=753 LIS3LV02DQ]
+
<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)
* XY axis (analog) rate gyro [http://www.sparkfun.com/commerce/product_info.php?products_id=700 IDG300]
+
</strike>
* Note: XY is in circuit board plane, Z axis is normal to circuit board plane
+
* XY axis (analog) rate gyro [http://www.sparkfun.com/commerce/product_info.php?products_id=700 RECMD IDG300]
 +
** Note: XY is in circuit board plane
  
 
===AVCC5 monitor===
 
===AVCC5 monitor===
Line 66: Line 65:
 
===LEDs===
 
===LEDs===
 
*2 LEDs mounted so as to be externally visible
 
*2 LEDs mounted so as to be externally visible
 
 
  
  
Line 73: Line 70:
 
* Design for overall low power  
 
* Design for overall low power  
 
* Target for sleep power of 5mW (0.12WHr/day - from VBAT), processor is sleeping.     
 
* Target for sleep power of 5mW (0.12WHr/day - from VBAT), processor is sleeping.     
* RS232 output interface disable (Rx still active - SN75C3223)
+
* RS232 output interface disable (Rx still active - eg SN75C3223 - although baud rate may change to due primary clock sleep)
 
* Control of supply to internal sensors : ambient temperature, IMUs
 
* Control of supply to internal sensors : ambient temperature, IMUs
* Control of supply to external sensors : ankle angle, SG, SEA, motor temperature
+
* Control of supply to external sensors : SG, SEA, motor temperature
  
  
 +
=== Sensor Power===
  
=== Sensor Power===
+
* EC30 MR-ENC 15.5mA @ 5V : 77.5mW
 +
* EC30 HALL SEN 10.6mA @ 5V : 53mW
  
* EC30 MR-ENC 15.5mA @ 5V  77.5mW
+
* SG : 73mW(340ohm/5V), 10mW (1k/3.3V), 2.7mW(1k/1.6V)
* EC30 HALL SEN 10.6mA @    5V 53mW
 
  
* IDG300 9.5mA @ 3.3V    31.mW
+
* IDG300 9.5mA @ 3.3V :     31.mW
* ADXRS300 6-8mA @ 5V    35mW
+
* ADXRS300 6-8mA @ 5V :   35mW
* ADIS16100 7-9mA @ 5V    40mW
+
* ADIS16100 7-9mA @ 5V :   40mW
  
* ADIS16006 1.5-1.9 @ 3-5V 5   mW
+
* ADIS16006 1.5-1.9mA @ 3-5V : 5 mW
* LIS3LV02DQ .6-.8 @ 2.2-3.3V    < 2.6mW
+
** has 1mA power down mode.  20mS wake up
* ankle angle pot    0.1-1mW
+
** sensitivity : 0.03%/C, 0.1lsb (1:20000) +-3% cross axis
 +
* LIS3LV02DQ 0.6-0.8 @ 2.2-3.3V :   < 2.6mW
 +
** programmable sleep mode with <10uA supply current
 +
** has programmable acceleration alarms to wake CPU
 +
** sensitivity : 0.025%/C, 0.2mg/C (1:10000 / C), +-3.5% cross axis
  
==software==
+
* ankle angle pot :    0.1-1mW
* 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
 
  
=Motor Controller=
+
* Power supply (LT3470) efficiency 70%>5mA, 60%@1mA, 35%@0.1mA,  (0.6mW from Vbat when LT3470 enabled and unloaded)
[[Motor]]
 

Latest revision as of 20:14, 18 September 2007


State Machine (Master) Controller

  • 25.38V max supply voltage (6 cell LiPoly, estimated Rs of 100mohm), 16.5V min input when motor operational, electronics should remain operational to 15V
  • IIC EEPROM for controller parameters (RECMD: 24LCxx)


Off board interfaces

Switch Input

  • externally mounted switch (logic levels) input for mode control

External ASYNC Serial Communication and ISP

  • Ability to support a variety of attached serial devices (with external converter): eg wired RS-232, Bluetooth, USB, 802.11, and ISP.
  • 1Mbaud (max) RS-232 level ASYNC serial (Tx, Rx, RTS, CTS) :
  • Power for external devices: 5V and Vbat (with 0.20amp self resettable fuse)
  • ISP signals (PGC, PGD, MCLR) for external ISP
  • signals: Vbat, Vcc5, GND, Tx, Rx, RTS, CTS, PGC, PGD, MCLR -- try to keep same pinout as on original
  • also include standard debug header, if room permits

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 (short motor leads?)
  • logic level input for motor controller alert status
  • (Vbat) battery power from motor controller
  •  ??? sense path to battery for voltage monitoring; sense differentially using 2 inputs to ensure accurate reading
  •  ??? board to board stacking connector (more reliable that wires)

Strain, SEA, Motor Temp, Supply current

  • 5 analog inputs to CPU, analog bandwidth DC to 500 Hz, 12-bit ADC (sequential)
  • 2 x 10k(or more) thermo resistor (requires opamp follower) for IMU temperatures : AGND and signal
  • 2 x strain gauge bridges (340 or 1k ohm) to high gain (RECMD) INA326 : AGND, SG+, SG-, bridge reference
  • 1 x analog input for SEA hall sensor board (discuss type of input) HMC1501: 3.3V, AGND, signal, signal2?
    • SG bridge reference voltage through 0.1% resistance (1k to reduce bridge current) ideally from AVCC3.3 (ADC reference) or from AVCC5

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 IMU ICs (or epoxied to each of them)

Supply Voltage Monitor

  • (better than) 1% accurate measurement of battery voltage (prevent over-voltage during regeneration)

IMU

  • 3 DOF accelerometer, 2 DOF rate gyros (in PCB plane)
  • 3-axis (SPI) accelerometer RECMD LIS3LV02DQ
    • this sensor will be (nearly) always powered and used to wake the processor

  • XY axis (analog) rate gyro RECMD 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 - eg SN75C3223 - although baud rate may change to due primary clock sleep)
  • Control of supply to internal sensors : ambient temperature, IMUs
  • Control of supply to external sensors : 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.9mA @ 3-5V : 5 mW
    • has 1mA power down mode. 20mS wake up
    • sensitivity : 0.03%/C, 0.1lsb (1:20000) +-3% cross axis
  • LIS3LV02DQ 0.6-0.8 @ 2.2-3.3V : < 2.6mW
    • programmable sleep mode with <10uA supply current
    • has programmable acceleration alarms to wake CPU
    • sensitivity : 0.025%/C, 0.2mg/C (1:10000 / C), +-3.5% cross axis
  • ankle angle pot : 0.1-1mW
  • Power supply (LT3470) efficiency 70%>5mA, 60%@1mA, 35%@0.1mA, (0.6mW from Vbat when LT3470 enabled and unloaded)