OSU/STEM Outreach Speaker Amplifier Project, Part IV

Posted 04 August, 2016

In my last post on this subject, I described the finishing touches on the project to design and fabricate a speaker amplifier for the OSU Engineering Outreach ‘paper speaker’ student project. The ‘finished’ project featured an audio activity monitoring circuit piggybacked onto the Adafruit 20W Class-D amplifier board, using my almost-forgotten  hand-wiring techniques on fiberglass ‘perf-board’, as shown in the following images.

Cut-down perfboard, top view

Cut-down perfboard, top view

Cut-down perfboard, bottom view

Cut-down perfboard, bottom view

While this technique is perfect for a one-off project, I ultimately wanted to fabricate a number of these amplifier/monitor modules for use by the OSU Engineering Outreach team.  So, I decided to investigate the feasibility of obtaining a printed-circuit (PCB) board version of the LED monitor circuit, so I wouldn’t have to hand-fabricate the same circuit multiple times.  Of course, I knew in my heart that I could probably hand-fabricate ten (or a hundred) LED monitor circuits in the time it would take me to research the PCB design/fabrication field, acquire and learn a PCB design (aka EDA) package, actually design and implement the PCB, and then have the boards fabricated by a PCB house, but where’s the fun in that?

The last time I dealt with PCB design and manufacture was about 15 years ago while I was a researcher/JOAT (look it up) at The Ohio State University ElectroScience Laboratory, a research lab that specializes in Electromagnetics research and applications.  At the time I was a relatively new grad student at the lab (but one with about 30 years of electronics design  experience  in a prior lifetime with the CIA) and had somehow managed to get involved in a project that required some small-quantity PCBs.  The lab’s normal supplier (a local PCB manufacturing house) was still using hand-taping methods and the result was very high priced and of somewhat inconsistent quality (at least in my opinion), so I started looking for ‘a better way’.  In short order I found some low-cost, high quality EDA tools, and also found a small PCB house in Canada that would deliver small quantities in about 1/10 the time and 1/10 the cost as the local house. This made me a hero in the eyes of the lab director (but an enemy in the eyes of the guys who were comfortable dealing with the local supplier).  Anyway, it’s been another decade or so since I last looked at the EDA/PCB field,  so  I suspected things were even better now – and I wasn’t disappointed!

After a few hours of Googling, I found a number of posts that indicated that one of the better/easier-to-use EDA packages was Dip Trace, and they had a freeware version for those of us who can get by with 300 pins or less and only 2 signal layers – YAY!!  With a little further digging, I found some very complimentary reviews, so I downloaded the ‘free’ version and started trying to refresh  my PCB ‘game’.  Right away I found that DipTrace has a very complete and readable beginner’s tutorial, and unlike most ‘tutorials’ these days, the DipTrace one doesn’t skip steps – everything is explained and demonstrated in what had to seem like completely unnecessary detail to the experts, but in fact is absolutely crucial for a (almost) first-timer like me. If you are a hobbyist/enthusiast interested in PCB design/fabrication, I highly recommend DipTrace.

After working my way through most of the tutorial, I decided to try my hand at implementing my LED monitor circuit.  I started by porting my schematic from Digikey’s ‘scheme-it‘ (a free, browser-based schematic capture utility).  Here’s the schematic – first from Scheme-It, and then as it was ported to DipTrace.

LED Monitor circuit schematic as captured in Digikey's 'Scheme-It' app

LED Monitor circuit schematic as captured in Digikey’s ‘Scheme-It’ app

LED Monitor circuit schematic as captured in DipTrace

LED Monitor circuit schematic as captured in DipTrace

Following the procedure described (in exhaustive detail – YAY!) in the DipTrace tutorial, I then created an initial PCB design using ‘File -> Convert to PCB’ (or Ctrl-B) in the schematic capture app. This launches the PCB designer, and presents an initially disorganized parts layout as shown below.

Initial PCB layout

Initial PCB layout

Had it not been for the great tutorial, this mishmash of parts would have been a real turnoff; fortunately, the tutorial had already covered this, so I knew to ‘keep calm and carry on’ by selecting ‘Placement -> Arrange Components’ from the main menu, which resulted in this much more compact and reasonable arrangement.

After 'Placement->Arrange Components'

After ‘Placement->Arrange Components’

Working back and forth between the tutorial, the actual Adafruit 20W amplifier board, and the PCB design/layout screen, I was able to arrive at a final PCB design that implemented the entire circuit in a form factor that fit into the space available, as shown below.

Finished PCB layout. Note the purple board border is customized to fit on top of the Adafruit amp board

Finished PCB layout. Note the purple board border is customized to fit on top of the Adafruit amp board

The above layout was significantly customized to fit on top of the Adafruit 20W amp board and in the 3D-printed enclosure.   This required a number of iterations, but the process was well supported by DipTrace; in particular, the ability to print the layout on my local laser printer in 1:1 scale helped immensely, as I was able to cut it out with scissors and actually lay it on top of the amp board to check the fit.

I was curious about how close I came to the ‘free’ version limitation of 300 pins, so I displayed the ‘File->Layout Properties’ dialog as shown below.  From this it was obvious that I still have plenty of room to play with for future projects, although I did use both the available signal layers. ;-).

PCB properties, showing that this design fits well within the 300-pin maximum for the 'free' version

PCB properties, showing that this design fits well within the 300-pin maximum for the ‘free’ version

All in all, I probably spent 2-3 days from start to finish with DipTrace to get a finished PCB layout – not too shabby for an old broke-down engineer who can’t remember where he left his cane and hearing aids ;-).

But, all of this wasn’t even the really cool part of working with DipTrace!  The  really cool part came when I realized that DipTrace features a ‘baked-in’ link with Bay Area Circuits  for PCB procurement (File -> Order PCB…) as shown below

The 'File->Order PCB' menu item

The ‘File->Order PCB’ menu item

When you click on this option, the relevant data is scarfed up from the PCB layout information and you are presented with a simple ordering screen, complete with per-unit and total prices for your design.  All you have to do is select the quantity desired and press the ‘Place Order…’ button.  No messing with Gerber files, net lists, drilling schedules, mask layouts, etc etc.  One button, 30 bucks from my PayPal account – done!!!

The order detail screen

The order detail screen

So, the lead time on the board order was quoted as about 10 days, so I won’t know for a couple of weeks how the whole thing worked out, but I’m quite optimistic.  I have to say that this was the most pleasurable and trouble-free PCB design project I have ever experienced, and I have experienced  a lot of them over the last 50 years, from hand-cut 10X mylar PCB masks, to hobbyist acid-baths, to $10,000 setup charge custom PCB shops, to this – wow!  I may never do another PCB project, but if I do, DipTrace will be my drug of choice!

Stay tuned,

Frank

 

 

 

OSU/STEM Outreach Speaker Amplifier Project, Part III

 

Posted 29 July 2016,

