Jump to content

Hempstick, always WIP


Hempstead

Recommended Posts

Received laser cut stainless parts from OshCut.

nullI already know one part needs modification. I am changing the shaft OD from 1/2" to 3/4". So, the disk in the front need to have ID=3/4". Maybe my D=3/4" HSS annular cutters will be able to cut it at around 100 rpm.

And now the disks with 3 prongs is slightly problematic; won't fit though the slits I cut for assembly.... damn it, just 0.5mm too big... argh! Need to go buy a 3/8 or 1/2" drill mill to make those 3 slits to be 3/8" or 1/2" wide instead of 1/4". Or I can just cheat and file the slit, just a notch to clear that 0.5mm. Gonna be ugly... but will work.

image.png

  • Like 1
Link to comment
Share on other sites

Received the thinner F16-like stick main PCB. The whole electronics stack is assembled (a new modification is made to prevent screws from contacting the brass optical core and short out the signal lines.

The integrated main control face plate is printed on a 0.4mm nozzle with PLA. As expected, the whole thing prints out fine, but the engraved text does not. Either this has to be printed with a resin printer (or SLS), or this has to be printed without the text.

Note that, these 4x optical cores are newly CNC milled. The "holes" for the screws are bigger to accommodate the printed "insulation sleeves" around the screws to avoid shorts (I forgot brass is conductive when I switched from disparate brass tubes to one integrated block; oops).

Also, I now need to find a way to reliably contact the PCB screw pads and the screws (I think I have a good idea how). Because I found different batches of OshPark made PCB drilled the holes with different sizes. They used to be slightly undersized, but now they are slightly oversized. Well.... nature of oursourcing.

 

image.png


Edited by Hempstead
  • Like 1
Link to comment
Share on other sites

Tensioner block prototyped.

There are always a lot of these "supposed" to work, or I will figure out something, during the draft design that are not taken to the very last details. Every single one of these have to be actually resolved and prototyped.

There are a lot of these "need" to be prototyped. A lot of those problems are unforeseen. I have always wondered how there are people who can design it one pass and everything worked.

nullAlso, since now I cut the main body into three to solve the "support removal", and cracking problem, now I might have an opportunity to integrate the tensioning blocks as part of the main bodies. That is, forget those two M3 screws and nuts you see in the picture. The block will be part of the main body, and just leave a slot for the middle nuts to slide in. But this is structurally weaker than with the two stainless steel M3 screws as reinforcement... blah blah blah.... Not much of the advantages with integrated tensioning blocks, other than a shorter BOM.

 

BTW, I have another idea about how to mechanically restore linear response curve, a much simpler mechanism than the previous one, but should be as effective. Definitely will need to prototype it.... and patent it. So, you won't be seeing the innards of this thing than what you have already seen. This also greatly influence how the wiring will be routed. Also, I don't have an anti-torque mechanism yet. But I do have a rough idea how that will be accomplished -- outside, so it can accommodate the desire to rotate the stick any angle you see fit (within limit, say 30 degree left and right). It's so simple that you probably will laugh your tail off when you see it. I have not made the decision on whether I want to take advantages of this and route the wires through it (may not be practical).

Like I said before, I think linear response curve is overrated. But if I can provide a simple mechanism to restore it, as an option, then I am glad to do it. But I myself am probably gonna go commando without it. However, prototyping is still required.

image.png

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Mystery part, the first screenshot. This is a part I have been working on for the control stick base for the past two weeks. Still have to print the final revision and test it.

After this, I will have to resolve the wire routing problem, the details. Actually, you see the three circular slits cut into the rings, one obscured in screenshot? Those are slits intended for routing sensor wires, all 29 of them. That means I have to design a magnet holder with wiring arrangement to go around the magnet, and a sensor holder to avoid chaffing the wires. The easiest solution is to route the wires outside (drill a hole in the stainless steel tube, insert a grommet, drill a hole in the base print, and run the wires with enough slack through it... done). But that feels like cheating. Not that I am against cheating here. I reserve the rights to use the cheat method here.... if my internal routing design does not go well. So, it will definitely work... it's just that I am pursuing something better.

The 2nd screenshot is the OD=3/4" shaft vs. the OD=1/2" shaft. The OD=1/2" allows about 25 degree tilting each direction vs the 18 degree of the 3/4" shaft. With high enough resolution of Hall sensor, the decrease in tilting range should not be a problem. But actually might be an advantage, as it is closer to force sensor stick's small range. The increase in the shaft diameter is mainly to facilitate the mechanism for restoring linear curve, and 2ndarily this "wire routing" problem, wiring 29 of them through the OD=1/2", ID< 1/2" tube that moves around and have to avoid the sensor at the center is kind of a lot of troubles.

 

image.png

IMG_1664.png

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Printed with my Phrozen Mini-8K. Mighty-8K is still having some trouble, probably needs a new nFEP film. The bottom recess does not print too well, but with some manual fixing, should work. The thing is... PLA printed, the back printed perfectly... with some epoxy filler and sanding, it should be as good as the 8K. Unfortunately though... the text just doesn't work at all with 0.4mm nozzle.

The text on SLA prints is a bit too fine. Needs to make them bold or something.

 

image.png


Edited by Hempstead
  • Like 1
Link to comment
Share on other sites

Again... stuck, waiting for part. Story of my life.

For screws, I usually prefer stainless steel whenever I can, b/c they don't rust. Less maintenance and all that, you know. So, most of the screws I have at home are stainless steel. One of the parts, the mystery part to restore linearity of the stick base requires 3 M2x6 screws. Of course I have stainless steel socket head screws and nuts ready for the prototype. One unforeseen problem was... damned thing isn't magnetic. So, I have hell of a trouble getting the screws inside the long tube in position -- they just won't stick to the Allen Wrench... Aaahhh... I have designed the thing in two parts so the thin part will go through the cut slits and flip over to lie flat, and the thick part (the real working portion) will go from the bottom and then screwed into the thin part to fix it in. I mean, I considered the details up to how to assemble the part and how much space it needs to maneuver the parts in position etc. etc. and all worked out (with minor modifications). I didn't see the non-magnetic 304 stainless steel screw problem coming! Ha!

So, I just ordered some alloy steel M2x6 socket head screws... now wait.

Link to comment
Share on other sites

The socket button head M2x6 alloy steel screws are delivered.The next minor modification is already being printed. What you see here is assembled outside the tube. But the reality is that the bottom plate has to slip into the tube from the side slits and flipped around inside the tube into position. Then, the top one has to go in from the other opening end of the tube, and then screwed into the bottom plate directly in-situ. My SwissTools 1.5mm by 80mm long Allen Wrench is just barely long enough. After magnetizing my Allen Wrench, the new alloy steel screws worked well, except that the "bite" into the nuts is a bit shallow. So, I am adding an 1mm recess for the button head to sit in, increasing the bite of the threads.

I didn't model the self-lubricating bronze sleeve bearing in the 3D model, but did designed the hole for it with correct tolerance accounting for a 0.4mm nozzle so that it needs to be pressed into the hole, just like proper interference fit. It took several trial-n-error print to get the right number dialed in.

The next thing to tackle... the shaft and sensor seat, and wire routing.

image.png


Edited by Hempstead
  • Like 1
Link to comment
Share on other sites

Fits like a glove, see picture #1. Added a "ridge" in the main control "face plate" and a "slit" in the top cover and main body to mate with each other, so I can get rid of the 4x screws that come out to the main control face plate. (In the picture, the test print for fitting still has the 4x screws holes cut in the face plate, but the final modification doesn't have them anymore.

Also inside, the main tube was originally designed to have one and only one curvature, on the idea that it can be slipped into the printed body without having to split the main body into two halves. I have regretted that decision, because bending an OD=1" aluminum tube in such precision would require some serious mold and equipments.  So, I have changed the tube to be composed of 1 straight tube, bend in the middle with a generous radius of 3". Most likely, this can be made with some carved wood blocks and a hydraulic press (or a sledge hammer if you feel lucky). Depending on your "precision" in the bending, I will put in a "tolerance" value so that "hole" can be adjusted for fitting (and then you can Bondo it to fill the gap between the tube and the body). This took the whole Sunday afternoon to "correct" all the constraint errors showing up. Grr....

Also, I have changed the internal wire routing. 1. make the internal M2x25 screws be Nylon, i.e. abandon the idea of using the screws as signal path, and 2. dig in the air vent channel deeper to accommodate wiring. But, now I need to figure out a reliable way to contact signal pads. Most likely, it will be just some copper disks with wires soldered to the back annular copper pads on PCB.

The abandoning of using the screws as a signal conduit was prompted by the fact that some of the annular rings on PCB made by OshPark now are bigger. For several batches and different revisions of PCBs, I was able to get reliable contact between the screws and the gold plated copper annular rings... but no more. The recent two batches.... the ID of the annular rings are slightly bigger and do not make reliable contact.... So, it's a bad idea to rely on this "unspecified" manufacturing tolerance. 

Again, all these problems have to be resolved one at a time through prototyping, as this is brand new never done before designs, even the construction methods are brand new (at least to me).

 

 

null

image.png

Screen Shot 2022-12-12 at 7.31.20 AM.png

Screen Shot 2022-12-12 at 8.03.51 AM.png

  • Like 1
Link to comment
Share on other sites

I forgot to mention that the other reason for the abandonment of using stainless steel screws for signal paths is due to galvanic corrosion considerations.

See, originally, the PCB is gold plated, so there is no problem between the stainless steel screws and gold. But now that the contact between the gold plated annular rings and stainless steel screws are found to be unreliable, I will have to design "something" to make that reliable contact. That "something" is most likely to be made of copper, and very likely to be simply a copper disk.... er... definitely not gold plated. So, now I either need aluminum/brass screws, or nickel/gold plated steel screws. Unfortunately, I have a hell of a time sourcing those. "They" seem to only make brass/aluminum screws up to M2x12. M2x21 to M2x25 nickel plated screws, I can only find one source in UK... and it's about USD $0.6 apiece plus about $25 shipping charge.

In the 8-way optical HAT design, I have already considered this problem and had two different solutions for it. But I am not 100% happy with the two solutions either due to the space constraints in the 8-way. But this time, with the stick I actually have a lot more space than with the 8-way.... So, I stepped back, reevaluated, and ditched the stainless steel screws as signal path, and replaced them with nylon. It is still not easy to find at that length, but at least they are cheap and from an easy source, Newark/Element 14. You can still use stainless steel screws which would still make unreliable contact with the signal and act as a capacitor.... unnecessarily now that I have other copper paths for signals, although not adversely affect the signal too much.

The side benefit of using Nylon screws is that I only have to buy one length... M2x25... and just snip it at whatever length I need. Stainless steel is a lot tougher.... consuming a lot of saw blades trimming them.

 


Edited by Hempstead
  • Like 1
Link to comment
Share on other sites

The whole stack test fit. No optical sensor soldered on yet. Because, they are expensive, and 16 of them! Not going to solder on until the whole thing is test fitted correctly. Moreover, likely I will have to file some slots in the PCBs for running wires (and cut out on the next revision of the PCB).

null

image.png

Link to comment
Share on other sites

Needs a few minor adjustments, a little filing and sanding to get them to fit, mainly the tigger opening obstructed a little bit of the trigger movement. Also, the opening for the mil spec. genuine trigger is slightly too narrow (didn't quite account for the filament thickness...). A little sanding makes it fit perfectly, but I will adjust the 3D mode for these.

The whole thing feels quite solid in my hand... not entirely sure if I would need the Kevlar-epoxy outer layer. I mean, it would probably stand by itself... and I also have an inner aluminum main tube for reinforcement... The outer Kevlar-epoxy layer would seem a bit over the top. If that's the case, then there is no reason to split off the palm rest off, since I am already splitting the main body into two for easy installation of the main tube. Might as well integrate the palm rest with the main tube, just like Cougar and Warthog, and then bolt the two halves together with some socket head M3 screws.

Also, found there is not much space between the head, the main tube, and the trigger to run the wires... have to design some "spaces" for the wires to route through into the main tube.

null

image.png

Link to comment
Share on other sites

nullCorrected some of those aforementioned problems... split the palm rest in two, exported and the merged the main body.... both left hand sides of course.

Why? Why not just merge then split, instead of split the palm rest, export to another file and then merged back? Simple... this last split of the palm rest is meant to be the last operation. So, if I ever regret it, I could still go back to the original idea of the main body is pretty much a straight tube with a bulge on top (no split), suitable for a woven Kevlar sleeve to encapsulate, and then epoxy and vacuum bagged. With that bulky irregular shape of the palm rest at the bottom the Kevlar sleeve would have trouble. Hence, the bottom of the main body is straight, and the palm rest could be slipped up and screwed down.

Since the current experiment is to split the main stick into three pieces just like Warthog does and forego the Kevlar sleeve with just the plastic 3D printed body with an OD=1" aluminum tube inside to reinforce, there is no reason for me to still have that separate palm rest piece...

 

BTW, I am printing with PLA... the easiest to print, and it seems to be plenty strong enough. I can assure you that after sanding/filing, Smooth-On XTC-3D, and more sanding, PLA could be actually quite beautify and smooth. Moreover, after priming and painting, you wouldn't be able to tell anyway.

image.png

Link to comment
Share on other sites

A slip of a fat finger... made the socket head screw size M2 instead of M3... oh well... nothing a little drilling and a 1/4" end mill on a drill press couldn't fix. Fixed in the model now.

Trigger now works perfectly... no interference anymore. Just sand off the flashing and install.

Don't have the right length M3 socket head stainless steel screws... Needs something like M3x0.5x34... odd length. I'd need to cut it down anyway... so I use some M3x0.5x50 I have at hand, and cut off/grind.

One piece print will probably work fine. However, there will be two problems.

1. On an FDM printer, you get stronger body, you don't want to print this whole thing up right due to the weakness of the layers. If you print it horizontally, you get ugly underside... that will require a lot of sanding/filing works to restore.

2. Putting the center reinforcement aluminum main tube will be difficult. But, it's possible to slip in 1/2 of the tube only on the bottom halve (that's intentional... when I made that one curvature to two straight lines plus one constant radius... in case I want this option). But even if you choose this weaker option, you will need some way to fasten the tube to the main body. This usually means at least two screws, unless you are thinking about gluing. But splitting into two halves, I also needs two screws, and it's stronger than the "half measure."

Other than the visible split line, I see all positives for splitting over unibody.

So, I think the splits here is the best option -- left half, right half, and top cover. Makes it easy to install and assemble, and easy to make. Plus, if one day I decide to bronze or aluminum cast these... the existing two halves make it a breeze to make the wax pattern, pretty much as is with some minor fixes. Or... instead of using lost wax casting... I can actually do a lost PLA casting... (lost PLA works great, and all I have to do is to plug up the 4 screw holes and glue them together for investment).

 

IMG_1680.pngIMG_1681.png

Link to comment
Share on other sites

  • 2 weeks later...

I have been working on the stick base 2's sliding mechanism prototype... time consuming... because I had to adjust the depth of bearing seats.... by experiments (the CAD calculation... using geometry to constraint it didn't work quite well; Call me old school... I was trained in drafting class, yes, with pencils, to use construction lines to constraint my final constructs.). That is... print it... test it, adjust, print, test... Luckily, I can just slice up to only a section of 0.5" high ring for the body and print just that to test. Still each section takes about 4 hours to print... That alone consumed the past few days, ran through one spool of PLA filament.

