I used to work on a mechanical RF multiplexer that used a sealed case that we had to purge the oxygen then fill with nitrogen to prevent oxidation of the contacts.
'Was one of my thoughts. Nitrogen isn't hard to come by, non toxic and cheap, Even if you don't get the seals 100%, just flow a liter per day through it after purge to account for diffusion and leaks. Any copper oxide build up would be costlier to remove than just flowing 30 bucks of N2 per year.
Kinda wish Teledyne did that with the RF relays in a signal generator I bought. About 30 years after they were put in, the contacts need some high speed switching fun. And replacing the 12+ of them in there isn't going to be a thing. (£90 each).
@@DasIllu As far you just replace air by Nitrogen ( dry nitrogen as moisture is also a nightmare ) and keep the delta pressure low as possible your leak will be low and I agree cost saving compare to copper contact cleaning with be high .
Not only am I old enough to remember when car distributors worked like that, but I'm old enough to have rebuilt a couple. I LOVED this episode. Thank you.
For homing you could also add an additional copper pad where the end-stop is currently located. To home, you would move the motor until a signal is detected at that pad. For additional precision, you could place two or more thin pads instead of just one, allowing you to detect how far into the "end-stop" region the wiper got.
@@fried_electronics I was kinda thinking this, but one of the major issues is there could be GND or 5V on the rail, which would require more circuitry to deal with. The easier way might be to just use an IR light beam sensor. Just leave a hole in the circuit board, and set the sensors either in reflective, or beam-break mode.
My thought exacly. just check for a negative flank when leaving the homing pad. Should easily result in enough accuracy. The wiper could just be a shorter one opposing the other. the homing pad could be a 320° copper ring inside of the measurement pads. When contact is broken, you know you homed. has the advantage that you can also tell for sure if youre not homed and you could check for both ends of the ring. The Middle would be dead home.
@@highdesertdrew just have an isolated pair of pads for the homing function. they could be any voltage without affecting the nanovolts on the rest of the ring
@@markrages you could also do a full gray code track with a separate wiper. that would also reduce complexity and you could use a cold gear motor instead of a hot stepper. no need for expensive stepper motors or open loop control.
for homing a optical endstop might be the way to go, adding a small feature to the wiper that triggers the endstop, would allow for rather precise but contact less homing. hall effect sensors might also work
Magnetics may cause interference at these voltages, but optical should be easy. Adding a small wing to block a sensor would be trivial to add to the 3D print. Also, no mechanical wear!
Came here to say the exact same thing. Also, while I don't think the magnets for hall effect sensors would be a problem* I do agree that an optical solution is still better as he'd only need to buy the light gate and the flag can just be added to the print rather than buying a hall effect sensor and a small magnet. *so long as they're stationary while measurements are being taken there won't be any changing flux lines to induce any voltages. What could be an issue however is stray fields from the motors interfering with the sensor ..
I think there's an even better option here: Optical indexing at every position. Place a ring of individually-selectable LEDs below holes drilled in the base plate (obviously avoiding the copper goodness). Have a single sensor (photo-transistor or whatever) mounted on the wiper arm with a flexible cable. I envision each sensor being independent, but the LEDs being linked across switch axes (so all LED #1's are in parallel, all #2's in parallel, etc). With that in place, at startup you turn on *all* LEDs and move each wiper until it senses light. Now turn all LEDs off and step through them in sequence. Watch the sensors to see where every switch is. Now when you need to move you don't have to play games with timing, you can simply start the move and sit in a tight loop watching the sensor. When it sees light, stop. I wonder if it would help with mechanical wear to add a random fraction-of-a-second delay after seeing the light before stopping the motor. Then you avoid always being in exactly the same spot.
Using the 'small features mentioned above (a flag extension to arm) use an TTI OPB930 (or one of its variants) to accurately detect home position. We used those on precision free space laser optics assemblies for that very purpose at my previous job (DNA seauencers). Parts and datasheets at Digikey and Mouser. Cost is approximately $7.00 per unit. Pure digital solution.
You are effectively building switches similar to those in resistance boxes for ppm performance. You have a single flat wiper in same plane as contact surface. Suggest you use multiple copper pieces at right angle to the contact surface. Then with rounded corners you will have smooth transition on to contact. Same as we did 50 years ago. Enjoy.
Super cool! This definitely inspires some suggestions for improvements, hopefully some of these are things you may not already have thought of: -For limit switches, have you considered using some auxiliary electrical contacts on the wafer itself for homing? The homing circuit could be completed by the same wiper. A separate small "common ring" and an additional "outer ring" contact could be added to the contact pattern, to avoid ever connecting the limit circuit to the measurement circuits. -The orientation of the device might matter for long term reliability. In previous relay design work I've done, some orientations were better for debris clearing and resulted in better reliability (although that was actually a different problem, failing insulation tests in power relays due to contact debris dust covering and bridging the insulator). In this case it seems like standing the wafers up in a vertical plane might be ok, or having all wafers facing down might be good. Of course it's not like the debris will just fall off, it's somewhat adherent; but it has no chance of falling off with the wafers facing up. Face-up wafers feel possibly bad. -Have you considered mounting a little soft brush on a separate arm, next to the contact wiper arm? This might clear off debris from the wafer contacts (especially in a design with the wafers facing downwards). -Have you considered adding routed slots between contact pads? This could prevent bridging by debris, as long as the wiper never touches the substrate (of course the slot edges would create extreme wear if they touched the wiper). Not sure if this is solving a real problem or not. A slot could also help keep a brush clean, as the slot edges would flick the brush bristles as they passed, and help dislodge debris. -In another slotted substrate variation, a slot could allow a second brush to protrude through the wafer substrate and help clean the wiper. -Obviously brushes could introduce design issues themselves, if bristle debris breaks off. Nonconductive debris is always a problem for relays. Have you considered trying to somehow bifurcate the contact, to allow contact redundancy? Bifurcated contacts surprisingly always provide better contact resistance with a given total contact force. This is due to the "spreading resistance" in the material near the actual contact points. If you haven't already had this recommendation, the book "Electrical Contacts" by Slade is a common industry reference. It's definitely more power contact oriented, but there's lots of good stuff in there! This is really a lovely investigation you're doing, and best wishes for your continued success!!
@@reps Yup, same person! I am always very excited by the chance to think about fundamental transistor circuit operation, and try to understand it! I hope I gave good advice lol... I don't remember the exact problem but I am actually significantly better at BJT circuit analysis than FET circuit analysis so I hope I wasn't just trying to sound smart X-)
You can try adding a 45 degree outward taper on the first few layers of the print around the shoe part to keep the bulging out of the important part of the print. The resulting extra width shouldn't affect the functionality and it would be out of the way of the contact area. Another idea was to make it a two part print, make the shoe out of resin and the flexy bits on the FDM. If you make the flexy bits 2 lines wide (printing with a smaller nozzle to keep the width the same) they should be printed aa part of the perimeters, not as a separate line. Or you can add chamfers where it meets the perimeter on either side to give it more support.
Was wondering why he did not order from pcbway little copper pads to glue onto the arm, with a little filling you could round over the edges and they would run smooth over the traces. Plus they would be made from the same copper as the traces.
@@felixcosty I use pure copper rivet flat head ( leather rivet ) bespoke machined as contact , the shank allow a robust fixing point ( can be threaded too ) and the head a thick flat plate ITH radiused edge ( to allow smooth operation ) after machining
Thanks for the video, Spring load your motors so they pull the wipers down at a consistent rate. When you need to move the wipers push the motor up so it brakes contact and will not short circuit. Order little copper pads from pcbway to glue onto the arm, use a file and round over the edges of the pads. The Copper will also be the same type of copper and could help with difference between two different types of copper.A small motor with a cam should move the motors up and down with ease. This could make the arms less of a problem to print taking out the need for them to be a spring. Just a few crazy ideas that could work.
I don't think that I've ever considered the problem of 69ing two voltage standards. Amazing the things you can learn about the pursuit of the PPMs. Thank you for opening my mind to a new world of possibilities.
14:05 --> You can "cheat" and add additional walls at strategic places by adding micro-holes. The holes are nonexistent in the print, as they are extermely small, however the additional "walls" forced by the microholes du put reinforcement at strategic places. Of course, micro-holes can be replaced by microgrooves (large depth, but minuscule kerf) to get the additional leafspring-anchoring that you desire. PS - a tapering "root" instead of an abrupt transition (analogous to "tear-drop" PCB-pads) also reduces stress-risers and is generally beneficial for the lifetime of the flexures.
This is damn awesome! I really love this!. Some thoughts on your questions, that you may of already had: * The wipers might benefit form pack-in-salt-and-reheat FDM post-processing. I've only used it a few times, but it is seems very good at strengthening weak points like those flexures. * For a flat surface electrode (not a wiper though) I used electroplated glass microscope slides. That's probably overkill here, but glass slides are a very low cost way of getting hard flat surfaces and they're not hard to cut into rectangles; maybe a glass insert in the end of the wiper and under the tape would give an improved wear profile. * The safe switching code should just be a graph walking problem: each node in the graph is a possible switch configuration, and nodes are connected by an edge if a single switch step takes you between configurations. You don't need all nodes, just those reachable form the home configuration. Then prune out any destructive nodes. If the graph remains connected then there are safe paths to/from any configuration and pick your fav graph search routine to find the steps needed (maybe with some weights to avoid interleaving steps of two different switches). If the graph is too big for the Arduino, then you really only need a spanning tree of the graph, say rooted at the home configuration and avoiding interleaving, and the graph walker reduces to a tree walker. Anyway I hope these ideas are useful or spark other ideas, and again this is just a damn cool project!
@@reps chemically for me. I used a standard glass silvering solution to get a patterned silver strike layer and then plated ~15um of copper onto that but I didn't have to worry about thermal cycling or anything. You can also do a pure copper strike instead, and I'm told sputtering gives better adhesion (and there are always adhesion issues) but I've no real experience with those. I was more mentioning it more because i love these sorts of composite 3D printed builds and also it would solve the hard-flat-temp-stable-and-wont-deteriate problem even with tape on top - but mostly it's cos it's a cool 3D printed flexure :)
For the contacts you could add some metal springs like used in pens to push the plastic wipers, the plastic will relax over time and effect the performance of the contact pressure.
I'll be frank, Marco. You have become one of my most favourite RUclipsrs, I'd place you in the top tier of educational channels if I had to choose. The dense presentation of complex information, the format, the visuals and the jokes are all excellent. I also appreciate that you cross-post your videos on the Odyssee platform.
@@arthurmoore9488 for extra dollars, make it look like a generic off-the-shelf product and add epoxy blobs (that might be) hiding mods that make a difference
Highly interesting and very cool engineering and analysis. I have a possible project upcoming which requires measurement of low pico amps at with the measurement of nano volts. Your work in this area is highly educational, even for virtually all seasoned electronics engineers (including myself). Looking for the next installment on this.
You can avoid the short circuit issue with an additional PCB switch - but just one additional stepper this time! An n-pole single throw switch would let you isolate all the voltage sources while the rotary switches change state, e.g. a big comb shaped piece with multiple contacts (one for + and - of each device connected) which is free to translate in one axis (stepper motor driving some kind of screw to drive it; doesn't need much accuracy). The code uses this to break connection, then adjusts the rotary switches, then re-connects the voltage references. A moderate bit of work to put together and would need another PCBway sponsorship, but probably easier than trying to wire the rotary switches in a way that will never connect two sources backwards...
Awesome project. I suggest lifting the contact up with a solenoid or other means during transitions to reduce contact wear and eliminate the chance of short circuits. This approach also could help apply more contact pressure to reduce series resistance and reduce complexity for your contact assembly (mechanical spring based). I also recommend encoding each switch position with an optical solution that ultimately encodes the positions into absolute analog voltages (with a divider network) for your controller to interpret or opt for absolute encoders on your steppers! Lots of ways to skin this cat!
BTW: for isothermal results, instead of the whole thing about massive plates of whatever, we used relatively fast and turbulent airflow, confined inside 'the device', with small amounts of well-controlled heating to maintain a slight amount of temperature rise above the expected ambient range, so that you can guarantee a stable internal temperature, and avoid temperature gradients... I've even added the occasional resistor to areas that have a stubborn tendency to being "cool"... If you have a relatively passive box, you may insulate it and add heat, but, if there are 'exothermic' components, you might have to provide some external heat sinking to the enclosure, or maybe a bit of cooling with a Peltier kind of thing, if you want to keep the internal temperature to say +10° vs. ambient...well, I'm blathering to someone who is already well-versed in the finer arts. Sorry 'bout that. Greetings from the Schwäbische Albtraum.
You can do a lot better if you make sure return air to the temperature control node goes back along all external surfaces. With the correct ratio of insulation to air flow heat capacity you can get the side of the external surface ducts that face the DUT stable to better than 100mK with off the shelf TEC controllers in a box the size of a refrigerator. (primarily limited by the TEC controller)
Whenever I make this style of flexure in ASA I use Arachne engine (in any PrusaSlicer derivative) to slice it and make the flexure width two times the minimum Arachne feature size. This will ensure the flexure and wall are extruded in the same outer loop.
I have several metres of Tellurium Copper round bar in my metal store, and a brand new CNC mill. Now I want to make some motorised switches like that gorgeous rotary at 08:17 instead of what I am supposed to be working on. You are leading me astray again!
Amazing work with those wipers! Ig coarse everything you make is amazing but you put, I imagine, many tens of hours getting everything right. Well done sir 👏👏👏
@@reps Nice - ADI should have integrated the additional op-amps to begin with instead of an after-thought. Maybe the ADR1001 will be mass produced, unlike the ADR1000? Thanks for the heads up!
HI great video,i worked on a project over 20 years ago where we made some switches up on a PCB , for the results we required we applied Mercury to the contacts and wipers to help reduce the amount of dirt and Oxidation it worked well for our application of automated switching over months of use .
@@electrowizard2000 Hi it was on copper the process we used to apply mercury clean the copper with metal cleaner (Brasso) and rubb the mercury in with a small piece of leather the copper the turns silver and never dries . for the rotating switch we used parts off a phone uni selector with the same treatment to the contacts which where replaced with larger contacts, probably a heath and safety night mare .
Although originally also from the electronics caves, I currently work a lot with flexures. Some remarks: 13:17 This flexure wont do what you want it to do. The blade flexure gives you three degrees of freedom (translation 'out of plane', and rotations around any rotation axis in the plane of the blade), and by having the other blade flexure in series you are releasing 2 additional degrees of freedom. For series elements you can effectively 'sum' the DOFs. Looking at the orientation in 13:17, it would give you translational DOFs up/down and left/right. Additionally it gives rotation freedom in any orientation. The mechanism at 13:32 is essentially a translational stage (allowing up/down movement (but with some parasitic left/right movement!)) with the blade flexure attached. As with the previous flexure the DOFs sum, and you will end up with translation up/down, but with two rotational DOFs. The first rotational dof is in/out of the screen (I suppose you want this for the wiper to adapt to the surface), and the other DOF is along the vertical axis, which seems unwanted. The last design at 13:58 is identical to the previous one. The extra flexure does not do anything with your constraints, but merely overconstrains your design. In general, its not a good idea to do this, you are better off making your previous design thicker if you want a higher 'actuation stiffness' in your up/down movement. 14:08 Many modern slicers offer 'Arachne' slicing, which allows the hotend to dynamically adjust the flow of the plastic. Your printer is (IIRC) supported by Orca Slicer, and they have implemented Arachne for sure. This makes it possible to extrude different thicknesses of plastic lines instead of the nearest integer multiple of the wall thickness. For flexures this is incredibly useful. As you note, the flexures starting/stopping like that is absolutely awful, and compounded by the fact that in general most stresses for these flexures are at the extrema (where your design is indeed the weakest). If your flexures consist of two lines (which is possible with arachne, depending on the thickness), you at least form a closed loop. You should definitely combine it with 'randomized seam positions', to avoid all the seams ending up on the same spot and again presenting a weakpoint. 14:30 Resin printing in general is a terrible option. You might think that the smaller feature size would be helpful, but resins in general have (next to creep) terrible flexural properties (yieldstrength/flexural modulus is a good indication, higher=better). If you want the best performance of polymers, PA12 Nylon should be the material of choice. The main disadvantage is that you can only really print it with SLS (possible through PCBWay/JLCPCB), it has some creep (although not as bad as PLA), and degrades over time due to UV and moisture making it brittle. Of the FDM printable materials, the best you can do is polycarbonate (which isn't fun to print), but a close second is regular ABS. With a 0.4mm nozzle I can reliably get 0.8mm thick double walls, and with a 0.2mm nozzle I can get even thinner, up to 0.25mm flexure thickness is possible (but not very usable due to the extremely low support stiffness). If you would like to improve the design, and desire some more feedback/help with the flexure part, feel free to contact me. I have some ideas to improve the design you have (mostly on that second blade flexure, which releases unwanted DOFs).
thank you, noted! yes, the wipers were kind of shown in chronological order as I slowly figured out some of the things you mentioned experimentally. curiously I felt like the third spring at 13:58 gave me significantly more torsion stiffness
Dude I’ve been trying to figure out how to do this for so long. I know exactly what you’re talking about and I’ve wanted to build one with relays, but heard there was accuracy issues. This is exactly what I needed to know, thank you. This except with a decade resistor.
Absolutely superb and beautiful project! I love these kinds of diy mechanical things! 😍 Ideas: One: Swiper arm pressing down with a spring tension (idk why. less wear on 3d printed flexure? better contact?) Two: Swiper-arm wide empty gaps between contacts to avoid adjacent contacts shorting when changing position. Three: Non-conducting grease over copper surfaces to stop oxidation and reduce wear. Four: Permanent electrical contact in swiper arm rather than bridging two contacts on pcb. Thin multicore silicone wires to allow for their continuous movement.
Great work as per usual. I built something similar back at university, and we could never get the sliding over the contacts reliable enough. You must have spent a lot of time optimizing the wiper. What we did at university ultimately was have a wiper with a little permanent magnet on, and have a spring loaded contact with a little iron nut over each contact pad. The wiper would simply driver over this contact, and pull it towards its pad, making contact. You can of course also use an electromagnet, but then you have the same problem as with the relays regarding thermals.
I've been waiting for a new video where you challenge the status quo in search of the ppm's. Loved this episode. More like this please. And, the average number of innuendos, jokes, and snide remarks per minute is significantly higher than in previous videos. Also good.
There are lots of those PCB switches around in old equipment. An HP 3325A signal generator has 8 of them, if I recall. A couple of them "for parts only" might be all you need. RC servo motors are used in animated characters in some theme parks and Las Vegas free attractions. They run for thousands of hours before needing to be replaced. It is usually a plastic arm fracture or gear strip that causes them to fail, not the motor or the pot.
The gap between landing strips needs to be wider than the contact point of the wiper in order to avoid shorts. That is why the rotary switches use domes for contact points.
*Homing:* Add a blade to your wiper that blocks the path of a led and phototransistor when in home position. You can get really good resolution from them if you want. reference video Precision on a Budget: DIY Displacement Sensor for under $10 *Short circuit:* Maybe glue a magnet to the top of the wiper and mount a electromagnet over it (also fixed to the axis). So you can pull up the wiper when rotating. Maybe even adding down pressure when in position.
The electromagnetic pinball machines used 10-pos rotary switches with a pcb contact plate and a copper "spider" contact rotating around. Using that contact as a spring simplifies the design and also removes side forces of the shaft as the ring wiper is on opposite side than pin wiper. Adding a dead contact between every contact or every 2 contacts makes the software simpler as you can first turn all of them to dead pin next to current position, then one by one turn them to dead pin next to destination pin and finally move all to destination pins.
You don't have to use the wiper for stall homing. Move the stop screw to the inside of the wiper's radius, and add shorter and much sturdier arm on the *other* side of the shaft to engage it. For the wiper: Maybe a layer of neoprene or similar between the copper tape and the 3D print? Would also give better conformance and larger contact area, which you might need to compensate for with higher force to maintain the same contact pressure.
Thank you for the video. For PrusaSlicer: If you need a deeper flexure anchor, design a 0.01mm gap in the model to the desired depth, and in the Print Settings/Advanced decrease the Slice gap closing radius to below 0.01, like 0.009. Tested, works well for me.
Anchoring leafsprings in FDM: you can cut very thin slots through your cad model, cura will interpret those as outside walls and generate the according paths. I've tried that ages ago and it worked
14:10 Multiple intersecting parts can usually achieve this anchoring since Prusa Slicer plans each component individually. If you make the flexture elements longer to intersect with the main body and export them as separate parts, then you should end up with tool paths that "embed" the extrusion deeper in the body.
Slip rings in steering wheels are basically not a thing anymore, they use a winding spring flex pcb cable to allow for ~3-5 turns in each direction. Before airbags were a thing that was different of course. German word is: Wickelfeder Spiralkabel btw.
@@Graham_Wideman By polished, I don't necessarily mean video production quality, but more the time to cut down the video into a reasonable time frame. For example, It could've been two 1 hour videos with more details left in such as the 3d printing section. I'm sure the raw footage is many many more hours and it takes time to cut it down to a 30 min video.
Hi Mr Reps, Thank you for your unexpected plot twist at 0:59 (plus or minus a few seconds). I just had to smile and laugh. Welcome in a difficult personal time. Thanks :)! I must watch more ...
Marco, nice design! Maybe some additional ideas: Why not use an extra copper contact for homing? Let it connect and than back-off as slow as possible until the connection is open again. Record that position as your home position and navigate from that. Although this exercise being machined would take a big effort maybe you can just machine a stack of wipers at once to obtain a smooth wiper surface? Thank you for sharing all of your wonderful work. Best! Job
Hey! I was trying to make these not to long ago to make a video switch! I wanted to make a cheap and easy modern version of the modular wafer switches they used to use in old radios. this design differs quite a bit from the one I had but solves most of its problems. I will be keeping track of this project and may use some of the features to finish mine some day!
Wonderful! I used to work with coding firmware for extremely accurate measurement devices, for measuring 3 phase in various voltages and frequencies. There were many many sessions and late nights doing a lot of testing.
Love it... and the reference to distributor caps. In the vein of nostalgia, when you're done with the Nanovolt use-case you could scale to a Bombe and crack enigma codes :-)
True story: earlier today I realized that I hadn't heard from you in a while, and that I needed to check on your channel. So I as glad to see this masterpiece of a video. By the way, I thought steering wheels used a coiled up ribbon with a u bend in it. The bend rolls and unrolls along the inside of the curved housing around the steering column.
This is the stuff Marco! Thanks for the plot twist! Precision is such a rabbit hole, and seeing someone so deep into it is fascinating and terrifying at the same time. I would really love some insight on the process of the data gathering and database management. Obviously you use Grafana for data visualization, but do you also log the stepper data increments so you can verify that the steps are performed?
my working instrument control software is "multiinstrumentalist" on github, that writes to an influxdb which in turn is read by grafana. for data that is interesting enough to publish I also write csv files sometimes, because those are easier to share. in the first trial runs I did log switch actuations, but not currently
@@reps Thank you for the reply! I love Influx, especially combined with Grafana, great for alerting the right people (usually me..) when something isn't working as well!
Slip rings can go to very low uOhm noise levels with long life by having a multiple fingers - hard to describe in words (I’m not a patent attorney!) but I’ll have a go… Imagine a sheet of copper 300um to 600um thick, with fingers etched into it to make a structure like the business end of a fork. This can be chemical-etched or laser cut. Bend the tip of the tines of the fork into a hockey-stick shape then a small bend at the root of the tine in the opposite direction to the hockey stick bend, so that the plate where the tines come together can be bolted or riveted to a flat PCB and the hockey-stick ends sit proud of the plane of the PCB. Then align this PCB with your existing copper contact PCB and space appropriately so that you don’t exceed the elastic limit of what are effectively copper leaf springs you have just manufactured. These will wipe with very low force, but surprisingly good electrical contact, across your existing pads. By having lots of tines on your fork, per channel, you have lots of opportunities for good contact to be made, so if one or two bounce briefly there are still other tines in good contact. You will want to make a bending jig to get the same curvature across all your contacts, but such a jig would be easy to 3D print. The hockey-stick ends are also narrow enough that you shouldn’t have to worry about aquaplaning over deoxit either. I know of very reliable slip rings running at amp levels with just four tines per contact. They are running unlubricated, but hard gold to hard gold, so if you want to go pure copper I think deoxit is a good move.
Just to give an idea of how this fork design can look, google images -- novotechnik 400021110 --- . it is a german company for position sensors. but the contact are also not pure copper.
Wow! It’s fascinating to see your work! - Regarding the problems mechanical endstops, it might be an idea to embed two contact pads on the pcb at homing position. - About shorting signals, maybe a solution could be to dedicate one switch assembly with multiple wipers to (dis)connecting comms during switching operations. Though ofc that’d add more signal loss. Good luck with the project and I’m looking forward to updates ;)
One position end stop sensing trick from the entertainment moving light world that is all stepper driven is the edge sense the stop contact and calculate the center. The motor drives in one direction until it sees the stop contact or optical gate, then continues past the contact until it sees the other edge. The microprocessor then calculates the number of steps between those two changes in state and sets that as the "home" position.
The bulge on the wiper is called "elephants foot" and is something that can be compensated for in the slicer but is also affected by bed leveling and such. You should try to get bambulab to sponsor you a proper printer which will solve a lot of these print quality issues ;) An alternative to make the design more printable for everyone is to add a 45 degree chamfer to the wiper such that when printed the elephants foot happens on the chamfer and gives a couple of layers to stabalize the extrusion height before reaching the actual wiper surface.
When you want anchoring for structures in prusa slicer you can create a second volume in your cad software which sits in the place where you want the anchoring and assign a higher infill density to that volume when slicing.
I'm not an expert on this sort of thing, so this may be a dumb idea but I thought of it while you were discussing options. What about reed switches? They should be able to be thermally isolated from the coils that actuate them, they are hermetically sealed, are specifically designed for fast, repeatable switching over a long life. They are also rather cheap. The main issue I see is the switch material and contact material, but I understood that to be an issue primarily in situations like a standard relay which is connected to the coil and so has uneven heat.
You could use a second pcb on top of the wiper (with springs to ensure contact pressure) with contacts for homing. Or even use a simple dc motor and the contacts on the second pcb to position the wiper.
Optical homing - a fin on the armature into a slot, sensor Fasten a steel dot to the inside of each contact and regulate the down pressure with a permanent magnet in the armature. Then the contacts drag with less force between contacts but are pulled down for wiping over each one. The armature only needs to move in the up/down axis and take the force of rotating, but not also have springiness to deliver downward force. You could separate the rotation of the armature from the up/down motion as well, so the qualities of each can be tuned to the requirements. Splitting dependencies often leads to a more reliable and less fiddly design. Sure, one piece is usually low cost and easy to assemble, but we are going for quality.
To solve the homing problem, fit micro switches to each motor wiper, and then you could use a simple cam to activate the switch, it would also mean you could turn 360 degrees and reduce the movements required to go from say position 1 to position 10, as you could avoid having to go through positions 2 - 9 to get there.
Neat stuff. I think all cars have switched to clock spring style connections to the steering wheel. What about a motorized rack to engage the connectors? That way they wouldn't drag and they wouldn't connect until positioned. I agree with other here that a pair of contacts at the end of travel for homing would be better. Or if you go with lifting the wipers like I mentioned you could use something like pogo pins for the end indication.
Marco, late to this party but I had a thought. Metal on metal wear issues are often made worse by the presence of oxides which are harder than the parent metal, aluminium being the standout example. You could try polishing the surfaces to remove oxides then sticking the switching unit in a box full of inert gas. Argon is easily available from welding supplies and reasonably cheap.
Rather than a separate index sensor, what about increasing the spacing slightly between the first and last switch contacts, and adding a light duty pair in that gap - these being for the index position? Photo-interrupters would also be an option; you could add a tab to the top of the rotor to break the beam. For the issue of shorting an intermediate contact (around 27:55), here's a thought: Have a series of ramps (i.e. multi-start threads), one ramp/thread per switch position, that engage a tab on the wiper and apply vertical force. If the threads overlap, when turning one direction the wiper will surf over the top and not make electrical contact. Turn that direction until the correct thread is engaged, then reverse and the overlying thread pushes the wiper down and contact is made. One drawback is less wiping action to keep the contacts clean.
i wonder if you could spring load the motors. Then you could add a coil and magnet underneath that would lift up the wipers from the contact. something like lift contact, move, drop and then maybe a bit of side to side movement to "scratch" into the contact
I have a bunch of those switches. They are currently living in some old English electrical lab equipment (H. Tinsley & Co., London), which I seem to have acquired a room full of.
Tip that might help you with the homing issue: make the stopper contact the main plastic body that mounts over the stepper motor axle. That way you dont have to put any additional forces onto the wiper arm. If there is room for it, in the open space between the contact point om the wiper arm and the main body you could extend a post out from the main body and make it float just above the pcb. Then relocate your stopping screw so its all the way on the edge. Or you could design a new pcb where you include a mounting point for the stop screw somewhere inside the open hole you have today. Almost like a circle but with a small "bump" if you know what i mean. 😅
I believe you could achieve the desired deeper anchoring in an inconvenient and fiddly way by adding a modifier volume that contains the blade flextures and extends further. Some settings cause the slicer to add walls dividing the modifier volume from the unmodified part. I was able to induce this mechanism with a test model just now by having the modifier volume change the number of perimeters. Now I have 1 perimeter of blade extending from several millimeters inside the base block to several millimeters inside the elbow block (PrusaSlicer 2.8.0). It has to be positioned manually of course, and there is a potential risk of creating a bending stress inside the terminal, which could cause the 3-bar flexture linkage to develop a preload.
To deal with the issue of shorting, what about designated non-connected (NC) positions between each position with a terminal on them? Algorithm to prevent shorts would be: (Moving only one wiper at any time to simplify electrical connectivity logic) 1. Wipers start at some presumably-"good" state (Initial "good" state") 2. Move each wiper zero or one position into the nearest NC state. 3. Move each wiper to the NC positions neighboring the final target position. (No electrical connections in or out of box at this point) 4. Move each wiper one position along into their target position. (Only electrical connections to final "good" state) 5. Wipers are all connected to their final "good" target state. Homing or even position-detection could be handled via optointerruptors; as others have suggested an array of LEDs in sequence sharing a photodetector would permit each position on the wheel to act as a homing index. A simple LED chaser made from some shift registers would save IO pins. You'd want to paint the LEDs to ensure light can only shine through the homing locator, and then your photosensor could just detect ambient light inside the case, when it is low you have covered the currently lit LED in the string, when it is high you have not covered the currently lit LED. To further simplify you'd only test the LED string under one dial at a time. This would also permit you to illuminate the LED under your target position and then begin rotation, confirming you are at the correct destination position.
To get it homed - just need to add a trace on the PCB and measure for continuity. As for the formula to avoid short circuits. - Move rotator 1 to the non-connected step prior to destination. - Move rotator 2 to the final step. - Move rotator 1 the final half step.
For homing I think your idea of using stall detection would work fine but you need an arm separate from the contact arm to stall the motor... something solid and straight out, possibly having to move the stall screw towards the center. For the shorting problem you could expand the dead zone between each contact (the freestanding contact) slightly and/or shrink the shoe. Then you drive to a dead zone between change and only move one 'axis' at a time to the dead zone adjacent to their destination pad, finally driving all to their destination pad concurrently.
Car distributors never worked like that, they have a gap between contacts. However, the Bosch D-Jetronic EFI's throttle position sensor does work like this, and I've always wondered why they don't wear out immediately. They live almost forever.
Impressive work you can perhaps add pocket or even slot ( by milling ) between each contact , these pocket will catch / trap copper micro powder generated by wear / micro galling
A suggestion regarding 3D printing, from the finish of the surface layer it seems that the printer is overextruding, try reducing the flow multiplier by 3-6%, it should also help you with the first layer. Regarding this, I suggest you apply a small chamfer to the edges in contact with the print bed, like 0.5 mm. If you don't want to, you can try printing using a raft, the backlash in the lead screws can cause the first layers to be squashed. To improve the adhesion of the springs, you can try to increase the fillets radius with the two blocks or to thicken the walls, the arachne algorithm should activate. To improve the stepper's position you could opt for a closed-loop system by adding a magnet and a hall effect sensor or opt for a prefabricated solution, for example, that of Bigtreetech. I hope I have been of help to you.
Hello Marco! Love your precision electronics videos, makes me appreciate my workplace and fluke 55xxseries calibrator they have a bit more… I wonder, now that massive mechanical complexity seems to be a non issue, if the wipers really need to slide over the pcb. If all the steppers reside on the same board, maybe you could raise said board 5 mm when switching positions to avoid dragging and also avoiding the dangerous combinations that sometimes appear. This could be combined with a small wiggle of the wipers once they make contact to counteract minor oxidation and ensure good contact.
Hey Marco, that's a project I'd love to dig into myself one day. Very, very interesting! I have a few questions and some ideas for a possible future version: - Spring steel wire aka music wire could be a very cheap alternative to laser-cut leaf springs - Have you considered to use the switch itself as a limit switch with an aditional contact pair on the wafer that just gets shorted out by the wiper? Seems like an easy solution to me. - Whats the resoning behind the slanted/tilted contact arrangement and the floating intermediate contacts? I suppose a longer creepage distance between the actual working contacts would be beneficial in the long run, considering the unevitable copper contamination of the insulating substrates surface. - Maybe a piece of straightened solid copper wire could be a viable alternative for the copper tape. The wire piece could either act as a rolling contact similar to the brush on a variac or as a sliding contact as it is right now, depending on the mounting arrangement. This would likely result in a more defined line contact without the "elephant's foot" problem of the printed wipers and probably last much longer.
Afik, contact pressure is your friend when making reliable electrical contact. (your gold standard rotary switch uses the edge of the copper wipers for very high contact pressure) Your wiper looks quite flat so could be sharpened up. Maybe use a few turns of bare copper wire as point contacts on the wiper instead of foil tape? I've had good luck with creep of PETG, but you will see creep in the plastic flexures. I think you'd have to go to PC or PEEK to significantly slow it. There is a 3D printed microscope XYZ stage project from a few years ago that uses flexures and has creep measurements for PLA. (PLA creeps a ton)
If you carefully read the full data sheets on various switches, you can find a minimum voltage, typically lowest for gold plate. Silver contacts have better conductivity, but higher minimum voltage. I assume that's because the silver oxidizes more readily and you need enough voltage to punch through any oxide. Copper is even more prone to oxidation. I've cleaned entirely too many copper contacts to fix various devices over the years.
Gold contact are nor really '' gold '' check Johnson Matthey articles they have developed bespoke multi layer of precious metal to solve gold contacts wear and other problem another problem of ''Gold'' is the surface roughness / texture , best is to use PVD process to avoid macro ''moon surface'' shape If I shall select something nice I will go with platinum contact , original telephone relay was platinum contact fitted for wear and resistance value
For homing, a very simple solution would be to add another pair of pads to the switch PCB at the home position. When the wiper bridges them, it s ‘home’. No extra components required.
For the issue with the wiper foot, you should try making that a multi part assembly. Having the face of the wiper foot pointing up in the z direction and enabling ironing will smooth out that contact face nicely. Or maybe sinter the part to give it some more uniformity. That might be difficult with such a small part though.
Since you can’t use the end stop anyways maybe you could put a small piece of felt in the deadzone to clean the wiper. Use the change in motor power to get it to zero on the felt. Since you don’t need precise accuracy, a small wedge of felt would provide the zeroing accuracy you need while also cleaning the wiper
If you bake in a separate pair of contacts into the PCB at the "home position", you can just run the stepper motor around until you get a signal on those contacts. Why two? So you can ensure the stepper pad is properly centered. Then just run the stepper motor back to the desired position.
HECK YEAH, MORE STUFF I DONT UNDERSTAND SAID IN A MONOTONE VOICE!
real as fuck
It's like a drug
Yeah, only if it woud be longer, like a hour long.
wdym it's not monotone at all?
@@Foga001 It should be hour[S] !
I used to work on a mechanical RF multiplexer that used a sealed case that we had to purge the oxygen then fill with nitrogen to prevent oxidation of the contacts.
'Was one of my thoughts. Nitrogen isn't hard to come by, non toxic and cheap,
Even if you don't get the seals 100%, just flow a liter per day through it after purge to account for diffusion and leaks. Any copper oxide build up would be costlier to remove than just flowing 30 bucks of N2 per year.
Kinda wish Teledyne did that with the RF relays in a signal generator I bought.
About 30 years after they were put in, the contacts need some high speed switching fun. And replacing the 12+ of them in there isn't going to be a thing. (£90 each).
@@DasIllu As far you just replace air by Nitrogen ( dry nitrogen as moisture is also a nightmare ) and keep the delta pressure low as possible your leak will be low and I agree cost saving compare to copper contact cleaning with be high .
@@ced3098 why keep delta pressure low if you can sligtly overpressurize the container to stop any ingres of dust and oxygen alltogether?
@@IkarimTheCreaturehow would over pressure keep out ingress? Wouldn’t the gas inside just leak out faster?
True classic, instead of spending 5 days measuring something, I'd spend 4 days automating it and then half day letting it run. Nice.
you forgot the 5 days of debugging after the 4 days of automating*
Not only am I old enough to remember when car distributors worked like that, but I'm old enough to have rebuilt a couple. I LOVED this episode. Thank you.
But only car ignition switches used copper on copper slip rings, distributors where contactless and used more fancy metals and graphite brush on input
Hell, I aint old but I have rebuilt the points system in my grandad's old Massey more times than I would care to count. That thing just wouldn't die.
I've been watching since the days of the Blue Brushless Brutality Beast v1, couldn't be happier to see it make a cameo 7 years later!
For homing you could also add an additional copper pad where the end-stop is currently located. To home, you would move the motor until a signal is detected at that pad. For additional precision, you could place two or more thin pads instead of just one, allowing you to detect how far into the "end-stop" region the wiper got.
Great idea, I think a method that is similar to 3D printers “home, reverse, slow home” would be an easier way of increasing precision
@@fried_electronics I was kinda thinking this, but one of the major issues is there could be GND or 5V on the rail, which would require more circuitry to deal with. The easier way might be to just use an IR light beam sensor. Just leave a hole in the circuit board, and set the sensors either in reflective, or beam-break mode.
My thought exacly. just check for a negative flank when leaving the homing pad. Should easily result in enough accuracy. The wiper could just be a shorter one opposing the other. the homing pad could be a 320° copper ring inside of the measurement pads. When contact is broken, you know you homed. has the advantage that you can also tell for sure if youre not homed and you could check for both ends of the ring. The Middle would be dead home.
@@highdesertdrew just have an isolated pair of pads for the homing function. they could be any voltage without affecting the nanovolts on the rest of the ring
@@markrages you could also do a full gray code track with a separate wiper. that would also reduce complexity and you could use a cold gear motor instead of a hot stepper. no need for expensive stepper motors or open loop control.
You cut heat shrink tubing to length while monitoring with dial gauge calipers. Love it
Just like robrenz does!
Marco your dry robotic sense of humor and delivery is golden. You need to do voice overs. Great project.
for homing a optical endstop might be the way to go, adding a small feature to the wiper that triggers the endstop, would allow for rather precise but contact less homing.
hall effect sensors might also work
Magnetics may cause interference at these voltages, but optical should be easy. Adding a small wing to block a sensor would be trivial to add to the 3D print. Also, no mechanical wear!
Came here to say the exact same thing.
Also, while I don't think the magnets for hall effect sensors would be a problem* I do agree that an optical solution is still better as he'd only need to buy the light gate and the flag can just be added to the print rather than buying a hall effect sensor and a small magnet.
*so long as they're stationary while measurements are being taken there won't be any changing flux lines to induce any voltages. What could be an issue however is stray fields from the motors interfering with the sensor ..
I think there's an even better option here: Optical indexing at every position. Place a ring of individually-selectable LEDs below holes drilled in the base plate (obviously avoiding the copper goodness). Have a single sensor (photo-transistor or whatever) mounted on the wiper arm with a flexible cable. I envision each sensor being independent, but the LEDs being linked across switch axes (so all LED #1's are in parallel, all #2's in parallel, etc).
With that in place, at startup you turn on *all* LEDs and move each wiper until it senses light. Now turn all LEDs off and step through them in sequence. Watch the sensors to see where every switch is.
Now when you need to move you don't have to play games with timing, you can simply start the move and sit in a tight loop watching the sensor. When it sees light, stop.
I wonder if it would help with mechanical wear to add a random fraction-of-a-second delay after seeing the light before stopping the motor. Then you avoid always being in exactly the same spot.
Using the 'small features mentioned above (a flag extension to arm) use an TTI OPB930 (or one of its variants) to accurately detect home position. We used those on precision free space laser optics assemblies for that very purpose at my previous job (DNA seauencers). Parts and datasheets at Digikey and Mouser. Cost is approximately $7.00 per unit. Pure digital solution.
You are effectively building switches similar to those in resistance boxes for ppm performance. You have a single flat wiper in same plane as contact surface. Suggest you use multiple copper pieces at right angle to the contact surface. Then with rounded corners you will have smooth transition on to contact. Same as we did 50 years ago. Enjoy.
Super cool! This definitely inspires some suggestions for improvements, hopefully some of these are things you may not already have thought of:
-For limit switches, have you considered using some auxiliary electrical contacts on the wafer itself for homing? The homing circuit could be completed by the same wiper. A separate small "common ring" and an additional "outer ring" contact could be added to the contact pattern, to avoid ever connecting the limit circuit to the measurement circuits.
-The orientation of the device might matter for long term reliability. In previous relay design work I've done, some orientations were better for debris clearing and resulted in better reliability (although that was actually a different problem, failing insulation tests in power relays due to contact debris dust covering and bridging the insulator). In this case it seems like standing the wafers up in a vertical plane might be ok, or having all wafers facing down might be good. Of course it's not like the debris will just fall off, it's somewhat adherent; but it has no chance of falling off with the wafers facing up. Face-up wafers feel possibly bad.
-Have you considered mounting a little soft brush on a separate arm, next to the contact wiper arm? This might clear off debris from the wafer contacts (especially in a design with the wafers facing downwards).
-Have you considered adding routed slots between contact pads? This could prevent bridging by debris, as long as the wiper never touches the substrate (of course the slot edges would create extreme wear if they touched the wiper). Not sure if this is solving a real problem or not. A slot could also help keep a brush clean, as the slot edges would flick the brush bristles as they passed, and help dislodge debris.
-In another slotted substrate variation, a slot could allow a second brush to protrude through the wafer substrate and help clean the wiper.
-Obviously brushes could introduce design issues themselves, if bristle debris breaks off. Nonconductive debris is always a problem for relays. Have you considered trying to somehow bifurcate the contact, to allow contact redundancy? Bifurcated contacts surprisingly always provide better contact resistance with a given total contact force. This is due to the "spreading resistance" in the material near the actual contact points.
If you haven't already had this recommendation, the book "Electrical Contacts" by Slade is a common industry reference. It's definitely more power contact oriented, but there's lots of good stuff in there!
This is really a lovely investigation you're doing, and best wishes for your continued success!!
woah is this the same inductorman who helped me understand a temperature compensated bias circuit for two mosfets on reddit many years ago?
great ideas, thank you! especially the radial slots would be interesting, possibly giving this nanovolt device new femtoampere capabilities
@@reps Yup, same person! I am always very excited by the chance to think about fundamental transistor circuit operation, and try to understand it! I hope I gave good advice lol... I don't remember the exact problem but I am actually significantly better at BJT circuit analysis than FET circuit analysis so I hope I wasn't just trying to sound smart X-)
@@InductorMan I really miss your contributions to r/askelectronics, it is refreshing to see you here :)
@@reps Can you share the link?
You can try adding a 45 degree outward taper on the first few layers of the print around the shoe part to keep the bulging out of the important part of the print. The resulting extra width shouldn't affect the functionality and it would be out of the way of the contact area.
Another idea was to make it a two part print, make the shoe out of resin and the flexy bits on the FDM. If you make the flexy bits 2 lines wide (printing with a smaller nozzle to keep the width the same) they should be printed aa part of the perimeters, not as a separate line. Or you can add chamfers where it meets the perimeter on either side to give it more support.
Was wondering why he did not order from pcbway little copper pads to glue onto the arm, with a little filling you could round over the edges and they would run smooth over the traces. Plus they would be made from the same copper as the traces.
@@felixcosty I use pure copper rivet flat head ( leather rivet ) bespoke machined as contact , the shank allow a robust fixing point ( can be threaded too ) and the head a thick flat plate ITH radiused edge ( to allow smooth operation ) after machining
Thanks for the video,
Spring load your motors so they pull the wipers down at a consistent rate. When you need to move the wipers push the motor up so it brakes contact and will not short circuit. Order little copper pads from pcbway to glue onto the arm, use a file and round over the edges of the pads. The Copper will also be the same type of copper and could help with difference between two different types of copper.A small motor with a cam should move the motors up and down with ease. This could make the arms less of a problem to print taking out the need for them to be a spring.
Just a few crazy ideas that could work.
Actually a small solenoid would work for application force. Then you can have a landing pit for cleaning?
I don't think that I've ever considered the problem of 69ing two voltage standards. Amazing the things you can learn about the pursuit of the PPMs. Thank you for opening my mind to a new world of possibilities.
14:05 --> You can "cheat" and add additional walls at strategic places by adding micro-holes. The holes are nonexistent in the print, as they are extermely small, however the additional "walls" forced by the microholes du put reinforcement at strategic places. Of course, micro-holes can be replaced by microgrooves (large depth, but minuscule kerf) to get the additional leafspring-anchoring that you desire. PS - a tapering "root" instead of an abrupt transition (analogous to "tear-drop" PCB-pads) also reduces stress-risers and is generally beneficial for the lifetime of the flexures.
This is damn awesome! I really love this!. Some thoughts on your questions, that you may of already had:
* The wipers might benefit form pack-in-salt-and-reheat FDM post-processing. I've only used it a few times, but it is seems very good at strengthening weak points like those flexures.
* For a flat surface electrode (not a wiper though) I used electroplated glass microscope slides. That's probably overkill here, but glass slides are a very low cost way of getting hard flat surfaces and they're not hard to cut into rectangles; maybe a glass insert in the end of the wiper and under the tape would give an improved wear profile.
* The safe switching code should just be a graph walking problem: each node in the graph is a possible switch configuration, and nodes are connected by an edge if a single switch step takes you between configurations. You don't need all nodes, just those reachable form the home configuration. Then prune out any destructive nodes. If the graph remains connected then there are safe paths to/from any configuration and pick your fav graph search routine to find the steps needed (maybe with some weights to avoid interleaving steps of two different switches). If the graph is too big for the Arduino, then you really only need a spanning tree of the graph, say rooted at the home configuration and avoiding interleaving, and the graph walker reduces to a tree walker.
Anyway I hope these ideas are useful or spark other ideas, and again this is just a damn cool project!
great points, thank you! how do you copper-plate microscope slides? sputtering or chemically?
@@reps chemically for me. I used a standard glass silvering solution to get a patterned silver strike layer and then plated ~15um of copper onto that but I didn't have to worry about thermal cycling or anything. You can also do a pure copper strike instead, and I'm told sputtering gives better adhesion (and there are always adhesion issues) but I've no real experience with those. I was more mentioning it more because i love these sorts of composite 3D printed builds and also it would solve the hard-flat-temp-stable-and-wont-deteriate problem even with tape on top - but mostly it's cos it's a cool 3D printed flexure :)
For the contacts you could add some metal springs like used in pens to push the plastic wipers, the plastic will relax over time and effect the performance of the contact pressure.
you could get copper flathead nails put a spring around them, stick it in a tube in the plastic part and just bend the end to keep it in place.
I'll be frank, Marco. You have become one of my most favourite RUclipsrs, I'd place you in the top tier of educational channels if I had to choose. The dense presentation of complex information, the format, the visuals and the jokes are all excellent. I also appreciate that you cross-post your videos on the Odyssee platform.
Agree with all of the above.
you need to get into the audiofool scene...so many opportunities; solid copper parts; skookum custom volume pot?
first person to make a 32-bit resolution digipot unlocks the MIDI 2.0 money printer
"Skookum"....where did that word come from? 🇨🇦, eh....
"High precision switch to prevent the PPMs from falling out of your music!"
@@SnakebitSTI I guarantee you it would sell.
@@arthurmoore9488 for extra dollars, make it look like a generic off-the-shelf product and add epoxy blobs (that might be) hiding mods that make a difference
Highly interesting and very cool engineering and analysis. I have a possible project upcoming which requires measurement of low pico amps at with the measurement of nano volts. Your work in this area is highly educational, even for virtually all seasoned electronics engineers (including myself). Looking for the next installment on this.
You can avoid the short circuit issue with an additional PCB switch - but just one additional stepper this time! An n-pole single throw switch would let you isolate all the voltage sources while the rotary switches change state, e.g. a big comb shaped piece with multiple contacts (one for + and - of each device connected) which is free to translate in one axis (stepper motor driving some kind of screw to drive it; doesn't need much accuracy). The code uses this to break connection, then adjusts the rotary switches, then re-connects the voltage references.
A moderate bit of work to put together and would need another PCBway sponsorship, but probably easier than trying to wire the rotary switches in a way that will never connect two sources backwards...
I'm at 39,000ft over the north pole with a glass of red wine and Marco...
pics or it didn't happen 😶🌫
@@reps You forgot that the Bass Pro Pyramid beat you there.
Awesome project.
I suggest lifting the contact up with a solenoid or other means during transitions to reduce contact wear and eliminate the chance of short circuits. This approach also could help apply more contact pressure to reduce series resistance and reduce complexity for your contact assembly (mechanical spring based). I also recommend encoding each switch position with an optical solution that ultimately encodes the positions into absolute analog voltages (with a divider network) for your controller to interpret or opt for absolute encoders on your steppers!
Lots of ways to skin this cat!
BTW: for isothermal results, instead of the whole thing about massive plates of whatever, we used relatively fast and turbulent airflow, confined inside 'the device', with small amounts of well-controlled heating to maintain a slight amount of temperature rise above the expected ambient range, so that you can guarantee a stable internal temperature, and avoid temperature gradients... I've even added the occasional resistor to areas that have a stubborn tendency to being "cool"... If you have a relatively passive box, you may insulate it and add heat, but, if there are 'exothermic' components, you might have to provide some external heat sinking to the enclosure, or maybe a bit of cooling with a Peltier kind of thing, if you want to keep the internal temperature to say +10° vs. ambient...well, I'm blathering to someone who is already well-versed in the finer arts. Sorry 'bout that. Greetings from the Schwäbische Albtraum.
You can do a lot better if you make sure return air to the temperature control node goes back along all external surfaces. With the correct ratio of insulation to air flow heat capacity you can get the side of the external surface ducts that face the DUT stable to better than 100mK with off the shelf TEC controllers in a box the size of a refrigerator. (primarily limited by the TEC controller)
Sure...
Whenever I make this style of flexure in ASA I use Arachne engine (in any PrusaSlicer derivative) to slice it and make the flexure width two times the minimum Arachne feature size. This will ensure the flexure and wall are extruded in the same outer loop.
I have several metres of Tellurium Copper round bar in my metal store, and a brand new CNC mill. Now I want to make some motorised switches like that gorgeous rotary at 08:17 instead of what I am supposed to be working on. You are leading me astray again!
Amazing work with those wipers! Ig coarse everything you make is amazing but you put, I imagine, many tens of hours getting everything right. Well done sir 👏👏👏
Seriously, we need a follow-up video of the hour long voltage reference video; it is a classic, IMO!
Strangely enough ADI has just or is in the process of publishing yet another new vref: ADR1001
@@reps Nice - ADI should have integrated the additional op-amps to begin with instead of an after-thought. Maybe the ADR1001 will be mass produced, unlike the ADR1000? Thanks for the heads up!
Praying to the PPM gods for a new golden era of voltage references 🙏
HI great video,i worked on a project over 20 years ago where we made some switches up on a PCB , for the results we required we applied Mercury to the contacts and wipers to help reduce the amount of dirt and Oxidation it worked well for our application of automated switching over months of use .
What was the base material for the mercury? Right on copper? Tinned? Gold? Sounds cool
@@electrowizard2000 Hi it was on copper the process we used to apply mercury clean the copper with metal cleaner (Brasso) and rubb the mercury in with a small piece of leather the copper the turns silver and never dries .
for the rotating switch we used parts off a phone uni selector with the same treatment to the contacts which where replaced with larger contacts, probably a heath and safety night mare .
sounds great, but not sure what this would do to my thermal EMFs
of course this would not be rohs compliant 😂
Although originally also from the electronics caves, I currently work a lot with flexures. Some remarks:
13:17 This flexure wont do what you want it to do. The blade flexure gives you three degrees of freedom (translation 'out of plane', and rotations around any rotation axis in the plane of the blade), and by having the other blade flexure in series you are releasing 2 additional degrees of freedom. For series elements you can effectively 'sum' the DOFs. Looking at the orientation in 13:17, it would give you translational DOFs up/down and left/right. Additionally it gives rotation freedom in any orientation.
The mechanism at 13:32 is essentially a translational stage (allowing up/down movement (but with some parasitic left/right movement!)) with the blade flexure attached. As with the previous flexure the DOFs sum, and you will end up with translation up/down, but with two rotational DOFs. The first rotational dof is in/out of the screen (I suppose you want this for the wiper to adapt to the surface), and the other DOF is along the vertical axis, which seems unwanted.
The last design at 13:58 is identical to the previous one. The extra flexure does not do anything with your constraints, but merely overconstrains your design. In general, its not a good idea to do this, you are better off making your previous design thicker if you want a higher 'actuation stiffness' in your up/down movement.
14:08 Many modern slicers offer 'Arachne' slicing, which allows the hotend to dynamically adjust the flow of the plastic. Your printer is (IIRC) supported by Orca Slicer, and they have implemented Arachne for sure. This makes it possible to extrude different thicknesses of plastic lines instead of the nearest integer multiple of the wall thickness. For flexures this is incredibly useful. As you note, the flexures starting/stopping like that is absolutely awful, and compounded by the fact that in general most stresses for these flexures are at the extrema (where your design is indeed the weakest). If your flexures consist of two lines (which is possible with arachne, depending on the thickness), you at least form a closed loop. You should definitely combine it with 'randomized seam positions', to avoid all the seams ending up on the same spot and again presenting a weakpoint.
14:30 Resin printing in general is a terrible option. You might think that the smaller feature size would be helpful, but resins in general have (next to creep) terrible flexural properties (yieldstrength/flexural modulus is a good indication, higher=better). If you want the best performance of polymers, PA12 Nylon should be the material of choice. The main disadvantage is that you can only really print it with SLS (possible through PCBWay/JLCPCB), it has some creep (although not as bad as PLA), and degrades over time due to UV and moisture making it brittle.
Of the FDM printable materials, the best you can do is polycarbonate (which isn't fun to print), but a close second is regular ABS. With a 0.4mm nozzle I can reliably get 0.8mm thick double walls, and with a 0.2mm nozzle I can get even thinner, up to 0.25mm flexure thickness is possible (but not very usable due to the extremely low support stiffness).
If you would like to improve the design, and desire some more feedback/help with the flexure part, feel free to contact me. I have some ideas to improve the design you have (mostly on that second blade flexure, which releases unwanted DOFs).
thank you, noted! yes, the wipers were kind of shown in chronological order as I slowly figured out some of the things you mentioned experimentally. curiously I felt like the third spring at 13:58 gave me significantly more torsion stiffness
Dude I’ve been trying to figure out how to do this for so long. I know exactly what you’re talking about and I’ve wanted to build one with relays, but heard there was accuracy issues.
This is exactly what I needed to know, thank you. This except with a decade resistor.
Absolutely superb and beautiful project! I love these kinds of diy mechanical things! 😍
Ideas: One: Swiper arm pressing down with a spring tension (idk why. less wear on 3d printed flexure? better contact?) Two: Swiper-arm wide empty gaps between contacts to avoid adjacent contacts shorting when changing position. Three: Non-conducting grease over copper surfaces to stop oxidation and reduce wear. Four: Permanent electrical contact in swiper arm rather than bridging two contacts on pcb. Thin multicore silicone wires to allow for their continuous movement.
Great work as per usual. I built something similar back at university, and we could never get the sliding over the contacts reliable enough. You must have spent a lot of time optimizing the wiper.
What we did at university ultimately was have a wiper with a little permanent magnet on, and have a spring loaded contact with a little iron nut over each contact pad. The wiper would simply driver over this contact, and pull it towards its pad, making contact. You can of course also use an electromagnet, but then you have the same problem as with the relays regarding thermals.
I've been waiting for a new video where you challenge the status quo in search of the ppm's. Loved this episode. More like this please.
And, the average number of innuendos, jokes, and snide remarks per minute is significantly higher than in previous videos. Also good.
There are lots of those PCB switches around in old equipment. An HP 3325A signal generator has 8 of them, if I recall. A couple of them "for parts only" might be all you need.
RC servo motors are used in animated characters in some theme parks and Las Vegas free attractions. They run for thousands of hours before needing to be replaced. It is usually a plastic arm fracture or gear strip that causes them to fail, not the motor or the pot.
The gap between landing strips needs to be wider than the contact point of the wiper in order to avoid shorts. That is why the rotary switches use domes for contact points.
yes the ratio step / width is very important
*Homing:* Add a blade to your wiper that blocks the path of a led and phototransistor when in home position. You can get really good resolution from them if you want.
reference video Precision on a Budget: DIY Displacement Sensor for under $10
*Short circuit:* Maybe glue a magnet to the top of the wiper and mount a electromagnet over it (also fixed to the axis). So you can pull up the wiper when rotating. Maybe even adding down pressure when in position.
Awesome to see all this work. Nanovolt realm is not for everyone. Great video.
The electromagnetic pinball machines used 10-pos rotary switches with a pcb contact plate and a copper "spider" contact rotating around. Using that contact as a spring simplifies the design and also removes side forces of the shaft as the ring wiper is on opposite side than pin wiper.
Adding a dead contact between every contact or every 2 contacts makes the software simpler as you can first turn all of them to dead pin next to current position, then one by one turn them to dead pin next to destination pin and finally move all to destination pins.
You don't have to use the wiper for stall homing. Move the stop screw to the inside of the wiper's radius, and add shorter and much sturdier arm on the *other* side of the shaft to engage it.
For the wiper: Maybe a layer of neoprene or similar between the copper tape and the 3D print? Would also give better conformance and larger contact area, which you might need to compensate for with higher force to maintain the same contact pressure.
Historic modular synth sighting. Beautiful!
Thank you for the video. For PrusaSlicer: If you need a deeper flexure anchor, design a 0.01mm gap in the model to the desired depth, and in the Print Settings/Advanced decrease the Slice gap closing radius to below 0.01, like 0.009. Tested, works well for me.
That was a great video.
See you in 3 months, folks!
Anchoring leafsprings in FDM: you can cut very thin slots through your cad model, cura will interpret those as outside walls and generate the according paths. I've tried that ages ago and it worked
14:10 Multiple intersecting parts can usually achieve this anchoring since Prusa Slicer plans each component individually. If you make the flexture elements longer to intersect with the main body and export them as separate parts, then you should end up with tool paths that "embed" the extrusion deeper in the body.
Slip rings in steering wheels are basically not a thing anymore, they use a winding spring flex pcb cable to allow for ~3-5 turns in each direction.
Before airbags were a thing that was different of course.
German word is: Wickelfeder Spiralkabel btw.
this is a very polished video, but we want more! I think most people wouldn't mind longer and/or more frequent videos that are slightly less polished.
I find it hard to imagine that it's the video production that slows done the flow of this type of content!
@@Graham_Wideman By polished, I don't necessarily mean video production quality, but more the time to cut down the video into a reasonable time frame. For example, It could've been two 1 hour videos with more details left in such as the 3d printing section. I'm sure the raw footage is many many more hours and it takes time to cut it down to a 30 min video.
Hi Mr Reps,
Thank you for your unexpected plot twist at 0:59 (plus or minus a few seconds).
I just had to smile and laugh. Welcome in a difficult personal time.
Thanks :)!
I must watch more ...
Enjoyed this multi-disciplinary design and discussion, especially the humor offered comic relief. Thanks!
Marco, nice design! Maybe some additional ideas: Why not use an extra copper contact for homing? Let it connect and than back-off as slow as possible until the connection is open again. Record that position as your home position and navigate from that. Although this exercise being machined would take a big effort maybe you can just machine a stack of wipers at once to obtain a smooth wiper surface? Thank you for sharing all of your wonderful work. Best! Job
Hey! I was trying to make these not to long ago to make a video switch! I wanted to make a cheap and easy modern version of the modular wafer switches they used to use in old radios. this design differs quite a bit from the one I had but solves most of its problems. I will be keeping track of this project and may use some of the features to finish mine some day!
Wonderful! I used to work with coding firmware for extremely accurate measurement devices, for measuring 3 phase in various voltages and frequencies. There were many many sessions and late nights doing a lot of testing.
Love it... and the reference to distributor caps. In the vein of nostalgia, when you're done with the Nanovolt use-case you could scale to a Bombe and crack enigma codes :-)
True story: earlier today I realized that I hadn't heard from you in a while, and that I needed to check on your channel. So I as glad to see this masterpiece of a video. By the way, I thought steering wheels used a coiled up ribbon with a u bend in it. The bend rolls and unrolls along the inside of the curved housing around the steering column.
The "clock spring". Which obviously isn't much inspiration for wipers for a switch.
“Oh well, thank you for watching. See you next time!” Yeah I made it to the end, thanks for the video!
This is the stuff Marco! Thanks for the plot twist! Precision is such a rabbit hole, and seeing someone so deep into it is fascinating and terrifying at the same time.
I would really love some insight on the process of the data gathering and database management. Obviously you use Grafana for data visualization, but do you also log the stepper data increments so you can verify that the steps are performed?
my working instrument control software is "multiinstrumentalist" on github, that writes to an influxdb which in turn is read by grafana. for data that is interesting enough to publish I also write csv files sometimes, because those are easier to share. in the first trial runs I did log switch actuations, but not currently
@@reps Thank you for the reply! I love Influx, especially combined with Grafana, great for alerting the right people (usually me..) when something isn't working as well!
Slip rings can go to very low uOhm noise levels with long life by having a multiple fingers - hard to describe in words (I’m not a patent attorney!) but I’ll have a go…
Imagine a sheet of copper 300um to 600um thick, with fingers etched into it to make a structure like the business end of a fork. This can be chemical-etched or laser cut.
Bend the tip of the tines of the fork into a hockey-stick shape then a small bend at the root of the tine in the opposite direction to the hockey stick bend, so that the plate where the tines come together can be bolted or riveted to a flat PCB and the hockey-stick ends sit proud of the plane of the PCB.
Then align this PCB with your existing copper contact PCB and space appropriately so that you don’t exceed the elastic limit of what are effectively copper leaf springs you have just manufactured. These will wipe with very low force, but surprisingly good electrical contact, across your existing pads.
By having lots of tines on your fork, per channel, you have lots of opportunities for good contact to be made, so if one or two bounce briefly there are still other tines in good contact.
You will want to make a bending jig to get the same curvature across all your contacts, but such a jig would be easy to 3D print.
The hockey-stick ends are also narrow enough that you shouldn’t have to worry about aquaplaning over deoxit either.
I know of very reliable slip rings running at amp levels with just four tines per contact. They are running unlubricated, but hard gold to hard gold, so if you want to go pure copper I think deoxit is a good move.
Just to give an idea of how this fork design can look, google images -- novotechnik 400021110 --- . it is a german company for position sensors. but the contact are also not pure copper.
Like a multimeter PCB switch?
Wow! It’s fascinating to see your work!
- Regarding the problems mechanical endstops, it might be an idea to embed two contact pads on the pcb at homing position.
- About shorting signals, maybe a solution could be to dedicate one switch assembly with multiple wipers to (dis)connecting comms during switching operations. Though ofc that’d add more signal loss.
Good luck with the project and I’m looking forward to updates ;)
thank you!
One position end stop sensing trick from the entertainment moving light world that is all stepper driven is the edge sense the stop contact and calculate the center. The motor drives in one direction until it sees the stop contact or optical gate, then continues past the contact until it sees the other edge. The microprocessor then calculates the number of steps between those two changes in state and sets that as the "home" position.
The bulge on the wiper is called "elephants foot" and is something that can be compensated for in the slicer but is also affected by bed leveling and such. You should try to get bambulab to sponsor you a proper printer which will solve a lot of these print quality issues ;)
An alternative to make the design more printable for everyone is to add a 45 degree chamfer to the wiper such that when printed the elephants foot happens on the chamfer and gives a couple of layers to stabalize the extrusion height before reaching the actual wiper surface.
try pressing the prints in a teflon frying pan to even out the bottom
Yes, I remember car, distributors, I had a VW beatle in Brazil that had it, no electronic ignition! By the way great project.!
AWESOME
You have no idea how much I love you
holy moly that's a lot of synth racks 😆
When you want anchoring for structures in prusa slicer you can create a second volume in your cad software which sits in the place where you want the anchoring and assign a higher infill density to that volume when slicing.
I'm not an expert on this sort of thing, so this may be a dumb idea but I thought of it while you were discussing options.
What about reed switches? They should be able to be thermally isolated from the coils that actuate them, they are hermetically sealed, are specifically designed for fast, repeatable switching over a long life. They are also rather cheap.
The main issue I see is the switch material and contact material, but I understood that to be an issue primarily in situations like a standard relay which is connected to the coil and so has uneven heat.
You could use a second pcb on top of the wiper (with springs to ensure contact pressure) with contacts for homing. Or even use a simple dc motor and the contacts on the second pcb to position the wiper.
Cool stuff as usual. Have fun with your next video.
Optical homing - a fin on the armature into a slot, sensor
Fasten a steel dot to the inside of each contact and regulate the down pressure with a permanent magnet in the armature. Then the contacts drag with less force between contacts but are pulled down for wiping over each one. The armature only needs to move in the up/down axis and take the force of rotating, but not also have springiness to deliver downward force. You could separate the rotation of the armature from the up/down motion as well, so the qualities of each can be tuned to the requirements.
Splitting dependencies often leads to a more reliable and less fiddly design. Sure, one piece is usually low cost and easy to assemble, but we are going for quality.
Also for the wiper arms, polish the plastic smooth with sandpaper before fitting the copper tape, that will give a better contact surface.
I like it that you chose to re-use the SCPI command syntax 😉
To solve the homing problem, fit micro switches to each motor wiper, and then you could use a simple cam to activate the switch, it would also mean you could turn 360 degrees and reduce the movements required to go from say position 1 to position 10, as you could avoid having to go through positions 2 - 9 to get there.
Neat stuff. I think all cars have switched to clock spring style connections to the steering wheel. What about a motorized rack to engage the connectors? That way they wouldn't drag and they wouldn't connect until positioned. I agree with other here that a pair of contacts at the end of travel for homing would be better. Or if you go with lifting the wipers like I mentioned you could use something like pogo pins for the end indication.
Marco, late to this party but I had a thought.
Metal on metal wear issues are often made worse by the presence of oxides which are harder than the parent metal, aluminium being the standout example. You could try polishing the surfaces to remove oxides then sticking the switching unit in a box full of inert gas. Argon is easily available from welding supplies and reasonably cheap.
Rather than a separate index sensor, what about increasing the spacing slightly between the first and last switch contacts, and adding a light duty pair in that gap - these being for the index position?
Photo-interrupters would also be an option; you could add a tab to the top of the rotor to break the beam.
For the issue of shorting an intermediate contact (around 27:55), here's a thought:
Have a series of ramps (i.e. multi-start threads), one ramp/thread per switch position, that engage a tab on the wiper and apply vertical force. If the threads overlap, when turning one direction the wiper will surf over the top and not make electrical contact. Turn that direction until the correct thread is engaged, then reverse and the overlying thread pushes the wiper down and contact is made.
One drawback is less wiping action to keep the contacts clean.
Thanks for always being so PROFESSIONAL!!
i wonder if you could spring load the motors. Then you could add a coil and magnet underneath that would lift up the wipers from the contact. something like lift contact, move, drop and then maybe a bit of side to side movement to "scratch" into the contact
I have a bunch of those switches.
They are currently living in some old English electrical lab equipment (H. Tinsley & Co., London), which I seem to have acquired a room full of.
For end stops check out the IR light based ones or hall sensor based ones.
Tip that might help you with the homing issue: make the stopper contact the main plastic body that mounts over the stepper motor axle. That way you dont have to put any additional forces onto the wiper arm.
If there is room for it, in the open space between the contact point om the wiper arm and the main body you could extend a post out from the main body and make it float just above the pcb. Then relocate your stopping screw so its all the way on the edge.
Or you could design a new pcb where you include a mounting point for the stop screw somewhere inside the open hole you have today. Almost like a circle but with a small "bump" if you know what i mean. 😅
I believe you could achieve the desired deeper anchoring in an inconvenient and fiddly way by adding a modifier volume that contains the blade flextures and extends further. Some settings cause the slicer to add walls dividing the modifier volume from the unmodified part. I was able to induce this mechanism with a test model just now by having the modifier volume change the number of perimeters. Now I have 1 perimeter of blade extending from several millimeters inside the base block to several millimeters inside the elbow block (PrusaSlicer 2.8.0). It has to be positioned manually of course, and there is a potential risk of creating a bending stress inside the terminal, which could cause the 3-bar flexture linkage to develop a preload.
To deal with the issue of shorting, what about designated non-connected (NC) positions between each position with a terminal on them?
Algorithm to prevent shorts would be: (Moving only one wiper at any time to simplify electrical connectivity logic)
1. Wipers start at some presumably-"good" state (Initial "good" state")
2. Move each wiper zero or one position into the nearest NC state.
3. Move each wiper to the NC positions neighboring the final target position. (No electrical connections in or out of box at this point)
4. Move each wiper one position along into their target position. (Only electrical connections to final "good" state)
5. Wipers are all connected to their final "good" target state.
Homing or even position-detection could be handled via optointerruptors; as others have suggested an array of LEDs in sequence sharing a photodetector would permit each position on the wheel to act as a homing index.
A simple LED chaser made from some shift registers would save IO pins.
You'd want to paint the LEDs to ensure light can only shine through the homing locator, and then your photosensor could just detect ambient light inside the case, when it is low you have covered the currently lit LED in the string, when it is high you have not covered the currently lit LED.
To further simplify you'd only test the LED string under one dial at a time.
This would also permit you to illuminate the LED under your target position and then begin rotation, confirming you are at the correct destination position.
To get it homed - just need to add a trace on the PCB and measure for continuity.
As for the formula to avoid short circuits.
- Move rotator 1 to the non-connected step prior to destination.
- Move rotator 2 to the final step.
- Move rotator 1 the final half step.
For homing I think your idea of using stall detection would work fine but you need an arm separate from the contact arm to stall the motor... something solid and straight out, possibly having to move the stall screw towards the center. For the shorting problem you could expand the dead zone between each contact (the freestanding contact) slightly and/or shrink the shoe. Then you drive to a dead zone between change and only move one 'axis' at a time to the dead zone adjacent to their destination pad, finally driving all to their destination pad concurrently.
Car distributors never worked like that, they have a gap between contacts. However, the Bosch D-Jetronic EFI's throttle position sensor does work like this, and I've always wondered why they don't wear out immediately. They live almost forever.
Impressive work
you can perhaps add pocket or even slot ( by milling ) between each contact , these pocket will catch / trap copper micro powder generated by wear / micro galling
"Yay! Free energy discovered at last" I chuckled out loud at that one
Bloody hell Marco, I haven't half missed you!
A suggestion regarding 3D printing, from the finish of the surface layer it seems that the printer is overextruding, try reducing the flow multiplier by 3-6%, it should also help you with the first layer.
Regarding this, I suggest you apply a small chamfer to the edges in contact with the print bed, like 0.5 mm. If you don't want to, you can try printing using a raft, the backlash in the lead screws can cause the first layers to be squashed.
To improve the adhesion of the springs, you can try to increase the fillets radius with the two blocks or to thicken the walls, the arachne algorithm should activate.
To improve the stepper's position you could opt for a closed-loop system by adding a magnet and a hall effect sensor or opt for a prefabricated solution, for example, that of Bigtreetech.
I hope I have been of help to you.
thank you!
Lovely to have something to watch while eating again thanks.😊
Hello Marco! Love your precision electronics videos, makes me appreciate my workplace and fluke 55xxseries calibrator they have a bit more…
I wonder, now that massive mechanical complexity seems to be a non issue, if the wipers really need to slide over the pcb. If all the steppers reside on the same board, maybe you could raise said board 5 mm when switching positions to avoid dragging and also avoiding the dangerous combinations that sometimes appear. This could be combined with a small wiggle of the wipers once they make contact to counteract minor oxidation and ensure good contact.
Hey Marco, that's a project I'd love to dig into myself one day. Very, very interesting!
I have a few questions and some ideas for a possible future version:
- Spring steel wire aka music wire could be a very cheap alternative to laser-cut leaf springs
- Have you considered to use the switch itself as a limit switch with an aditional contact pair on the wafer that just gets shorted out by the wiper? Seems like an easy solution to me.
- Whats the resoning behind the slanted/tilted contact arrangement and the floating intermediate contacts? I suppose a longer creepage distance between the actual working contacts would be beneficial in the long run, considering the unevitable copper contamination of the insulating substrates surface.
- Maybe a piece of straightened solid copper wire could be a viable alternative for the copper tape. The wire piece could either act as a rolling contact similar to the brush on a variac or as a sliding contact as it is right now, depending on the mounting arrangement. This would likely result in a more defined line contact without the "elephant's foot" problem of the printed wipers and probably last much longer.
highly recommned nanovolt accuracy switches video.... was memorable
Afik, contact pressure is your friend when making reliable electrical contact. (your gold standard rotary switch uses the edge of the copper wipers for very high contact pressure) Your wiper looks quite flat so could be sharpened up. Maybe use a few turns of bare copper wire as point contacts on the wiper instead of foil tape?
I've had good luck with creep of PETG, but you will see creep in the plastic flexures. I think you'd have to go to PC or PEEK to significantly slow it. There is a 3D printed microscope XYZ stage project from a few years ago that uses flexures and has creep measurements for PLA. (PLA creeps a ton)
If you carefully read the full data sheets on various switches, you can find a minimum voltage, typically lowest for gold plate. Silver contacts have better conductivity, but higher minimum voltage. I assume that's because the silver oxidizes more readily and you need enough voltage to punch through any oxide.
Copper is even more prone to oxidation. I've cleaned entirely too many copper contacts to fix various devices over the years.
Gold contact are nor really '' gold '' check Johnson Matthey articles they have developed bespoke multi layer of precious metal to solve gold contacts wear and other problem
another problem of ''Gold'' is the surface roughness / texture , best is to use PVD process to avoid macro ''moon surface'' shape
If I shall select something nice I will go with platinum contact , original telephone relay was platinum contact fitted for wear and resistance value
I hope this is revisited in the future to see where it went.
For homing, a very simple solution would be to add another pair of pads to the switch PCB at the home position. When the wiper bridges them, it s ‘home’. No extra components required.
For the issue with the wiper foot, you should try making that a multi part assembly. Having the face of the wiper foot pointing up in the z direction and enabling ironing will smooth out that contact face nicely. Or maybe sinter the part to give it some more uniformity. That might be difficult with such a small part though.
Since you can’t use the end stop anyways maybe you could put a small piece of felt in the deadzone to clean the wiper. Use the change in motor power to get it to zero on the felt. Since you don’t need precise accuracy, a small wedge of felt would provide the zeroing accuracy you need while also cleaning the wiper
If you bake in a separate pair of contacts into the PCB at the "home position", you can just run the stepper motor around until you get a signal on those contacts. Why two? So you can ensure the stepper pad is properly centered. Then just run the stepper motor back to the desired position.