In my last post on this subject, I described the work to be completed to finish the OSU/STEM Outreach speaker amplifier project, as follows:

  • physically cut the perfboard down to a size that will fit into the enclosure, and figure out how it is to be secured.
  • Figure out how to mount the channel monitor LEDs so that they can be seen from outside the enclosure.  The plan at the moment is to mount them on the outside edge of the left and right screw terminals, respectively, and widen the AUD OUT opening enough so they can be easily viewed from outside.
  • Figure out how to route power and audio signals to the LED monitor board without using the external power and audio output screw terminals. The power wiring should be simple, as power and ground are available on the breakout pins provided by Adafruit.  However, the audio output signals are more problematic, as it isn’t obvious how to get to these circuit points, and I  really don’t want to start drilling holes in a multi-layer PCB.  After a careful visual inspection and some probing with my trusty DVM, I think I have located where I can safely tap into the PCB run from the last SMT resistor to the positive audio terminal for each channel – we’ll see!
  • Make sure the enclosure top fits OK, and all three LEDs are indeed visible.
  • Install semi-permanent L/R audio output cables with alligator clip terminations.  In actual use, I don’t really expect two paper speakers to be connected at once, but I’ll be ready if that situation occurs ;-).

Cut the perfboard down (and mount the LEDs):

With the help of my trusty Dremel tool and a carbide cutoff wheel, I trimmed the perfboard down to a size and shape that would fit into the enclosure, using the top surface of the audio input jack as a handy mating surface on one end, and with the monitor LEDs themselves as mounting legs on the other end, as shown in the following photos.

Cut-down perfboard, mounted front view

Cut-down perfboard, mounted front view

Cut-down perfboard, mounted, side view

Cut-down perfboard, mounted, side view

Power and audio signal wiring:

160729_LEDMonitorBoard1

Audio and power wiring

Audio and power wiring

Enclosure:

160729_LEDMonitorEncl4

Completed project shown connected to OSU paper speaker

Completed project shown connected to OSU paper speaker

Speaker connection cables:

Enclosure side view showing audio output connections

Enclosure side view showing audio output connections

All  Together Now…

 

So, at this point the amplifier project is all done  except for the ‘proof of the pudding’, which in this case is a real field test with real participants and student helpers.  If the field test results are satisfactory, I’ll probably build at least two more complete systems (I got 3ea amp boards from Adafruit and haven’t managed to kill any of them yet), and donate them to the OSU Engineering Outreach project.

Frank

 

 

 

 

OSU/STEM Outreach Speaker Amplifier Project, Part II

Posted 27 July 2016

In my last post on this subject, I had gotten to the point where I had a single-channel LED monitor circuit working, although it was still a bit  unkempt, to say the least.  In this post I describe the effort to get both channels working and to neaten everything up prior to installing the circuit into the speaker amplifier enclosure.

First off, I ‘improved’ the LED monitor circuit a bit, based on the results from testing the one-channel version.  I discovered there was a DC term riding on the class-D input signal, and this was getting amplified through the LED monitor circuit and swamping the audio  output at the LED.  So I added a 0.01uF DC blocking cap on the input line.  Unfortunately, this caused another problem, in that now the RC circuit cap had no discharge path so it almost immediately charged up and again swamped the audio signal.  One more addition – a 330K Ohm resistor across the low-pass cap to allow it to discharge.  Then, I adjusted the DC gain of the amp to provide a good  LED response to the audio.  I wanted the LED’s to come alive just about the time that a well-fabricated speaker produced clearly audible output.  The idea here is that a helper can tell immediately from the LEDs whether or not there is sufficient output power present to produce an audible response, and therefore if no response is detected, there is a problem with the speaker or the wiring from the amp to the speaker – but not upstream of that point.  After some fiddling around, I settled on a gain of about 70 for the LED monitor.  With that setup, and with the 20W amp gain set appropriately, I could easily drive the OSU paper speaker from my laptop, with the laptop’s audio output slider at about 50%.  The ‘New Improved’ LED monitor circuit is shown below:

Revised LED monitor schematic - one of two channels shown.

Revised LED monitor schematic – one of two channels shown.

The audio input to the monitor circuit is the rail-to-rail high-frequency (about 300KHz) audio-modulated PWM signal, as shown below

Amplifier output with audio input signal present

Amplifier output with audio input signal present

After the RC filter, only the audio signal is present, as shown in the following photo

LED monitor circuit audio input. Scope is set to 200mv/div

LED monitor circuit audio input. Scope is set to 200mv/div.

The following photo shows the output.  Due to the use of a single-supply op-amp and without any DC bias arrangement, only the positive input signal excursions produce an output – but that’s OK in this circuit as all we are doing is driving an LED.

LED monitor circuit LED drive signal. Only the positive audio transitions produce an output. Scope set to 2V/div

LED monitor circuit LED drive signal. Only the positive audio transitions produce an output. Scope set to 2V/div

While tweaking the monitor circuit, I had made quite a mess of my little perf-board layout.  So, after getting the schematic in good shape I basically tore everything down and started over again with the aim of building up the two-channel layout.  After everything was done, the result was the circuit shown in the following photo

Two-channel LED monitor circuit detail

Two-channel LED monitor circuit detail

two-channel LED monitor circuit in operation with the Adafruit 20W amp and the OSU paper speaker

two-channel LED monitor circuit in operation with the Adafruit 20W amp and the OSU paper speaker

After re-working the perf-board layout, adding the second channel, and carefully checking the wiring against the circuit, I was pleased to see that both channels operated as desired, and either channel could easily drive the OSU paper speaker.  The following short video shows the speaker being driven by the right channel, and both channel signals being monitored by the LED monitor circuit.

 

At this point the remaining work is:

  • physically cut the perfboard down to a size that will fit into the enclosure, and figure out how it is to be secured.
  • Figure out how to mount the channel monitor LEDs so that they can be seen from outside the enclosure.  The plan at the moment is to mount them on the outside edge of the left and right screw terminals, respectively, and widen the AUD OUT opening enough so they can be easily viewed from outside.
  • Figure out how to route power and audio signals to the LED monitor board without using the external power and audio output screw terminals. The power wiring should be simple, as power and ground are available on the breakout pins provided by Adafruit.  However, the audio output signals are more problematic, as it isn’t obvious how to get to these circuit points, and I  really don’t want to start drilling holes in a multi-layer PCB.  After a careful visual inspection and some probing with my trusty DVM, I think I have located where I can safely tap into the PCB run from the last SMT resistor to the positive audio terminal for each channel – we’ll see!
  • Make sure the enclosure top fits OK, and all three LEDs are indeed visible.
  • Install semi-permanent L/R audio output cables with alligator clip terminations.  In actual use, I don’t really expect two paper speakers to be connected at once, but I’ll be ready if that situation occurs ;-).

Once I’m sure everything is working OK and that the whole thing won’t die on me the first time someone looks at it sideways, then the plan is to volunteer for an upcoming speaker fabrication session and try the amp in the ‘real world’.  If it works as I fully expect it to, then the idea is to donate two or three to the OSU Engineering Outreach program, in the name of my company (EM Workbench LLC).  Stay tuned!

Frank

 

OSU/STEM Outreach Speaker Amplifier Project, Part I

Posted  July 25, 2016

Lately I have become involved in the Engineering Outreach program here at The Ohio State University, as a volunteer helper at ‘hands-on’ engineering project presentations to grade-school and middle-school students in the Columbus, Ohio area.  A week or so ago I helped out in a session where the students (middle-schoolers at a science day-camp) got to fabricate and test an audio speaker from a paper template, some magnet wire, and a couple of small permanent magnets, and I was struck by the difficulty the kids were having in actually hearing anything coming out of their freshly-fabricated speakers when they connected them to the output of their phones and/or iPads.  I could understand if I couldn’t hear anything – I’m an old power pilot and my ears are shot from thousands of hours of piston engine noise – but the kids with their brand-new ears couldn’t hear anything either!  There was an audio amplifier available for the kids to use, but it wasn’t much help either – there wasn’t any indication that the amp was actually doing anything, so it could have died long ago and nobody would ever know – bummer.  Anyway, I came away from that project with the distinct impression that this particular project wasn’t doing much for the kids, and maybe I could do something to help.  So, before I left the room, I made a point of ‘borrowing’ all the parts required to fabricate my own paper speaker – the paper template, magnet wire, and permanent magnets along with the other small bits and pieces.

