-
[R][M][P] Sensors and drivers
09/18/2022 at 17:19 • 1 commentIt's questionable if the part would even flex in a usable way, since I fear that the 3mm section will bend an unacceptable amount. Ideally, I want to sense up to 240g of force. Fusion360's simulation keeps giving me an unknown failure message so I can't get any data that way.
While small, it does seem to be perfectly FDM printable. I'm printing it out now.
I might "mirror" this idea because the M2 countersunk screws are now right next to the belt:
In other news, it looks like I'm going to have to abandon the idea of using 2 hall effect sensors instead of an absolute magnetic encoder due to this research I found.
I've also been looking at my options instead of the TMC6300. The only reason why I started looking around was because of the tiny 3x3mm package, but it seems that I can just fry the board on a pan of sand:
Anyway, a more important reason to look for alternatives is because my human eye can only see Out Of Stock for the TMC6300-LA and the DRV8311 from Ti I also found. The STSPIN230 looks to be an option. While it's still in the same 3x3mm package, I can get it on alixpress for under £3 a chip.
Oh, nice the print is done.
Hm... wait couldn't I just...
[some minutes later]
Yeah. Now everything's 1 piece not 3 and I've now got 6x10mm of area for the strain guages, which increases my options a bit. It seems that a 7mm wide area would be ideal though, which would require me to increase the overall key length to 34mm.
CheckingTool: - Length increased - Keycap_Flat length increased from 24 to 26mm. - File repaired - Belt length: 97.58mm - Recommendation: Reduce belt length to 96.5mm to use a 96mm belt. - Implemented changes to Tetent [gd0090] concept without conflicts. -- The new length (106mm) does not propose a conflict in Teti [gd0022]. - The changes can be implemented into Tetent Timespy [gd0136] without expected conflicts. - The increased length of the Tetrinsic Switch [gd0041] is expected to increase ergonomics for larger hands.
Ok everything checks out it seems.
[Some research later]
Ok I've read https://www.allaboutcircuits.com/textbook/direct-current/chpt-9/strain-gauges/ and, with the way I'm straining the key, I only need 2 mounted in the area. The other two need to be nearby to account for temperature differences. Ideally, I'd have whatever sensor's in this:
[some more research later]
Right... I could stick the green strain guages to each of the two beams and have the other two somewhere else that doesn't flex.
Second print
[after more research]
The absolute encoder situation is looking a lot less favourable. With a 1.2mm PCB, the length is worryingly close to the 20mm limit. I was hoping that I was going to get under 19mm for the #Tetent Timespy [gd0136].
Anyway, I started writing this project log at 16:00 and it's currently 23:00 so I think I should stop here.
-
[M] Switch mounting hardware
09/17/2022 at 11:47 • 0 commentsI've designed the method of mounting everything to keyboard cases. The idea is that pressing down on the belt area will slightly flex the PETG L shape and a strain sensor circuit adhered onto the vertical can be used to detect force. The verticals are under 7mm thick so likely would still flex a detectable amount. M2 screws and thin nuts are used.
I haven't yet determined the way I want to mount the 2 hall effect sensors at 90 degrees.
The UHMWPE tape is also now visible in the model. The belt length is currently 92.5mm.
-
[E1][T] Force sensor instead of magnets?!
09/13/2022 at 14:38 • 1 commentMe yesterday:
Me on the train back to my university:
m1 (me 1):
m1: Rememeber how the light ring of the SmartKnob View had an animation based on how hard you pressed the knob?
m2: Yeah.
m1: And why didn't we go with the first pre-Tetent idea?
m2: Haptics and grip. [Speaking of which,] I was going to try and fit vibration motors somehow bu--
m1: And remember [when scottbez1 showed how he implemented the button press in the SmartKnob View]? We've got a motor. We can do that!
m2:
m2: That means the magnetic solution can be eliminated, and you can have as many levels as you want and not limited to physical limitations! And that means the entire key doesn't have to move down 1mm, meaning I can trim tolerances down! If the motor wasn't so large (relatively speaking, since this is a 17.3mm diameter motor I'm talking about), I might have also been able to cut down the height significantly.
m1: The actuation force is also adjustable with software, not requiring an allen key to fine tune the setting, akin to setting the current of a non-UART/SPI stepper driver.
m2: WAIT!! At that point, isn't this a key that "does it all"?!?? You can simulate any tactile / linear key (minus key travel), change from Choc Pale Blues to Choc Pinks at the press of the button, switch to 1 actuation point when gaming but have arbritrary 4th or 5th level points when chording specific things (like "ing" under "in"), even change the key weight across the length of the key!
m1:
Me in the Student Union Cafe:
Wait... doesn't that mean if you had some BLDC haptic gloves with force sensing tips and a flat surface, you could simulate #Tetent [gd0090] anywhere? It's still probably outside my scope of time, but that feature in addition to being able to feel 3D models [in Fusion 360] as well as pinch items to get a length measurement would be pretty cool. I'll watch this space with great interest.
I also wonder if this idea could help out the #Tetent Tiny [gd0040] and it's questionable thickness. Hmm... but the motor is pretty important.
Me writing this log:
Wait... could someone do the unthinkable and try a 3 zone, 9 actuation (or 4:7 or 5:6) setting to chord any <=6 letter english word (with no accents). That'll be wild to see. Could I even read that fast?
Edit 1:
So I slept on it and did the numbers. My leisurely speed could be as much as 330wpm, and 6 chords/second is a Charachorder-beating 540wpm. It could also be easier to mentally compute. I'm thinking of 6 zones, 5 actuation points and I can add it as another mode, like mouse mode.
I'm also going to file down one of the motor mounting holes to allow for a slightly lower profile switch and make it easier to mount the strain sensor resistors.
There hasn't been much change in Tetent, but the #Tetent Timespy [gd0136] has been reduced from 24mm to 20mm at the thickest section.
-
[A][R] Motorised Switches
09/07/2022 at 11:54 • 0 commentsAt the start of September, I had the idea of having something like a GT2 belt that goes around the whole switch (main part) and having something like bearings or slippery tape as an interface between the belt and key. The pros could be less friction than fingertips or nails (allowing to move to another key without finger lifting) and a consistent feel under the keys (reducing distractions). I was also hoping that it'll feel more satisfying, like a fidget toy. It probably would sound more satisfying than nails (lightly) scratching plastic.
Other than the potential length and height increase of the keycap to account for the belt, another issue was that I still hadn't computed how I was going to accurately detect finger position on the key. Ideally, I'd like those with long nails to not be left out, and I also don't know what kind of environmental conditions may affect an extra-sensitive capacitive trackpad since I've never heard of a proximity trackpad in the wild. There's also the shipping delays from a PCB fabhouse since #SecSavr Suspense [gd0105] doesn't exist yet. It's kind of a chicken and egg situation.
I thought it over for a few days because I had a feeling that there was potential, and I decided on going all in on the GT2 belt, using it as the detection interface (I tried moving my CR600S-in-pieces with my nail inbetween one of the teeth and the belt off the motor (so that the axis moves freely, simulating my idea)). If the friction is low enough, there's no need to lift my fingers.
The homing / calibration procedure would be like the endstop "bump" of 3D printers when homing, but for both the min and max reach of the fingers. A user such as myself would have to do this anyway so that I know where my fingers are too. Hopefully, the gesture could also differentiate between the left or right hands so that belt recalibration and "switch sides to match hand" are both done in the same gesture.
That's nice, but now that there's a belt, why not a motor for true coolness?
Me: That's nice, but what about the power consumption?
Me2: Yeah but it's a tiny motor moving a low friction belt and your fingertips.
Me: Idunno... what about size?
Me2: That 6mm belt we just tried didn't feel small at all. It's probably because the fingernail is curved so there's not that much width actually in contact. It could look pretty cool on the #Tetent Timespy [gd0136].
Me: hmm... Can you get motors that small?
Me2: True. I know of micro steppers but I've only known about brushless motos for electric skateboards and scooters. Oh I know. Remember that guy that made a keyboard with a motorised knob? It's got to be pretty small for that use case.
Me: [watches video clip]
Me: Ok I need that. No... no I want it but... oh and then there's multi-axis mode where I could switch between frictionless, spring-back, dedents, inertia...
Me2: Hey, couldn't you use this to help train by moving your fingers to the exact location? It's like someone guiding your hand when learning how to chop veg or something. Like, what other keyboard can do that? Then you can focus on pressing the correct button level at the start of the learning process, or feel how fast you need to move for that 280wpm dream.
Me, who has learnability as the top priority:
Researching motors
The motor that peng-zhihui used is both too large and out of stock. He does recommend to find a low KV motor. I dug around on AliExpress and the first notable mention I found was this.
Today, a seller got back to me, which confirmed my suspicion.
This was the same time that I had just found another motor and was wondering if the price difference and ribbon cable could be justified.
This motor is 16.3mm in diameter, doesn't look as cool as the first one in my imagination, but has a KV of 580. It's also 11mm high, but lacks any of the convinient threads of the silver motor.
The silver motor is 8g and this black one is 10g, which I think is probably fine.
Geometry woes
Now the idea I had looked like this beautiful, compact compression of parts neatly in a 30x20x18mm package, but the motor is miles out.
Yesterday, I thought it meant that the motor wasn't going to be able to feature in the #Tetent Timespy [gd0136] or #Tetent Tiny [gd0040], as well as an uncomfortable thumb button placement on Tetent (if the motor is included on that too) but all hope may not be lost. My assumption yesterday was that the belt was going to be in the centre of the available area, but I'm thinking that I could get a shorter solution if I move the belt to the side. As long as there's 20mm of space between belts, there's no problem.
Looking at the SmartKnob
The first project that I saw that used motors is this one and it gave me the idea to restart my #Situation SeriouS [gd0098] project. I looked on the github and found out that they've been having issues tracking down a new motor. One of the motos that shows promise is this 3205 Type A, so I'll keep that in mind for gd0098. Anyway, the reason why I mentioned this project is because I saw this:
And I was like "hey aren't those..."--
New Concept
-
[R] Redesign options
08/11/2022 at 15:08 • 0 commentsRedesign requirements
So I'm changing from a dual-action to a triple-action switch since there's more space. This reduces the length the fingers move from 30mm to 24mm, but I'm thinking of going with a "rounded" 25mm. The mental compute of accurately moving my fingers to 5 positions exceeds having to think of an extra actuation layer, especially because the layers are discrete but the location on the key is continuous. Additionally, this means that instead of 11^3 - 1 combinations, Tetent will have 13^3 - 1 combinations, which is 65% more chord combinations, and the max and min button zones being closer means that all chords are easier to key. A while ago, I was thinking of having a 6th button in the columns for a potentially better use with non-english languages, but this solution achieves that in a better way.
The project might become the "TeTriad Switches", but for now, I think "TeTwin" looks better.
The thumb keys would also benefit from this, since I've been missing the ability to do a "shift last" ("aB") or "space inbetween" ("a b") in my mental simulations. With the dual-action, I just had "Ab", "AB", " ab" and "ab " available.
Redesign options
I've been researching capacitive touch sensors as an option. They're manufacturable from a PCB fabricator and I hear that they can sense proximity if the sensitivity is high enough. I need to accurately detect 5mm from the surface, but only need to detect a single finger in 1 axis, so perhaps it's possible.
I don't think an IR based solution is going to work outdoors.
I've also been looking for small resistive touchscreens to no success. However, I have just found these 1.14" screens.
I've only been able to find <0.96" and >1.3" screens mainly, with a few in the range that didn't quite have dimensions that would work. This screen would fit in nicely.
Ever since the first Tetent concept, I've wanted to put a screen under the keys for backlight animations, but the surface of the keys aren't visible when in use in any of the concepts so it hasn't been much of a priority; it'll be more like the glowing Apple logo on old MacBooks or, more recently, the Nothing Phone 1.
It seems that, at this size, the power consumption is comparable to the same size of OLED. My hope was that there'd be a small screen with a resistive touch layer on it that I could use.
I don't think I'm going to be able to sense capacitiev proximity though that metal shield, but perhaps I can actually use it to my advantage and use it to detect subtle changes in capacitance across the area due to force applied on the screen. This could reduce noise and allow extra-long (5mm+) nails to work without loss of accuracy.
-
[M] Wider and shorter
08/09/2022 at 03:10 • 0 comments -
Printed concept in resin
04/08/2022 at 01:14 • 0 comments -
Test log 1
02/26/2022 at 21:52 • 0 commentsThis is a test project log
[21 Sep 2022] Now with the initial Tetwin render: