Benchtest users

From DIDEAS Wiki
Revision as of 06:55, 28 October 2009 by Ceb (talk | contribs)
Jump to: navigation, search

PF Users Navigation:

Edit

  • benchtest.py facilitates the running of tests and commands for the 217 and 218 boards.
  • the ESC key will abort any test.
  • benchtest.py -h brings up basic command line help.
    • -p <comm port>  : enter the COMM port number associated with the USB device connect to the SC. You may need to run device manger to locate it. On XP: Start, Run then type "devmgmt.msc"
    • -t <test name or number>
    • -T <seconds> : the time to run each of the test cycles.
    • -C <cycle count>
    • -n <repeat count>
    • -R <start[,stop,step] > : set the parameter range. Must be 1 or 3 numbers
      • Must be separated by comma and no spaces.
      • examples: -R 6
      • -R 3,6,0.5


Test Types

The -t option is used to specify the test type (or command). Either the text name or number may be used. When testing a new board set, start with test 1 and progress upward.

At present, the software does little to identify a failures.

phase

This 'test' places the controller into MODE 2, which is used to set the commutation phase and zero the encoder. After power up (or reset) must have the phase set before it can enter any other modes.

voltage

This test places the controller into MODE 6, which is known a voltage mode. The motor will generally spin a fixed speed, and will exert significant torque to remain at at that speed. The test is open loop and thus is a good first test to verify that the MOSFETs are working.

The voltage that is displayed assumes the supply is at 24.0V.

current

This test places the controller into MODE 3, which is known a current (or torque) mode. It uses the current sensors to adjust the voltage applied to motor to keep the current as desired. The robot operates in this mode.

This test will generate regeneration currents that can damage the controller (esp the voltage clamp). A large capacitor (0.1F eg 100,000mdf) or battery should be used to absorb the energy. In the future there may be a continuous operation clamp.

stress

Not complete.

reset_overload

This command will reset the overload flag. Generally if there is an overload, the program will report it.

set_clock

Uses the PC clock to set the real-time clock on the state controller.


A typical test

The first three tests should be run from a current limited power supply. The supply voltage should be set 'low' and the current limited until one is confident that the board set is at least somewhat good. Low here means 10-12 volts, and current limited to 0.5 amps. Increase to 24V and 2-3 amps as confidence increases.

We assume that COM PORT 57 is used in the following examples.

  • benchtest.py -p 57 -T 2.0 -t PHASE
    • verify that the motor is jumps to a fixed position and resists motion from that position
  • benchtest.py -p 58 -T 2.0 -t VOLTAGE
    • motor will move back and forth slowly (at first), the motor should exert significant torque if one attempts to stall it.

Run a very low current current mode test. This will not generate significant regeneration currents.

  • benchtest.py -p 57 -t CURRENT
    • motor moves back and forth and can reach the full speed of 7000-8000 rpm. Very little torque is felt if the motor is stalled.

Attached a battery (7 cells of A123) and have the power supply to set to 24.0V. Here we will start running current mode stress tests.

  • benchtest.py -p 57 -R 1,6,0.8 -t CURRENT
    • motor current starts at 1 amp and works up to 6 amps.
  • benchtest.py -p 57 -R 6 -t CURRENT -T 0.5 -C 20
    • motor back/forth with 6 amps