Jump to content

Control Panel Mk III


Freshmeat

Recommended Posts

Yes, here we blow again!

My mark II suffered a slight accident early this summer. It was somewhat falling apart already, but I had too much fun playing to really wanting to tear everything up. Well, at least it is summer holidays, the economy says no going anywhere, and I have hoarded new components since late 2016. I bought a Due to have some heavy muscle for autopilot functions, and given that the Mega still smells burned it is probably not a good idea to rely on it. However, it turns out that python is actually doable, and I can create a structure with kRPC very much like what I am used to in KSPSerialIO. And kRPC gives several new options, including a some of those I usually have programmed an action group for. So the plan is to make the enclosure and wire it up as fast as time and lazyness permits, get the basics going, and then gradually add more advanced functionality once it is going.

OOiZDCZ.png

To save some time, the form factor is going to be the same as mk II, but this time I had an aluminum sheet lying around to use as cover plate. Further, I have spend quite some time rearranging the layout so the joysticks will be closer and all information will be displayed in the middle, with LCD displays top middle and gauges for fuel, charge, altitude and monoprop just below. I can reuse the joystick and translation assembly from mark II, but annunciator and toggle status panel will be build with WS2811 addressable LED strips instead of MAX7219 and dual colored LED, saving a ton of wiring.

NfIbqDG.png

The toggles will be fed directly into CD4021 shift in registers on above perfboard instead of multiplexing them. It took some three days to get all the soldering done. Testing it, I got absolute garbage, quite disheartening - even more so since all connections had been tested as they were soldered. It turned out that I had just ordered a new couple of 4021s to replace the ones I used in mk II, as I was afraid they had been damaged. These two new ICs where nearest the Arduino, and where malfunctioning. Since shift registers shift all data through them, they garbled input from the outer registers as well. But once they where replaced, things looked up, apart from me forgetting to pull down pin 7 and 8 on the last register, as I do not connect anything to them. They are just left connected to the header column 15 bottom, which of course will read anything when left for themselves.

The headers at columns 5-6, 7 and 15-16 are to be connected to rotary selectors for SAS mode, camera mode, and panel mode. The mess beside them are digital to binary encoding, saving me some 10 inputs.

So next up is to solder those last two 20k resistors and find a route for a wire to ground (black, running along row Q). Then repairing the 6 lead wire I need to connect this to a perfboard yet to be designed, managing connection to the Due. And then installing the LED strip and 20 toggle switches, and their connectors to this perfboard.

Link to comment
Share on other sites

Today I mounted the status lights for the toggle groups. I use a WS2811 programmable LED strip for the lights, so I can switch between red and green. This registers faster than the position of a toggle, particularly in low light conditions. Below is a running light demo to check if it works:

I printed the writing mirrored on a transparency sheet, and attached food wrapper paper below it to get a get a grey diffuse background. Below that is a 3d printed mounting that sets the LEDs a centimeter behind the surface to get a more even light.

I also mounted a keypad I made sometime during the winter. I will need to print a grid for the keys as they are very wobbly, but it will do. It is just hooked up directly to the Arduino using the keypad library:

gXpkPSP.png

I have several spaces left in the keypad as some functions where relegated to toggles and selectors, but I will probably find a use for them eventually.

Next up is mounting the toggle switches and rotary selectors, and making connectors to the controller board I made.

Link to comment
Share on other sites

No pictures to show for it, but I mounted switches and selectors, and wrote the corresponding code. Fun quirk: If I update to fast, the LEDs start to flicker. Solved by a short delay in the test code, and once the actual code is written it will not be a problem. I made two power pins beside pin 7 and 8 on the perfboard, so I could use one of them for the abort switch (big round hole lower right atm), but it seems I managed to short out pin 7 while doing so. Well, for now I do not need that pin, but I ought to lift the pefboard and check it.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...