MEC-02: A servo's full range - 300 degrees instead of 270
- Your robot needs: any robot.
- Starter bots that fit: goBILDA starter bot, REV DUO starter bot, AndyMark Robits starter bot, Studica starter bot.
- Library version: v0.17.0 or newer.
- The docs it tests: Hardware module, Finding your numbers (the finders).
Why
The hub sends a servo a pulse from 600 to 2400 microseconds for positions 0 to 1. Most FTC servos take 500 to 2500, so part of their turn is never used: a goBILDA 2000 servo turns 270 of its 300 degrees. .fullRange() sends the whole range. The numbers come from the sellers' pages; we want them checked on real servos.
Safety
- Take the servo off its part (or free its linkage) for steps 1 to 4: at full range it turns further and can push on a stop.
- Listen for a humming servo: a servo pushing on something. Back off at once.
Setup
- A servo on a REV hub (Control Hub, Expansion Hub or Servo Hub) with a horn and a mark on it.
- The Servo Finder OpMode, and a phone angle app or a printed protractor.
- The seller's range for your servo (goBILDA 2000: 300 degrees over 500-2500 us; REV Smart Robot Servo: 270; Axon MK2: up to 360).
Steps
- Start the Servo Finder. Choose the servo (do NOT press Y). Go to 0, measure the angle. Go to 1, measure. Write the difference.
- Stop. Start it again and press Y while choosing the servo (full range). Go to 0 and to 1 again. Measure.
- Compare both with the table: normal range about 90% of the seller's, full range about all of it.
- Put the servo back on its part. Add
.fullRange()to the part's line inRobot.java(for exampleClaw.servo("claw").fullRange()). Measure its positions again with the Servo Finder (Y on) and copy the new numbers intoTunables.java. - INIT your TeleOp: no note that the servo cannot change its pulse. Run the part to each position.
Pass rule
The normal range and the full range are each within 5 degrees of the table's numbers for your servo (2 of 2), and with .fullRange() the part reaches every position it was measured at (all of them).
Record
Write these down while you test. The report form has them as a list to fill in.
- servo model and the hub it is on
- the angle from 0 to 1: normal range, full range
- the positions before and after (they change with the range)
- any INIT note about the pulse range
If your robot is different
A servo on something other than a REV hub cannot change its range: INIT says so and nothing changes; report that. An Axon or REV servo programmed to a smaller range turns less: say how it was programmed. A servo turret or hood has .fullRange() too (TUR-03, HOOD-01).
Report your result
Pass, fail, or could not run: every result helps. The form opens on GitHub with this test filled in (a free GitHub account is needed). No student names, please.
Report resultNo reports for this test yet: yours would be the first. Every test's reports.
All tests · Next: AUTO-01 Choose the start spot in the INIT menu
Something wrong on this page? Tell us with a short GitHub form.