Friday, July 4, 2014

3D printing with wood filament

3D printing with wood filament
This week the wood filament by laywood is explored for 3D printing using makerbot replicator2. 3D printing in wood offers a new range of application.  Experimentation with this new medium to explore the possibilities of what can it used for. The beauty of this wood filament, it can be post treated as per the usual wood working, sanding included.
Loading of the wood filament into makerbot replicator2 for 3D printing is a breeze. Check out the previous post of modifying the loading mechanism http://shin-ajaran.blogspot.sg/2014/04/3d-printing-using-ninjaflex-with.html
Standard PLA setting from makerware is used, but the temperature is set to 180degC instead of the usual 210degC to explore the texture and colour of the 3D printed parts. “Oozing” is observed from the 3D printed parts. Oozing in this context refers to the web of fine threads hanging from wall to wall of the model akin to a spider web. It has a term for it: “oozing while printing”.
Further refinement of the speed of filament extrusion/retraction, speed while extruding, and speed while travelling need to be tweaked to achieved a “cleaner” 3D printed parts.
A challenging model to print without support, due to the overhangs that are spiralling up.

This is the final output is plague with “oozing while printing”. Mentioned earlier, tweaking of the movement speeds of the 3 parameters are still waiting to be tweaked to perfection.

This website http://reprage.com/post/37966750340/how-do-i-stop-plastic-from-oozing-when-3d-printing/ offers some suggestions such as lowering the temperature of the hot end, reducing the movement speed, and increasing the retraction length. All the above requires time to discover the best settings!

Engrave photo on wood with a laser cutter

Engrave photo on wood with a laser cutter
A photo or image can be realized on a piece of wood with the use of laser cutter. The process is simple. First, the photo has to be digitally manipulated. This photo is then sent to “print” via the laser cutter using popular vector drawing software such as coreldraw.
To digitally manipulate the subjects composed in a colour photo, popular vector drawing software such as coreldraw (proprietary), inkscape (open source) can be used for manipulating it into greyscale, and then subjects are outlined in black. The varying shades of grey, and black outlines determines how much power the laser cutter should output to engrave the piece of wood via the “rastering” mode. The darker the region, the more power will be output to “engrave” the wood by burning parts of it.
In FabLab@SP, 3 laser cutters are available; The Epilog, The Rayjet, and the HAS. The general steps to engrave photo are similar, but the parameters to set for laser cutting associated to different type of laser cutters are slightly different.
Parts needed
  1. A piece of wood; balsa, plywood will do. Preferably 3mm or 5mm.
  2. Access to a laser cutter. This guide assumes access to the epilog laser cutter
  3. Access to a vector drawing software, or photo manipulating software such as adobe photoshop, coreldraw, inkscape, etc. In this guide, an online photo editor www.ribbet.com is used.
  4. A photo of choice.
Step1: upload photo to be edited to www.ribbet.com
Step2: Click on “effects”, then scroll to “Extra Black&White”. Manipulate the 2 sliders “Brightness” & “Contrast” to achieve the desired outcome as per depicted in the following diagram. Desired outcome to be achieved can be defined by “high contras on specific features, such as facial features of the subject(s)”, “white-out background to give a strong highlight on the subject”
D:\Users\s41764\Desktop\laser cut stuff\ribbet1.PNG
Step3: Still in “effects” tab, scroll to “pencil sketch”. This effect will highlight outline the subjects as per the black & white photo, by giving a darker shade of grey at the edges. Manipulate the sliders “radius” and “strength” until the subjects are “standing out” from the background and gives a lasting impession.
D:\Users\s41764\Desktop\laser cut stuff\ribbet2.PNG
Step4: save the manipulated photo on the computer as *.JPG.
Step5: On the computer that is connected to the laser cutter, use coreldraw to create a new canvas of the type “fusion table”. Open the manipulated photo in coreldraw, position the photo such that it corresponds to the piece of wood where it will be laser cut. Select the box drawing tool on the LHS and enclosed it on the picture. Then select the line thickness of the box to be “hairline”. This setting corresponds to cutting a box shape surrounding the photo. The following diagram explains it all.
Step6. Load the piece of wood into the laser cutter
Step7. It is crucial to ensure the canvas chosen for laser cutting is of the type “Fusion Table”. File-> print OR Press on the “print” logo. A popup box will then appear. Ensure that the printer is “Epilog” and not your regular paper printer, and then click on preference to modify parameters that are essential to the quality of the laser cutting output. The following diagram illustrates it.
Step8. Select laser cutting parameters such as thickness of the material, job type, speed, power, and frequency and then press “OK”. Each of the manufacturers has meted out recommended settings to the parameters in a lookup table form for different type of material. In this guide, a 5mm thick plywood is used. Assuming the output of this laser cutting is very faint or hardly noticeable, it is recommended to crank up the power and lower down the speed. Otherwise if the output of this laser cutting appears to be burnt at the edges.
Step9: Close the protective cover of the laser cutter with the wood properly aligned in it and then press “GO” on the control panel. Observe the magic!
Brought to you by FabLab@SP

