OK,!Thanks @towen for the confirmation on the test setup. Putting some notes here for anyone who wants to reproduce. First, in concept, we set Axis_0 as a drag force in position control and we set Axis_1 as a drive force at a constant velocity. Axis_1 will use slightly more current than the drag motor to overcome the apposing current.
First, we made 2 x motor plates bolted to 40x40 v-slot rail. I’m sure the PETG enclosures we had previously above would be sufficient for lightweight testing but we wanted to have a robust setup. We have a shapeoko and were able to turn these out in about 30 minutes.
Gears, it’s actually hard to find 10mm ANSI gears so we bought these 3/8" ANSI 35 Sprockets from McMaster and used a drill press to bore out a 13/32 hole. We had previously done this with a hand drill and a jig so don’t be intimidated if you don’t have a drill press.
Fan, we’re trying to get a baseline test setup going so fan seemed appropriate to compare against other use cases we want to explore. This is a 75mmx15mm USB Blower Fan from Amazon plugged into a computer.
For the testing protocol, once each motor is calibrated and the chain is connected we are using the following commands in ODrivetool
// First do your lockin, make sure to do one at a time if your chain/belt is connected
odrv0.axis0.requested_state = AXIS_STATE_ENCODER_INDEX_SEARCH
odrv0.axis1.requested_state = AXIS_STATE_ENCODER_INDEX_SEARCH
// Set your drag current on Axis_0 and leave Axis_1 wide open
odrv0.axis0.motor.config.current_lim = 10
odrv0.axis1.motor.config.current_lim = 60
// Put both axis in closed loop control
odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
odrv0.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
// Set your drive axis to velocity control and start moving
odrv0.axis1.controller.config.control_mode = CONTROL_MODE_VELOCITY_CONTROL
// Use these commands to confirm current is being applied as expected
// Use these commands to monitor temperature from ODrivetool CLI
You can certainly log this with liveplotter, we don’t have a setup where liveplotter works so we use an arduino to pull these values and log over 10 second intervals for a predetermined time, typically 10 minutes. We’ll be using this rig to test a passive enclosure design once we have some best case baselines with the fans. Thanks all for your help.