My first line of inquiry in my own home lab was to determine what the best fabrication technique was for the speaker itself.  My thinking was that since this project has been around forever in one guise or another, it sorta  had to be successful in some sense, or it would have died out long ago.  Therefore, I reasoned that a more careful approach to the actual fabrication might yield better results.  After doing some inet research, I realized that one of the critical aspects of paper speaker construction is to make sure the speaker coil assembly (a section of plastic straw hot-glued to the speaker cone with the magnet wire wound around it’s lower end) was free to move vertically – i.e. it wasn’t forced down against the baseplate by the tension of the speaker legs.  In other words, the speaker legs had to be arranged such that the speaker coil assembly floated 2-3  mm above the base.  After playing with this a while, I realized that the proper technique was to arrange the speaker legs so as to properly suspend the coil assembly first, and then place the permanent magnet ‘dot’ under the coil assembly second, rather than the other way around.  Assembly in this sequence tends to minimize lateral friction of the coil assembly straw section against the side of the permanent magnets, hopefully resulting in higher mechanical/audio transfer efficiency.

After constructing the speaker as carefully as possible, I hooked it up to my laptop audio output, and voila! – no audio :-(.  Even with the audio output at max volume (which, when directed to my laptop’s internal speakers is enough to vibrate my workbench), it was almost impossible to hear anything from the speaker.  Even with careful construction with no time constraints, and a top-end audio source, getting the speaker to work was a very marginal deal.

After thinking about this for a while, I decided that I was maybe working the wrong end of the system.  What I needed to do was to implement an audio amplifier that would provide sufficient output power so that even a marginally constructed speaker would work properly; the only real limitation on power that I could see would be the current limit imposed by the magnet wire itself – as long as I didn’t physically melt the wire, I should be OK! ;-).

My first try at an amplifier was based around a power MOSFET I had lying around, as shown in the following photo.  1607_MOSFET_AMP

This worked ,but only up until the point at which the drain resistor started smoking!  That’s the problem with a linear amplifier driving a speaker – LOTS of power being dissipated.

So, back to the drawing board, with more inet research.  This time, I came across the  very nice Adafruit  Class-D speaker amplifier  shown below.  The kit has everything needed to build a complete speaker amp, as shown in the second image below.  The amplifier runs Class-D, so it is very efficient, and it depends on the speaker coil inductance to  reject the high-frequency switching signal, leaving only the audio.

 

Adafruit 20W Class-D speaker amplifier, based on the MAX9744 amplifier chip

Adafruit 20W Class-D speaker amplifier, based on the MAX9744 amplifier chip

Adafruit 20W Class-D speaker amplifier application

Adafruit 20W Class-D speaker amplifier application

The folks at Adafruit were even thoughtful enough to provide the STL file for a 3D-printable enclosure for the amp, as shown below:

3D-printable enclosure for the 20W Class-D amp

3D-printable enclosure for the 20W Class-D amp

And, since I am the proud owner of not just one, but  two 3D printers (a Printrbot Simple Metal, and a PowerSpec 3D Pro/aka Flashforge Creator X), the existence  of a ready-made design for the enclosure saved some time.

After receiving my amps from Adafruit, and after the requisite amount of fumbling around, I managed to get the amp running and connected to a couple of old speakers.  When I connected up my laptop’s audio output I was quite pleased that, even at the default 6dB gain setting, the amp easily drove the speakers to the point where I had to reduce the audio input volume to avoid complaints from the wife in the next room.

Adafruit amp test setup

Adafruit amp test setup

At this point, it was clear that the Adafruit amp should be an excellent solution to the paper-speaker driver problem, but I wasn’t quite done yet.  There were still several  remaining issues:

  • The amplifier used in the previous sessions had no ‘power ON’ indication, so there was no way to tell if the thing was actually operating or not.  The Adafruit amp, as delivered doesn’t have one either, so this had to be corrected somehow.
  • The previous amplifier had no ‘audio activity’ indication, so even if you somehow knew that it was indeed getting  power and working, there wasn’t any way to tell if there was any audio output without  attaching a speaker; and if there was no sound, there was no way to tell if the problem was the speaker or the amp.
  • The original enclosure design by Adafruit didn’t actually fit – the slots for the power and audio-in jacks weren’t high enough (later design change?). In addition, there were no provisions for either the ‘power ON’ or ‘audio activity’ indicators.  Fortunately I not only have 3D printers, but an account on TinkerCad  so the design could be adjusted.
  • Since I still haven’t actually connected the amp to my paper speaker, I don’t really know yet if the default 6dB gain setting is sufficient to drive the speaker; I may still have to change to the analog gain setup and use a higher gain setting (fortunately, Adafruit thoughtfully provided a 1K potentiometer and a set of jumper pads to achieve this, if necessary).

Power-ON Indication:

The power-ON indication issue was fairly easy to address – all I had to do was add an LED-resistor combination across the external power input lines.   The only problem with this solution was finding a way for the LED to be visible outside the enclosure – and the solution was to modify the enclosure design to expose the external power screw terminals (they were hidden in the original design), and in the process leave a bit of space open between the power input jack  and the screw terminal, a space just wide enough for a small, rectangular LED as shown below.

Power ON indicator LED installed between power input jack and external power screw terminals

Power ON indicator LED installed between power input jack and external power screw terminals

Audio Activity Indicator:

The Adafruit amplifier is Class-D – i.e.  the output is a pulse-width-modulated (PWM) signal, as shown below:

Amplifier output with audio input signal present

Amplifier output with audio input signal present

Amplifier output with no audio input signal present

Amplifier output with no audio input signal present

As can (or more accurately,  cannot) be seen from the above photos, there is no appreciable difference between the ‘audio’ and ‘no audio’ waveforms.  The class D amplifier technique depends on the low-pass nature of the speaker coil to suppress  the high-frequency switched waveform  terms, leaving only the audio term.  Unfortunately, this means there really isn’t anything there to directly drive an audio activity indicator – the typical LED is plenty fast enough to follow the high-frequency PWM waveform, thereby masking the audio signal.  One possible technique would be to sample the speaker coil current (which pretty much by definition doesn’t contain the high-frequency switching terms), but this requires that a working speaker be attached.  This won’t work, because the whole idea of an audio activity indicator is to confirm that an audio input is present and has been amplified sufficiently to adequately drive a speaker  before one is connected.  So, I decided to try a simple RC low-pass filter, followed by a basic audio amplifier to drive the activity LED.  The circuit for one channel is shown below.

LED monitor circuit for one channel

LED monitor circuit for one channel.  Pin numbers are Channel1/Channel2

Here is a short video showing the LED monitor circuit in action

 

So, at this point I have a working speaker amplifier, a power-ON indicator, and at least the prototype of an audio activity monitoring circuit.  Next up – finish the LED monitor circuit, finish the enclosure design and fabrication, and assemble everything for delivery.

 

 

 

 

 

 

 

 

TinkerCad vs 123d Design vs MeshMixer – Pick your Poison

