Upright
From DIDEAS Wiki
Contents
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 ankle 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