Jump to content

Hempstick, always WIP


Hempstead

Recommended Posts

As I said in the title, always Work In Progress.

First installment is the "kind of F16 stick." All optical or mostly optical (with provision to use OTTO trigger). This is just the last part of the no-sticktion-no-dead-center force generator stick (NO FFB!). I will post some pictures of the design some other time.

The stick 3D form is a bit more angular than the original. The dimensions of the stick body bent part is mostly based on TM Cougar, with the head mostly based on two different A model F16 (a hammer-head stick and a 2 HAT, one WPN release three cluster head, somewhere between the current and the hammer-head). I kind of like the more angular look. With the more angular lines, I can always sand them round. But the opposite is quite a bit more difficult.

It is designed from the inside out to integrate 4 clusters of 8-way optical HAT switches (hopefully the CMS will be my own design of optical one, but off-the-shell-part is the backup in case I can't squeeze it in), with two identical PCBs (one for 4 sets of optical cores, each has 4 optical switches, and one PCB for 4 pushbuttons, the OshPark purple ones). So, you can have all 4x 4-8-way HAT plus 4 optical pushbuttons, or just 4x optical pushbuttons. This version (v.11) uses one brass CNC milled integrated optical core per HAT, instead of the v.10 hand cut brass tube sitting on 3D printed housing. The difficulty of optical switches is designing tactile feedback to be in-sync with the optical path interruption, and must have them all sit in an OD=0.75" can, plus a push button, all-in-one.

The stick is designed to be 3D printed. Preferably, it's one uni-body without having to split it in two. The central channel is designed to house an OD=1" aluminum or stainless steel bend tube to take up the bending force (epoxy in). Then, the whole thing slide into a Kevlar or woven glass fiber sleeve, and then vacuum bagged.

It might be possible to print molds and then use expansion form (high density) to make the "core" and then Kevlar vacuum bagging. However, with the proliferation of cheap resin 3D printers, I don't see why that would be an advantage.

 

Note that, unlike my other website... which posted only 3D models, NOT designs. These here are designs, intended for certain materials, and certain manufacturing methods. For instance, the optical core is intended to be made with a CNC milling machine. Either you get an el 'cheapo CNC router (10 minutes milling), or you buy it from somebody else who makes it for you. Then there is drilling, lapping.... fitting, and calibration etc. etc.

 

Please don't expect anything posted here to be available any time soon (some parts may). I work on my own speed. If I am not happy with some parts of the design, I often leave it in the back of my head until good ideas comes up, often months if not years later. For instance, the optical 8-way has gone through 10 major redesign, over a 3 years period.

My intention is to eventually license these designs at very low costs for non-profit home pits, like symbolic $1 per device made or something like that, instead of releasing it in the public for some nation state encouraged thieves to steal them.

The PCB design was re-done in KiCAD 6, used to be Eagle 7.x.x.

Ok, enough words... from now on, there will be very little words, but mostly pictures in my postings in this thread.

image.png

Screen Shot 2022-10-16 at 12.23.22 PM.png

Screen Shot 2022-10-16 at 2.00.30 PM.png

Screen Shot 2022-10-16 at 2.01.32 PM.png


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

No dead center, no sticktion, no gimbal. Provision for both spring centering and programmable force generator.

It will practically last forever. Well.... that's a lie. But since you will have to make one yourself in order to get one, you certainly can make all the replacement parts to keep it up forever.

 

image.pngnull

image.png


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

This is the optical core for one of the 8-way HAT switch. It's not complete. There are four more machining step to do -- cutting two slits, sawing the two apart, mill off the bottom remnant, and lapping. But this video is the 10x speed video for machining the very core.

 


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

8-way optical PCB. Again, this doubles as the button PCB as well (small cut of a trace). As you might have guessed, this is exactly the same thing the control stick uses. (I imported the layout and replicated it).

The F-16 control stick head actually imported the the solid of the outer can of the 8-way 3D model. and merge. So, if that v.11 ever needs to be tweaked, the changes will propagate to the control stick head.

No big surprise that this has 4x optical sensors (plus 1 more below for the pushbutton). Again, the trick is figuring out how to synchronize the force feedback (the click) with the interruption of the IR beam. Making work reliably from parts made at hime is the difficult part in the design. Notice that Quest 2's trigger doesn't click? It's actually a magnetic sensor.

 

nullnull

image.png

  • Like 1
Link to comment
Share on other sites

Cut off the top to facilitate Kevlar/glass fiber sleeve vacuum bagging method. I might still cut the front control panel to facilitate easy install. The electronic assembly will have 4 stainless steel shafts protruding out. Might be a bit difficult to wiggle in.

From the screenshot here, you can see better the relationships among the electronics assembly, the trigger assembly, and the NWS/MSL Step button.

I want my WPN Release button to also be a 4/8-way HAT with pushbutton, instead of those ugly stick on. Now how the "cap" of the WPN REL button is going to look like would be interesting. I am leaning toward something looking like a red WPN REL button, but with texture to facilitate moving in the 4 directions.

Also, as you can see, the OD=1" aluminum tube has provision to attach a "hand rest" if you wish. Of course, I still yet to design an adapter/connector to hook it up to the stick base no-gimbal.

nullNext thing to tackle, the CMS switch.

image.png

  • Like 1
Link to comment
Share on other sites

Faceplate cut off, top cut off, and a nekkid machine picture. From the nekkid picture, you can see the main design idea -- the components go in, the tube provide the main structural integrity for force transmission. The 3D printed stuff is just the "filler" to hold stuff in place, to transmit mainly compression forces to the structural tube, and for ergonomics. The outer Kevlar epoxy layer is just there to provide additional integrity for the plastic. I suspect if I print it with stuff like ABS or Phrozen's Onxy resin (8 seconds per layer) or the spanking new Onxy II (18 seconds per layer). The Kevlar/Epoxy layer can probably be omitted.

nullnull

image.png

image.png

  • Like 1
Link to comment
Share on other sites

Added CMS "bump." Like I said, the "stem" and the trigger "forms" are based on TM Cougar, see the last screenshot. So, no surprise that when the CMS "bump" is modeled, it looks like the one on Cougar (the sharp triangle does not exists on Warthog, only on Cougar), see the red circle in the first screenshot.

The cut out for the 5-way CMS HAT is designed to house my own design of 8-way optical HAT switch -- exactly the variation for the TM Warthog Throttle's MIC switch (a drop-in-replacement). You can probably drop in a TM MIC switch (but not fixing it in place).

Also, one of the major gripes when I first got my TM Warhog stick was... man... where do I put my thumb? The CMS switch is so close to the main control "head" so that there is no space for my thumb. This solves the problem -- return to the Cougar form. I like the feel of Cougar stick better with which you put your thumb in the nook under the head (right above the red red circle in the first screenshot. But I did not like the form of the Cougar's control head form. Moreover, I subscribe to the Bauhaus school of Form Follows Function... well... I try to... most of the time.

The last screenshot was the unfinished Cougar stick model. I stopped working on that one years ago because I didn't want to go the function follows form route. As years ago, I did not have the 8-way optical switch design, and I didn't want to use the "authentic" switches. 

BTW, the wall of the CMS "bump" is a bit thin... only 1mm thick. Should be ok... but I might re-enforce it on the inside at the root where it connects to the main body by thickening it a bit. Also, I ran out of space for the electronic assembly... colliding with the OTTO trigger a bit. So, I had to order thinner PCB, 0.8mm instead of the regular 1.6mm, from OshPark... still waiting for it. 

Next to tackle, the detachable "hand rest", and pinky switches. This will NOT be height adjustable like Saitek's. Put on some pads if you really want to adjust the height. Why go complicated?

 

image.png

Screen Shot 2022-10-19 at 7.23.37 AM.png

Screen Shot 2022-10-19 at 7.47.33 AM.png

Screen Shot 2022-10-19 at 7.46.28 AM.png

Screen Shot 2022-10-19 at 8.06.57 AM.png


Edited by Hempstead
Link to comment
Share on other sites

The holes on the "inner tube" don't have to be like that. This is the idealized computer only thing. I cut it as far as I can to see the topology and if the cuts will weaken the structural integrity of the tube too much. Anyway, it's gonna be difficult for me to cut exactly like that with a CNC mill. You probably will need a 5-axis laser cutter robot arm to cut exactly. There is no need to really cut them exact. Bend it, fit in... mark up with some marker pens, and drill... ah... about there. Stick in some grommets to make sure the wires don't chaff.

For the peddle, the idea is to just stick out an OD=1/8" stainless steel rod, but with an optical button inside, since I am not using an off the shelf OTTO button for it. Why bother with a plastic cap for a peddle to press?

The pivot bars on the pinky switch were designed with metal bars in mind. 3D printed feature like that would break in no time, if you are lucky to get it off the build plate without breaking it at all! I might need one more screw for them. The height of base to accommodate the peddle switch was increased by 1/8" than authentic stick, b/c my optical button has OD=0.75" making the walls frightening thin.

 

image.png

image.png


Edited by Hempstead
Link to comment
Share on other sites

Much better improvement, theoretically, on the CMS "wire hole" cutout on the inner tube, much smaller. And re-enforced the root of the "CMS bump." And, import the optical sensor cap v.11 as the CMS. Most likely, I will just use a longer M2 screws making it extend into the bottom of the CMS "well", and put a nut from inside (this is going to be tricky to put in but not impossible, and will have to be very carefully shield when epoxying the inner tube in.).

 

image.png

image.png

Screen Shot 2022-10-20 at 8.25.33 AM.png


Edited by Hempstead
Link to comment
Share on other sites

The main modeling work of the stick design is pretty much complete.

The main control face plate has no cutout. This is up to you to decide what you want to have, and solder the sensors in there accordingly. Now that the face place is considered part of the electronic assembly, it will be fastened to the electronic assembly with 4 M2 screws, 2 of which extends all the way into the main body for fastening to the main stick body.  They kind of stick out of the face by about 0.5mm.... I kind of like it.

The top cover is screwed down by two M3 screws into the main body. I only modeled the recess for screw head and the M3 holes. But, this is intended to have 3D print screw brass inserts. I would prefer to have 4 or at least 3 screws, but there is just no "meat" for them. Two will do just fine.

What're to be done are basically the LOOOONG process of customization for myself and prototyping it. No, I don't release things without prototyping. I have learned from decades of experiences that I am just not good enough to consider every little things without the repeated design-prototype-modify-prototype-modify... process, unlike some genius who could do it in one go without prototypes.

I am waiting for my OshPark PCB, the thinner 0.8mm version. The regular ones I have, 1.6mm, is a bit too thick. The electronic assembly collides with the OTTO trigger. I chose the solution of buying the thinner PCB. There is still collision. I cut the back plate of the electronic assembly for it. But, most likely I will design my own trigger with optical sensors. I just "solve" the problem in case somebody wants to use OTTO trigger (very satisfying click). The optical sensors are not cheap... USD $3 to $4 a pop depending on how many you buy in one shot. I count 30 sensors fully populated. These alone would cost about USD $90 to $120 + tax + s/h. And since there are 30 signal lines... That will need two RPi Picos. No, no matrix circuits nor buffer chips. I am going for low latency. The optical sensors not only have no electric bounce, their latency are about  8 to 20 µs, L-H and H-L respectively.

TODO:

  1. Print the damned thing (waiting for Phrozen's pre-order Onxy plus resin). Assembly prototype print will probably be printed in 2 halves on my Ultimaker 3. As with many of my 3D designs, NozzleDiameter is a property that you can change. Say, 0.4mm for Ultimaker3, and 0.1mm for Phrozen Mighty 8K (0.05 will do, but that's quite meaningless). So, for different printers, I can just open the file, change the NozzleDiameter, regenerate the STL file, and slice away.
  2. Adaptor to connect to the no-gimbal box.
  3. The electronics assembly prototype.
  4. Fitting of the optical 8 on CMS "hole."
  5. Design just the buttons (kind of already have it) for the NWS button and the two pinky buttons.
  6. Waiting for the D=2.5" Kevlar sleeves shipment. 2" is just too much forcing it. Then, do the vacuum thing. 
  7. Write the Hemptick Pico.

 

 

null

image.pngnull

image.png


Edited by Hempstead
Link to comment
Share on other sites

Note that, in the electronics assembly, there is about estimated 1.5W power consumption. I have no idea what this would do to the tightly packed without any air circulation assembly. I would say, probably not very good. I am printing the plates of the assembly for fitting prototype while I wait for OshPark's new PCBs. I will be cutting some fancy "channels/patterns" for air circulation/heat dissipation; if not for anything, for the looks nobody will see!

Link to comment
Share on other sites

I usually use the trusty Ultimaker 3 first for test fit. It's always there. Sure, it takes much longer to print than my fleet of Phrozen resin printers (Mini 8K, Mighty 4K, Mighty 8K, and Mega 8K), but no post processing and all that to deal with.

nullnullnullnullnullnullThe 7 screws in there proves the alignment is good.

image.png

image.png

image.png

  • Like 1
Link to comment
Share on other sites

Huh.... USD $788.94 for a 316L stainless steel print. If I go cast this in bronze... like I did with the TQS I will have to charge you about that range too AT LEAST (tons of labor and high failure rate), and it's basically chagring by minimum wage hourly rate + material and equipment costs, not making much profits.

See why I am exploring plastic core fiber sleeve method?

nullHow much would the military pay for an F-16 aluminum stick body? $1,332.61 (let's say $2,000 for the whole thing) is not bad, if you know many hours I put in making those 4 TQS bronze castings (and I only have one finished)! And, I expect there will be very little sanding/grinding/polishing works with 3D printed parts, compared with raw castings.

 

Me? Poor me is going back to plastic.

image.png


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

10 years from now, we will probably be able to print this stuff at reasonable prices. 10 years ago, I spend $3,500 on a SLA printer, and it was pretty much a complete write off. Now, you can have one that actually works well for about $250.

Fingers crossed.

  • Like 3
Link to comment
Share on other sites

For the fun of it... populated some of the button "caps."

This finishes the Main Control Plate by merging some of the button "bases" with the plate. For instance, now the trim cap base (the part with the text) is merged and is part of the main control plate.

 

 

image.png

image.png


Edited by Hempstead
Link to comment
Share on other sites

4-way now.

The deal is that the shaft of each of the optical "8-way" is an OD=1/8" (or 3mm) stainless steel rod (solid). You just design a cross shape cutout and you got a 4-way.

Here, the Trim, TMS, and DMS, and CMS all have +1. The +1 push buttons are configured with 900g trip force stainless steel dome switches. That's almost 1 kgf! It's very unlikely you will trip it unintentionally. It gives a very satisfying click. 0.9 kgf is still not quite to the level of force the OTTO ones have, but remember, we could fire hundreds of missiles a weekend. You don't want to get blisters. So, all of the HATs will have the +1 even though the original does not.

 

 

 

 

image.png


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

 

 

14 hours ago, 98abaile said:

What is the purpose of using optical switches?

 

Short answer, two words, latency and debounce.

 

Long answer.

Latency and debounce are kind of related. Here's the thing, when you close a switch, the mechanical contact will close, open, close, open several times. How many times and how long depends on the design/construction of the switch. For your wall AC switch, 20, 30 ms is not unusual. For your AC light bulb and many other applications, it's not a problem. But for computers, it's a huge problem. You don't want pressing a button and fire, sometimes 3 missiles, sometimes 4 missiles. Do you?

Worse. In order to solve this problem. Standard solutions are mainly in two categories. 1. Hardware Debouncer, 2. Software Debouncer.

Hardware debouncer are usually based on hysteresis circuits. So, to turn on, you need, say above 3.0V, but to turn off, you need to be below 1.5V. So, once you get above 3V, if it doesn't dip below 1.5V, it's still on, and vise versa.

Software debouncers on the other hand does this... once you detected an on/off state change, wait.... come back and sample it again after some time, say, 20 ms later. If it's still on, report a state change. Otherwise, do nothing. This is the approach Hempstick took for TM stick (that PS2 connector on the stick), even though in the stick there is already a 3 chip cascaded buffer which kind of buffer the on/off state and kind of a debouncer. But for direct leads on the chips, Hempstick configures a hardware debouncer on chip for each lead.

The trouble? Unless it's a built-in on-chip hardware debouncers, you would have to install hardware debouncers .... could get your circuit complicated. For buffer chip... like the TM stick, the debounce characteristics is unspecified. After all, they are designed and sold as buffer chips, not debouncers. Whether it's hardware or software, you get two problems.

a). Different switches require different debouncer characteristics. Will your on-chip debouncers satisfy the OTTO switch you select? Probably not. They are most likely designed for debouncing mini-push buttons that kind of stuff commonly seen on PCB.

b). Well... you have to wait for that period of time for the signal to settle. Either hardware waits for you automatically, or you wait with your software loop/interrupt. Either of that increases your latency. Time you press the button until the firmware report a value change.

 

I calculated that for us simmers we need latency below 1/120Hz = about 8ms. That is we would prefer at least one control input per frame. Preferably more. By rule of thumb, you get an order of magnitude smaller. That is, 8ms / 10... the fastest you can get for Full Speed USB is 1ms. Close enough, 1kHz it is.

Now, I will need to find some switches that has latency that is way below 1kHz. That means at least, 2kHz. Now, no mechanical switch I know can achieve that. Even if they do when new, wear and tear would kill it. So, basically there are two solutions... magnetic (Hall sensor), and optical. See why Razer went making their own key switches instead of using Cherry, and then developed those fantastic optical keys?

Preferably, it has a built in amplifier that already conditions the signal so I don't have to expend valuable PCB space for the amps or DSP. It also has to be small enough that I can squeeze in at least 4x sensors in a can with OD=0.75", and still have space for tactile feedback mechanism that can be in sync with the signal. Click, and on/off state change every time.

Hence, the 3 years of many different solutions to solve this particular tactile feedback in sync with the optical interruption. The optical sensor I selected has latency of about 5 to 20 µs.

 

There is also a Hall Mini Stick... I started that project long before the 8-way optical switch. But got stuck on the pushbutton. So, I put it down and started the 8-way optical in hope that I can solve the pushbutton problem and reuse it in the mini-Hall stick.


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

TBH, I would be rather surprised if controllers in actual military aircraft had that sort of latency. I'd understand if the point was to simulate a largely analog aircraft, but the Viper wasn't called "the electric jet" for nothing. It's a computer that also has to deal with the same issues we do, and for that it usesregular mechanical contact switches. It takes more than a second of pressing pickle to shoot an AMRAAM, anyway. Most functionality in the Viper works on a the basis of whether the press is longer, shorter or happens twice in 0.5s. Military hardware favors durability and price (especially the price, you wouldn't believe some things you can find in real aircraft) over things like responsiveness. 

