Ammeter

Giving teams a way to measure the amount of current going to a motor could be extremely useful in numerous situations, and would also help teach at least basic electrical principles which seems largely to be lacking in VEX.

I can think of several uses for such a sensor:

Ensuring the current sent to a motor isn’t enough to cause the PTC to trip or overdraw from the Cortex. This is fairly self explanatory, if a motor is drawing a lot of current for a sustained period of time, you want to turn down the power before a PTC gets tripped.

Detecting if a motor is actually connected. If there is zero current when the motor is set to 127, it’s pretty clear that something is wrong with that motor. Drive code could be written so that if one motor on the left side was to become disconnected/inoperable, the corresponding motor on the right side would automatically shut off so that the robot drives straight, albeit slower.

Telling if one motor is doing more work than the others. If one motor on my arm is drawing a lot more current than the others, it’s fairly likely that I’ve done something wrong assembling that arm, or that it got hit by another robot in such a way that a piece of metal is now pushing really hard on a gear it’s tied to, increasing friction.

Additionally, right now VRC tends to treat the electronics component of the robot as magic. The Cortex is a black box that you plug code into that causes motors to turn. The wires carry the magic from the black box of the cortex to the black box of the motors. If you get in a pushing match the magic black box stops working so well and the motors stop turning as fast because… magic? While more advanced teams may know that the PTC is the reason that the motors stop working after a pushing match, they still have no real way to interact with the system and get any meaningful data regarding the black boxes. By adding a sensor that can measure current, teams will have the opportunity to learn more about how the electronics powering the robot work (because doing so will help them be more competitive). Future mechanical engineers are learning mechanical principles designing the robots, future computer scientists are learning programming principles programming the robots, future electrical engineers really don’t have any good reason to learn electrical principles, because VEX has basically already done everything electrical for them.

https://vexforum.com/t/smart-motor-library/22282/1 – smart motor library

Try this. Most of the functionality you’re describing can be done with this. Although the current estimation in smart motor lib is not exact, it is helpful to have an idea how much power a motor is pulling from your battery. You don’t have to use the integrated PTC protection, because I personally prefer to write everything on my own. But there certainly is a reliable set of program that protects your motor PTC there working well already.

IDK, I think the cortex should be upgraded to have ampmeter for every single motor port. IDK if I’m being super impractical now because I probably am… but I guess that’s what you want.

While that could definitely be used for detecting stalls (and I’ve used an incredibly simplified version of that method in the past for that exact purpose), it couldn’t be used to detect if a wire had come unplugged from an arm (the dead motor would be turning at roughly the same speed as the operational one because the two motors are mechanically linked) or tell if one motor was doing more work than another.

I like this idea. You could either have it as part of a 2 or 3 wire cable that would have the meter integrated into it with a 3 wire cable coming out of it as the analog data.
Another way would be to have a clamp on meter that would go around a single wire. I do not know how the resolution would be with the lower voltage though.

This would allow students to learn basic principals of electronics. I agree that VEX currently treats these as black box components. Students know that if they type code (maybe knowing how coding actually works) that it makes motors on different ports do things. There is all of the firmware and hardware that does the actual work. Motors and sensors are also black boxes because you just know a sensor returns something based on its environment, or a motor spins at a rate, but few students know the WHY.

We have used these sensors James Pearman showed in here:

https://vexforum.com/showpost.php?p=318273

And then you realize the smart motor library does the calculation for you…

But it’s fun to capture the data and graph it. I wish Vex made a legal sensor for this. You could then use current as a measured feedback element to limit your motors and reduce tripping.