AnkleHardwareSpec2007Sep
From DIDEAS Wiki
Master (state machine) Controller
- 25.2V max supply voltage
Off board interfaces
Switch Input
- external logic switch input for mode control
External communication and ISP
- 1Mbaud MAX RS-232 level ASYNC serial with power
- Want the abiltiy to support a varitify devices, including wired RS232, Bluetooth, and 802.11
- signals GND, Tx, Rx, 3.3V, Vbat (0.25amp resettable fuse)
- Might want this header to have ISP signals, PGC, PGD, MCLR
Motor controller interface
- Bring battery power from motor controller
- TTL level ASYNC serial between master and motor controller CPUs (1Mbaud max)
- Signals: BAT+, GND, TX, Rx, DigOut, DigIn
- Use board to board stacking ???
- Motor controller ISP signals??? (PGC, PGD, MCLR)
Ankle Angle ???
- quadrature encoder (5V single ended) [GND, 5V, ChA, ChB, NDX to dsPIC QEI inputs]
- or magnetic rotary encoder (such as AS5045 family) [GND, 3.3V, PWM to dsPIC IC timer]
Strain, SEA, Motor Temp, Supply current
- 4 analog inputs to CPU, DC to 500 Hz analog bandwidth
- 1 x 10k thermo resistor (requires opamp follower), AGND and signal
- 2 x strain gauge bridges (high gain INA326), AGND, SG+, SG-, bridge reference
- SG bridge reference voltage through 0.1% resistance from AVCC5
- 1 x analog input for SEA hall sensor board (no voltage or current amp required) : 3.3V, AGND, signal
On board sensors
Ambient Temperature
- Place very close to XY axis IMU
- 10K SMT with opamp follower
Supply Voltage Monitor
- 1% accurate
IMU
- One SPI device, and (upto) 3 analog rate gyro signals
- 3axis (SPI) accelerometer LIS3LV02DQ
- Z axis rate gyro ADXRS300 (analog) or ADIS16100 (digital)
- XY axis (analog) rate gyro IDG300
- Note: XY is in circuit board plane, Z axis is normal to circuit board plane
software
- 2 DMA controllers run the two ADC units at 12 bits, 400 KHz total sample rate
- Input capture measures PWM period of magnetic rotory 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, calculates orientation
- reads motor controller status (motor current, supply current / voltage, motor position, status)
- processes external communication interface
Motor Controller
- support for Maxon EC30-48V [305015] with 500 CNT MR ENCODER [225778]
- EC30-48V specs : L=65.3uH, R=386mohm, SpeedConst=346 rpm/volt, TorqueConst=27.6mNm/A
- Required maximum RPM : 7500
- 25.38V abs max supply voltage
- suggested design using 30V MOSFETs, 35V bulk caps, and 35V DC-DC converter
- 2 phase current sensors (ACS712-20amp, 1.2mohm)
- Ability to (indefinitely) short motor leads when primary power absent or if some sort of system failure
Off board interfaces
Motor position sensor
- quadrature with index 5V (single or differential? )
- hall effect sensor 5V (may require pullups)
power / data to Master Controller
- ASYNC serial to UART
- TTL input to dsPIC fault pin to disable PWM
- TTL output for status
- "direct" connection to Bat+
- common (GND)
- Might want this header to have motor ISP signals going to local digital IO
- logic level ASYNC 2-wire serial between master and motor controller CPUs
- logic level input from SM Controller to /FLTB to disable PWM
- logic level output to alert SM Controller alert status
- battery power to SM controller
- ??? board to board stacking connector (more reliable that wires)
On board sensors
- 2 current sensors
software
- master will periodically send ASCII commands to command current and mode
- controller will respond with status (encoder position, supply voltage, actual current, temperatures)
- ability to reprogram Motor Controller over ASYNC serial
io count
analog (6)
- 2 for motor current
- 1 for 5V (AVcc5/2) supply monitor
- 1 for battery current
- 1 for supply voltage
- 1 or 2 for temperature
digital (21 max)
- 6 PWM output
- 2 fault IOs
- 2 ASYNC serial
- 3 for ISP
- 3 for encoder
- 3 for motor hall position sensor
- 2 for LEDs
Mechanical
- dimensions