I think the answer depends on what factor the wheel rotation driver is using as the source.
IE - if it rotates according to the position of the airplane, then when the plane stops moving, the rotation should cease. I’m guessing you’re doing something else, though?
I think my solution would be to put the driver on an empty. Use a copy rotation constraint on the wheel, empty is the master. Then i’d keyframe the contraint influence to O, at the proper moment. And, add a single keyframe to the wheel so that it’s default rotation is correct at the switch point.
See attached file. The empty rotates from frame 0-30. The hex has a copy rotation driver, and at frame 21 the influence is keyed to O (off).
The hex also has a location constraint to lock it’s position to the null. This is done, instead of just parenting the hex, so that it’s rotation can be independent.
Why can’t you simply do this using “NLA = Non-Linear Animation?” Rotate is an “action” which you repeat until the instant that the rotation needs to stop.
Usually, in the CG world, you don’t have to simulate anything. It just has to happen – or, stop happening – at precisely the right time. For instance, instead of a steam piston driving a wheel as it does in a real-life engine, the keyframed rotation of the wheel drives the piston. And the result is exactly the same.
We once had to use “drivers” a lot, when we were limited in the number of things that we could actually “animate.” But, the so-called Animato project, years ago, changed all of that. Now, you can “animate anything.”
You can. The reason one uses a driver is because you can easily have the actual rotation linked to another relevant factor. For example, a car traveling 20 feet has a different wheel rotation total value than one traveling 187 feet.
So over a particular distance, using a driver can link rotation to distance correctly.
Just having an action that is “rotate 360 on a loop every 10 frames” can’t do that. The rotation speed might look completely wrong.