We are having a problem with coding the controller buttons for the robot, the flywheel rpms decrease when we code the controller to the robot. If anyone has comments or pointers please fill me in.
Are the controller buttons interacting with the flywheel at all inside the code? Usually, it shouldn’t affect the rpms at all. Also, is it might not be a programming issue, maybe just a coincidence.
I noticed that when my students used the controller buttons in the devices menu, it wasn’t pushing full power to the motor. The devices menu, I think, sets it so that the button will put the motor at 60 RPM, instead of the motor’s full 125 RPM no-load-speed. I could be wrong, but I did take a video of four motors: #1 running from the Devices Menu controller button, #2 running from a loop in the code blocks, and #3 & #4 running from a 2-motor drivebase setup in the devices menu.
When you see the video, it’s pretty clear that the slowest is the Device Menu button. The faster motor is the one running a loop code that has the blocks “spin motor 2 forward” and “set motor 2 velocity to 100%.” I can link the code if necessary in a reply. The motors set up as a drivebase, #3 and #4, can throttle up to 100% power, down to the level of the slower motor, and down further to 0 and then to the backwards direction.
You can use the Events tab in conjunction with the Motion tab to make this a practical solution. Lemme know if you’d like help with that!
We are working on programming a flywheel. We just started using Vexcode and are having problems getting the wheels to throw the balls once it grabs it. Can you give us some pointers? My students are losing all hope!
Can you provide more detail on what you mean by having problems throwing it once it grabs them? Videos can be very helpful for something like this.
Independent of that, some things to look at:
- Your axels going to the wheels look to be very cantilevered, which I expect is causing the wheels to wobble just from looking at the setup. Using some longer shafts that go all the way through the wheels, gears (that you’re using as a lock plate), and through each of the final movement gears (12 tooth), going down into a 2x2 beam or similar size beam that would allow the shaft to spin. I’ll try to get on my computer shortly and do some terrible drawing to try to explain what I mean.
- It’s hard to tell from the angles here, but I suspect you don’t have washers between moving pieces (like gears or rubber collars) where they would rub against the plastic. This will cause you lots of friction, which will result in speed loss from the whole system.
- I would really recommend using plastic spacers in many of the places you currently have rubber collars, or at least make sure you have washers on either side of the collars where they are sandwiched between plastic beams/plates.
Obligatory “I’m a software engineer, not an artist”
I’ve tried to demonstrate what this would look like for having a longer shaft go into a 2x2 plate, using MSPaint, so I hope this makes enough sense. This would be the same on both the left and right side:
Here is where you need to look at adding washers and spacers:
Spacers in green, highlighting the length of the shaft that you want to fill up with spacers (and maybe washers if there’s not enough gap for a full spacer. This prevents the gears from slipping down and disengaging when the ball does start going through the system.
Washers in red, basically as I described in my previous post, at least 1 washer between two plastic pieces that would be in motion against each other (e.g. a gear and a plastic beam). If two pieces are moving together (e.g. a 12 tooth and 36 tooth gear smooshed together on the same shaft), then you don’t need a washer in there, unless you need to maintain spacing.
Hope this helps!
You might want to add a plate that protrudes out of the end of the flywheels to give the ball a little more direction on where to shoot, like this:
You should also probably add shaft support like @EngineerMike mentioned. In out flywheels we made sure that all of the shafts were attached to a solid structure in at least 2 places per shaft. The reason you want to do this is that flywheels spin really fast and if the shafts are not properly supported then things could break, or at the very least, bend. This can cause a lot of friction and therefore the flywheels slow down. You should try to use metal shafts everywhere on flywheels, if you use plastic ones, they will probably be okay in a pinch, but they might bend of break if you use them for too long.
In Vexcode, you should make sure that the flywheel motors are set to 90-100% velocity (110-127 rpm) and 90-100% torque. You should also make sure that your flywheel motors are set to coast. If you don’t set them to coast then it is very bad for the motors and they may burn out.
It would be helpful if you could post a video or some of your code as well. Hope this helped!
So they have worked on this for hours! They realize the problem is with the gears! They finally have the wheels going in the correct direction and the wheels will throw the ball. The problem now is they need more speed. The ball is barely being thrown. I’m at a loss!! I tried to upload a video but it won’t let me so I have included pictures again. I know they need to add washer between the gear and plastic but I don’t think that is going to do anything for the speed. Any additional help you can give would be appreciated!
You need to increase your gear ratio, which probably means you’ll probably have to move the motor more towards the center of the two wheels.
Friction is a fatal beast, I thought the same as you until it was the reason why my robot could not drive.
We have changed the gears and we have the wheels going in the correct direction but now the motor isn’t going fast enough. We even put two motors. We just need speed now!
Try Gearing it down, Having a large Gear (64 tooth potentially) Driving a smaller gear will give you more speed at the cost of torque
I think you or your team still missing the concept of gear ratios. Have your team watch this video. Should start making sense of how to tackle the issues. I hope this helps.
- Motors don’t have infinite power. That’s just a fact of life.
- If you gear for speed, you lose torque. It will take your flywheel longer to “spin up,” or accelerate.
- If you gear for too little speed, your balls simply won’t go far enough.
- Friction is very bad and important. Everywhere two things move next to each other, washers and spacers. If two beams are moving next to each other, use two washers. Beam next to a gear, one washer. Two gears on the same axle, nothing; the gears are spinning together and hence aren’t rubbing. Two spacers are the thickness of one beam. If you have beam-two spacers-beam, you still need two washers in the spacer stack.
- Keep your batteries fully charged. Have a loop that prints the battery level. When it reaches ~90%, get new batteries.
when started: forever: clear screen print battery %
Gear for more speed. That is the only way short of adding motors.
Also. Keep in mind speed is one thing but one thing that I see other teams overlook is the amount of compression on the balls itself. Finding the ideal compression or space between flywheels will be key for consistent shots. Having that said, our team gave up on flywheel designs really early in the season because of slow cycle times and unsatisfactory consistency.