Sunday, June 8, 2014

Cheat’s personal desktop air cooling using peltier

Cheat’s personal desktop air cooling using peltier
It is a fact yours truly likes to work over the weekends and find that working over this period of time is up most productive. The reasons are simple. Productivity is peak when humans are wired-in and stay focus on what that needs to be done; in the absence of external human created distractions such as muffling in the background from the beat up radio, intermittent sing-along familiar songs played over the air waves, and whistling. Period.
On some weekends, yours truly get lucky with the centrally controlled air conditioner. Other times, not. Hot and humid environment do affect human’s productivity, and state of the creative mind at solving problems. At certain points of time in the year, a fan and is barely sufficient. Well, yours truly did come across hypocrisy that cried “mind over the body” from the comfy arm chair in an air conditioned room. “Charity or Dignity”? Any dignified person definitely would not want to make a living off other’s charity and a reasonably informed human being is able to make a living out of his or her own makes. It comes to the conclusion a personal air cooling has to be made again http://shin-ajaran.blogspot.sg/2012/07/iot-diy-solar-air-conditioning-with.html ; no thanks to the human that raided and pillaged the collection of “hackables” in the name of safety. One man’s poison is another man’s meat. What is in the spirit of making when everything has to be bought and shipped from overseas while disregarding the abundance of “junk” in one’s own backyard?

The parts needed for making this personal cooling device
1x TEC (thermo electric cooling) aka peltier effect (12v 4A; 48W)
2x CPU heatsink and accompanying fans (12v, 0.25A) courtesy of Mr.Nalpon
Assortment of 3D printed fan ducts courtesy of FabLab@SP
Assemble this setup as per the diagram above.
The working principle of this personal air cooling is based on thermo electric cooling http://en.wikipedia.org/wiki/Thermoelectric_cooling
The TEC has 2sides, a cold side and a hot side. When electricity is passed through this piece of semiconductor, heat exchange occurs. Both sides of the TEC are slapped with heat sink fans and 3D printed fan duct as depicted in the diagram. Hot air is drawn out from the hot side heat sink to prevent damage to the TEC , whereas hot and humid air is drawn in from the environment and directed to the cool side heat sink thus dehumidifying through condensation occurs. As the condensations builds up and hence grey water http://en.wikipedia.org/wiki/Greywater is accumulated at the bottom of the cold side heat sink. It is recommended to place a piece of sponge to absorb the grey water or another vessel to store the cool grey water. Mentioned earlier, the hot and humid air that passed through the cold heat sink fins loses humidity through condensation, and the cool surface lowers the temperature of the hot air. Therefore, there is a gust of gentle cool and dry air for instant gratification, but not sufficient to cool down an entire room.
Well, this setup runs entirely off DC, and perhaps can be further hack into can drinks cooler with personal air cooling, and also uses solar panels that are capable of 48W to be used in camping fields.

 

Saturday, May 24, 2014

Operate 3D printing on reprap 3D printer with octoprint and slic3r

Operate 3D printing on reprap with octoprint and slic3r
Generically, 3D printing is a process to realise an object physically from a digital copy. The digital copy of an object, can be created using CAD tools such as autodesk inventor, 123D, tinkercad, Sketchup, Maya, Rhino3D, and many more. The 3D model to be 3D printed usually comes in *.STL, and it needs to be translated to a format where the 3D printer can understand: GCODE (for reprap based 3D printers), X3G (for makerbots). Regardless of the file extension, the 3D printer only understands instructions in the form of X , Y, Z axis movement, and amount of filament to extrude.
So, what is the GCODE consist of? The following is a snippet of GCODE
[CODE]
; generated by Slic3r 1.0.0 on 2014-05-20 at 21:07:43
; layer_height = 0.2
; perimeters = 3
; top_solid_layers = 3
; bottom_solid_layers = 3
; fill_density = 1
; perimeter_speed = 30
; infill_speed = 60
; travel_speed = 130
; nozzle_diameter = 0.35
; filament_diameter = 1.75
; extrusion_multiplier = 1
; perimeters extrusion width = 0.35mm
; infill extrusion width = 0.52mm
; solid infill extrusion width = 0.52mm
; top infill extrusion width = 0.52mm
; support material extrusion width = 0.35mm
; first layer extrusion width = 0.60mm
G21 ; set units to millimeters
M107
M190 S40 ; wait for bed temperature to be reached
M104 S175 ; set temperature
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
M109 S175 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M82 ; use absolute distances for extrusion
G1 F1800.000 E-10.00000
G1 Z0.400 F7800.000
G92 E0
G1 X58.780 Y66.400 F7800.000
G1 Z0.200 F7800.000
G1 E10.00000 F1800.000
G1 X59.740 Y65.610 E10.05427 F540.000
G1 X60.840 Y65.020 E10.10876
G1 X62.030 Y64.660 E10.16304
[/CODE]
To create GCODE from STL file, one of the available software is Slic3r http://www.slicer.org/ an open source software. The generic steps to generate GCODE using Slic3r is as follow
  1. Setup Slic3r on local computer
  2. Setup configs for 3D printer on Slic3r. I reckon 3D printers suffer from individualism, each of them requires some form of tuning or calibration to achieve the best effect. I have uploaded the configs to my 3D printer here. Just got to file-> load configs
    Note: Step 1 & 2 need to be done once only.
  3. Select an *.STL by clicking on the “Add” button
    Note: the model in the *STL needs to be position on the platform, otherwise, need to manually position in Slic3r.
  4. There is a default mode in Slic3r, presumably works on most 3D printer. Press on the button “Generate GCODE” to complete this process. For the sake of simplicity, the tabs on Print, Filament, Printer settings can be save/load as config to save the grace

  5. There will be a popup box asking for the directory to save the GCODE. Observe the path to the directory and click “OK” to complete.
The following steps describe the process of 3D printing using Octoprint with a pre-existing GCODE file.

  1. With a browser such as Firefox or Safari, browse to the ip address of the octoprint. If this is the first time connecting, the serial port and baudrate need to be set. Otherwise, it will automatically connect.
  2. Locate the upload button on the lower RHS of the GUI, and press upload.
  3. Select the corresponding *.GCODE to be printed and then click “OK” to confirm. Wait for the upload to complete.
  4. Locate the printer button next to the file uploaded and click on it. This will initiate the printing. Once the extruder and heated bed temperature reached the desire temperature, printing will starts by itself.
  5. Printing related diagnostic data such as time, material and progress can be observed on the LHS
  6. Clicking on the GCODE viewer tab will yield the visualization of the current line of instruction in GCODE
  7. Clicking on the controls tab will yield the streaming of the 3D printing process
  8. All needed now is time for the 3D printing to complete.

Cloudify: setup reprap 3D printer with octoprint, mjpg_streamer on raspberry pi

Cloudify: setup reprap 3D printer with octoprint, mjpg_streamer on raspberry pi
The process to 3D print a 3D model can be quite an obstacle, i.e need to have physical access to the 3D printer and a SD card handy, power hog, heat emission, UFP emission. What if we can remotely send a 3D model (in *.STL) to be 3D printed on a 3D printer and also observe the 3D printing process over the Internet? Definitely it is going to be convenient as everything can be done at the fingertips; godsend piece of technology for those can’t wait for the 3D printers to be locked down in a facility equipped with exhaust and medical grade filter that is capable of filtering Ultra Fine Particles (UFP) in the range of 100 nanomether that is much finer than PM2.5. The purpose of this article is to share a step by step guide of setting up 3D printer to print remotely.
Raspberry Pi is acting as the “brain”, wirelessly receiving GCODE (instructions for the 3D printer to work by processing a 3D model file in STL using software such as Slic3r http://slic3r.org/ ) from the front end that is interfacing between human and 3D printer via OctoPrint http://octoprint.org/ providing minute control over the 3D printer; feedback to human by streaming 3D printing process via MJPG_streamer http://sourceforge.net/projects/mjpg-streamer/ . Most 3D printers in the market have only 1 MCU, e.g 1 brain. Usually 3D printing is done by inserting a SD card that contains the GCODE and to be read by the 3D printer. Having a second brain opens up more opportunity to build computing capacity for the 3D printer. Cloudify, refers to scaling up this computing methodology to support more users and more 3D printers.
A quick note: Raspberry Pi is sensitive to power drop, especially when there are a few components drawing substantial amount of power to operate. One of the tell-tale sign is when a keyboard is plugged in to console the raspberry pi, the keystrokes appear to be non-responsive.
Another not so quick note: Throughout this process of setting up, yours truly learnt that apparently not all USB webcamera out there work out of the box on the raspberry pi. The details steps of configuring and observations done are recorded at the end of this article.
Parts needed
  1. RepRap 3D printer or equivalent, known baud rate of the 3D printer e.g 250000
  2. Powered USB hub, preferably 5V 1A; (tested with Belkin F4U020)
  3. USB webcam (tested both Creative VF0220; A1 pro M035 ); list of tested USB webcam on raspberry pi is here http://elinux.org/RPi_USB_Webcams
  4. Raspberry Pi as the controller/brain;
  5. WiFi adapter;
  6. WiFi Access Point; IFF necessary
Steps required
  1. If there is an existing pi setup and reflash the SD card image is not an option, build octoprint on your raspberry pi https://github.com/foosel/OctoPrint/wiki/Setup-on-a-Raspberry-Pi-running-Raspbian. Alternatively, download octopi image https://github.com/guysoft/OctoPi; it is a custom fit raspbian with the goodies such as octoprint, mjpg_streamer, and more!
  2. Setup WiFi access for the raspberry pi. Depending on the WiFi network connected to, the wpa_supplicant.conf will vary. Here are 2 examples of configuration http://shin-ajaran.blogspot.sg/2013/06/raspberry-pi-connecting-to-wifi-in-ucl.html ; http://shin-ajaran.blogspot.sg/2013/06/a-poor-lads-guide-to-install-raspberry.html
  3. Wire the parts according to the following picture that describes the wiring connection
 
  1. Turn on the powered USB hub, the reprap3D printer, the WiFi Access Point (If used)
  2. Console in via SSH using Putty or equivalent;
  3. Issue the command “lsusb” to verify the devices are mounted accordingly to raspberry pi
  4. Navigate to the ip-address using firefox or safari and be presented with the GUI of OctoPrint. On the upper LHS select the appropriate interface where reprap3D printer is connected e.g ttyUSB0 and the corresponding baud rate e.g 250000. Failure in doing so, the reprap 3D printer will not be interfaced. The following diagram describes the reprap 3D printer that is connected to octoprint

  5. Determine the control between the OctoPrint and reprap 3D printer by setting the temperature and observe the temperature over time. The following diagram describes the temperature recorded over time
  6. Click on the control tab. If the webcamera work out of the box, there should be a live feed in this tab as describe in the following picture. Otherwise, refer to the appendix on configuring USB webcams/troubleshooting
  7. Streaming of the 3D printing process can be observed from a browser pointing to http://IP-address/webcam/?action=stream
    D:\eee tech lead\octoprint reprap\wa3.PNG
  8. The GCODE viewer tab is a visualization of GCODE used in progress. The following diagram depicts the progress of printing an Arduino Yun Bumper. The step by step guide to 3D print with this computing methodology is available here
Appendix: troubleshooting the webcam for streaming
Finding the right USB webcamera (model/make), the right picture format (JPEG;YUY2), the right resolution (640x320, etc), and the right frame per second (fps) for mjpg_streamer on Raspberry pi is a tedious process. Getting the usb webcam to work is a little bit trickier than expected. Having a usb webcam that is not listed on the supported webcam on raspberry pi doesn’t help either. So yours truly is left on his own to conduct a few rounds of A/B tests.
The location to configure the webcam daemon that uses mjpg_streamer included in octopi is available at “ /home/pi/scripts/” the parameters associated with the webcam can be modified in the script “webcamDaemon” available in that directory. After completing the changes, save the file and execute the script. If this screen is encountered, a reboot of the raspberry pi is required.
The following describes the parameters used to determine the best output with Creative VF0220
##VF0220
#YUY2 320x240 @10fps = green
#YUY2 320x240 @25fps = green, hang after a while
#JPEG 320x240 @10fps = varying colour according to light. hang after awhile;cannot boot complete
#JPEG 320x240 @15fps = partial works with varying colour
#JPEG 320x240 @25fps=same as above with more frames of lights
#JPEG 320x240 @1fps = cant open cam; cannot boot complete;hang.
#JPEG 640x480 @15fps = varying colour then hangs very fast
#JPEG 640x480 @1fps = varying colour then hangs afte a while; then throw 503
#JPEG 352x288 @8fps= throws 503
#YUY2 352x288 @8fps= throws 503
This is the best can be achieved with VF0220


Courtesy of TSO Mark, yours truly get to use an USB webcam that is marketed locally as A1 pro, but recognised as M035 on raspberry pi.

The following observations are recorded
##M035
#JPEG 352x288 @15fps = no disp
#YUY2 352x288 @15fps = ok; hang if move camera too often.
#YUY2 352x288 @8fps= ok; no hang