Difference between revisions of "Upright"
From DIDEAS Wiki
m (→Sensors) |
m |
||
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | =prototypes= | ||
+ | *[[upright1]] | ||
+ | *[[upright2]] | ||
+ | *[[upright3]] | ||
+ | |||
+ | |||
+ | =UPD= | ||
+ | |||
+ | *MOT filter : 1 eee 888 0 4000 (also 2 eee) | ||
+ | |||
+ | * special 1111 - encoder | ||
+ | * spc 1030 - 1033, read D, Q k,i | ||
+ | * spc 1020 - 1023, set Dk Qk, Di Qi | ||
+ | |||
+ | |||
+ | == PSER to FUP == | ||
+ | |||
+ | *The PSER board can interface to the FUP with the correct cable: | ||
+ | *Need 5 pin 1.25 mm | ||
+ | *Pin3 (GND) of PSER -> Pin5 of FUP | ||
+ | *Pin9 (Tx out) of PSER -> Pin 2 of FUP | ||
+ | *Pin10 (Rx in) of PSER -> Pin 3 of FUP | ||
+ | |||
+ | ==PFmon== | ||
+ | ===special 1106:=== | ||
+ | Motor encoder | ||
+ | ===special 1111:=== | ||
+ | <pre> | ||
+ | *data++ = ParkParm.qIa; | ||
+ | *data++ = ParkParm.qIb; | ||
+ | *data++ = ParkParm.qId; | ||
+ | *data++ = ParkParm.qIq; | ||
+ | *data++ = OpenLoopParm.qAngFlux; | ||
+ | *data++ = CurModelParm.qAngFlux; | ||
+ | *data++ = EncoderParm.qMechAng; | ||
+ | *data++ = EncoderParm.qVelMech; | ||
+ | *data++ = PIParmD.qOut; | ||
+ | *data++ = PIParmQ.qOut; | ||
+ | </pre> | ||
+ | |||
=Sensors= | =Sensors= | ||
− | * SG1 (torque) -> SG channel 1 (2.0k, 500x) | + | * Hall sensor : AN12 -> PB12 -> adc_0 |
− | * SG2 (compression) -> SG channel 2 (8.2k, 122x) | + | * SG1 (torque) -> SG channel 1 (both U1, U2 : 2.0k, 500x) -> PB0 -> adc_1 |
− | * SG3 (series) -> SG channel 3 (5.9k, 170x) | + | * SG2 (compression) -> SG channel 2 (U1: 500x ; U2: 8.2k, 122x) -> PB1 -> adc_2 |
+ | * SG3 (series spring) -> SG channel 3 (U1: 500x; U2: 5.9k, 170x) -> PB2 -> adc_3 | ||
+ | |||
**INA326 gain : 2 * R2/R1 = (2 * 500k/xx) | **INA326 gain : 2 * R2/R1 = (2 * 500k/xx) | ||
=AKCPU2Z Modifications= | =AKCPU2Z Modifications= | ||
− | * JR1 is in position in 2-3 | + | * verify JR1 is in position in 2-3 |
− | * RB1 | + | * change RB1 from 470 ohm to 0.0 ohms. - this is to power the strain adapter board |
+ | * U1 has 2.0k resistors for all 3 SGs | ||
+ | * U1, M7 has replaced RDP1 with 2.0ohm 0805 | ||
+ | * M6 needs dspic replaced | ||
+ | |||
+ | =UPSG1= | ||
+ | *U1-U3 populated with 4.096V reference, X60003CIG3Z-41T1CT-ND | ||
+ | *Jumper wire between PO1.1 and PO1.9. This bridge the SG.REF signal that didn't get routed | ||
+ | *The PCB has two 1K resistors (1st and 2nd) that bridge REF+- to S+. | ||
+ | *350 ohm resistor across PO1.12 and PO1.11. This resistor (3rd) bridges REF- and SG-. (pins 4 and 3) | ||
+ | *The 4th bridge resistor connects REF+ and SG- (pins 1 and 3) | ||
+ | |||
+ | =[http://scripts.mit.edu/~biomechatronics/wiki/index.php?title=BLMD6C BLMD6C]= | ||
+ | *more details for uprights here. | ||
+ | |||
+ | |||
+ | =Software Modifications= | ||
+ | * QEI changed from 4x to 2x mode as: | ||
+ | ** 1) encoder has higher resolution | ||
+ | ** 2) gear ratio is higher. | ||
+ | ** even in 2x mode, max planterflexion results in count of -27k, close to limit of -32k | ||
+ | * qei.c modified to support both 2x and 4x modes, qei.c needs AK consts. | ||
+ | * timer3.c modified to change sign of motor encoder. | ||
+ | * statemachine.c modified to not have initial dosaflexion | ||
+ | |||
+ | = assembly revisions= | ||
+ | == BLFT6C == | ||
+ | * I3, I4 : installed zener to protect ADC when temp sensor is absent. | ||
+ | |||
+ | == BLMD6C == | ||
+ | * I3 : replaced RX1,RX2 each with a 3.0 ohm in parallel with 4.7 ohm in 0805 packet. Existing 2ohm-0603 failed periodically. | ||
+ | |||
+ | |||
+ | =dataport= | ||
+ | [http://scripts.mit.edu/~biomechatronics/wiki/index.php?title=Lantronics_WiPort Wiport] | ||
+ | |||
+ | |||
+ | ==packet== | ||
+ | * 2 bytes sync | ||
+ | * 2 bytes field widths (several fields with a byte total 'n') | ||
+ | * 1+n bytes of data | ||
+ | * |
Latest revision as of 03:47, 8 October 2009
Contents
prototypes
UPD
- MOT filter : 1 eee 888 0 4000 (also 2 eee)
- special 1111 - encoder
- spc 1030 - 1033, read D, Q k,i
- spc 1020 - 1023, set Dk Qk, Di Qi
PSER to FUP
- The PSER board can interface to the FUP with the correct cable:
- Need 5 pin 1.25 mm
- Pin3 (GND) of PSER -> Pin5 of FUP
- Pin9 (Tx out) of PSER -> Pin 2 of FUP
- Pin10 (Rx in) of PSER -> Pin 3 of FUP
PFmon
special 1106:
Motor encoder
special 1111:
*data++ = ParkParm.qIa; *data++ = ParkParm.qIb; *data++ = ParkParm.qId; *data++ = ParkParm.qIq; *data++ = OpenLoopParm.qAngFlux; *data++ = CurModelParm.qAngFlux; *data++ = EncoderParm.qMechAng; *data++ = EncoderParm.qVelMech; *data++ = PIParmD.qOut; *data++ = PIParmQ.qOut;
Sensors
- Hall sensor : AN12 -> PB12 -> adc_0
- SG1 (torque) -> SG channel 1 (both U1, U2 : 2.0k, 500x) -> PB0 -> adc_1
- SG2 (compression) -> SG channel 2 (U1: 500x ; U2: 8.2k, 122x) -> PB1 -> adc_2
- SG3 (series spring) -> SG channel 3 (U1: 500x; U2: 5.9k, 170x) -> PB2 -> adc_3
- INA326 gain : 2 * R2/R1 = (2 * 500k/xx)
AKCPU2Z Modifications
- verify JR1 is in position in 2-3
- change RB1 from 470 ohm to 0.0 ohms. - this is to power the strain adapter board
- U1 has 2.0k resistors for all 3 SGs
- U1, M7 has replaced RDP1 with 2.0ohm 0805
- M6 needs dspic replaced
UPSG1
- U1-U3 populated with 4.096V reference, X60003CIG3Z-41T1CT-ND
- Jumper wire between PO1.1 and PO1.9. This bridge the SG.REF signal that didn't get routed
- The PCB has two 1K resistors (1st and 2nd) that bridge REF+- to S+.
- 350 ohm resistor across PO1.12 and PO1.11. This resistor (3rd) bridges REF- and SG-. (pins 4 and 3)
- The 4th bridge resistor connects REF+ and SG- (pins 1 and 3)
BLMD6C
- more details for uprights here.
Software Modifications
- QEI changed from 4x to 2x mode as:
- 1) encoder has higher resolution
- 2) gear ratio is higher.
- even in 2x mode, max planterflexion results in count of -27k, close to limit of -32k
- qei.c modified to support both 2x and 4x modes, qei.c needs AK consts.
- timer3.c modified to change sign of motor encoder.
- statemachine.c modified to not have initial dosaflexion
assembly revisions
BLFT6C
- I3, I4 : installed zener to protect ADC when temp sensor is absent.
BLMD6C
- I3 : replaced RX1,RX2 each with a 3.0 ohm in parallel with 4.7 ohm in 0805 packet. Existing 2ohm-0603 failed periodically.
dataport
packet
- 2 bytes sync
- 2 bytes field widths (several fields with a byte total 'n')
- 1+n bytes of data