|
|
|
![]() |
|
|||||||
|
||||||||
Procedure for embedding a hall-effect gear tooth sensor within the input stage of a VexPro VersaPlanetary gearbox.
A procedure for adding a hall-effect gear tooth sensor within the input stage of a VexPro VersaPlanetary gearbox. Requires modification of several inexpensive COTS parts; these modifications can be done by any moderately-capable FRC team in a reasonable amount of time and without use of external machining resources. This results in a robust encoder "stage" which performs comparably to a high-quality optical encoder, but for approximately 1/3 the cost.
Versaplanetary gearbox rev2.pdf
09-04-2015 03:58 PM
AllenGregoryIV
This is pretty great. A little mad I never came up with this one.
Using the space where the bearing used to be is a great choice. The bearing was removed in the 2nd year because it was causing some misalignment issues since that bearing would have been the third bearing in the VP assembly including the two in output section.
Added
Any reason you couldn't use the 30 tooth gears in the VP dual input stage adapter? They have an OD of right at 1 in and spin freely in that space. The teeth are a bit smaller but I don't see anything in the sensor spec sheet to prevent it from working. You would also get a bit more resolution by going up to 30 teeth.
I think you could make 3 of them form this $10 kit.
Also were you running the sensor at 12v or 5v?
09-04-2015 05:55 PM
marshallOMG awesome sauce!!!!
09-04-2015 06:39 PM
Nate Laverdure
|
Added
Any reason you couldn't use the 30 tooth gears in the VP dual input stage adapter? They have an OD of right at 1 in and spin freely in that space. The teeth are a bit smaller but I don't see anything in the sensor spec sheet to prevent it from working. You would also get a bit more resolution by going up to 30 teeth. I think you could make 3 of them form this $10 kit. Also were you running the sensor at 12v or 5v? |
09-04-2015 06:49 PM
AllenGregoryIV
|
This sounds like a good idea, I hadn't considered it.
We ran the sensor off regulated 12V from the VRM. |
09-04-2015 08:44 PM
DampRobotI don't post here a lot any more, but I wanted to say congratulations. This is a really awesome design, and brings together so many of the principles I love in good FRC designs: low parts counts, using COTS parts, compatibility with existing systems, etc. A VP planetary with an encoder really has been a holy grail in my mind for a while, and you guys did it (well, did it and then posted it).
I worked on a couple of designs for stuff like this, like an encoder in a hex bearing package, but never got anything as elegant as this. I wish I'd thought of this or that this design had been around in my 100 days.
09-04-2015 10:19 PM
GeeTwo
| these modifications can be done by any moderately-capable FRC team in a reasonable amount of time and without use of external machining resources |
09-04-2015 10:24 PM
AdamHeard
|
Well, it's certainly clear that our team is not yet moderately-capable! (I'm not entirely sure that our mentors are, but I'd give us a 50/50 shot at it, after spending a few more thousand dollars on tools that we never let a student touch.)
|
09-04-2015 10:24 PM
AllenGregoryIV
|
Well, it's certainly clear that our team is not yet moderately-capable! (I'm not entirely sure that our mentors are, but I'd give us a 50/50 shot at it, after spending a few more thousand dollars on tools that we never let a student touch.)
|
09-05-2015 04:55 AM
cbale2000Wow, very cool way to add an encoder. I hope Vex seriously considers adding something like this as an option for VersaPlanetarys in the future.
The only concern I have (aside from the potential issues others have already pointed out regarding high RPM applications) is that, though this setup does track rotations at the motor, it isn't fault tolerant if some other part of the gearbox breaks.
One of the nice things about most gearbox-mounted encoders is that they are usually connected directly to the output shaft and show its actual rotation (short of a shaft failure, I suppose). With this, if you strip (or partially strip) a gear, the sensor has no way of detecting or compensating for it. Granted, I have never experienced this failure mode on a VersaPlanetary (actually, the only failure I've ever had with one was the input coupler itself), but it seems like it could be plausible.
Or I could just be paranoid. 
09-05-2015 06:12 AM
GeeTwo
09-05-2015 08:01 AM
Nate Laverdure
|
it might be more efficient (especially if you were to put this into production) to start with 3/16" steel plate (or even better a thick washer) and cut the teeth. The teeth could also then have a more rectangular encoder-like shape.
|
|
I'd give us a 50/50 shot at it, after spending a few more thousand dollars on tools that we never let a student touch.)
|
09-05-2015 10:09 AM
Michael HillThis is fantastic. I had an idea very similar a couple of years ago, but it never amounted to more than thoughts in my head. We've got enough Versaplanetary spare parts, we should be able to try this out. Also, I loved the nice touch of using the potting compound.
09-05-2015 12:49 PM
asid61AWESOME! This is an amazing modification! A VP encoder stage without adding extra space is amazing! It seems a bit tricky to do right now, but not to the point that it can't be done. I'll have to try this on our mill.
EDIT: The Talon SRX has 80,000,000 / CPR maximum RPM. So 80,000,000/ 30 = 2,666,666 max RPM. I think we'll be fine as far as counting ticks goes.
Does the sensor sense direction? It appears to have a quadrature detection scheme, but I was not sure.
EDIT2: For the CRIO, Ether mentioned that the max polling speed for a quadrature encoder is 2,129 RPM for a 360 CPR encoder in the worst-case scenario. For a 30CPR encoder like we have here, that's 25,548 RPM max. That should be compatible with your typical FRC motor.
09-05-2015 03:52 PM
Nate Laverdure
|
Nate, Both optical [US Digital S5] and the Hall effect [Allegro] sensor were powered with the 5V from the RoboRIOs DIO ports. There was another question about sensing direction - yes the sensor has both A and B channels going to the DIO just like a quadrature sensor. |
09-05-2015 05:49 PM
Joe Ross
|
As I'm still looking at this, does anyone know the max encoder rate for the roboRIO and Talon SRX? With 21 or 30 counts/rev at 20000+ RPM we may be coming pretty close to or surpassing that spec. For the cRIO I think we are over the spec. For lower speeds it would be fine and we could also possibly remove some teeth, but I'm not sure how easy that would be.
|
09-05-2015 06:00 PM
AdamHeard
|
The RoboRIO samples faster and has much higher bandwidth then the cRIO. 30 cpr at 20,000 rpm is still well within the capabilities of the roboRIO.
|
09-06-2015 08:37 AM
GdeaverGreat work. Inspired to look at this sensor for our swerve module. Question. How were the pull up resistor and caps added?
09-06-2015 12:00 PM
Monochron|
All lathe operations were done on a machine that I picked up off Craigslist for $200.
|
09-06-2015 04:57 PM
Nate Laverdure
|
What brand/model of lathe is that? We have been looking for a good one second hand but size is our limiting factor right now :/
|
09-06-2015 07:01 PM
asid61|
It's a Chinese 7x10 similar to Harbor Freight 93212. I've since rebuilt it as a 7x16 with a number of other modifications, but stock it would have been able to do this job just fine. They sell new for $550.
|
09-14-2015 07:13 PM
AllenGregoryIV
We just posted our version of this modification to our blog.
We haven't got to play around with it to much yet but we did hook it up and check that the system was getting good distance values from the encoder.
We made several substitutions to reduce the overall cost of this setup. Each additional gearbox modification for us should only be around $10.
09-14-2015 10:28 PM
Ryan Dognaux
|
We just posted our version of this modification to our blog.
|
09-15-2015 11:06 AM
AllenGregoryIV
|
Getting a lot of broken images on the blog post. The read through part looks awesome though, can't wait to see all the pictures
![]() |
09-15-2015 11:23 AM
Nathan StreeterExcellent work!
I'd love to see someone (VexPro?!) sell one of these... it'd be really great to not need to make a part year-after-year just because it's not sold when it'd be so widely useful.
09-15-2015 11:30 AM
Nate Laverdure
|
We just posted our version of this modification to our blog.
|
09-15-2015 11:56 AM
Monochron|
Had we suspended the sensor in a flexible potting compound like RTV, we were worried about the effects of the induced vibration.
|
09-15-2015 11:56 AM
Monochron|
Had we suspended the sensor in a flexible potting compound like RTV, we were worried about the effects of the induced vibration.
|
09-15-2015 11:56 AM
AllenGregoryIV
|
GREAT improvements! Thanks for the excellent documentation.
As far as epoxy vs RTV silicone: We were going to use RTV at first, but after a short debate we chose a potting epoxy that my professional colleagues use. The internal magnet(s?) within the Allegro package are quite strong, and when the steel gear is nearby there is a significant attractive force between them. It's probably a dynamic force as the gear rotates. Had we suspended the sensor in a flexible potting compound like RTV, we were worried about the effects of the induced vibration. |
09-17-2015 11:25 AM
Ryan Dognaux
This is great. I'm adding it to our projects to try in the off-season. We use VersaPlanetary gearboxes everywhere that we can for their small form factor, ease of use and ability to modify gear ratios as-needed. Integrating sensor feedback into that package would be absolutely huge for a team like ours.