JMC Joint Motion Controller Complete guide to building
JMC – Joint Motion Controller Complete guide to building and testing each JMC
2 channel 24 v Motor Controller The motor controller is a flash programmable, compact servo driver that can be used for all of the power axes on the hubo. The amplifier stage contains the power electronics like the MOSFETs, filter capacitors, and current sensors. On the controller board, The Controller Area Network interface connects to the main computer, converting drive commands into servo output. The controller board reads the motor encoder and uses a PD loop for position control.
Soldering the PCB 5 5 1 3 3 1. 1 3 The density of parts and complexity of these circuits means that soldering and assembly has to be correct the first time. A good order to solder part is: 2. 3. 4 3 1 1 4 5 4. 4 5 5. Large, dense chips such as quad-flat pack Components with pads underneath the part that require a lot of room to reach Chip resistors, capacitors, and diodes by size: By only soldering one kind of part at a time, the chance of choosing the wrong one accidentally is reduced. Bulky components such as radial capacitors, MOSFETS, DC-DC converters, inductors, etc. Headers and connectors
Check Solder Joints Bad Joints – Look tarnished or dirty – Lack solder – Have a bubble-like appearance – parts crooked or tilted – have solder whiskers or bridges between pins • Pictures for each point (coming soon)
Check Solder Joints Good Joints – Have even distribution of new solder – Look shiny and clean – Are aligned with the pads – Have distinct edges • Pictures for each point (coming soon)
Connectors 1. 2. 3. 4. 5. 6. 7. 8. 9. Connector layout Encoder for Motor 1 (8 pins) Encoder for Motor 2 (8 pins) Pot 1 (ignore) Pot 2 (ignore) CAN Bus (2 pins) 24 V 12 V (do NOT plug 24 V here) Motor 1 Motor 2
Motors The leg joints use 90 W and 400 W motors to drive each of the 6 axes. Brush DC motors were chosen for their efficiency, as well as the simplicity of the controller. For testing, the rack of motors is connected to the motor driver outputs. An embedded computer identical to that in the HUBO sends test commands to each axis, verifying that the joint motion is accurate.
CAN Bus Operation • 2 wire differential signal • Address built into the signal to allow multiple devices on a common bus • NRZ data transmission (similar to RS 232) • (need to research further, w/ diagrams)
Testing Procedure In this section is the complete procedure for testing a board
Flash Programming 1. 2. 3. 4. Open Codewarrior IDE for Motorola processors Open file C: Metrowerks_workKHR_3_AL PHAJMCxxmotor. mcp Connect BDM (6 pins) to controller board, tilting it in the socket to contact all 6 pins (fiddle with this if necessary to get a good connection) Run ‘Debugger’ (4 th button) while BDM is connected (i. e. hold the connector in place with your finger)
Flash Programming 5. 6. 7. 8. Under the ‘ICD’ Menu, choose ‘Flash…’ to bring up the flash programming window. Select the FLASHC 000 (and ONLY that one) and press ‘Erase’ to clear the memory of old programs. Load the new flash program in folder binmotor. abs Hit ’Reset Target’, ignore the warning, and disconnect the BDM cable
Operating the Power supply • • The power distribution board connects to either the hubo's batteries or an external power supply. It delivers +/- 12 V, 24 V and 5 V to the motor controllers and sensors. Switches 1 and 3 are computer power; Don’t touch during Operation Switch 2 toggles power to the controller (12 V) Switch 7 controls power to the sensors (encoder, F/T) Switches 4, 5, and 6 are not used in this test
The Power Bus 12 V GND 24 V GND 12 V GND -12 V -
Joint Axis Testing 1. 2. 3. 4. 5. Turn Power Supply OFF Connect 24 V, 12 V, Motor 1, Motor 2, Encoder 1, Encoder 2, CAN Bus as shown Load Startrack Test program After verifying connections, turn on Power supply Press START to connect to CAN and begin issuing commands
Encoders 1. 2. 3. 4. Press CONTROL OFF to shut off power to the motors (for safety) Press Encoder Zero to reset encoder values Press Read Encoder to bring up the encoder data screen. While manually turning the servomotor, you should see the connected encoders readout change
Power Tests 1. Press ‘Open Loop Test’ 2. Enter a value in the speed textbox 3. Press ‘RUN’ and verify motor is turning. 4. Press ‘Motor Position Control’ 5. Enter a position for motor to seek and press Run
Future Additions • Troubleshooting a non-functional board • Schematics and functional diagrams • F/T sensor assembly (strain), F/T signal conditioner (there are no spares currently, so I need to wait for this part) • Connecting and operating the booster amplifier for the hip joint
- Slides: 17