• Content count

  • Joined

  • Last visited

Community Reputation

533 Excellent


About richfiles

  • Rank
    Spacecraft Engineer

Profile Information

  • Location MN, USA

Recent Profile Visitors

2148 profile views
  1. I know this has absolutely nothing to do with KSP, or the instrument panel I'm building, but I think talking tools is probably still fair game. Given all the talk of what people have achieved with their 3D printers, the temptation to turn this into the X axis of a GIANT 3D printer is SO tempting... It's Yuge! It comes from one of these: It's an automated pipettor machine, and the lab where I work scrapped that assembly out, and I got it. I just need to install steppers and belts to it, and a bed, to make it into a functional single axis platform. Overall, It's 46 inches (116 cm) long and 28 inches (71 cm) deep. The linear mechanism is nearly 41 inches (104 cm) long, so accounting for end stop sensors, it would presumably allow a 20 inch (50 cm) bed to move 20 inches (50 cm) along the axis of travel... That's still an incredible amount of potential build volume, even if it's just one axis. The mounting points (where you'd attach the bed) are 23 inches (58 cm) on the inside edge, and 26 inches (66 cm) on the outside edge, so bed depth would be based on how you mounted it to the traveling linear mechanism. Honestly, it's probably easiest to mount on the inside. If you have the Y axis feature a full enough travel span to cover the full bed depth, you could potentially have a build area of 20 x 23 inches (50 x 58 cm), plus whatever the Z height ends up adding for the overal volume! That's incredible, considering the build volume of most cheap 3D printers! I'm trying to consider what would get me up and running the quickest and the cheapest (If i ever decide it's not good enough, I could always rebuild the Y and Z axes for something better). While I know they aren't as rigid as a fully framed mechanism, I've considered the "inverted L" shape mechanisms like what's on the Tronyx X1, but I have significant concerns about the stability of that if it's gotta extend out 23 inches (58 cm), vs the X1's 6 inches (15 cm). Having the two screw mechanism for the Z axis, and y on a belt, like is seen on some other Tronyx models seems to make a lot more sense. It seems like that would be far more rigid. I simultaneously want to and don't want to know what this assembly cost... I got it for free!
  2. I got them from All Electronics as surplus, so they may be older parts. I would have to look at actual date codes or the datasheet when I get home to be certain, but part of me wants to say late 1990s or early 2000s. A lot of my annunciator LEDs also are salvaged from equipment of similar period.
  3. I don't know about one wire interfaces, but all you need is the bandwidth to transmit the angular position for an axis at least once every or every other frame. If you miss a transmission, It's not the end of the world, as the next frame, the data will catch up. (frame being a reference to updates sent by KSP). The general configuration is as follows: [Main Microcontroller] | | (1 wire bus + power) | |-->[Roll Axis Micro]<--[Roll Index Photo Diode] | '--->[Roll Motor] | v [First Slip Ring] | |-->[Pitch Axis Micro]<--[Pitch Index Photo Diode] | '--->[Pitch Motor] | v [Second Slip Ring] | '-->[Yaw Axis Micro]<--[Yaw Index Photo Diode] '--->[Yaw Motor] You use a small micro for each axis controller. All each micro needs to do is have a position in memory where it expects the axis is, a position recieved over the 1 wire bus, and then it just has to step the motor int he right direction to make the expected ball position match the commanded ball position. Whenever it gets the index signal, it'll reset the expected ball position to a known value, and let the program drive the motor to update it. That way, the ball stays synchronized automatically, with each revolution. When it powers up, or you go to a new vessel or something like that, it should automatically spin the ball till it indexes, so it "learns" it's real position. The index should be measured going clockwise and counter clockwise, as you may get two different values depending on direction. The direction the motor is going should determine what index value expected motor position is reset to when the index is sensed. You still absolutely need to have the photo diodes though. You just don't need to send their state over the slip rings. Each of the three small micro controllers are a self contained axis driver. The benefit of this design is you design the axis controls once, and just repeat it three times, the only coding difference being which packet of three each axis controller listens too. Each micro does its own motor control, its own index calibration, and reads only its own packet. It only requires 3 wires, period, for the whole system, if you're sticking with a 1-wire bus. This layout eliminates any motor leads going through slip rings. only power and data. Each small micro can be directly wired to each motor's driver.
  4. @Pvt. KASA That is an EXCELLENT slip ring design! That's actually similar to ones I used to instal when assembling synchros at my old job. I... was not expecting you to go that style, or land on such an undeniably solid design! Excellent work! For additional noise tolerance, you can consider using multiple wipers to contact the rings. I'd suggest providing power and ground, and then your data signal. Rather than trying to directly command the motors, I'd say, setup your index locally to your controller. Have a tiny micro, like a teensy or an Arduino pro mini or micro. You can just send a value to the microcontroller to represent the desired position of the axis being driven. The micro would then drive the motor in whatever way it needs to to get the motor to rotate that axis toward the goal. Every time the index is triggered, the micro should check if the motor step count matches when it expected the index. If it matches, then carry on. If it does not match, then it should reset the current position to match the index position, and allow the program to continue running the motor till expected position matches current and position. That accounts for any mis steps, and lets the micro on each axis update the ball position without any external guidance, save for just the coordinates. and the values for the desired navball position.
  5. Change of plans on the test character... With each segment drawing approximately 19-20 mA at full brightness, it turns out driving all 30 segments of the display for the test character... ehh... well, draws a few milliamps... About 570-580 mA per display pair. I think I've actually got them a hair too bright, so I may drop a few more ohms on each anode to fine tune the brightness and drop the current a bit more. Still, even if I bring it down to 15 mA per segment, or even less, that'd still be around 450 mA... The 2N3904/6 transistors I have on hand are only rated to 200 mA. Even at the full 19-20 mA, unmodified, the max number of segments on when NOT displaying the test character is 11 segments... vs 30 for the test character. 11 segments drawing 19 mA is 209 mA, almost within the spec as is! For that reason, I think I will switch back to the concept of having the test character be it's own line, and I'll probably just tie them all together and trigger it with either a relay or a power transistor. Even for the regular characters, a 74HC154 4-to-16 decoder chip still only drives 20 mA per output, so I'll have to configure a non-inverting buffer amplifier to drive the LEDs. Derp! Forgetting the important facts. I really wish it didn't need to be non-inverting. I have plenty of BJT type transistors on hand... but most circuits with BJTs invert. I might have to see if I have any mosfets.
  6. SOIC/TSSOP adapter boards showed up yesterday, just in time for my three day weekend. I tried assembling one, but I started REAL late, and I was just eying it off the data sheet pinout (no schematics or plans), and I kinda realized I wanted to change something after the fact... Eh... that's why I ordered a sheet of 20 boards... You just snap them off as you use them. I also have extra chips, and the one I have now isn't bad, just not configured the way I want it. I decided to keep consistency across all displays. The same binary number will always select the same symbol, on any display, and if a display has additional symbols, those will use higher binary values to select. It'll be a simple, consistent pattern I can use for all displays. I think I'll also have the display test character be selected in software after all**... I was gonna break out all the character selects to a single driver, and have that one line activate all of them, but I may as well keep it all consistent, and just so it in software. I also need to remember to include driver transistors. I'm driving as many as 30 LED segments from a single line. I need moar than 20 mA to do that. I may also have a shot at trying to get some work done on the analog meter mods and the light boxes. I realized the PERFECT material to use for assembling the light boxes. I have some double sided copper clad ultra thin PC board material. When I bought it, i thought it was just sheet copper... It's that thin. I can just it with a scissor, and solder the pieces together. I can even create the intricate inner light boxes to focus red, yellow and green LED light on the portions of the meter that must be a specific color, and I can even secure the LEDs to the lightbox by just soldering all the cathode leads tot he lightbox itself, and making it my ground. So, hopefully more news this weekend!
  7. I'm building a custom controller/instrument panel, so I can't really say too much for commercial options, but to me the ideal retail controller would be a three axis joystick of any decent quality paired with the Saitek Farming Simulator side controller This thing is almost laid out perfectly for KSP... Action groups up top, a 3 axis stick for RCS, and enough controls to do most major functions. I find it amazing that a farm ing controller is so well suited for a space exploration game! I guess there's a reason a new tractor or harvester costs as much as a house! Complicated machines!
  8. WHY!!! Why must every order include EVERY part needed, EXCEPT the ONE single thing you forgot... Why does every order need a forgotten part! Turns out I never considered soldering the decoder chips when I did my ebay order for the square pin female header sockets. They arrived in the mail (ordered 100x 40 pin header sockets... They ought to last! ), and the second I saw them I realized I goofed... No, they were perfect. I jsut faield to remember to order oanother item. For the "Time to:" and "Speed" displays, I only need a 3-to-8 decoder, which is a DIP chip. My 4-to-16 decoder chips, which are needed for the larger distance units displays, nis in a 24 pin SOIC surface mount package, and I have NO proto boards compatible with SOIC chips on hand. No problem... I'll just order some and... EVERYTHING from China. Nothing local, and it's all the SLOW Chinese shipping. Earliest I'll see them is middle of April or early May. I hate waiting! Anyway, I ordered them anyway, I need them. Even if I ordered from Adafruit, they'll still take long enough that the increased cost per unit doesn't really justify getting parts a week before the earliest China shipping date... I did replace my dying car, so I could probably afford to drive up to Minneapolis, but having bought a replacement car, by the time I got there, I'd not have enough to buy the overprices Schmart Boards from Micro Center that woudl let me proceed... All in all, it's a game of hurry up and wait. I decided against dead bug construction, considering I'm kinda keeping busy anyway. I'll just wait. Let this be a lesson on making shopping lists!
  9. In all honesty, it's not even hard to source slip rings. Ebay has them in 6 and 12 conductor versions for fairly reasonable prices. The magic of a navball is it's ability to continuously spin without hitting any mechanical limits. It's also the mechanical complexity that has led to the modern day "glass cockpit", where all the old traditionally mechanical instruments are now just LCD screens. I think it was @stibbons that made a nice little LCD based navball. For the three axis navballs that are required in space faring vessels, there is a requirement for both precision and accuracy. A BB8 style mechanism requires the ability to detect the absolute position of the ball, which almost guarantees the need to do visual processing, and to have a camera being able to see the ball. Having a rotating roller wheel could work, but you'd still need a pair of them, and they'd still require slip rings or else they would be limited to a restricted number of rotations before needing to reset. If they undergo a moment of reset, the ball's motion will hitch for a moment as the wheel flips. I've worked with the rotating magnetic fields of three phase sinusoidal drives and motors long enough to be able to visualize the rotation if the fields in relation to the inputs. When dealing with wheels and balls and circles and spheres and whatnot... It all comes down to sinusoidal patterns, when you graph it out. Anything that has a limited range of motion will abruptly have to stop at some point an backtrack. There's simply no avoiding it. Slip rings let the motion continue along the path it wants to take. It's truly as simple as that. The Air Force and NASA had the mechanics of the navball down to a science, literally. As long as you can get the motors and encoders to physically fit inside the ball, it's not hard. If you counterbalance it, and you have room for the swinging motor, you can even have one of the motors NASA puts inside the ball on the outside The reason NASA puts two motors inside the ball is to keep the unit compact, balanced, and fast. A large diameter object takes more time to accelerate and decelerate than a tight, compact diameter object that keeps it's center of mass internal. While @Pvt. KASA has already made homemade slip rings, I can't stress enough how easy it is to just buy them. They are simply not even a hurdle or challenge to face. It's a little extra work to make them yourself, like he did, but they are absolutely not hard to source, nor are they overly expensive. If reducing things down to power and serial, something like a TRRS plug and jack could probably sufficient too. The point is though, that trying to skip out on the slip rings simply makes no sense. Limiting the number of spins, forcing reset cycles, etc... It is literally not necessary. a 6 conductor slip ring is about $3-4 on ebay, and a 12 conductor slip ring is about $8. You can get 18 and even 24 conductor slip rings, but they are more expensive, closer to $15-25. With a little Machining or 3D printing, you can make the mechanical bits you need, use a purchased slip ring, plus your motors and encoders, and you'll have everything you need for a navball!
  10. Couldn't have covered that better myself @Krewmember I actually would like to motorize mine as well. I think I'm going to consider salvaging the tuner wheel from an old stereo and using cables and a pulley to drive the lever. I happen to have some nice little gear motors with slip clutches on them that ought to work well for driving it, but letting the mechanism slip so it can be adjusted by hand as well. At the very least I'll have min/max throttle buttons. I think the button on the tip of my joystick might serve as a "Kill Thrust" button, but I would like dedicated buttons for the task on the panel too. I also like the way the lever's firmness is adjusted on the example you showed. The two screws that go into the plastic block tighten the compression on the plastic bushing, generating the lever's physical resistance. On mine, the PC board on the bottom is actually quite thick, and a screw tightens down on a "spring" made out of a routed region of the PC board. Tighten the screw, and the routed segment of PC board compresses harder against the bottom of a cam built into the shape of the lever. I think the picture you posted is a more robust system than mine. Mine has a really high quality potentiometer though, and the PC board based spring does seem to actually work though, so I can't complain. I only spent $10 and some shipping on that video effects board, and I got all those illuminated regengendable buttons for my DSKY, and that throttle, and the insanely valuable dot-matrix character displays I'll use in my ∆V carriage meter out of that purchase! Hmm... Now that I think about it, I bet if I got the pulley mechanism just right, and the slip clutch on the motor provides just the right amount of friction, I bet I could remove the PC board form he bottom and let the motor/clutch mechanism, be 100% of the lever physical resistance, saving me a small amount of thickness. The lever is one of the thicker elements of my control panel, and I have to physically place it as far left as possible on my build, as it's current thickness will actually interfere with my keyboard tray that would sit immediately below the control panel and slide out. Hmm... Things to ponder and tinker with!
  11. That's one reason i highly recommend the pogo pins. they can move a few millimeters up and down, and don't drift side to side, and will always keep pressure on the surface. You can also make sure the PC board is clean, and that no oxidization or residue from the epoxy is covering any of the tracks. Another issue, is the spring contact might stay in the track because of the ring of epoxy glue, but it might be riding up the side of the epoxy and then falling back to the copper when it gets too far. Apart from some very creative track shaping, I'm not sure. If that's what's happening to make you lose contact, then you'll need steeper side walls to prevent that from happening. You can see that the grooves on the tracks for this NASA slip ring are at least as deep as the wire is think, and the cross section is squared, not sloped. How hard would it be for your 3D printer to print concentric rings onto the surface of a PC board? Is there a way to command it to feed when not running? Is there a way to command it to pause at a point in the printing process? Heck, maybe there's a way to simply just do it, but if you drilled a ring of small holes around your PC board (between he traces), and secured the PC board to the printing surface of your 3D printer, could you basically come up with a way to print a ring of plastic between each trace, and manually feed the plastic at a few key spots so it fills holes in the board, to secure the plastic ring to the board? Do that between each and every track? Is that possible? Again, my solution would simply be pogo pins though. You could try earphone connectors too though. A stereo connector with microphone support typically has 4 conductors, and the plug can spin inside the socket.
  12. Actually, a little notch cut into the edge of the slip ring, with the photo interrupter on the edge of the slip ring would be perfect for that purpose! Good idea!
  13. You'll need to make a disc that that long shaft attaches to on both ends. You'll actually need to split the shaft so you can have one cross though sideways in the middle. Both shafts, the end attached to the motor, and the one attached to your bearing housing, will be firmly secured to the disc. That mechanism will rotate the disc then, in relation to your image, vertically. The slip rings on the top bearing housing will then feed wired into the edge of the disc, at the top, and those wires will then feed to a controller for a motor inside the ball (and to any sensors in the ball, such as a home position sensor). The motor inside the ball needs to have a fat coming out both the front and rear, or you need to gear it to a shaft beside it. You'll wanna create bearing housings that hold that shaft 90° though the plate. The ball, which is split into two halves, will fit onto each of the ends of that shaft. The only thing left for you to do then, is attach the entire c-frame onto one more slipping and motor in the back. That provides 3 axes, and everything you need to make a 3D printed navball. I highly recommend having home position sensors for each axis. You can very easily calibrate the ball in software every single time it makes a full spin then. You won't even need a very powerful controller to do it. In software, it's as simple as setting the real ball location value to whatever value conforms to the physical location of the tab that interrupts your photo interrupter. Here's how someone did it as a speed readout for a lathe. For your 3D printed parts, you just need a simple tab sticking out, vs a slot, and that tab only needs to pass through a photo interruptor once per turn of the axis, to mark a "home" or index position every time it goes around. You have to accommodate the width of the tab and the sensor as well... Each direction will have a slightly different "home" position. Those motors are 4096 steps per revolution, so your tab will take up several steps in wdith, even if it'd very narrow, but the edges will always be very reliable points to calibrate off of. Say, if it's going clockwise, and the sensor is interrupted, maybe that means the ball's index is 12° before the axis is aligned for 0°, so it looks at the real ball position value, and seed it says 343°, it would then update that to 348°, and let the software eliminate the drift between real ball position and the value the game is sending. Let's also say that in the other direction, the photo interrupter triggers 5° positive of 0°, so if the real ball position variable reads 355° moving counter clockwise, then the software would reset the real ball position to 5°. and let the code do it's thing and adjust the ball to then match the values sent over the data packet from KSP. You could have an error allowance, where, say it won't trigger calibration unless the ball is more than 4 steps + or - of the expected values. This would prevent small switching errors when the sensor sits at the edge of triggering and not triggering, to prevent the ball from misbehaving when idle at the home positions. Hopefully that makes some sense.
  14. That looks good! If I may recommend, try to find something called a pogo pin. You'll need a few for the each electrical contact on the assembly you printed, and a few for the point on the c frame where it pivots in the back to provide for roll (looks like you have not printed that yet, or if there are mounts of some kind, they are not visible. For a slip ring, you want round tipped versions. Quick disclaimer, I know the guy that runs this business. He actually hosts my website, but he ships internationally, and specializes in hobbyist customers like us. I didn't even go to his site directly, I just saw it as one of the top few hits on a google search for "round tip pogo pin" and decided to click it since I knew it. Okay, so disclaimers out of the way, These things are awesome for contact with a slip ring style PC board, and you can get them from a variety of suppliers. I should warn you, that even on Apollo, there are two spring contacts per ring, to ensure a good connection. Unlike a linear bit of spring, pogo pins won't require a groove to track the ring correctly. They won't drift left or right, and it'll contact directly below the hole you 3D print for it. The spring inside pushes the pin into constant contact with the PC board ring. Internally, they work like this:
  15. I rarely ever send Kerbals on solo missions... No Kerbal should have to die alone