Makefile.am
-
Paul Fertser authored
This is needed to fix build on aarch64 to get updated config.guess. Because some newer JimTcl modules that get enabled are failing to build on some of the platforms OpenOCD supports, enable only a fixed set that shouldn't cause any issues. We also disable running Jim Tcl tests on distcheck because they never worked (before 85358e479e5bbf295a5aaf743f3c29a5e1a4fd1c Jim commit) but didn't break Jenkins build; with newer version they're getting run and fail due to limited permissions for filesystem and networking operations. Change-Id: I0b6c6a00bf2cf0902bbb01c9c0224fe93c74ac94 Signed-off-by:
Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/3700 Tested-by: jenkins Reviewed-by:
Andreas Fritiofson <andreas.fritiofson@gmail.com>
Paul Fertser authoredThis is needed to fix build on aarch64 to get updated config.guess. Because some newer JimTcl modules that get enabled are failing to build on some of the platforms OpenOCD supports, enable only a fixed set that shouldn't cause any issues. We also disable running Jim Tcl tests on distcheck because they never worked (before 85358e479e5bbf295a5aaf743f3c29a5e1a4fd1c Jim commit) but didn't break Jenkins build; with newer version they're getting run and fail due to limited permissions for filesystem and networking operations. Change-Id: I0b6c6a00bf2cf0902bbb01c9c0224fe93c74ac94 Signed-off-by:
Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/3700 Tested-by: jenkins Reviewed-by:
Andreas Fritiofson <andreas.fritiofson@gmail.com>
Clank-LZ End Notes
on 2021 01 09
I'm closing out on Clank-LZ today, so I thought I would do some summary notes & organize this repo for future observers of the project.
What We Did
In around June 2020, I had been developing Clank as a machine system targetting 'small' CNC: 3D Printing, PCB Milling, Pick-and-Place, Automated Pipetting, etc. The broad plan was to have a friendly (easily fabricated, straightforward) set of machine designs (axis, tools, and a tool changer) to handle almost any CNC task outside of heavy duty / high load applications - a kind of generalist.
Given the state of the coronavirus pandemic, we realized that we would be teaching how to make almost anything in a largely remote fashion. While I originally hoped to complete a 'multi-process' machine that students could use for CNC Milling, 3D Printing, as well as PCB Milling, we later decided to downgrade the scope and develop a standalone PCB Mill.
So, this was: - the design of a machine kit to be produced in-house on a printer farm - the assembly of 30 kits, - the development and assembly of a machine controller for the same, - documentation for students: how to assemble the kit, how to run the controller
Given our small class size, this turned out to be a feasible exercise and in the end things 'worked' - students were all able to assemble their kits and used them to complete PCB fabrication assignments.
However, it is hard to say if this approach (designing our own machine, our own controller) was indeed any better than simply purchasing off the shelf machines and controllers. Our final machine BOM totalled around $400 for hardware and an additional $160 for controllers. In some regards, we were using this as an experiment to test our internally developed machine systems - so the value makes sense on our end, but doesn't necessarily make it a repeatable exercise.
About the Machine
The primary interest was in building a machine that was easy to assemble and understand for students - that was largely a design exercise, and difficult to evaluate. Given that we didn't appropriately query students on their experience, it's hard to say whether this was successful. Some did use Clank design elements in their final project, and some were also able to use parts of it's control system in their project (i.e. hijacking the power supply to drive their creation). This is the aspiration: that what we provide students is extensible so if i.e. they would like to develop a new end-effector for a machine, or some project driven with stepper motors, they can take design principles and entire parts of the machine kit in order to do so.
The cost of hardware - $400 - is largley eaten up in the spindle assembly, totalling $150, and a surprising amount of PLA, $72 worth per machine. Cables, plugs, and the PSU itself were another $90. Each of these aspects could be cost reduced.
The cost of 3DP fabrication was low initially but tending a print farm is not a small job, I found myself in the lab every day (sometimes twice) for about three weeks. A big take-away here was to organize build plates into long (16 hour) and short ( 6-8 hour) shifts - this minimized massive jobs of ~24 hours (liable to fail) but allowed me to be in lab twice a day (in the mornings, and then afternoons) to keep printers running around the clock. We used Prusa MK3 printers and I was careful to make sure bed adhesion was maximal whenever changing a print - cleaning and prepping (with glue stick) each job. I later discovered some specialized adhesion agents that work even better, and would use them if I were to do this a second time.
I think that the value for students of having on TA staff the individual who designed the machine is worth noting. This is my own experience: when I was younger, I never imagined I would become any kind of programmer. I understood it to be a thing that humans did, but it was only until I met some talented programmers myself that I realized this was indeed something that mortals did, and became confident enough to see myself doing it - that's when I started learning. I would like to hope that, because students could meet and interact with me (although virtually) and also build my machine hands-on, they saw that this kind of project is something which can be undertaken without a huge amount of learning beforehand.
Machine Documentation
While written documentation is great, I spent just two days filming a series of build videos for Clank - students reported that these were invaluable. I did this with an overhead camera, and simply built the machine start to finish on the desk. When I felt like it, I would make comments on the machine's design, or other mechanical subtleties: the use of a flathead screw vs. a socket head screw, bearing preload, kinematics, belt stiffness, etc.
These videos are available in the repo's build log.
We also provided relatively complete (i.e. having machine screws, bearings, etc in-model) CAD files in various formats to students, for their reference. Since they were simultaneously learning the same CAD platform that the machine was developed in, this was a great way to document as well as increase comfort in the program; a bit like seeing the source code of a piece of software while learning it's API.