Monday, 24 November 2014

3D Delta Printer Magnetic Ball Joints Upgrade

In this video I show how I upgrade the magnetic ball joints I implemented on my Delta 3D printer to make them more stable and reliable. I then also show how I printed a 90 degree bracket which I made available and shared on Thingiverse.


Thingiverse - http://www.thingiverse.com/thing:436118
3D Modeling for 3D Printing Playlist - http://www.youtube.com/playlist?list=PLSO20OpG15P8Li0RPiHRwwYHfhVIqSMmj

Saturday, 11 October 2014

Microsoft - Intel Galileo: Firmware Upgrade

In the video below I go through the process of upgrading the downloading the dedicated Arduino IDE for the Intel Galileo board and then upgrade the firmware.

 
 
I've also seen that there are a collection of new sample applications out to test at: https://ms-iot.github.io/content/SampleApps.htm
 
Windows on Fridges looks interesting.
 


Tuesday, 7 October 2014

CremaBot: Bug resolved and Rev2 PCB's ordered

I posted the video below yesterday after finally resolving a bug a found a couple of days before planning to complete the project (Isn't that always the case?)



This is actually the first time I have ever needed a second spin of the PCB I've designed. (Can't say that anymore).

I've just ordered and paid for the boards to be manufactured by OSHPark.com.

For some reason the silk screen does not display correctly on the site when ordering, but once the boards arrived last time in was flawless.

I was very impressed with the previous boards I received from them. This board is actually quite a bit smaller because I was also able to simplify the board and therefore get more density of components. The previous version was also double side loaded but this one is roughly evenly loaded on both side.

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.

Tuesday, 22 July 2014

Structure of Architecture

Question: How do the various aspects and Architectural titles fit together?
Answer: It depends…



The Architecture title, in IT, is still very immature and relatively undefined. In an attempt to define it based on my current role I came up with the diagram below.
Let’s take each Archetype and define what I mean by each in the remainder of this post.

Enterprise Architecture

Enterprise Architects define and drive organisational standards and define constraints that all solutions that span the organisation must adhere to.
By extension the enterprise architect may also be responsible for designing the overall organisational structure and processes.
More info: http://en.wikipedia.org/wiki/Enterprise_architecture

Solution Architecture


The Solutions Architect outlines the solution architecture across domains, functions, and industries, then monitors and governs their implementation.
Solution Architects also coordinates and synchronises the various Application Architects and the business Architects with specific focus on the integration aspects between the various application components that make up the overall solution.
The overall solution Architecture may be made up of additional Archetypes, not defined in this post, as required such as Data Architecture amongst others.

Application Architecture


Each of the Application Architectures specialists, described below, have specific specialities in one or more Areas and also one or more application offerings from vendors such as Microsoft and others, such as Microsoft Dynamics CRM or Custom software development.
Functional Application Architect

Functional Application Architects define the Functionality required based on the requirements defined by the Business Architect.
Software Application Architect

The Software Application Architect makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms.
Software Application Architects uses the functional architecture and translates it into a software architecture which addresses each of the business requirements.
Infrastructure Application Architect

Infrastructure Application Architects produce the hardware architecture required to support the software architecture in the various environments where it will be implemented into.

Business Architecture


Business Architects focus on defining, improving and streamlining line of business processes while adhering to Solution and Enterprise constraints.
In some organisations the Business Architect will feed into the Solution Architect, depending on the structure of the organisation or the process in which solutions are defined.

Information Architecture


Information Architects focus on the flow, purpose and function of the information in a solution.

Conclusion

The thing I have come to realise during the writing of this post is that the reason why this information is not clearly defined in the industry is because it is highly dependent on the individual organisation, the project and even the people that make up the various teams.
I do however want to state that the structure I depict above has worked in a couple of organisations where I’ve worked and may be a decent, generic starting point for defining Architecture in other organisations.
As with any methodology, it could and should be customised for the specific implementation.
I would love to hear your thoughts and experiences in this regards in the comments.

Further reading:

http://en.wikipedia.org/wiki/Book:Enterprise_Architecture

Thursday, 17 July 2014

CremaBot: Jura FX50 Display Hack - The Theory

posted 17 Jul 2014 11:46 by David Taylor

In this video I take you through the theory of how I plan to hack into the display of the Jura Impressa FX50 Classic automatic coffee machine to allow me to display what ever is being shown on the 1 line x 10 character dot matrix display, on the web app in real time.

Easy Buble free Kapton Tape

