Motor Controllers - quasics/quasics-frc-sw-2015 GitHub Wiki

Combining several pages to make them easy to find. Raymond Healy compiled the information

TODO: Comparison table

Jaguar (Motor Controller)

The VEXpro Jaguar motor controller (now discontinued) is (obviously) a motor controller. Larger than any other type employed by Quasics, it can communicate with the RoboRio over PWM or over the CAN Bus. Usually a last choice in terms of motor control for its increased footprint, and the fact that it is no longer sold, but still an old, reliable tool if it is needed.

Other Resources

SPARK (Motor Controller)

The REV Robotics SPARK motor controller is (surprise surprise) a motor controller. The SPARK is designed by FRC veterans with FRC in mind. The SPARK has built in limit switch support, allowing you to plug limit switches to force the motor to cut power without the need for a full soft or hard stop to be built in.

Sonic Raymond Sez

The SPARK is clearly designed to be an improved successor to the Talon SR, continuing its legacy as one of the most reliable, durable, fan-less, low footprint, lightweight motor controllers. We are moving towards using them as a dominant motor controller type as of the 2017 season.

Useful Links

The SPARK MAX from Rev Robotics is a member of the SPARK motor controller family, which can support both "brushed" and "brushless" DC motors, and supports PWM, CAN, and USB connectivity.

The USB interface (USB-C) is largely for configuration and control, allowing teams to test prototypes and tune controller settings without having to write full-scale code.

Other features include:

  • Smart control modes
    • Closed-loop control
    • Follower mode
  • Data port
    • Analog input
    • Limit switch input
    • Quadrature encoder input with index
  • Brushless DC sensor connector
    • 3-phase hall sensors
    • Motor temperature sensor

Important safety tips

  • Spark Maxes cannot be used safely to control brushless motors without also ensuring that the encoder cables are connected between the motor and controller. (We saw evidence of this while debugging a bad motor/controller on the drive base in 2022, when we "let the magic blue smoke out" of the motor; we later found a warning about this in the documentation.)

Additional comments

The SPARK MAX was first deployed by the team on our test bed platform as we prepped for the 2020 build season. We paired each with a NEO Brushless Motor and used CAN for wiring, and found that we got significantly faster performance than in previous iterations (which used brushed motors).

We subsequently used them as the drive motors for our robots in 2020 (Nike), 2021 (Mae), and 2022 (Sally), as well as for the shooter and climbers on our 2022 robot.

Sometimes the Rev Client Will not be able to see the Spark Maxs. If this is the case, power off so nothing interferes, plug in from spark max into laptop via usb c and update individually

Useful URLs

Victor Motor Controllers

yolo

The Victor Motor controller is a discontinued motor controller once produced be VexPro. Simple, reliable, and with active cooling from the small computer fan on standoffs above the main circuitry, powered from the battery leads

Useful Links

Talon SR (Motor Controller)

The (sadly discontinued (rip in peperoni)) Talon Motor Controller is a motor controller (no kidding, I never would have guessed (shut up you)). Simple, lightweight, fan-less, durable, reliable, and with a small real-estate requirement on the robot, the Talon was the primary choice, and is a tied contender with the SPARK Motor Controller for main use, being phased out as time marches steadily onward.

Other Resources

The Victor SPX motor controller is part of the Victor product line from Cross the Road Electronics, and supports both PWM & CAN, as well as including many features from the Talon controller line (including voltage control and closed loop position control). It was co-developed by VEX Robotics and CTRE, and is 10% smaller and 25% lighter than the Victor SP.

vsx_pic1__88956 1623362278

Programming

  • When wired using PWM, the Victor SPX is controlled using standard WPILib classes, such as the frc::PWMVictorSPX C++ class.
  • When wired using CAN, the Victor SPX is controlled using the ctre::phoenix::motorcontrol::can::VictorSPX C++ class, which is included in the CTRE APIs (available here).

Useful links

This is a page designed to walk(the reader) through how to change motor values for all functions of the Robot. These will be the values directly linked to the controllers used to control the robot's functions.

  1. At the competition the radio will need to be connected to via ethernet cable(from the radio to the laptop)
  2. Open the 2022 WPILIB VS CODE, if the Rapid React Code isn't open do the following: 1
    1. Click on File 2
    2. Open Folder
    3. In the file explorer navigate to the desktop and find the folder names either "Robotics", "Quasics" or something along those lines 3
    4. Naviage to folder named "Quasics 2022 Code" 4
    5. Select the folder named "Rapid React" 5
    6. Click the open folder, then 6
  3. Click on the following drop downs:
    1. Src 7
    2. Main 8
    3. Include 9)
  4. Click on the file called "FORCOMPETITIONRobotConstants.h" 10
  5. Change whatever values that need to be altered
  6. Click on the following icon(the white "W" with the black background and red outline) 11
  7. In the search bar begin typing "Build Robot Code", Select that option
  8. Once the Robot Code Builds, Click on the following icon(the white "W" with the black background and red outline). IF THE ROBOT CODE FAILS TO BUILD, CLICK SOMEWHERE IN THE FILE AND SPAM CONTROL Z UNTIL ALL CHANGES ARE REVERTED
  9. MAKE SURE YOU ARE CONNECTED TO THE ROBOT VIA ETHERNET, in the search bar start typing "Deploy Robot Code", Select that option
  10. Once the Robot Code deploys you may disconnect the ethernet cable from the RoboRio and YOU ARE ALL SET!