scottbez1 / smartknob

Haptic input knob with software-defined endstops and virtual detents
https://www.youtube.com/watch?v=ip641WmY4pA
Other
19.07k stars 1.1k forks source link

Idea: Use a capacitive touch screen display #58

Open rtbcoop opened 2 years ago

rtbcoop commented 2 years ago

If you use a touch screen display, you would no longer need the strain gauge. You would also open up a lot of new capabilities such as gesture controls.

scottbez1 commented 2 years ago

Yeah, that would definitely be cool! I considered it and intentionally omitted it from this first iteration for 2 reasons:

Edit: remembered a 3rd reason - it would require the LCD support/riser through the hollow shaft to be a lot more rigid. Pressing on a touch screen toward the outside is going mean a lot of torque applied to the joint between the riser and the LCD structure.

But it needs to avoid deflection so it it doesn't interfere with the knob (the allowable deflection is limited by the gap/tolerance between the LCD structure and the knob; more deflection means a bigger/uglier gap is necessary). Getting the necessary rigidity seems difficult with hollow 3d printed parts, so I also toyed with the idea of using hollow brass tubing and soldering it to a large PCB through-hole on each end. I think that could be rigid enough but would make assembly a lot more involved...

rtbcoop commented 2 years ago

I am sure there are others that are better suited to solve the electrical issue, but I can definitely solve the mechanical issue. Instead of using a hollow shaft motor, I'd mount the knob to two captured bearings and then drive the knob with gears instead of directly off the motor. This would:

  1. Give you much better resolution (more steps per rotation of the knob thanks to gearing)
  2. Give you more motor options since you aren't limited to hollow shaft motors
  3. Provide more internal room for supports and wire runs.

These should all be commercial off the shelf parts that wouldn't add too much complexity or cost. I'm glad to do the mechanical design legwork if this is a road you'd be interested in going down. I'll post this up in Issue 16 as well to see if anyone has feedback.

DavidClawson commented 2 years ago

I would wonder about the sensory feel of the drive gears. If the ratios were too high, it might be hard or strange to drive them by turning (vs a brushless which offers essentially zero resistance when not energized). You might also have issues with backlash, but maybe not too big of a deal.

hofstee commented 2 years ago
  1. Give you much better resolution (more steps per rotation of the knob thanks to gearing)

Magnetic encoders will already get you <0.1 degree usable resolution so I'm not sure having more than that will be meaningfully useful.

rtbcoop commented 2 years ago

I would wonder about the sensory feel of the drive gears. If the ratios were too high, it might be hard or strange to drive them by turning (vs a brushless which offers essentially zero resistance when not energized). You might also have issues with backlash, but maybe not too big of a deal.

Valid concern. I don't think it would be terrible if you kept the gear ratio low. That would take some testing.

Magnetic encoders will already get you <0.1 degree usable resolution so I'm not sure having more than that will be meaningfully useful.

True, I don't think the added resolution would have any benefit on the sensing side, but I think it would make a difference on the feedback side. You could have much finer detents and a smoother knob resistance.

rtbcoop commented 2 years ago

This is what I had in mind. In the real design, I would mount the gears to the bottom of the knob; this design was just for a visual.

Knob transparent 2

Knob transparent 1

paulsvc commented 2 years ago

Touch display is indeed a huge redesign work but this would allow you to avoid the strain gauge part also.

In term of memory space, maybe to have 2 MCU, one dedicated to the screen and other one dedicated to the motor and WiFi /BT would be nice? MCU are not that expensive

Taking into account the number of people interested, at one point you will have to see if its better to have gears and so on or a motor manufactured according to your specifications. Both solution are doable I guess

psyspy1 commented 2 years ago

@scottbez1 About your first point: the RM69330 touch screen display having higher pixel count and needing more memory, wouldn't this display work? It uses the same driver GC9A01A and seems to have the same dimensions and pixel count as the current one.

k1-801 commented 2 years ago

Actually, there is no need for a big redesign. If it was a resistive touchscreen, it would need to be physically interacted with to function, but capacitive touchscreens can work when hidden behind a protective glass (well, it may depend on electrical charasteristics of the glass, but most types should work). Sure, it MAY require a thinner protective glass, a thinner gap, or some sensitivity adjustment, but it's more probable to work than not. May even work without any mechanical redesign. I will try to test this approach with a raspberry pi 4 instead of a controller as soon as I can get my hands on a suitable motor (and other parts), which is gonna take a while. UPD: There IS one issue with the touchscreen, though. There is a high chance that the top surface will be touched with a finger by accident while turning the knob, with no intention of performing touchscreen interaction from the user. This should be considered when implementing touchscreen UI, and the presses should be ignored when the knob is being rotated.

EUA commented 1 year ago

Capacitive/Resistive touchscreen will also make AC/DC converter and flex gauge sensors obsolete. Make project easier and probably cheaper to build...