Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Extra Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=68)
-   -   paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests (http://www.chiefdelphi.com/forums/showthread.php?t=109373)

Paul Copioli 06-11-2012 10:44

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
There seems to be some confusion regarding the input PWM signal period that VEX Robotics published. The 17ms input signal period in our documentation for the Victor 884 was the typical number used on the old IFI control system.

Both the Victor 884 and 888 can support (and has been tested to support) down to 2.1ms.

Sorry for the confusion.

Paul

Ether 06-11-2012 11:02

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 

Thanks for the info Paul. For completeness, do you know the minimum period that the Jag can support?



s1900ahon 06-11-2012 12:15

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Quote:

Originally Posted by Ether (Post 1193045)

Thanks for the info Paul. For completeness, do you know the minimum period that the Jag can support?


Unless Paul's team have changed it, the minimum PWM period for Jaguars is 5 ms (i.e. 200 Hz). This coincides with the cRIO capabilities. Jaguar was designed to work specifically with the cRIO for FIRST.

A period faster than 5 ms is great, but doesn't provide any benefit for FRC applications (unless jhersh updated the FPGA and I didn't get the memo).

-Scott

Paul Copioli 06-11-2012 12:24

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Scott,

We did not change it. It is still 5ms.


All,

To be clear, we did not do anything new with regards to the PWM input on the Victor 888. It has always been 2.1ms on the 884, but we just did a bad job documenting that fact.

Paul

Mike Copioli 06-11-2012 12:27

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
The Talon input is interrupt driven so it can be updated at ~2.1 ms. We published 3 ms to add conservatism for variations due to calibration points and non standard pulse widths.

If the input pulse produces a rising and falling edge the Talon will process it.

Ether 06-11-2012 12:40

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Quote:

Originally Posted by Paul Copioli (Post 1193057)
All,

To be clear, we did not do anything new with regards to the PWM input on the Victor 888. It has always been 2.1ms on the 884, but we just did a bad job documenting that fact.

Paul

Paul, would it be useful to ask the folks at WPILib to change their 884 (and future 888) driver to use a period of 5ms instead of 10ms? I realize it probably makes little difference in the vast majority of cases, but there may be teams who want to close a loop at 10ms.



apalrd 06-11-2012 13:12

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Quote:

Originally Posted by Ether (Post 1193060)
Paul, would it be useful to ask the folks at WPILib to change their 884 (and future 888) driver to use a period of 5ms instead of 17ms? I realize it probably makes little difference in the vast majority of cases, but there may be teams who want to close a loop at 10ms.



The current PWM setup in WPIlib (at least in LabVIEW) is a PWM output with a 5s period and a 'period multiplier' of 1,2 or 4. It's enumerated, so 1x, 2x, and 4x correspond to 0,1,2 respectively (I don't think you can add more multipliers if you want).

The Jaguars use a period multiplier of 1, for a 5ms period. The Victors use 2, for a 10ms period. Servos use 4, for a 20ms period, and raw PWM channels can use whatever they want (of the three choices).

All it takes to add a new motor controller (in LabVIEW) is to duplicate one of the Open blocks and change the scaling and period multiplier parameters. The Write and Read blocks will adhere to the scaling set in the Open block, and the drivers will use the period multiplier set as well.

However, the fact that the driver (in LabVIEW) uses uint8's to store full-range pulse position, so the uint8 stores the widest pulse that the library can generate and devices using a narrower range perform the scaling before converting to uint8 essentially makes the uint8 sent to the fpga the bottleneck for resolution on the entire pwm output system. So, added input resolution on any new devices (e.g. 10bit internal vs 12bit internal) makes no difference due to the 8bit limit of the library.

Looking at the library (specifically WPI_PWMConvertDeadbandMillisecondTimeTo8Bit) it looks like the u8 is a number of DIO loop ticks to hold the pulse high, and the DIO loop runs every 261 ticks of the main clock (40mhz). That would make 40mhz/261ticks the smallest interval of a pulse change possible in the fpga.

I could be wrong, but that's what I get from reading the LV code.

Joe Ross 06-11-2012 13:41

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Quote:

Originally Posted by Ether (Post 1193060)
Paul, would it be useful to ask the folks at WPILib to change their 884 (and future 888) driver to use a period of 5ms instead of 17ms? I realize it probably makes little difference in the vast majority of cases, but there may be teams who want to close a loop at 10ms.



The Victor 884 class runs at 10ms. It's hard to tell from the comment if it was tested at 5ms.

Code:

    /**
    * kDefaultPwmPeriod is "ticks" where each tick is 6.525us
    *
    * - 20ms periods (50 Hz) are the "safest" setting in that this works for all devices
    * - 20ms periods seem to be desirable for Vex Motors
    * - 20ms periods are the specified period for HS-322HD servos, but work reliably down
    *      to 10.0 ms; starting at about 8.5ms, the servo sometimes hums and get hot;
    *      by 5.0ms the hum is nearly continuous
    * - 10ms periods work well for Victor 884
    * - 5ms periods allows higher update rates for Luminary Micro Jaguar speed controllers.
    *      Due to the shipping firmware on the Jaguar, we can't run the update period less
    *      than 5.05 ms.
    *
    * kDefaultPwmPeriod is the 1x period (5.05 ms).  In hardware, the period scaling is implemented as an
    * output squelch to get longer periods for old devices.


Ether 06-11-2012 15:00

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Quote:

Originally Posted by Joe Ross (Post 1193068)
The Victor 884 class runs at 10ms

Thanks for the correction. I will edit my previous post.



Joe Ross 06-11-2012 15:08

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Quote:

Originally Posted by Joe Ross (Post 1193068)
The Victor 884 class runs at 10ms.

And it's as easy to change as calling setPeriodMultiplier in C++ and Java.

Ether 06-11-2012 15:27

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Quote:

Originally Posted by Joe Ross (Post 1193085)
And it's as easy to change as calling setPeriodMultiplier in C++ and Java.

So the 884 could be run at 5ms. Do you know of any teams that have done this?



AlexH 06-11-2012 20:12

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
ether, can you share any info about the 888 such as operating voltage and amp rating?

Tom Line 07-11-2012 00:38

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Victor 888:

Nominal Voltage: 12V
Min/Max Voltage: 6-15V
PWM Input Pulse: 1-2 ms
PWM Input Rate: 2.1-500 ms
PWM Output Chop Rate: 1 KHz
Fan Voltage Range: 6V - 16V

No max current listing yet.

We'll be testing one to determine max current (failure current) over the next week along with a Talon.

billbo911 07-11-2012 01:09

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 
Quote:

Originally Posted by Tom Line (Post 1193137)
Victor 888:
No max current listing yet.

We'll be testing one to determine max current (failure current) over the next week along with a Talon.

Post video, or it didn't happen!

Ether 08-11-2012 11:13

Re: paper: Talon, Victor884, Victor888, and Jaguar speed vs torque tests
 


Links should be fixed now.

Here's an interesting visual. I wrote an awk script to read and convert the RPM vs Nm @ fixed IPW1 raw data into a family of closely-spaced RPM vs IPW @ fixed Nm curves and plotted it with gnuplot. You can really see the change in linearity of the 884 as the load on the CIM increases.

Also, FWIW, here's a graphic of the 884 driving a 1500 ohm resistive load. You can see how linear it is. The non-linearity (when connected to a motor) comes from the interaction of the (slow) frequency the 884's output with the motor's inductance.


1 input pulse width



All times are GMT -5. The time now is 11:29.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi