My name is Bas Withagen. I live in Delft in the Netherlands.
I work as hardware and lowlevel software developer at Waag Society in Amsterdam.
As i'm not that proficient in html so i'm jusing dreamweaver to create and maintain this page.
This page will also contain the classes and class notes. A seperate page contains my final project.
We need to create a personal site within class archive where we describe who we are and which contrains our final project proposal.
Workflow
version control system
Mercurial
Project management
spiral development - going in a loop improving on (and keeping!) a working system with each iteration
Using Mercurial on Windows (with TortoiseHG installed) is a litte bit more complicated then one might assume from the tutorials (eg Kenny Cheung's).
> hg clone -e "ssh -p 846 -i ~\keys\academy" ssh://hg@fab.cba.mit.edu/academy.2012 academy.2012
The above line wasn't going to work right off the bat. As windows does not have a native implementation of 'ssh' i've chosen to use putty, or better said, it's command-line equivalant: plink.
TortoiseHG also comes with it's own implementation of plink (tortoiseplink), but as it turned out is was a good thing that I did download the whole putty package.
My first attempt ended up waiting a long time after issuing this command:
> hg clone -e "plink -P 846 -i %HOMEPATH%\keys\academy" ssh://hg@fab.cba.mit.edu/academy.2012 academy.2012
As it turned out the problem actually is that HG does not forward server/local feedback to the user. It was waiting for a responce to the following:
The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's rsa2 key fingerprint is: ssh-rsa 2048 37:4c:ac:91:d4:78:c1:bc:9a:1b:93:f4:a7:0c:27:9d If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting. If you want to carry on connecting just once, without adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection. Store key in cache? (y/n)
So first I connected manually to fab.cba.mit.edu using plink. That allowed me to answer yes to this question.
> plink -v -P 846 -i %HOMEPATH%\keys\academy ssh://hg@fab.cba.mit.edu
Next problem that occurred had to do with the identity-file i got.
Reading private key file "\users\basw\keys\academy" Unable to use this key file (OpenSSH SSH-2 private key) Unable to use key file "\users\basw\keys\academy" (OpenSSH SSH-2 private key) Using username "ssh://hg". ssh://hg@fab.cba.mit.edu's password:
The issue with this is that, aparently, there is no standard way to encode a ssh2 key.
Luckily, the putty suite also comes with 'puttygen'. This program can convert the OpenSSH key into the a .ppk (putty private key) file. So my command line ended up like this:
hg clone -e "plink -P 846 -i %HOMEPATH%\keys\fabacademy.ppk" ssh://hg@fab.cba.mit.edu/academy.2012 academy.2012
So after that i was finally able to connect and pull the archive.
Make a model of your design and put it on your web-page.
design tools
getting designs into the computer. -> to the machines
(since i have the adobe suit on my computer i'll be using illustrator and photoshop)
layout
modeling
how to model the world (instead of just building it)
I'm especially interested in using the fab-modules on my windows computer.
After installing cygwin I was able to re-compile the modules on windows. From within Cygwin I'm able to run the resulting executables, but the python programs still won't run. Next is to find out if i'm actually using the py modules the right way, or if i need to install more modules into Cygwin.
I used Rhino to model my final project, and as Rhino has an option to aimate the camera, i did a little turntable action for animation.
Rhino outputs only seperate frames, so i am using mencoder to create a mpeg4 encoded movie.
> mencoder "mf://*.jpg" -mf fps=16 -o test.avi -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=800
which got me a workable videofile (animation is still crappy; but i contirbute that to the limitations of rhino ;) )
design, make, and document a press-fit construction kit
chamfer 45 deg.
parametric design tool
only lasercut known material
never pvc. -> burning -> colored flame.
ppi -> spreading pulses-> distriburung power/heat (melt and charring)
vinylcutter
fab modules -> compile
fab to open.
export at resolution to make it (exmpl 400 dpi)
look trough prior ideas
Steps needed to get fab-modules to work on Windows.
Install Cygwin; and also install the following modules: gcc, libpng-devel and make
remove all precompiled programs (otherwise make will say there's nothing to be done)
path_array path_camm path_epi path_g path_join path_oms path_ord path_png path_ps path_rml path_sbp path_uni png_distances png_halftone png_offset png_path png_scale png_size stl_info stl_path stl_png svg_path
Run ./makefab in the cygwin shell. This will get you the .exe files
Rename all the python files without an extension to .py (windows does not know what to do with them otherwise).
Also, within fab.py, add .py to all the system commands (each button had one associated)
apa_send cad_math cad_path cad_png cad_view fab fab_send fab_set frame_fab makefile make_cad_camm make_cad_epi make_cad_g make_cad_ord make_cad_png make_cad_ps make_cad_rml make_cad_sbp make_cad_snap make_cad_stl make_cad_uni make_png_camm make_png_epi make_png_epi_halftone make_png_g make_png_ord make_png_png make_png_ps make_png_ps_halftone make_png_rml make_png_sbp make_png_snap make_png_uni make_png_uni_halftone make_stl_g make_stl_png make_stl_rml make_stl_sbp make_stl_snap make_svg_camm make_svg_epi make_svg_g make_svg_ord make_svg_rml make_svg_sbp make_svg_snap make_svg_uni math_png math_stl panel_cad panel_cad_png panel_cad_stl panel_control panel_path_camm panel_path_epi panel_path_g panel_path_ord panel_path_ps panel_path_rml panel_path_sbp panel_path_snap panel_path_snap_apa panel_path_uni panel_png panel_png_path panel_png_path_halftone panel_png_png panel_stl panel_stl_png panel_svg panel_svg_path
Then i was able to start fab.py
Make a FabISP (i've desides to go for http://bardagjy.com/?p=628) but with my own adaptions :)
Smaller tools are slower, not by forward speed, but by milling area.
Labs use FR1. (phenolic paper) for milling circuits.
For the vinylcutter epoxy film and copper tape #1, #1126
HF substrate (windowglass)
1.5 layers -> 0r0 resistors as jumpers.
solder; eutectic -> different materials; different melting points.
conformal coatings
clearance height? -> this is calles 'jog' in the fab-modules. units are mm
Resonators are less accurate than Crystals. A 20Mhz resonator (+- 1%) can only just perform within the timing-specifications of usb. Crystals can be accurate to within 15ppm.
PPM usually stands for Parts Per Million. In the context of crystal accuracy context it means how many Hz per Mhz the clock can vary (15ppm for a 10.000.000 Hz (10Mhz) crystal woud mean it can be anything between 9.999.850 Hz to 10.000.150 Hz) Often the actual frequency will drift over temperature. (eg. 10ppm/degC, which when applied to the abova example would mean: 100Hz faster/slower per degree celcius more/less)
Make something Big
sgstools
woodtools
coated vs uncoated
roughing-> less then 20% of the finish tool should remain
tool should not be hot after cutting (else you are going too slow)
Recreate the Hello-board and add a led and button
<to be recreated, sadly lost in editor crash>
Design 3D mold. machine it; cast it.
Injection molding (heat plastic-> then force it into the mold.)
insert molding (put something into the mold before casting)
vacuum forming(pulling pastic around a shape)
blow molding (coce bottles)
self release (angles, mold release)
flexible mold; material stickage
machinable wax.
urithanes stick -> u-plastic and u-rubber will stick together
silicone is a little weaker (less flexable, tears more easly); but nothing will stick to it.
silicone elastomer kit
don't use latex for mold-making,
as latex is suface-curing, it's likely that you end up with one big sticky goo when you try to use it as the inside didn't cure.
volume-cure as opposed to surface cure
casting materials hydrostone; drystone
drystone ->mix plaster polymer
hydrostone -> portland cement mixed with
hydrostone.
30 minutes to set ->demold-> 30 min finish setting.
mold materials -> food safe -> use only special ones
additives can make the material; stronger, more flexible, lighter, color,. if you add water to urithane it will foam.
Mix your stuff right.
(no internal structure visible)
deairing (vacuum pulls bubbles out)
better to pour your material gently
work on your mixing technique (don't mix bubbles into your material)
also take enough time for the bubbles to get out (you have abou 15 minutes before you need to pour)
place vent at highest point, also watch for air-traps
Mold
urithane needs a elevated temperature
silicone cures at room temp. elevated temp makes it cure faster
DeMold
flexible mold-> just bend it.
do a sticking test on mold and casting material.
mold-release (soap!)
also make sure your materials are not too old.
be suspicious of old containers (weeks to months after opening)
Safety
silicone; wear rubber gloves for cleaning
urithane rubben needs ventilation
pay attention to the material safety datasheet! (clear urithane need ventilation; clear acrylics are nasty! read and heed warnings!)
Modelling
3D toolpaths.
pay attention to the cutdepth of the tool!
also watch the tool-shape
roughing / finishing toolpath
tool overlapping
aligning the mold-parts
think about seams; multi part molds (break it up in projection planes)
Software
using stl-file into partworks3D
Composites
eg fiberglass, concrete
coton-fibres (denim for example)
compaction -> layering multiple pliers
coarse weave fabric; casting material needs to be able to get into the material
Right hand rule -> normal of triangle in direction of thumb.
dxf is NOT a 3d format.
Meshlab to fix your mes(s/h) smoothing/hole-finding and fixing/etc
123Catch. 3d from pictures in the cloud.
analog to digital converter
analog comparator
transistor-> current amplifier. base current is amplified
ntc-> eclectron hopping -> warmer-easier -> warmer, lower resistance
rtd -> thin metal film -> warmer-harder -> warmer, higher resistance
step responce = charging curve of 'the world out there'
microsecond to get the step responce. faster than ADC. use sample and hold (to convert)
V-USB
pyusb to comm via usb
SDL for Multimedia
PyGame -> sdl wrapper.
V-USB
pyusb to comm via usb
SDL for Multimedia
PyGame -> sdl wrapper.