Friday, 29 August 2014

3D Modelling for 3D Printing #4

In this video we go through the process of creating the bracket we created in OpenScad in SketchUp to show you the differences and some tips and trick I've picked up along the way. At the end we compare the STL file created in OpenScad with the version we create in this session.


The full playlist to view this series from the start

The Sketchup Model together with the OpenScad model is available on thingiverse.com
90 degreee Bracket on thingiverse

Sunday, 24 August 2014

CremaBot: Phase 1 Cabling Done

I have now crimped 80 pins onto the ends of 40 cables. I've heat shrunk the each one to ensure no shorts and for things to look neat. I was also able to get all 80 wires through two 20mm holes in the enclosure and cut a perfectly aligned hole for the USB cable to fit through.

Next step is to now plug it all in and start testing what happens.

More cables will be required for Phase 2 including:
  • 4 cables to the stepper motor
  • 6 cables to 2 opto-interrupters
  • 2 cables for external power
I'm planning to make custom moulded silicone grommets for the holes so everything remains nice and clean inside.

3D Modelling for 3D Printing #3

In this video we finish off the OpenScad Model and start with creating the same model in SketchUp to show the comparison and some of the the required tips and trick.


The final object can be found on thingiverse.com


Below is the code which you should get to by the end of the video if you were following along.

OpenScad
/*
Created by David Taylor as part of a video series
Video are available at http://bit.ly/GineerTube
*/

include <libraries/MCAD/boxes.scad>

hw=40;
d=20;
t=5;
hr=3;
cr=2.5;

difference()
{
 union()
 {
  translate([(hw/2)-(t/2),0,0])
  {
   //cube([hw,d,t], center=true);
   roundedBox([hw,d,t],cr,true);
  }
  translate([0,0,(hw/2)-(t/2)])
  {
   rotate([0,90,0])
   {
    //cube([hw,d,t], center=true);
    roundedBox([hw,d,t],cr,true);
   }
  }
  translate([((hw/2)*sqrt(2))/2,0,((hw/2)*sqrt(2))/2])
  {
   rotate([0,45,0])
   {
    cube([hw,d,t], center=true);
   }
  }
  cube([t,d,t],center=true);
 }
 translate([(hw/4),0,0])
 {
  cylinder(h=(t*2), r=hr, $fn=100, center=true);
 }
 translate([(hw/4)*3,0,0])
 {
  cylinder(h=(t*2), r=hr, $fn=100, center=true);
 }
 rotate([0,-90,0])
 {
  translate([(hw/4),0,0])
  {
   cylinder(h=(t*2), r=hr, $fn=100, center=true);
  }
  translate([(hw/4)*3,0,0])
  {
   cylinder(h=(t*2), r=hr, $fn=100, center=true);
  }
 }
 translate([(hw/4),0,(hw/2)+(t/2)+0.1])
 {
  cylinder(h=(hw), r=(hr*2), $fn=100, center=true);
 }
 translate([(hw/2)+(t/2)+0.1,0,(hw/4)])
 {
  rotate([0,90,0])
  {
   cylinder(h=(hw), r=(hr*2), $fn=100, center=true);
  }
 }
 translate([(hw/4)*3,0,(hw/2)+(t/2)])
 {
  cylinder(h=(hw), r=(hr*2), $fn=100, center=true);
 }
 translate([(hw/2)+(t/2),0,(hw/4)*3])
 {
  rotate([0,90,0])
  {
   cylinder(h=(hw), r=(hr*2), $fn=100, center=true);
  }
 }
 translate([(hw/4)+(hw/2),0,(hw/4)+(hw/2)])
 {
  cube([hw,(hr*4),hw], center=true);
 }
 translate([(hw)-sqrt(pow(hw/8,2)-pow(t/2,2)),0,(t)])
 {
  rotate([0,20,0])
  {
   cube([(hw/4),d,t],center=true);
  }
 }
 translate([(t),0,(hw)-sqrt(pow(hw/8,2)-pow(t/2,2))])
 {
  rotate([0,-20,0])
  {
   cube([t,d,(hw/4)],center=true);
  }
 }
}

Thursday, 21 August 2014

CremaBot: Cables & Enclosures

I'm at that stage of the project where all the tedious bits need to be done.
  • Cabling: I need to make 4 x 10 way cables.
  • Enclosure: I found an enclosure that fits perfectly. I just have to cut the holes for the USB cable and cabling.