Now... Tada! It works beautifully as I expected. This is the design that allows zero dead center, no sticktion (practically). It's inspired by TM Warthog's these two problems. That is... I set out to solve these two problem, and several years later, I proved I solved the problems!

Now I have to solve the 25 wires routing problem and the anti-torque problem. Currently, I am inclined for an external solution. Yes... I had reserved some space for the wires to to through internally, but it's very little space. it's a ring shape of space of only 1 mm to 1.5 mm wide. I could get it through with 30 gauge wires, but what I worry about is the still-to-be-patented linear curve restoration mechanism will have moving part around that ring space for wires.... that could cause pinching and chaffing.... Oh, no... not on F-16! Some cosmic poetic justice thing? It's uglier to have external solutions.... but maybe, just maybe I can make it not so u.g.l.y.

 

BTW the main body in the picture is split into 4 pieces... it could be two... but I split it into 3. The top piece that ring under the stainless steel was a printing mistake... the filament got stuck so that piece wasn't printed correctly. I just slice that part up and print it. That's one of the great things about switching to the 3 to 6 long screws to assemble the main body, I am free to split the main body to any # of piece >= 2. 3 is great because 1. it split along the original aluminum cover lines, and 2. it makes assembling the bearing and bearing tensioning blocks a whole lot easier than unibody. (think if it were a unibody... the main sliding tube has no choice but to go in from the top... and what about the bearings and tensioning blocks that are deep inside that main cavity... very tricky to assemble!).

 

