For FRC, it probably doesn’t matter, just get and encoder in there…
So for discussion purposes, what are you trying to measure? Seeing this is a drivetrain, probably distance. So if you put the encoder on the wheel axis, you are limiting your electrical accuracy, as the final distance per count, will be the largest… Say you have 100 count per rotation encoder, and 7.75" pneumatic wheel, roughly 24" circumference, 100 counts per rotation, each count equals a 1/4". So you can’t position the wheel any finer than a quarter of an inch. But hey, in FRC if you can put a bot within a quarter of an inch you are typically fine.
Mechanically, what is happening if you place the encoder on the wheel axis, you have eliminated any gear mesh slop, errors, backlash, so mechanically, putting the encoder here, will be the most accurate mechanically.
If you move the encoder to the motor, like the cimcoder, now your distance calculation is going through a gearbox, there may be multiple stages, backlash, etc. that is generating an error between what the motor shaft is doing and what the wheel axle is doing. Say your gearbox 15:1, so the encoder distance at the motor, is now 0.24" divided by 15 or 0.016" per encoder count. Sounds more accurate, electrically, but mechanically you probably have more than 1/4" of backlash in the geartrain, (hold the motor shaft, and wiggle the wheel back and forth.) now when the programmer tells the motor to stop at 1000 encoder clicks, all of that backlash is an error in stopping. Do you have a two speed transmission? Now you programmer needs to know what are the different gear ratios, and what gear the bot is in to keep track of the distance traveled. Did you want to switch gears, during auto, now there are errors when the controls tell the gear to switch, and when the pneumatics actually switch the gears.
Can you do it with a CIMcoder, yes. Will it be better than nothing, Yes… You want to make it easier on your programmer, so they only need to deal with one distance per count calculation, put the encoder on the wheel axle shaft.
There is another drawback of putting the encoder on the motor, is you need to be aware of how many counts per second, your controller can handle. If you are counts are being generated quicker than you can process them, you miss counts, and all bets are off. In FRC with the roborio, this is pretty much a mute point now, but it is a design consideration in industry, and it is dependent on the controller used.
So if you are using a roborio, we used a cimcoder on our shooting wheels last year, and was fine. If you are using the Talon SRX to handle the counts, we also used the 775pro and vexpro versaencoder at 1:1 and was find too… 14,000 rpm and 4096 counts per rev… no missed counts. (engineer close enough to control as expected)