I started into the 3D Printing world just a few months ago with a PrintrBot Metal 3D printer, a strong commitment to learn, and and very little else.  Since then I have spent countless hours with the printer and several different 3D CAD applications to design and instantiate various 3D designs.  In the process I have learned a LOT about AutoDesk’s Tinkercad, 123d Design, and MeshMixer  applications. These are all free applications that purport to make it easy and intuitive to create 3D designs for 3D printing, and  all three offer some amazing capabilities and features for free apps.  Unfortunately, it can also be very frustrating to discover that after many hours trying to incorporate some specific feature into your 3D design, ‘you can’t get there from here’ and you are left high and dry with nowhere to go.  MeshMixer is such a different program than either 123d Design or Tinkercad that I don’t plan to discuss it in this post – maybe later.

I have decided to coin the phrases ‘linear frustration’ and ‘Nonlinear frustration’ to describe the differences between 123d Design and Tinkercad.

Linear Frustration (aka Tinkercad)

Tinkercad is an absolutely amazing 3D design application.  It has a very intuitive GUI, and it takes almost no time to become proficient and productive with its very simple set of primitives along with a robust set of manipulation features  (WorkPlane, Group/Ungroup, Adjust/Align, and Solid/Hole).  The Workplane concept is particularly powerful in that it allows you to quickly define the plane on which the next primitive will be placed and manipulated.  This makes it child’s play to construct fairly complex objects in rotated and/or displaced local coordinate systems.  Unfortunately, Tinkercad runs out of gas fairly quickly when designs require sophisticated treatment like morphing from one shape to another (an ellipse to a rounded rectangle in my case), or when reshaping objects after rotation.   This  is  what I refer to as a ‘Linearly Frustrating’ in that the  problem isn’t  so much a failure of the package as much as a limitation on how much you can do with the limited suite of  primitives and manipulation tools offered.  Every tool does what it is supposed to, but the combination doesn’t allow an infinite pallet of options.  With added work and persistence you can go a LONG ways with Tinkercad, but eventually the law of diminishing returns will get to you and you’ll be looking for something else with more horsepower.

There are a couple of other frustrations with Tinkercad that have more to do with the way designs are stored and managed; I’m a complete neat-freak when it comes to project file organization, so this is a big deal for me.

  • although Tinkercad offers the ability to assign  collections of designs to  a ‘Project’ folder, all Tinkercad does is create a soft link from the corresponding design in the ‘All Design’  collection to the Project view. This means that if you happen to edit, or god forbid  delete the ‘All Designs’ design, the ‘Project’ design gets deleted too – ouch!  The ‘Project’ idea is nice, but it is basically useless unless designs are  copied to Project folders rather than just linked.
  • Along the same lines, there is apparently no way to copy or delete multiple designs at once.  I have over 150 designs now, but many of them are early versions that I no longer need; it would be pretty nice if I could multi-select designs for deletion.
  • And last, but not necessarily least – Tinkercad is apparently a victim of its own success, as the Tinkercad server(s) have been unreliable of late due (I think) to extremely high  activity levels.  Maybe Autodesk should consider fixing some of the more egregious problems with 123D Design (see below) so more of us would move off Tinkercad and onto 123D Design ;-).

Non-Linear Frustration (aka 123d Design)

And along comes AutoDesk 123d Design… I swear this app represents Yin and Yang, Good and Evil, Blissful Marriage and Ugly Divorce, Superman and Kryptonite, Batman and The Joker and all the other polar opposites you can think of, wrapped into one super-powered but fatally flawed 3D design program

Whoever was in charge of implementing the GUI (Graphical User Interface) for 123d Design gets my vote for Evil of the Century.  The very first mouse-driven user interface was created back in the late 1960s by Douglas Engelbart, at Stanford Research Institute, and ever since then the GUI has been evolving.  It used to be that ‘bad’ GUIs abounded, with weird menu modalities and nonsensical procedural rules, but these evolutionary dead-ends have been mostly driven extinct.  GUI paradigms  have now evolved to be nearly universal, to the point where humans can transition from one program to another with very little effort.  Everyone expects and demands top-level menus that are activated with a left click, context menus that are activated with a right-click, and so on.  Programs that don’t conform to that expectation immediately create a cognitive dissonance in the mind of the user, who now has to spend processing power just trying to figure out how to talk to the program, rather than how to transfer the 3D image in his/her brain onto the drawing canvas.  Imagine you have rented a car at some distant airport, and you discover that the steering wheel is connected to the wheels in such a way that turning the steering wheel to the right causes the road wheels to turn to the left, and vice versa.  It has been proven over and over again that it is virtually impossible for humans to recover from a crossed-control situation like this, even if they know up-front that the condition exists!  This is because they have gotten so used to subconsciously controlling steering in one way that the car is off the roadway and into the ditch before the driver even realizes something is wrong.  Thus, a deeply embedded interface paradigm cannot be violated without extreme consequences.  In another context I had occasion to research the results of crossed rudder pedal control accidents in aviation.  What I found was that  in every case of crossed rudder pedals, the pilot was unable to recover without crashing the plane, regardless of the experience  and/or expertise level of the pilot.  In most (but unfortunately not all) cases, the crash happened during the takeoff roll, usually without fatal results.  I belabor this topic to emphasize the dangers inherent in screwing with GUI paradigms just to be different or because the designer “has a better idea” – it may be ‘better’ but if it is too ‘different’, it will be perceived to be (and will be, in fact) worse!

In the case of 123d Design, I swear the application design team was divided into four  different sections.

  1. The math team was from India, spoke only Hindi, and worked entirely using paper and pencil.  They devised elegant and (mostly) correct transformation algorithms for things like the spectacular ‘loft’ algorithm that allows a user to morph one 2D sketch into another one, and the chamfer/fillet feature.
  2.  The object-interface  team was from Nepal, spoke only Tibetan, and used 1980s Micro-Vax machines with an early version of X-Windows to create the low-level screen widgets that expose object parameters to the user. While also mostly correct, these interface modalities died  out right along with the Micro-Vax (and for a good reason!)
  3. The main GUI team was from Mars, spoke English learned from study of “I love Lucy” and “The Jetsons”, and programmed on the latest MARC (Martian Artistic Research Center) 3D design tablets (unfortunately for us humans, MARCs inherited  their GUI paradigms from “The Jetsons” as well).
  4. The integration team was from AutoDesk, spoke Valley English, smoked pot on the weekends (and on the weekdays, and at lunch, and…) and were experts at putting lipstick on pigs.  They spent a few days and used up a 55-gallon drum of lipstick, and vioila-123d Design!
  5. The testing team – What testing team?

OK, OK it couldn’t possibly be  that bad – I’m sure the Martians had access to other TV programs too ;-).