posted 17 Jul 2014 11:41 by David Taylor

In this video I show you an easy way to stick Kapton tape onto a print surface such as aluminium. In the video I also show off the first version of the Printer plate I made available on Thingiverse.com.

PCB Heatbed MK2a Plate (3 hole mounting) (4 hole mounting)

Friday, 4 July 2014

CremaBot: Schematic Update

posted 23 Jun 2014 12:49 by David Taylor   [ updated 25 Jun 2014 22:48 ]

While being in Cape Town on Business, I decided to make use of some free time and recorded a quick YouTube Video to provide an update on progress with CremaBot. Below is a Walkthrough of the Schematic:


Since I recorded the video above, I've actually completed the PCB layout and ordered it from OSHPark. I've never used them before, so I'll let you know what I think of the quality and speed of delivery all the way to South Africa.

More updates coming soon.

Project Bob A.K.A. CremaBot

posted 8 Jun 2014 09:36 by David Taylor

So project Bob is dropping the code name and will from now on be known as CremaBot.

The main goal behind this project is to web enable the Jura Impressa XF50 Classic. The goal for the tear down was to confirm the working of the 1x10 (one line by 10 character) LED dot matrix display. In my previous video you could see that the idea was to display anything that was being displayed on the coffee machine on the associated web app. To do this I would have to intercept the data being sent to the display, decode it and then send it off to the web app.

Here is the overall idea with CremaBot:

So far I have proven all the various aspects that would be required to build this system with the exception of actually reading the data from the data stream going to the 74HC595.

