Encoder on a driven shaft (not the motor)

Where can I find such info Madcowswe? That is really good info.

madcowswe was referring to my question, where I talk of a distant encoder that is driven by an encoder-less BLDC motor via a roller chain, so you are correct, we are indeed talking of chain sprockets. You could also change the question and ask what would happen if you had out-of-round or poorly manufactured timing belt pulleys that exhibit a cyclic error in transferred velocity and mounted the encoder on these pulleys instead of the motor.

Sounds like a recipe for disaster, tbh! Why wouldn’t you put the encoder on the motor? Or have two encoders, the motor one being used for commutation and velocity, and the load one used for position feedback only…
Also a single remote encoder would mean you cannot use any gearing on the motor, wouldn’t it?

Please read my post, it is all described in there. This is a thought experiment. If we had an ideal transmission that has infinite stiffness, no error in velocity scaling and no backlash, there would be no disaster as the transmission would act like a mechanical ‘scaler’ of the three-phase synchronous motor where the motor’s electrical revolutions needed for one geometric revolution would be multiplied by an integer that is the ratio of the transmission. Of course I completely agree with you that a “commutation encoder” and an encoder at the end effector would be ideal as is implemented in the RazorsEdge branch (sorry, I suppose ‘devel’) from what I understand, but I wanted to try and evaluate what the limits are because the dual encoders would of course use up the second channel. The point for me seems to be finding the sweet spot and figure out where this concept of a single encoder at the end effector (final output after gear reduction) falls apart, which I find interesting. A DC servo system may be advantaged in this specific thought experiment as it has no commutation demands from the controller side.

Again, I was specifically speaking of high-stiffness zero-backlash transmissions with waviness in motion and velocity scaling. This may be very interesting to explore because rotary transmissions that have high stiffness, are able to sustain very high torques, have zero backlash, are positively engaged and fixed with no slippage (no walking or drifting as with flat belts for example) and have very accurate scaling of movement are very expensive and often difficult to obtain as we are looking at flexspline (“harmonic drive”) reducers and rolling element (ball-gear) worm drive systems or other obscure solutions. If we remove the need for the immense accuracy in velocity scaling (and making it somewhat irrelevant by placing the master encoder at the end of the reduction chain), we may be able to achieve all the other aforementioned characteristics with a cost-effective transmission.

edit
PS: This all is, if we break it down, a thought that aims to ask the question if we can avoid ultra-low tolerance mechanical elements that are low-volume and/or specialty parts. Of course nothing is free and it means that a very good and high-resolution encoder will most likely be needed at the end effector.

Ah sorry, I should RTF(P?).
But perhaps you should have started a new thread, and simply linked to this one :slight_smile:

True in the current implementation, but it’s something I’d consider as almost a bug, or at least a bizarre limitation. There is no good reason for dual encoders to need to use up two channels when using SPI encoders, or a combination of SPI and incremental.

Harmonic drives do NOT have high stiffness, having worked with them considerably in the past, they are like having a large clock-spring in series with a high-reduction gearbox. The flex spline flexes a lot, including in torsion. We even used two harmonic drives connected to the same motor and output, but wound up tightly against eachother to try to counteract this springiness - just like you describe for your chain drive - but it was still a big problem.

Have a look into the drive systems of radio telescopes. IIRC they often use a flat high-tension stainless steel(?) belt, which is wound around both the dish mechanism and a drive wheel, in a kind of figure 8, where one loop of the 8 is much bigger than the other.

Ballscrew worm-drive? Maybe… If non-backdrivable, this may actually work! But in a backdrivable type, there would need to be some play between the elements to make it backdrivable I think?

All very well in theory, but in practice, just use a bloody encoder :stuck_out_tongue_closed_eyes: They are cheap! And it wouldn’t be a servo without one.

That is a very good point- I did just put these in the category I was roughly describing because these are considerations in this field, but they may not be a good example when it comes to isolated high stiffness characteristics. Also, high stiffness may be a vague term as you can get anything in larger versions when other aspects matter more (zero backlash for example). Normalized for volume there are stiffer solutions.

Well I am generally a big fan of super high tension flat belts because the pulleys can be made precisely so easily and the performance characteristics are just extremely good, but they can over time creep and you may lose the synchronization. So we could go back to the DC servo.

Right, the board has all the capabilities, hopefully it will be possible at some point.

Sorry to join the conversation so late. I have the exact same issue except using a 3:1 gear ratio. I found if I rounded I could get through calibration but using the above method I get pole_mismatch_errors. I would love to have just done something wrong. Could you give me some input.

I have a 3:1 gear ration and have done the following with a amt102-v encoder

  • Therefore K = 3
  • thus cpr = 24576
  • pole_pairs = 7*k = 21(motor pole pairing naturally is 7)