123d Design has some wonderful features (like the ‘loft’ feature) that can be a treat to use.  Unfortunately 123d Design is also one of those evil-ridden applications where you cannot make three mouse clicks in any one direction without falling into yet another devil-spawned GUI trap of one sort or another.  To mention just one or two:

  • You can non-linearly scale any 3-D object, but you can’t non-linearly scale a 2-D object,  even though the non-linear scaling fields are exposed and can be edited!  It’s just that nothing happens when you do!  I would die from embarrassment if I had to admit I was part of a design/programming team that couldn’t even remember to connect all  the  numerical entry fields to their corresponding class variables – I mean c’mon guys!
  • When using the ‘Transformation’ (move/rotate) feature, there is a single numerical entry box presented to the user  with no label.  One has to mouse over the box to find out what it does, and what it does  changes depending on what axis you last clicked on!  So you could enter a number and discover it does exactly what you wanted – or not– depending on the recent past history of your mouse clicks.  You have to click on an axis, and then hover over the entry field to see if the hidden label now says the right thing.  This is more than stupid – it’s  EVIL!
  • When you want to open a locally saved design file on the PC version of 123d Design, it takes 3 mouse clicks instead of the one click for every other application on the planet.  First you click on ‘Open’ (well, duh!) – but then you get a dialog urging you to “Sign In!” so AutoDesk can “Access Your Projects” – NOT!!  Then you have to click on the “Browse My Computer” tab, and then you have to click on  ANOTHER ‘BROWSE’ BUTTON!!  – grrrr.  And, you have to that  every time you want open a design file on your own damned PC!!  No ‘Recent File List’, no MRU (Most Recently Used) exposure, nothing!  Even AutoDesk should be aware of the MRU concept by now!
  • The main window of the 123d Design PC version cannot be resized below a certain size, which occupies about 2/3W by 1/2H  of the real estate on my 1920 x 1080 monitor.  No other application on my PC, and almost no other application I have dealt with over the last decade or so does this.  Can you say “f###ed up”?
  • It is apparently impossible to Ctrl-C/Ctrl-V an object from one 123d Design instance to another one on the same PC – a feature that has been in every multiple-instance application since Gates and Jobs were in diapers.  In order to copy a single object to another 123d Design instance, you have to save the file containing the object, open that file in the new instance, and then delete everything but the object you wanted to copy.
  • There’s no  File Save As…  menu selection; instead you have ‘Save’ and ‘Save a Copy…’, which has ‘To My Projects…’ and ‘To My Computer’ sub-menu choices – argghhh!
  • Ctrl-A doesn’t select everything – give me a break!
  • There is  NO ALIGNMENT FEATURE!   you can group objects, you can arrange objects in circles, lines, or the Ohio State ‘Block O’ for all I know, but you cannot align them!  What kind of drawing program doesn’t have an alignment feature?  Rumor has it that the wonderful Tinkercad alignment paradigm has found its way into the iPad version of 123d Design, but not into the Windows version – the one used by about 70% of the 3D designers in the world.
  • There is no HELP!   There are lots of YouTube videos showing how to do this or that, but most were done with significantly (sometimes radically) different GUI’s from earlier versions.  Also, the videos ‘cherry-pick’ the features they like and avoid the features that don’t work (and they are  legion!).
  • The help forum sucks big time; there are at least two different forum views, and I haven’t been able to figure out which view comes up when.  Posting questions or problems is a real nightmare, and there is the infamous problem where you can write up a long post only to be confronted at the end with an error message that says ‘You can’t submit this post because you haven’t yet logged in – please log in and we’ll bring you back to this page (and if you believe that we have a bridge we’d like to sell you)”.  Every other forum package on the planet puts up the ‘not logged in’ error message  up front, or even better, simply disables the ‘Post’ button if you aren’t logged in!  And, if you do manage to finally get your post submitted, you’ll not find anyone on the other side of the curtain; Posts there have been unanswered for months if not years.

You may say that these  are trivial gripes – and I would agree with you.  Except the same sort of passive/aggressive “I know better than the rest of the universe and you can do it my way or the highway and by the way, my way doesn’t even work half the time” behavior is rampant throughout the program.  So, instead of getting nice and warm and cozy with the program, my relationship with 123d Design  is more like a series of running battles; I know I’m going to take casualties, but I need that particular feature and I have to hope I won’t get my ass completely shot off (this time) in the process.

Where to go from here?

Some posters on this subject have suggested that Autodesk has deliberately released 123d Design with such major and obvious flaws to get users hooked on  3D design so they can be sold their paid products like Fusion 360; sorta like giving away introductory  heroin doses to capture more addicts.  My personal opinion is more like ‘Hanlon’s Razor’ – “Never attribute to malice that which is adequately explained by stupidity”.

ClearNav Joystick Part 7. Flap Grip Model Finished? – NOT!

The title of  my last post on this subject had the word ‘Finished?’ with a question mark, because I suspected that John and I weren’t really ‘finished’ with this project (and for that matter, may  never be!), and sure ’nuff, the ‘finished’ version came back to me with some suggestions for improvements.  However, as has happened at every stage of this journey, lessons learned with each trial opened up avenues for improvement.  One of the many cool things about the current 3D printing world is that a single individual or a small group (in our case, a ‘group’ of two!) can traverse the complete trial, re-design and re-implement cycle  in a very short time at essentially zero cost.  This short cycle time and low incremental cost means that failure isn’t only an option – it’s an expected and accepted way of rapidly stepping through many design variations in the quest for truly useful and cool ‘things’.  After all, who would have thought that a clay model of a joystick-mounted ClearNav remote caddy created by one pilot long ago would have evolved so rapidly into a detachable and rotatable flap handle mounted caddy at all, much less in the 2-3 months we have been working on the project (and this time includes several ship/return cycles to move trial pieces from my lab to John’s glider and back again!).

So, anyway, back to the current design cycle:  At the conclusion of last week’s episode, I had completed a new version and sent it off to John for testing.  This version included the following improvements:

  • Deleted the cable channel in the flap grip piece
  • Resized the rectangular slot in the flap grip piece
  • Removed the finger scallops on the front of the grip
  • Offset the caddy piece slightly forward of the flap handle centerline, and rotated it about 20 degrees up’ relative to the top surface of the flap grip
  • Used a round vs rectangular post to couple the caddy to the flap grip to allow for rotation
  • Added protection walls for the RJ-11 remote connector

Although this version was a decided improvement over the last one, I still wasn’t happy with it, for a number of reasons:

  • First and foremost – the way that I had implemented the rotation feature meant that John could no longer remove just the caddy portion from the flap grip when entering/exiting; now he had to remove the entire system, flap grip and all, from the flap control bar.  I didn’t think this would work as a long-term solution.
  • The transition piece from the flap grip ellipse to the remote caddy rounded rectangle was clunky and ugly, to say the least

So, even as the previous version was on its way down to John, I was already working on ideas for the next version to address the above issues.

Rotatable and Detachable:

I wanted a way to have my cake and eat it too – a way to make the remote caddy easily (and repeatedly) detachable from the flap grip  and easily rotatable about the axis of the flap grip  and  fixable at the desired  rotation angle.  Whatever solution I came up with had to also be implementable as a plastic 3D-printable shape – no cheating allowed!

Option 1 – Snap Ring:  Maybe I could design a snap ring setup, where the post on the bottom of the caddy piece would snap into some sort of groove in the flap grip so it would rotate freely but not just fall out – some force would be required to detach it?  I decided to experiment with this a bit and see if I could come up with something workable.  Another of the many cool aspects of 3D printing is that I can  rapidly design and print small parts to test just the current idea, without wasting time with non-relevant structures.  In this case, I designed and printed several pairs of ‘buttons’ just to test the snap ring idea.

Female snap ring 'button'

Female snap ring ‘button’

Male snap ring 'button'

Male snap ring ‘button’

Connected snap ring buttons

Connected snap ring buttons

What I learned from this series of experiments is that a) I’m not that good of a Mechanical Engineer, and b) The snap ring idea is  great for a semi-permanent rotational coupling, but not so much for a system that must be connected and disconnected many times. The plastic is just too hard – it’s just as likely that the part will fail before the snap ring disconnects!  The good news is that I was able to learn this lesson quickly and cheaply! ;-).