The tear down below took me about 3 hours to get roughly 1 hour worth of video footage which resulted in the 8 minutes of YouTube video below :-) (My first tear down, so comments would be highly appreciated.

Video Update

posted 5 Jun 2014 23:50 by David Taylor



Electronics Breadboarding

posted 28 May 2014 23:09 by David Taylor

So far

I bought an Arduino Nano R3 and a couple of the components that I'll use in the final product, except that these are through hole so that I can do some bread boarding.
 
So far I was able to create the 6 button matrix to simulate what I will interface with and also used the sample keypad library to test that it all works and also outputs data via serial to the PC.
 
If the circuit works out as expected, I'll have a PCB made that resembles the following mockup.
I don't actually expect my circuit to be perfectly working in its first version, which is why I'm bread boarding the entire design first.
 

"The Device"

The device was bought and paid for yesterday so we should be taking delivery of it soon. It involves getting some training on and then, hopefully, I can take it home and take it apart.
 
I'm especially looking forward to some Oscilloscope work and getting into a real project. The plan is to change nothing on the existing "device" to keep it all pristine.
 
Who knows, maybe by the end of this one or two others would want one too or at least have learn't something from my approach (even if it is how NOT to do it ;-).
 
Leave feedback. I love to hear from you.

Delta 3D Printer Videos

posted 2 May 2014 13:15 by David Taylor

Here are two quick videos I created for a talk I presented on my printer.

This one is a quick overview animation from Sketchup. Note that in these videos it still shows the first version of my Magnetic Joints which I have recently improved.


This version show my Delta 3D Printer in action.

Magnetic Joint Improvements

posted 2 May 2014 12:46 by David Taylor

Before
After
 
 
For those of you that have been following along, you would have known that my original tool end contained 6mm gutter bolts, with Neodymium magnets on each end, covered with heat shrink. This worked well for a while but then the heat shrink seemed  to get a bit loose, causing some of the balls to move around a bit. This caused wildly inconsistent prints. I tried to give the balls a seat by adding hot glue and while that improved things, the heat shrink would sometimes actually come off the tips of the gutter bolts. Cable ties over the heat shrink improved things a little more, until the ball just popped out of the hot glued seats.
So it was time to find a real solution. I drilled a 2.5mm hole in each chrome ball, threaded it to 3mm, and locked each one in place with a lock nut.

How to drill into a chrome ball bearing

You have to grill your balls. ;-) I tossed mine into the braai (Barbeque for you non-South African's). A normal charcoal braai. Drop them in, make sure they don't fall out of the hottest bit of the fire and continue cooking your food as usual. Leave them in the hot ash until the next night (The idea is to let them cool down slowly). Some people suggest heating them until they are white hot and then putting them into hot sand to cool over 24 to 48 hours. Looks like a normal braai works just as well.
They do however come out quite hard still. I broke 3 taps threading 6 balls.
They also loose there nice chrome shine, but the end result should be a solid, consistent connection, which weighs a bit less due to the lower volume components.
BeforeAfter
106 grams (3.7 ounces)71 grams (2.5 ounces)
The fact that I have magnets on the bottom and top of the balls also wasn't a good idea. The magnets seemed to interact with each other at certain angles reducing the holding power randomly. Getting rid of the bottom magnets in this case should also improve things.
Next steps: Testing, and then do the same with the trucks at the other end of the diagonal rods.

Optical End-Stops

posted 2 May 2014 09:13 by David Taylor   [ updated 3 May 2014 06:55 ]

When I looked at an Optical End-Stop for the first time, I noticed it had 4 pins while most diagrams show it with 3 pins. I then took one of my Optical End-Stops apart and looked inside to see how the device is wired up. In my case I could do this non-destructively, and I could close it back up. Internally the device has a small PCB which has two of the pins connected together.
 
I looked around for an interface circuit to make my optical End-Stops work on my 3-pin Ramps 1.4 board and found the hand-drawn diagram below by RetireeJay on the Printerbot Talk forum on the same subject.
 
I figured I could get rid of at least one resister and came up with the circuit below, which works just fine.



I had some Vera board lying around and made up the board as follows. which ended up being about 1.5cm x 1.5cm.


Here is a photo of the final product.


On this circuit the LED turns off when the optical end-stop is triggered and the LED's aren't super bright, but it does the job by passing about 2.3mA through the LED when it is tuned on.

Heat bed

posted 2 Apr 2014 23:45 by David Taylor

A quick update that I've been meaning to post for a couple of weeks now on my heat bed.
 
I've used a Printed Circuit Board (PCB) based heat bed. More specifically I got my hands on a RepRap Mk2A bed. I am able to heat this bed to 110°C but during printing it's only able to maintain about 97°C at best.
 
 
The image above shows a fairly consistent heating profile for my bed. The downside is that at the moment I only have ABS filament. With PLA, we should be able to get going in about 6 minutes and should also be much easier to maintain the temperature.
 
The MK2a also support 3 point mounting which I did go for. As you can see from the image below, my aluminium print surface sits snugly against the back two posts.
 
Having washers between the screws and the PCB Heat bed required that I cut a space for them out of the aluminium heat bed with my Dremel to ensure that the print surface plate sit snug against the PCB at all times.
 
I've also installed a cork backing to the bottom of the heat bed to minimise heat loss in that direction. so the entire assembly, with Cork, PCB Heat bed, Aluminium Print Surface covered in Kapton tape is shown below.
 
With all of the above, I was still battling to make parts stick long enough to finish printing. I tried Hair Spray (although I think I used the wrong type), but in the end I am super impressed with ABS Juice.
 
Basically I take about 10ml of Acetone, drop a couple of small reject ABS parts in and wait for it to dissolve. Once I have a slightly thick white smooth liquid, I pour it onto the heat bed and smooth it out with a small paint brush. Once this is dry, I can print just about anything without it ever coming off the bed. It actually makes it quite hard to take it off even afterwards, but with a bit of gentle persuasion, it pops free without breaking the part you just printed.
 
Tip: I lay another cork tile on top of the heat bed while heating it up. This reduces the heating time by about 15%. I've seen guys using cardboard, news paper and boxing to do the same. Effectively, just give your heat bed a blanket and remember to remove it before you start printing ;-)
 
Those of you that have been following my tweets where I've been saying that I want to print my quadruped leg would have noticed that I have still not done that. The universe seems to be holding me back: Power outages and Thunderstorms are to blame. (For those of you in the UK, thunderstorms in South Africa require unplugging all electronics and internet connections... ;-)

Quadruped

posted 2 Apr 2014 03:46 by David Taylor   [ updated 2 Apr 2014 03:47 ]

Now that my printer is up and running I've started experimenting with a couple of things and also looked at improving some aspects of it. More on that in another blog post coming soon.
 
I just wanted to make a quick mention of a design I have recently uploaded to Thingiverse.
 
At my local hacker space (House4Hack) one of the guys brought along a little quadruped that he printed from thingiverse and showed off his kinematics. I was quite impressed. However, given that it only had 2 degrees of freedom per leg, the kinematics weren't that great.
 
Various quadrupeds on YouTube look way better, but all of them had 3 degrees of freedom per leg. Each of them however had quite chunky legs because the servo's were located in the leg. The 3rd degree of freedom also made the legs quote a bit longer, creating even more torque for the servo's to manage. This got me thinking:
  • This makes the servo the pivot point. Is it a good idea to load weight onto an off-centre pivot?
  • Can the legs be made thinner or smaller?
  • Can the legs be cable driven like muscles are attached to human bones?
This was enough to give me an excuse to fire up my favourite 3D modelling app and out popped my version of a leg which I posted onto Thingiverse.
 
Below is an image showing 4 legs configured into a quadruped, but I gues nothing stopps you from building a hexapod or more...
 
The design places all servos inside the body. The hip is also made to be modular so that you can use servos you like. I've also not included the body skeleton as this would depend on your servos and design.
Gineer&#39;s Quadroped
 
This is my design for a quadruped. Most 3 Degrees of Freedom (DoF) legs also have 3 parts to the legs. I wanted to see if it was possible to get 2 DoF from one joint.
Design Decisions:
  1.  I then decided to go with a cable drive and keep the servo's inside the body, rather than make them part of the leg as most others have.
  2. Make it modular so that you can attach what ever size servo's you want, to it. I have not included the central square into the downloadable files as this would depend on the size of servos you choose to use as well as what and where you would like to mount any electronics and/or sensors or cameras you want to include.
  3. The two part leg should print pre-assembled. There is 0.2mm gap so even a normal self build 3D printer should be able to print this. I sliced this with KISSlicer64 but be sure to enable "Avoid Crossing Perimeters" in your slicing program. I found that Slic3r does not slice this thing right and screws up the design. Let me know if you have better luck.
The first part of the leg is just over 120mm long and the second part is about half that, so it should just fit onto a 200mm x 200mm heat bed with a couple of mm to spare or you could rotate it 45 degrees if it's to close.
 
Download it, print it, and let me know...
 
I would love to hear feedback if anyone finds any bugs or if you have any bright ideas.

It's alive....

posted 1 Mar 2014 22:21 by David Taylor

The little blob on the laft was my first attempt at printing a cube of 10x10x50mm. On the right was what I printed last night.

Success.... finally. The previous two failed because the RAMPS 1.4 board was overheating even with what I thought was adequate cooling. After liberating a fan from an old dell workstation I had in the cupboard, all started working. That fan does create ALLOT of airflow though.

Next steps are now to refine the process to improve print quality, but I can finally say I have a working Delta 3D printer.

I'll post some videos of the event a bit later.

Licensing

posted 1 Mar 2014 22:14 by David Taylor

The names in this post have been omitted to protect the innocent... ;-)