Software Architecture is done and all aspects have been tested and are working.


I'm aiming to have version 1 complete within the next 3 weeks.

3D Modeling for 3D Printing #2

In this video we continue working on the bracket we started in the first video and cut the screw holes by using difference and union as well as introducing libraries. This vide continues on from the first video in this series which you can find at: http://youtu.be/rUwoMPB4Lv8


Below is the code which you should get to by the end of the video if you were following along.

OpenScad
include <libraries/MCAD/boxes.scad>

hw=40;
d=20;
t=6;
hr=3;
cr=2.5;

difference()
{
 union()
 {
  translate([(hw/2)-(t/2),0,0])
  {
   //cube([hw,d,t], center=true);
   roundedBox([hw,d,t],cr,true);
  }
  translate([0,0,(hw/2)-(t/2)])
  {
   rotate([0,90,0])
   {
    //cube([hw,d,t], center=true);
    roundedBox([hw,d,t],cr,true);
   }
  }
  translate([((hw/2)*sqrt(2))/2,0,((hw/2)*sqrt(2))/2])
  {
   rotate([0,45,0])
   {
    cube([hw,d,t], center=true);
   }
  }
  cube([t,d,t],center=true);
 }
 translate([(hw/4),0,0])
 {
  cylinder(h=(t*2), r=hr, $fn=100, center=true);
 }
 translate([(hw/4)*3,0,0])
 {
  cylinder(h=(t*2), r=hr, $fn=100, center=true);
 }
 rotate([0,-90,0])
 {
  translate([(hw/4),0,0])
  {
   cylinder(h=(t*2), r=hr, $fn=100, center=true);
  }
  translate([(hw/4)*3,0,0])
  {
   cylinder(h=(t*2), r=hr, $fn=100, center=true);
  }
 }
 translate([(hw/4),0,(hw/2)+(t/2)+0.1])
 {
  cylinder(h=(hw), r=(hr*2), $fn=100, center=true);
 }
 translate([(hw/2)+(t/2)+0.1,0,(hw/4)])
 {
  rotate([0,90,0])
  {
   cylinder(h=(hw), r=(hr*2), $fn=100, center=true);
  }
 }
}

3D Modeling for 3D Printing #1

In this video I will take you through a bit of my own learning on how to use OpenScad which I am planning to make into a series where I show the benefits of using both OpenScad and higher level modelling tools like SketchUp to model different aspects such as components and full systems.


Below is the finished code for this video for those that don't want to go through the trouble of typing it all in.

OpenScad
hw=40;
d=20;
t=6;
hr=3;

translate([(hw/2)-(t/2),0,0])
{
 cube([hw,d,t], center=true);
}
translate([0,0,(hw/2)-(t/2)])
{
 rotate([0,90,0])
 {
  cube([hw,d,t],center=true);
 }
}
translate([((hw/2)*sqrt(2))/2,0,((hw/2)*sqrt(2))/2])
{
 rotate([0,45,0])
 {
  cube([hw,d,t], center=true);
 }
}

Sunday, 17 August 2014

Microsoft - Intel Galileo IoT Dev Board Unboxing

In this video I unbox, setup and have a first look at the Intel Galileo development board Microsoft sent me. This board, updated to allow windows to boot, is unreleased at this stage.

 
More Info:


Saturday, 16 August 2014

CremaBot: PCB assembled

The PCB's finally arrived from OSHPark.com and I have to say that I am very impressed. If only it wasn't for the South African Post Office being so slow, this would be a fantastic option every time.
 
The board below was as I took it out of the packaging. You can still see the tabs attached where they came off the panel.

Here is the board again with most of the parts, but communica.co.za where I buy most of my parts had the opto-couplers and the 74595 on back order. They also ended up giving me the through hole parts for the voltage regulators instead of SMD's.
Below is the board after soldering, but before I removed the solder flux residue. You can also see the missing 5 volt regulator.

This board is loaded on both sides. Below you can see the bottom side with the 12 volt regulator fitted in place.

And here is the final product, cleaned and with the Arduino Nano fitted. Only thing left to do is to make up the cables and we should be ready to test and finalise the software.

The board is still missing the 5 volt regulator, but should operate happily from the USB power in the first phase until we install the stepper motor driver, at which point we will have to supply external 12 volt power.