Option 2 – Separate the rotation feature from the attach/detach feature:  The snap ring exercise convinced me that I needed to separate the rotation feature from the attach/detach feature.  Conceptually, this meant that I had to partition the system into three  parts rather than two; the flap grip, a ‘converter’ piece that would attach/detach from the flap grip on one side, and would form a rotational surface with the remote caddy piece on the other, and the caddy piece itself.  Separating the design into three pieces vs two wasn’t really much of a conceptual leap anyway, as I had already done most of this in the previous incarnation when I used the 123D Design’s ‘Loft’ feature to transition from the flap grip ellipse to the caddy rectangle.  All I had to do was to make that transition into it’s own separate piece, with some sort of attach/detach mechanism on the bottom, and a rotation feature on the top.  Of course I still had to figure out what those  mechanisms were, but details, details, details! ;-).

Quarter-Turn Latch For Attach-Detach:  While I was doodling around trying to figure out a good mechanism for latching/unlatching the center ‘converter’ section to the flap grip, my wife happened to look over my shoulder and casually say  “what about a quarter-turn fastener?”.  My first thought was “nah – WAY too hard”, but the more I though about it, the more is seemed like that might not be such a crazy idea after all.  One of the many cool things about 3D printing is its ability to form internal structures that aren’t possible via normal milling/machining techniques, another is its ability to convert a solid shape to a cavity and vice-versa, and  another is the way it facilitates rapid experimentation.  The combination of these three things allowed me to design complementary plug/socket designs, and then rapidly iterate through several versions to improve the design.

I started with a circular base for both the ‘plug’ and ‘socket’ version of the quarter-turn latching mechanism, but rapidly changed to an elliptical base that exactly matched the cross-section of the flap grip. I knew I would eventually need to transfer the mechanism to the top of the flap grip and the bottom of the identically-shaped bottom of the center transition section, so using the same shape for the experimental parts would make the transfer a LOT easier.  The first set of trials were pretty clumsy, as I had no real idea what a good mechanism looked like, how to determine the amount of rotation from locked to unlocked, and which direction I wanted the locking rotation to go.  Version 1 used a rectangular tongue for the latch, but I discovered this didn’t work very well, so this evolved to a pie-section tongue shape, and the complementary internal socket channel evolved to match.

Version 1 of the quarter-turn fastener socket

Version 1 of the quarter-turn fastener socket

Version 1 of the quarter-turn fastener plug

Version 1 of the quarter-turn fastener plug

Version 3 of the quarter-turn latching mechanism

Version 3 of the quarter-turn latching mechanism

Version 3 of the quarter-turn latching mechanism with internal details shown

Version 3 of the quarter-turn latching mechanism with internal details shown

By version 3, I had also started adding ‘engraved’ version number and orientation reference marks to the experimental pieces as an aid for getting the lock/unlock orientations right (after having screwed this up a couple of times without the reference marks).  I had also gotten smart enough (after some more screwups) to extract  the design of the quarter-turn mechanism  into its own file, so it could be added to whatever structure required it (and making it available for completely different future projects!).

Version 2 and V3 plug/socket parts in their own design file

Version 2 and V3 plug/socket parts in their own design file

Doing this made it MUCH easier, for instance, to reverse the lock/unlock rotation direction when I discovered that the original orientation made the mechanism too easy to unlock inadvertently during normal use (50/50 chance and I blew it – again!).  The finished (as much as anything gets finished in this project) product is shown below

FlapGrip to center section quarter-turn locking mechanism.

FlapGrip to center section quarter-turn locking mechanism.

Center section in the locked position on the flap grip

Center section in the locked position on the flap grip

Center section in the UNlocked position on the flap grip

Center section in the UNlocked position on the flap grip

Rotational Feature:  Based on earlier feedback from John, I wanted the remote caddy to be able to rotate with respect to the flap grip.  In an earlier incantation, the piece that transitioned from the flap grip ellipse to the semi-rectangular remote caddy was integrated into the remote caddy, and the entire piece rotated about the top of the flap grip.  This was OK, but the transition/caddy section could not be easily removed from the flap grip, making glider entry/exit potentially awkward.  In the new setup the idea was to separate the transition section from  the remote caddy so it  could rotate around the top of the transition section, while the combined caddy/transition sections would attach/detach from the flap grip via the quarter-turn fastener.  So, I needed a rotation mechanism, preferably with some sort of detent arrangement so John could try different rotation angles in flight.  The detent requirement led to another series of  experiments with snap-ring buttons, with a small protruding tip one button that engaged a set of radially distributed grooves on the other.  The result, unfortunately, was that if the tip was sufficiently large to properly engage the grooves, it was also large enough to  make it nearly impossible to ‘click’ from one groove to another.  In other words, it turned out to be pretty much an ‘all or nothing’ kind of thing.  Fortunately I still had a couple of the McMaster-Carr ball-spring plungers left over from the last go-around, and I replacing the protruding tip with a spring-loaded ball did the trick very nicely!

Remote caddy interior details showing rotation and detent arrangement

Remote caddy interior details showing rotation and detent arrangement

Remote caddy bottom surface showing detents

Remote caddy bottom surface showing detents.  Note the ball-spring plunger in the top of the transition piece

OK, so now we had the desired quick-release feature so John can  easily remove the remote caddy (with its attached cable to the ClearNav) from the flap grip for glider entry/exit, AND the desired ability to rotate the caddy with respect to the flap grip axis!  All it took was a little persistence, a genius wife, and about a million design/implement/test cycles ;-).  The following photos show the various experimental parts generated, and the ‘final product’ (but of course, ‘final product is what I said the last time!)

 

Collection of experimental printed parts

Collection of experimental printed parts

Disassembled system showing all three pieces

Disassembled system showing all three pieces

Assembled 3-piece system

Assembled 3-piece system

Stay Tuned!

Frank

 

 

 

 

 

 

 

 

ClearNav Joystick Part 6. Flap Grip Model Finished?

In Part 5 of this journey, I described our paradigm shift from a joystick mounted ClearNav remote caddy to a flap grip mounted version.  When John received and tested the first try at this approach, he agreed we were on the right track, but there were some ‘issues’ (there are *always* issues!).

  • The cable channel in the flap grip piece is unusable, as routing the cable this way interferes with opening the canopy.  Instead, John just used the single tie point on the caddy piece, and simply detached that piece when entering/exiting the glider
  • The rectangular slot in the flap grip piece was a bit too roomy in the forward/aft direction.
  • The finger scallops on the front of the grip didn’t really fit John’s fingers – oops!
  • The caddy piece would work better if it was offset slightly forward of the flap handle centerline, and rotated about 20 degrees ‘up’ relative to the top surface of the flap grip (i.e. toward the glider centerline)
  • The way that the caddy piece was attached to the flap grip prevented it from being rotated slightly to accommodate John’s actual thumb position; he suggested a round stud rather than a rectangular one.
  • The remote connector (a RJ-11 phone-style connector) sticks out the front of the caddy and is vulnerable to damage; John suggested I design in some protective walls for this.

Incorporating all the above elements into a new design involved some head-scratching, and quite a few  4-letter words, as I found that none of the 3D design tools I have so far employed (TinkerCad, 123D Design, and MeshMixer) would do the whole job.  I wound up working with all of them at one point or another in order to get what I wanted.  In addition, I was in the process of upgrading my PrintrBot 3D printer with a heated bed to accommodate future plans to print with ABS plastic in addition to PLA, and this turned out to be a  lot more complicated than I had envisaged (I eventually reverted to my original hardware configuration, as I could not get consistent prints with the heated bed).