I went to the House4Hack Johannesburg chapter for the first time last week. I walked in and introduced myself as David, but no one knew who I was, despite me visiting House4Hack Centurion fairly frequently for the last 8 months. One of the guys then asked if I was very active on the forums. I said I was, but they still didn't know who I was. I then mentioned that my username was Gineer.

Suddenly everyone knew who I was, grind and said: "O, that gineer?". I'm not that active on the forums, but I knew exactly what they were thinking of.

While I was building my Delta 3D printer, I needed a print surface to put ontop of my heatbed. I thought of using glass, but by some fluke the glass place was closed over Christmas and I ended up designing an aluminium plate cut-out. In hindsight this was less of a design and more of a form function. Have a look at my "PCB Heatbed MK2a Plate (3 hole mounting)" and "PCB Heatbed MK2a Plate (4 hole mounting)".

One of the guys, who runs a shop where H4H'ers can buy bits and pieces, contacted me and said that his design looked very similar, after I offered to have a couple extra cut since I was having some done anyway. The puzzling thing to me was that the design he sent me was only similar in the fact that you could cut both out of 3mm aluminium.
His Design
My Design
Version 1.0
At this point I wrote it off as being a bit of craziness on his side and moved on.

I had the plates cut and handed out 18 of them at House4Hack Centurion. One of the guys who I gave some plates to mentioned to me that the aforementioned shop had an item marked New that looked very similar, and that he heard rumors that this particular shop had liberated a couple of designs from other members and profited from them. I had a look and sure enough, there was my plate, being sold for more than double what it cost me to have it manufactured.

I contacted him and asked how my design was doing in terms of sales...

Long story short: turns out he designed a very similar plate, sent me the wrong design file, originally, and took exception to me saying that it was my design. We had both designed the same plate. The unfortunate part came when he decided to publish our discussion on the forum, which obviously upset the rest of the forum members and provided me with the aforementioned notoriety.