Why exactly would we need speed on order of one input per frame?


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

5 hours ago, Dragon1-1 said:

Why exactly would we need speed on order of one input per frame?

Mainly on the axis, to get more responsive and precise control. You might not be able to react quick enough from seeing one frame and effect an input before next frame, you can certainly see the trend and move your hand in a “rate” to get multiple inputs in between frames. Now once that is solved, you want to couple it with crappy button responses? 20 ms is a long time in computer signal delay. You never start pressing the button when you see the piper on the bandit, you time the button press to take effect when the piper will be on the bandit in the future. That won’t work well if you can only have a button input every 3 frames on display.

Plus, we are only talking about latencies inside the controller. We have not accounted the time it takes for the report to be transported via USB bus, and bus collision avoidance time, host OS interrupt response time or scheduler time, then travel up the host driver stack, and be picked up by the software’s event loop, calculated the response, waited for the discrete event simulator’s next time tick, and acted upon. Windows default scheduler has a tick rate at the magnitude of tens of ms, around 30ms. And you just added 20 ms on debounce time, just inside the controller. 20ms latency is quite substantial!

 

When you are shooting a missile or a Gatling gun, it probably doesn’t matter, because there is always a mechanical delay. But if you are shooting a chain gun, it matters for the first round out (if the sim can simulate it).

