Taking a step back...

A project log for drillPresseur - Drill-Press with Force-Feedback

OK, most drill-presses have "force-feedback" in the normal sense... so this is a bit ridiculous.

Eric Hertz 12/08/2016 at 23:270 Comments

The physical-world gets in the way of the mathematical/hypothesis I had in mind... Though it is interesting to experiment with, as is.

The basic equations, again, were something like:

PowerN = (desiredPositionN - actualPositionN) * constantN

and

desiredPositionN = actualPositionM * ratioNM

--------

Unexpecteds:

E.G. DC motors have poles... yahknow? Certain positions in the rotation where the same amount of voltage in doesn't result in the same amount of torque, due to, I guess, things like the air-gap between the windings and the permanent magnets, etc.

That feeds back into the system!

E.G.2 There may be some "slop" introduced by the motor-driver[s]... e.g. short pulse-widths may be appearing more as a triangle-wave rather than a rectangle, due to things like output rise/fall times. E.G. two unloaded motors; one requires very little effort to turn (and the other follows nicely), but turning the other takes a tremendous amount of force to rotate before the first begins moving, and once it does, the effect on the second is a noticeable *grinding* feeling (as the first motor advances one tick at a time).

E.G.3 Accounting for that "slop" by changing constantN makes it hard to turn *both*...

----------

It's definitely interesting to experiment with, worthy of further exploration...

Here's an interesting one:

Say you change the "gear ratio" (ratioNM = 1/ratioMN = 1/4)... Turning motor N, you can actually feel when motor M advances, once every 4 encoder-ticks.

-------

Interesting, for sure. But, I think the math needs some work, before it would be usable for this drill press system. Maybe higher-resolution encoders'd help, as well. PID, maybe. Plausibly additional information (than just encoder-ticks) might be useful e.g. current-measurements... Probably would be aided *dramatically* by using identical motors/drivers. So, it's a bit on-hold, for now... I think I'm at something like 750Bytes.