The first three items above were trivial to solve – just deleting the relevant ‘hole’ structures from the design, and modifying the rectangular slot dimension slightly.

The last three, however, required a complete re-thinking of the way the caddy piece coupled to the top of the flap grip piece.  The flap grip has an elliptical cross-section, with a top surface that is parallel to the glider centerline, while the caddy piece has a rectangular cross-section that needed to be tilted up 20 degrees to the flap grip piece.  In addition, the front portion of the caddy piece needed to have significant material added to support a side wall protection structure for the RJ-11 connector.  I ran through several TinkerCad versions but ultimately realized that TinkerCad just kind ran out of horsepower to handle the complex surface morphing I was looking for.  I just couldn’t get any kind of a smooth transition from the elliptical flap grip shape to the essentially rectangular caddy shape *and* provide for connector walls.

 

An early concept for the 'new improved' flap grip model

An early concept for the ‘new improved’ flap grip model

An early concept for the 'new improved' flap grip model

An early concept for the ‘new improved’ flap grip model

However, I had been playing with 123D Design as a possible alternative to TinkerCad, and realized that it’s ‘sketch lofting’ feature might be just what I needed (assuming I could get past all the 123D Design frustrations and actually make the *%$@!#%$#* thing work!  The way the ‘lofting’ feature works is to take a ‘base’ 2D sketch in an  X-Y plane (in my case, an ellipse representing the top of the flap grip), and morph it into a ‘top’ 2D sketch (an outline representing the bottom of the caddy section) over the Z-axis distance between the two sketches.  By doing this I hoped to  get a much smoother transition from one surface to the other.  After playing around with this in 123D design for a while, I actually got this feature to work (an unusual occurrence with this program!). The following two images show the basics of the feature – here I have ‘lofted’ an ellipse in the Z=0 plane to a rectangle in the Z=50 plane, rotated about the Y-axis by 20 degrees.

2 different 2D surfaces

2 different 2D surfaces

An ellipse 'lofted' into a tilted rectangle

An ellipse ‘lofted’ into a tilted rectangle

For my purposes, I imported the flap grip and caddy pieces into 123D Design, and used them as patterns for the required 2D sketches.  I still needed to add the connector-guard section onto the front of the caddy section sketch, but this was fairly straightforward using the 123D Design ‘2D polyline’ feature.  Once I had the two surfaces mapped out and placed at the desired heights/angles, I could use the ‘loft’ feature to create a transitional 3D structure.  The first run at this is shown in the following screenshot.

First try at blending the flap grip surface to the caddy surface

First try at blending the flap grip surface to the caddy surface.

This actually worked pretty well, but I realized that the connector-guard portion of the transition structure wasn’t going to be nearly deep enough (in the Z-axis direction) to actually do any connector guarding – bummer!  So I tried again using a 3-surface model, with a middle surface using the non-rotated caddy outline plus the outline of the connector guard.  With this setup, I got a much more radical initial transformation from the ellipse to the caddy outline (not so good), but much more available bulk in the Z-axis direction for the connector guard (very good).  On balance, the need for the additional connector guard material outweighed the aesthetics of the smoother transition, so I wound up with a transition section that looked a bit like some prehistoric alligator (minus the legs)  but…

More or less final transition section from the flap grip ellipse to the caddy

More or less final transition section from the flap grip ellipse to the caddy

Caddy, transition section, and cylindrical mating stud

Caddy, transition section, and cylindrical mating stud

The next step was to import the transition section created in 123D Design back into TinkerCad for additional work and tuneup prior to 3D printing.  It was right in here somewhere that TinkerCad (a ‘cloud-based’ application) mysteriously went away for about 24 hours, causing a major hiccup in my project and correspondingly major damage to my Wa (I had upwards of 80 design revisions in the TinkerCad cloud, and if they all went away…).  Fortunately for me and my Wa, TinkerCad came back several hours later, and I was back in business.  The following screenshots show the ‘final’ (as if this project will ever end!) version of the remote caddy section.  The holes in the remote caddy bed were intended to accommodate the remote’s mounting screws (so they could be retained in the remote and not lost), but unfortunately the measurements were a bit off :-(.  The side view shows the tie-wrap attachment ring on the front undersurface, and the mounting plug on the bottom.  Both the mounting plug and the front portion of the caddy underside were shaved off a bit to create a larger attachment area for 3D printing

Final caddy version side view.  Mating plug and front bottom portion shaved off for better 3D printing

Final caddy version side view. Mating plug and front bottom portion shaved off for better 3D printing

Final remote caddy version.  Note holes for remote mounting screws (didn't work)

Final remote caddy version. Note holes for remote mounting screws (didn’t work)

So now it was time to fire up my 3D printer and start making parts.  Unfortunately, in the interim between this version and the last one I had decided to do the long-awaited upgrade to a heated print bed so I could eventually transition to stronger and more resilient ABS plastic instead of only PLA.  The downside to a heated print bed is the much higher power requirements, and a host of other secondary problems associated with heated-bed printing.  As it turned out, I couldn’t get a consistent print of the caddy piece with ABS or PLA using the heated bed, so I eventually had to downgrade my hardware setup and revert back to the original unheated bed, at least for these prints.  The following screenshot shows the problem with PLA on the heated bed.  The heat from the bed causes the PLA filament to stay soft too long and curl upward, even with forced air cooling.

An aborted attempt at printing the remote caddy piece.  Note the curled up edges and numerous print failures

An aborted attempt at printing the remote caddy piece. Note the curled up edges and numerous print failures

Anyway, after getting the hardware restored to its original unheated configuration, I started making trial prints of the remote caddy.  The first several tries were failures for one reason or another.  The first few trials failed because I had inadvertently disabled the ‘generate support structures’ option, and the next few failed because the support structures, when enabled, were too tightly bound to the main structure to remove when the print was finished!  It took some tweaking and print re-orientation to get to a configuration that produced useful results, although I’m still not happy with the ‘final’ (see above) product.   After the caddy piece, the flap grip piece was “a piece of cake”, as its geometry was much less complicated, although physically much bigger.  The final caddy piece took about 1.5 hours to print, while the flap grip piece went for more than 4 hours!

 

After getting both parts printed, there was still quite a bit of work to be done, especially on the caddy piece.  As it turned out, the cylindrical post on the bottom of the caddy piece was much too long for the matching hole in the top of the flap grip (measurement goof on my part), so the post had to be cut down by hand.  Then I had to drill and tap the post for a 4-40 screw so John can tighten the caddy down on the flap grip when he gets  the rotation angle correct for his hand placement.  Then a 4-40 clearance hole had to be put into the top of the flap grip piece, and the 4-40 screw threaded up into  the rectangular slot, through the clearance hole, and then screwed into the caddy mounting post (let’s hear it for double-sided tape and long, skinny screwdrivers!).  Also, the bottom surface of the caddy was a  lot rougher than I liked (printer misconfiguration?) so I had to spend some time with a file and a sanding block to get this surface even remotely acceptable.  I think I’ll try some more experiments to see if I can do a better job at this, so I’ll be ready when John comes back with the next batch of ‘issues’! ;-).

Stay tuned!

Frank

 

 

 

 

 

 

ClearNav Joystick Part 5. Back to the Drawing Board Again Again

The ‘minimalist’ joystick model from Part 4 was barely out the door before I had another brainstorm.  I have always done some of my best thinking while in bed, waiting for sleep to come.  My brain is still going over the events of the day, teasing at unsolved problems, and sometimes just as I’m about to drop off, a possible solution or different approach to a problem becomes clear.

In this particular case, it occurred to me that the joystick might not be the best place for a remote control caddy – maybe it would be better on the flap handle instead! This was such a powerful idea that I practically leaped out of bed, padded barefoot down the hall to my office/laboratory, wrote “Flap Handle!” on a post-it note and stuck it to my primary PC monitor.  In the light of the next day, awake, alert, and with coffee in hand the idea seemed even better.

Pros:

  • In a flapped ship, the pilot’s left hand is almost always on the flap handle, and there aren’t any other controls or switches there to interfere with a remote control pad.
  • The flap handle is on the side of the glider, so wire routing should be easier.
  • Flap handle mechanical motion is also much more constrained than joystick movement, so interference with other cockpit objects/controls becomes a non-issue.
  • Button actuation with the left thumb should be much easier, assuming the CN remote caddy could be angled correctly with respect to the flap handle.

Cons:

  • The flap handle juts out over the pilot’s left leg, so anything mounted to the end of the flap handle is vulnerable to damage as the pilot gets into or out of the glider
  • The cable from the remote control to the ClearNav (CN) has to get from the end of the flap handle to the side of the glider somehow, and the length of the cable run to the CN changes significantly with the forward and aft motion of the flap  control
  • Getting the right caddy/flap handle relative orientation might be tricky.

A completely independent, but quite significant ‘Pro’ for this idea was that it offered a perfect vehicle to demonstrate the power and flexibility of the 3D printing paradigm to my two grand-children (and their parents) who happened to be visiting over the Labor Day weekend.  As it turned out, Danny (12 years old  and younger of the two) dived in with great enthusiasm, and by the end of his stay was doing design modifications on his own!

When I broached this idea to my friend, he was also enthusiastic, and sent photos detailing the flap handle dimensions and a photo with the remote control held in what he thought might be the correct orientation.

 

Armed with this information, Danny and I started work.  The overall strategy was to constuct a new handle, shaped more or less like the old one, but with the CN remote caddy section from the previous ‘minimalist’ joystick grip design (see Part IV) attached to the end at an orientation approximating the one shown above.

The first thing I did was to take a short trip to the local hardware store and purchase a 3′ section of 1″ x 1/4″ aluminum flat stock, slightly larger in both dimensions than the actual flap  handle.  I figured we could use this for initial hole sizing/testing, and adjust later if necessary.  Next we designed and printed a test piece to confirm we had the rectangular hole size correct (we did).   Next we started designing the replacement handle, incorporating the slot from the above test piece.  Somewhere this step, we inadvertently scaled the handle and its internal slot down by a factor of about 2/3, so the first couple of handle prints came out way undersized.  Fortunately, we were watching the print as it built up from the bottom, so we recognized the problem pretty quickly and aborted the print after 1/4″ or so.  This actually turned out to be a pretty cool technique; we would make a full-length design, but only print a few mm or so, as the cross-section was more or less uniform throughout.   As we got closer to what we thought would be a final design, we would let the print continue longer, finally letting the print go to completion.  This way we could iterate much faster, and save filament too! ;-).

By about Rev 3 we had a full-sized  constant-cross-section cylindrical flap handle printed up  that we could slide onto the metal flap handle simulator, but we soon determined it was way undersized for an adult hand (it fit Danny, but…).  So, back to TinkerCad for more revisions.  Along the way, we also tried out some ideas for creating finger-grip indentations on the front side of the grip, and a corresponding palm indentation on the back side.  As it turned out, we were able to use TinkerCad’s ‘Round Roof’ (a semi-cylinder) object for both – at a small scale for each finger indentation, and at a larger scale for the palm indentation.

Basic flap handle grip with finger and palm indentations

Basic flap handle grip with finger and palm indentations

So now we had a basic flap handle grip, with finger and palm indentations and a rectangular hole for the flap handle.  We still needed a way to attach the CN remote caddy to the end, and we needed some way of getting the control cable down the flap handle to the side of the glider.  Our first run at this was a cylindrical cutout in the side of the grip.  The idea was that the control cable could be pressed into the cutout through a small gap in the side of the grip, but wouldn’t come back out again without some effort, thus allowing for a smaller diameter hole because the end connectors (telephone style RJ-11’s)  wouldn’t have to be accommodated.  This was an OK idea in theory, but in practice we were stymied by a limitation in the ‘slicing’ software that converts the solid object model into thin wafer-slices that the 3D printer can handle.  The slicer software kept opening up the gap to the point where the cable wasn’t retained – it would just fall right back out again.  So, we took a closer look at the connectors and determined that although a 12 mm round hole would be required, we could get away with a 9 x 9 mm square hole!  The smaller square hole dimensions would allow us to put the hole entirely inside the flap grip and still not interfere with the main rectangular hole for the flap handle itself – ah, the wonders of 3D printing! ;-).