To save the House4Hack forum from further public discussion, I bowed out and gave him the accreditation for version 1. I have however subsequently added some real design features in version 2.0, 2.1 and 2.2 which is now starting to depart from the forum function to an actual design anyway.

Lesson Learnt: Be careful when people send you queries, even especially when it makes no sense, because, it's probably a PEBKAK error on their side. I should have clarified at the time.

All systems go...

posted 13 Feb 2014 12:12 by David Taylor

I had 20, 3mm aluminium plates cut last week based on the two designs I created and uploaded to thingiverse.com. I had 2 plates cut for the 3 post mounted MK2a board, for my 3D Delta Printer, and 18 of the plates for the 4 post mounted boards. The 4 post plates were destined for friends at H4H, my local hackerspace, where most people have Morgan printers, requiring the 4 post mounting system.


After wasting 2 pieces of Koptan (always thought this was Capton tape, why does everyone pronounce it like that?) I figured I'd use a trick my sister, who works in advertising, where she often has to stick vinyl signs to glass and other stuff, taught me.

I dripped a couple of drops, really just a small amount, of dishwashing liquid onto the plate, then wet it with water and gently mixed it with my fingers until the plate was evenly wet and slippery from the soap. I lay the Koptan tape onto the wet surface, which allows for really easy bubble removal, using a credit card, until the water dries up, and the tape takes over.

Here is the finished product installed on the MK2a heat bed on my 3D Delta Printer:

With all the bits finally in place I figured it was time to get some filament moving through my extruder. I had set all the values in DEFAULT_AXIS_STEPS_PER_UNIT to the same value, 167, including the extruder. Turns out the extruder needs 954 steps to push the filament 1 mm, thanks to the slightly customised Reprap pro mini extruder I now have. (A review of this coming soon). Anyway, with it all set up and ready to go, I decided to see if I could get some molten plastic squirting out of my hot-end for the first time.


And so was boren: Worm 1 and Worm 2
@Gineer Worm1 and worm2?
— Quentin Harley (@QuentinHarley) February 12, 2014


I am having slight problems with the balls not being held tightly enough to the trucks, but theoretically, I should be ready to print my first actual object soon. Just need to recalibrate with the new plates installed.

Whish me luck ;-)

Calibration, Setup and runaway axis

posted 26 Jan 2014 22:57 by David Taylor

I have finally been able to get my Delta 3D printer moving the way it should even while printing an actual file.

The Problem

My printer could move around correctly except when I loaded a file and tried to print, it would go crazy and simply try to move the x tower down forever.
I eventually figured out that I could replicate tis by moving the head myself by moving the head 100mm in any one of the directions and then move the head more than 60 mm in any other direction without centring the first axis again.
This would be moving the head outside the delta radius which obviously confuses the math and makes strange things happen in the 4th dimension ;-)
Opening the GCode showed that the first move of printing my 10mm x 10mm x 10mm cube sent the head to G1 X90.310 Y90.310 which would be outside the safe area. I then realised that it was starting to print somewhere which was not the centre of the heat bed.

Marlin

In Marlin the DELTA_RADIUS is calculated as follows:
// Effective horizontal distance bridged by diagonal push rods.
#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
Then later on we set the print surface limits as follows:
// Travel limits after homing
#define X_MAX_POS 100
#define X_MIN_POS -100
#define Y_MAX_POS 100
#define Y_MIN_POS -100
#define Z_MAX_POS MANUAL_Z_HOME_POS
#define Z_MIN_POS 0
While this is strictly correct, you could never really move to the corner of the print bed anyway as this would be outside the Delta Radius so I updated it to be:
// Travel limits after homing
#define X_MAX_POS DELTA_RADIUS
#define X_MIN_POS DELTA_RADIUS*-1
#define Y_MAX_POS DELTA_RADIUS
#define Y_MIN_POS DELTA_RADIUS*-1
#define Z_MAX_POS MANUAL_Z_HOME_POS
#define Z_MIN_POS 0
This step wasn't really required, but Slic3r should keep everything nicely inside limits of the actual bed.

Slic3r

Under the Printer Settings tab in Slicer you once again set the print bed limits which I had set as follows because of the "mm" after "Print centre"
Turns out the Print centre is a coordinate and not a measurement. So it should be 0, 0.
This probably just shows that I am new to this, and since I couldn't find any help on the net about this problem, I guess I might also be the only person to misunderstand the Slic3r setting. The gcode now actually starts of near the centre, so lets open Pronterface...

Pronterface