Also, the mechanism does not have to be this long (the main tube is about 4.5" long). But the longer the better... i.e. the long it is... the less dead center, which is the problem with TM Warthog, the center "piston" spring platform has to tilt slightly to avoid the corners of the 4x steel rods from binding, about 1" long. My design won't bind because I use ball bearings to solve this binding problem. But still, the shorter it is, the more "physical slack" due to manufacturing/tuning imprecision will be amplified. My "guess" is that it has to be at least 2" long, if not 2.5". My original design was indeed 2.5" long. But one day, it hit me... why don't I just stick this thing into an F-16 stick base, which I already have a 3D model? Ok... make it as long as that thing would take! 4.5" it is. 😉

 

IMG_1689.pngIMG_1690.png


Edited by Hempstead
  • Like 1
Link to comment
Share on other sites

Shift register is a good alternative to the matrix circuit, which I personally think is a better solution than matrix although others might disagree. But, remember, the shift register and matrix circuits are “solutions” to the problem that you don’t have enough GPIO pins on the MCU. Both are great solutions to the problem. But, why use them if you have enough GPIO pins?

It would be wagging the dog! Why apply the solution when the problem does not exist?

Ok… there is the number of wires to route. But, the real ones could do it, so could I. Challenge accepted!

 

BTW, I have about 100 of those shift register chips in one of my part bins.

Link to comment
Share on other sites

Hi!

I really appreciate that you conceived and shared that project. I also appreciate that you share your reasoning on using the solutions you came up with. The mythbusting nature of yours doesn't go unnoticed either 😉 (Warthog 16 bit resolution claim)

I'd like to to ask you for a recommendation. I've built a controller (rudder pedals, 3 axes) based on MMJoy in the past and I liked that I could just follow a step-by-step guide and slap everything together in one evening, with everything working. The thing is I'd like a higher resolution! My question is: should I use Hempstick to achieve that goal despite not having experience in controller building? I'd just go with MMJoy plus an external ADC but, again, I am yet to find a step-by-step guide for an implementation of MMJoy with such ADC.

Link to comment
Share on other sites

7 hours ago, No1sonuk said:

IIRC, the reason most people use shift registers is to make the grips compatible with Warthog, etc. bases, and Thrustmaster used them so they could use a 5-pin connector instead of more than 20...

I have no intention of being compatible with anybody's interface, and be bound by their old rationale. I don't even intend to make money out of it... so no marketecture considerations of being compatible with anybody's stick or base either!

For instance, if I put an RPi Pico in the stick body, I don't even need an electrical interface (ok.. maybe I will put in an SPI plug to read the Hall sensor and another plug for the force generation, just so you can unplug the stick and put in another stick shape). The stick has its own USB connector(s). But, remember that the stick has up to 30 buttons/switches, plus 2 axes. And I have provision for force generation. I would need at least 4x cascaded shift register chips if I went that way.... not exactly compatible with TM's interface either (not that incompatible... pin compatible, but not software compatible, just program it to do 32 instead of 24 bits). Anyway, even an RPi Pico does not have enough pins.... you might notice. What if I put two RPI Picos in there? Running as two separate USB controllers? DCS wouldn't mind. Says who there can be only one? The corporate bean counters might balk at the idea of two MCUs... I ain't got no bean counters.

It was actually funny... When RPi Pico first came out... I was like... OMG... this is like custom designed as the new Hempstick! Except... damn... two pins short! Damn it!  So close, yet so far! So, I spend a couple of days studying the MCU spec., the PCB design... trying to squeeze out two more GPIO pins. And one day... I had to slap my own forehead... doh... just stick two RPi Picos in there... done!

Now that I came out of the stupid loop.... with n > 1 Picos... I am free to add more switches/buttons. Hey... each Pico board is only USD $4! Even one of my optical sensor costs about that much, let alone I have up to 30 of them in there! Negligible! I might use Pico W... $6. Maybe I will put there Picos in there. Two in the stick body taking care of all the buttons and switches... and one in the base to take care of just the Hall sensor and the force generation. You know, a bit more modular. No more wires going through the stick! Makes my life simpler! What TM PS2 connector interface? Ha!

 

I count 21 pins in the real F16 stick connector. 

image.png


Edited by Hempstead
  • Like 1
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...