The goal is to have inside controller latency to be at least an order of magnitude below human reflection time. So it becomes insignificant to human reflect and default general purpose OS scheduler. Best athletes have been recorded to have about 100 to 80ms. Which means about 8ms., which turns out to be about 120Hz…. Not a random number.

Link to comment
Share on other sites

And remember, Viper stick is just a stick I am modeling and apply the optical switch on. It’s not the only thing the optical HAT/button can be used in. Although I mainly fly the Viper in DCS. I do fly other stuff that are not Viper, like the Extra 300.

Not everything has a mechanical delay of Gatling guns! 

Link to comment
Share on other sites

Made that shaft-disk thing on the right of the first picture this weekend.

The shaft is made of stainless steel (OD=1/2"), plenty strong for the hair on fire animals out there. The disk was made of some hot rolled mild steel, cheap, brazed on the stainless, and then lathed. Brazing should be plenty strong enough... if not, I will pull out my TIG welder. Brazing is plenty easy for everybody. So, my first prototype is with this method. All you need is a MAPP gas torch, a roll of brazing "rods", and some flux. Additionally for alignment, I used a fire brick, drilled a 1/2" hole, and a recess of 3/4". This fixes the relationship between the shaft and the disk for brazing, and prevents the hot brazing liquid to come in contact with the brick. Perfect alignment is not really needed. A degree or two off is unperceetable to humans. So, I used a $99 drill press to drill that 1/2" hole (with a masonry bit)

The up-down movement is not unlike TM Warthog, but I got rid of the ball and socket (I only realized it's similar to Warthog's after I got the solution). And everything else is different. The 4x "rods" mechanism in Warthog causes force dead center and sticktion. The ball and socket mechanism causes some sticktion. This mechanism has practically no dead center, and no sticktion. The response curve is not linear. But I have a very clever more complicated mechanism for linear response curve, which I do not think necessary, and I might want to patent it anyway.

So, the prototype will only have that non-linear curve thing, but if necessary, I will curve it back with the firmware (compensated linear curve or uncompensated native non-linear curve). But, I highly doubt I will need to curve it back at the firmware.

Of course, the end product will not have those M3 screws protruding out so far (3x more, total 6x, although 3x should suffice). I wish they were handsome socket head screws, but unfortunately, there is no socket head screws that long off the shelf. I could TIG weld them... There will also be a hopefully stainless steel ring on top of the red body to be screwed down (and cap it). Next weekend's works.

 

IMG_1656.pngIMG_1654.png

  • Like 2
Link to comment
Share on other sites

Laser cut for disk parts of the control base. 304 stainless steel (why not since I am going to spend the money laser cutting it! It's so pretty!).  The parts themselves are not expensive, the setup fee is about USD $33. I could make them myself (not with  stainless... too difficult to cut by hand or even with a CNC mill, 10X slower than aluminum and have to use flood coolant.). For instance, the disk on the shaft disk, I cut it by hand out of a piece of mild steel bar stock, drilled a 1/2" hole, trim the corners with a bandsaw to save some lathe time, braze the stainless steel tube in, and then lathe. It's easy, but if you are making one of anything, the setup and jigs always cost you plenty of time! Same goes to Osh Cut. They charge some not unreasonable, but not cheap setup fee too.

The easiest way is to upload it and let them do most of the works. You can do it all by your lonesome with a scroll saw (not with 304 though, it would take forever and eat up a lot of your saw blades).

 

 

It will take about 8 days for them to cut it and deliver it to me. Typical prototyping at home scenario... like in the Army -- hurry up and wait.

Update: Ordered on Nov. 1. They said ship on or before Nov. 8th. But they actually shipped it out on Nov. 3rd.  I am supposed to receive it on Sunday.

image.png


Edited by Hempstead
Link to comment
Share on other sites

  • Recently Browsing   0 members

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