With Pronterface Printer Settings set as follows everything plays nice and works well.

Next steps

Get extruder, hopefully on Tuesday, and then I should be good to go as soon as I get the glass cut for the printer bed.



Delta 3D Printer Assembled

posted 9 Jan 2014 12:32 by David Taylor

I set myself a target to complete the assembly of my Delta 3D printer before the end of the year (2013). On New Year’s Eve I assembled the final parts, but the point is I reached my target, except for my Bowden extruder, which I requested in August when I decided to start this build, but still have not received… (Let’s not dwell on this)-:
Assembly
I’ve had a couple of questions asking why I used pressed wood for the base plates after going through all the trouble of using aluminium extrusion. The answer quite simply is that this is still a prototype until I get it working. Perspex is quite expensive and after getting the first version working and finding out exactly where each whole should be drilled, I might rebuild it or simply build version 2 with all the aesthetic consideration required.
Below is a time-lapse video of the physical assembly.

    This brings me to a quick side rant about misleading phone apps: I downloaded “Timelapse Pro” by Max2 on the Windows Phone Store, a free app. After shooting a full days’ worth of time-lapse photos it turns out you have to pay for an upgrade before you can actually get your shots out of the application. I went back and read the text on the store and no mention of this is made anywhere. I promptly gave them a 1 rating, with a good description of my feelings and reported them to Microsoft as a misleading application.
The video above was shot using Time-Lapse Camera 1.0 by Ryan Tremblay on my Nokia 920 and assembled using Windows Movie Maker as helpfully described in the help section of the application.
One motor wouldn’t move
I realised that one of my stepper motors wouldn’t turn after my initial tests. After swopping my stepper drivers around I found that one of them was the problem. I decided I would take it back and get it swopped, but had one last look and found two of the components (capacitors) on pins 2 and 3 had gotten themselves soldered together during reflow. Apparently these boards were tested…sure: http://black-box.co.za/coolsteps_2_1/.
A quick [tiny and very controlled] chopping motion with a Stanley knife sorted that problem out and I soon had all 4 steppers doing what they did well.
Shorted CoolStep Rev. 2.0
Z+ moving in the wrong direction
Things were moving around, but I was a bit puzzled because the Z+ only moved small amounts and in the wrong direction?!? I checked the other movements and they were correct so my motors were not connected in the wrong direction. It turned out that I had swopped my Max and Min end-stops. Also didn’t have the min end-stops installed or disabled. Checking end stop status with M119 reported that all end-stops were triggered all the time. Swopping the end-stops and disabling the min end-stops which are not really required on a Delta anyway, solved that problem. The first time I tried the Home button after that, left me diving for the power button as I wasn’t expecting it to home quite that fast and the fact that I hadn’t attached my end-stops yet, the trucks where trying to climb through the top of my printer. (Luckily nothing broke.)
Magnetic-connectors and hot-glue
I’ve posted a couple of photos of the way I connected the magnets to the trucks. The problem with that is that the heat shrink leaves a nice rounded end which allows the balls to easily move off the end of the magnet without much effort (a bad thing). I tried a drop of hot glue on the balls and then stuck it onto the magnets. After cooling, the balls quite easily pop off leaving a perfectly shaped seat for them to sit in.



Diagonal rods
I opted for aluminium for my diagonal rods. You get a much better selection of these at the local hardware shop in the UK, but I ended up getting 6mm rod which I had to reduce to the 5mm required to fit into the magnetic ends.
I might upgrade these to Carbon fibre tubes at a later stage.
Calibration
I found the image below on a forum post on seemecnc which had no link to the original source.
Calibration Diagram
This really helped allot. After entering the values and reloading the firmware, my hot-end was coming down about 20mm to far still. I realised that my trucks where moving about 11mm for every time I clicked the 10 move button in Pronterface. I will reduce my 177 DEFAULT_AXIS_STEPS_PER_UNIT to 161 and see if that makes a difference. Sounds about right given 1mm per move over the full Z-axis movement. Calibrating a Delta 3D Printer has been really helpful so far.
Extruders
I originally requested Stephan to print me an Airtripper extruder for my printer (Back in August… stop, don’t go there). Quentin Hartley mentioned that his extruder stepper motor was heating up allot due to the excessive current required to keep this extruder going. So much so, that the filament was getting soft on the drive wheel which was causing him some problems.
I’m now waiting for Quentin to print me a RepRapPro mini extruder.
Next steps: Get an Extruder and complete calibration…