Next we tackled the problem of how to connect the CN remote caddy section from the ‘minimalist’ joystick grip model (See Part IV) to the flap handle grip.  We decided that if we carried the rectangular flap handle hole all the way through the grip, and made the grip a bit longer than the actual handle, we could use the hole as a socket, and make a corresponding ‘plug’ section that would mate with the CN caddy.  We created the ‘plug’ section by simply slicing off about 1/4″ of the handle into its own part, changing the rectangular hole to a rectangular solid, and then mating that part with the CN remote caddy.  However, we quickly discovered that while it would be possible to print the combined part, it would be ugly, as the combination would require an exorbitant amount of support material due to the weird mating angle.  So, we sliced and diced yet again, and printed the plug and caddy sections as independent parts (although we did print them at the same time)  and glue the two together post-print.  As it turned out, the first revision of the plug didn’t have a big enough indentation for the caddy, so the resultant piece wasn’t strong enough.  Back to TinkerCad, where we extended the plug a bit to provide more ‘meat’ for the mating interface.  This also necessitated a slight modification to the design of the cord handling tunnel, as it had to be ‘bent’ slightly at the end to allow the cord to be threaded behind the remote caddy and into the tunnel.

TinkerCad drawing for the CN caddy plug with large indent

TinkerCad drawing for the CN caddy plug with large indent

'Small Indent' and 'Large Indent' caddy plug versions

‘Small Indent’ and ‘Large Indent’ caddy plug versions

At this point we had designed and printed all the required pieces – the flap handle grip, the ‘plug’ to connect the grip to the remote caddy, and the caddy itself.  All that remained was to glue the caddy to the plug (which turned out to be a mini-project in itself) and get the two pieces (caddy/plug and grip) down to John for him to try out on the actual glider.  Stay tuned for the results! ;-).

As a not-insignificant side note to this project, my 12 year-old grandson got a great introduction to the world of 3D printing, and quickly became as much a participant as a spectator.  The TinkerCad software GUI is very intuitive, and easily passed the 12 year-old usability test.  By the end of his 2-day stay with us, he was designing parts in TinkerCad, downloading the STL files to my Linux box, and running my PrintrBot printer to actually print the parts, all with little or no supervision on my part.  In fact, the only thing Danny had real trouble with was getting the printed parts off the print bed (protected by blue painter’s tape)  because that required a bit more strength and precision with the removal tool (wood chisel with a 1/2″ blade)  than he was able to muster.

Frank