Evolution of a Blog

This blog has evolved as I have as a maker. It starts at the beginning of my journey where I began to re-tread my tires in the useful lore of micro electronics and the open-source software that can drive them. While building solutions around micro-electronics are still an occasional topic my more recent focus has been on the 3D Printing side of making.

Thursday, December 22, 2016

Too Much Filament?

When you have a man cave with two Ultimakers you can not have too much filament!  Well that may not be true based on the below list.  I have been doing printing for people through 3DHubs and donating half my proceeds to the MS Society.  The other half, however, have gone to my filament inventory.  Since I did a couple of big jobs recently there may have been a splurge!  All stored in two cabinets with dehumidifiers to keep it from absorbing moisture.  I am coming close to running out of space.

White PLA30%
Snow WhitePLA100%3DFilaprint1kg
Steel GreyPLA90%1kg
WoodSpecial100%PLA Coconut

Tuesday, December 6, 2016

Ship Update - PCB Design

I am just about ready to send away the PCB design to be FAB'ed in China but needed to do one more bench top validation.  The small breadboard was assembled following the PCB design and did uncover and issue with said design.  I knew there was a reason for doing it!

My ability to print my own PCBs for testing purposes is still in the future but I am hoping that I will be able to do a test or two using the below setup (though obviously not inside the ship)!  You can see a couple other areas that I am still working on.  I still do not have a form fitting battery.  I have a smaller servo but have not fitted it.  I am also working on the motor mount and the servo mount.

Some notes on the PCB.  The elements on the PCB, or attached to the PCB, that drive the ship are as follows:
  • Arduino Pro Mini micro controller,
  • Pololu DRV8833 Dual DC Motor Driver,
  • Pololu S7V7F5 5V Step-Up/Step-Down Voltage Regulator,
  • Micro Speed Reduction Gear DC Motor,
  • Sub Micro Servo (H-King 282AS),
  • Bluetooth Serial SPP Module (HC06), and
  • Port for Programming via ICSP.
There are also some features designed into the board that my current project does not need.  When I design one of these things I try to leave some latitude for possible additional or extended uses.  In this case there is the capability to use two motors though you do have to run a couple of jumper wires.  I have also exposed terminals for power and for three analog and three digital pins.  There is also a jumper that lets you choose between input power or 5V board power to drive your motors.

Sunday, December 4, 2016

Another Crazy Assed Project - A Ship

I get project ideas from a couple of the groups to which I belong on Facebook.   During my tanks phase it was from the Flames of War communities.  More lately I have been doing N-Scale bridges and the like so it has been a couple N-Scale groups.

A member of one of those groups suggested the idea of an N-Scale ship.  Since I have done a bridge and a scene with a bridge might need a ship and I like ships.  Part two of the suggestion was to have the ship be remote controllable.  Now that will obviously require electronics and I like electronics....so.....I decided to do it!

I don't have a full scale prototype as I found a model that I liked while I was searching for a prototype of a small freight steamer of about 100' long:

This is a model that is part of a layout called the "Wrightsville Port Waterfront Layout".  I figured that since my work is all non commercial, and that I am giving them full credit, and that I left a note on their blog, that they will not mind my stealing their idea!

Here is what my version of this ship is starting to look like.  This is a first assembly of a draft print so excuse some of the obvious issues (some of which are hard to see due to the colour of the plastic)!

As I mentioned above the model is of a ship with a length of around 100 feet.  This has resulted in a model that is about 200mm long and 40mm wide.  Into that hull needs to go a circuit board of electronics, a motor, a servo, a bluetooth card for communications, and a battery.  Here is what the prototype electronics are looking like.  The controller and its blue tooth card are on the left.

Finally, the circuit board that will go inside the ship is coming along as well.   I have a little more to talk about in regards to the circuit board but that can wait for the next post.

Saturday, December 3, 2016

Cura 2.3.1 Upgrade (and Simplify3D)

I am the happy owner of a new Ultimaker 3 that is now sitting beside my Ultimaker 2+.  I think that I may have been the first person in the UK to get a UM3 and because I was so early I needed to use Cura instead of Simplify 3D which I have been using for a couple of years.

I have been happy enough with Cura, and frustrated enough with a couple of S3D idiosyncrasies, that I have shelved S3D and been using Cura exclusively for the past month.   Here are some observations relative to that experience.

Two Things that I miss about Simplify3D

The first thing that I really miss is the ability to manually set where support is to be created.  This can be a truly useful feature.

The second thing is the ability to create a "factory" that remembers the models and print settings that went into doing a particular job.   Ironically one of the things that I hate about Simplify3D is the lack of a refresh or reload function for the models that comprise a factory (or models that are on the build platform regardless of being in or out of a factory)!   It would be nice if Cura remembered everything about a job, from what files, to what settings, but I would be happy if it just remembered the list of files.  I do a lot of iterating when doing a design and since I design kits of multiple parts Cura can be cumbersome.   More on the multiple parts issue below.

Things that I Really Like about Cura 2.3.1

I have not used Cura for a couple of years so the changes from what I remember to now are enormous and I am not at all sure what features are new versus been around for a while.  One of the things that I like has been alluded to above already and that is the update model facility.  The other, and bigger, feature is the quality of the profiles that come with Cura now.  For the range of nozzle sizes and material types these profiles can not be beaten for getting a leg up on quality.  Finally, I like the cost of Cura!

Things that I would Change about Cura 2.3.1

As I mentioned above, I would like to see a "factory" like concept added.  Initially this could just be to remember the models loaded but remembering the rest of the settings for a job would be great, as would the ability to manually control support placement.  As the latter is probably a lot more of a challenge I would recommend that the first be attacked soon!

My other major gripe about Cura relates to the USB driver.  Why does it do a destructive poll of printers when it starts???  I have deleted the USB driver from the Cura directory structure to prevent this behavior but I do not think that I should have to do so!

The last thing that would make my life easier is to have a little bit larger of a bounding box around the models that are on the build platform.  This might be peculiar to the way that I work but it can be hard to grab small parts to move them around!

Possible Bugs in Cura 2.3.1

There seems to be a circumstance where the slicer looses the ability to reset model positions on the build platform.  I have not been able to isolate when this happens but when it does the only solution is to quit and restart.  There are some other things about using profiles that I think may be issues but I have not been able to isolate an issue to be able to describe said issue!


I really like the new Cura!  I have not printed anything using S3D on either of my two printers since I took delivery of the UM3.

Wednesday, November 23, 2016

Test Prints from Ultimaker 3 (and versus Ultimaker 2+)

As time allows I am doing some test prints on my new Ultimaker 3 with various materials.  I am also going to try and do the same print on my Ultimaker 2+.  I did not buy the new printer expecting any great improvement on the old ones but I do want to see the quality and if necessary do some tuning (in any case on either printer if some is needed).  In all cases I am using Cura and the profiles provided there-in at a resolution of 100 microns.  

Ultimaker PLA on the Ultimaker 3

This is as nearly a perfect print as I think is possible using a 400 micron nozzle on an FDM printer (at 100 micron resolution).  I could do better with a 250 micron nozzle but this is pretty good.  Note that I had accidentally printed with a brim which explains the layer of filament up the little river.

Ultimaker PLA on the Ultimaker 2+

Almost as good as the UM3 print but for the print layers being very slightly more visible and a little deformation of the sides of the bridging.  I think that I need to do some belt tightening and make sure everything is tight on the UM2+

"Upgraded" PLA on the Ultimaker 3

When I first started printing I happily purchased my filament from eBay based on price.  When I got my Ultimakers I started to notice the difference between suppliers and decided to standardise on a slightly better material than eBay cheapest.  The filament used here was 20GBP for a kilogram.  More than eBay but less than Ultimaker (35.99GBP for 750g)!  This is another nearly perfect print in my humble opinion.  

Ultimaker CPE on the Ultimaker 3

Nearly as good as the PLA prints but not quite as sharp.  These were done at the profiled temperatures and I wonder if a couple degrees lower might help.  

Ultimaker CPE on the Ultimaker 2+

'Def some issues compared to the Ultimaker 3 print.  This print was done with an older nozzle and it might bear a repeat with a newer nozzle and the same temperature decrease mentioned above.  I think these are issues that can be largely tuned out.

Colorfabb NGEN on the Ultimaker 3

I really like the NGEN portfolio of filaments from Colorfabb.  They print a lot like PLA but are more temperature resistant and have a nice look about them.   The temperature range recommendation is 220 to 240 and this was printed at 230.  I think that I would lower the temperature by 5 degrees for another attempt but this is still pretty good.

"Upgraded" PLA on a freshly tuned Ultimaker 2+

 It is clear from looking at the above prints done by my Ultimaker 2+ that some tuning is needed.  The print below on the right is after said tuning.  The one on the right is from the Ultimaker 3.  They are both pretty close to perfect.  As I stated above, I could improve the quality by using a 250 micron nozzle, and I could also slow the print down, but these are pretty good prints using the stock profile from Cura for PLA.  The tuning that I did consisted of making sure the short belts were tight, lubricating all the axis, and replacing the teflon coupler.  The coupler did not look degraded but I have to think that was the source of most of the improvement.

Colorfabb NGEN on the freshly tuned Ultimaker 2+

The tuned Ultimaker 2+ did a nice job on this print.  On par if not a little better than the Ultimaker 3 print though I would give credit to the temperature reduction.  Mechanically the printers seem pretty much the same when it comes to a single material print so the results are not a surprise nor does Ultimaker advertise an improvement for a single material print.  I am just impressed at how well my well used two year old upgraded printers do compared to a brand new Ultimaker 3!

Monday, November 21, 2016

Final Configuration for UM2 Laser Cutting Upgrade

I have been distracted by some other tasks but I have finally finished the configuration of my laser upgrade for my Ultimaker 2+ 3D Printer.  I don't really have a compelling requirement for a laser cutter though I am going to try do some of my own PCB's to save time over the shipment of tests from China.  I am also, as always, looking forward to playing with the laser!

My "user" requirements for installing the upgrade were two fold:  1st, the kit has to go onto my printer and come off of it quickly and easily as the primary use of the Ultimaker 2 is still as a printer! 2nd, I wanted to be able to use as much of the print area of the Ultimaker 2 as possible for laser cutting.  The rest of this post shows the final result.  There is detail that I am not covering here in previous posts on this topic.

This is the completed upgrade.  The laser that I am using is from J Tech Photonics purchased from RoboSavvy.  The specific laser that I bought was the, you guessed it, most powerful one available, the 3.8w Laser with the 2.5amp driver.  It is important to recognise that a 3.8w diode laser is not going to be competing with more powerful dedicated laser cutters!  But still, way powerful enough for what I need (err, want).  The door is also from J Tech Photonics with some printed hardware that I added.  Looking closely you may question why I mounted it the way that I did.  Measure twice and cut once was not how I did the door.

Here is the laser mounted on the extruder assembly of my printer using the mount that I designed and that is available on Thingiverse.  It slips underneath three of the bolts that tie the extruder together and is both sturdy and easy to get on and off.  At the top of the picture you can see the connections for the fan and for the laser.

The driver for the laser is to the rear of this picture.  It is connected to the following (all but one to the rear):
  1. Power supply
  2. Laser
  3. Laser Cooling Fan
  4. Printer Fan Power (via a voltage divider)
  5. Remote reset button
  6. End-stop Switch on Door for Safety Interlock
I have my printers standing on legs that I designed that provide some room under the printer for a tray and also give a little vibration protection as they are cushioned with a flexifill shock absorber.  In the foreground is the remote reset button for the driver as well as a switch that controls how the fan is connection.  Forward means the fan will work normally and backward means the fan power is being redirected to the driver as input to its PWM sensing logic.

The presence of the safety glass door is detected by an end stop switch that prevents the laser from operating when it is open.  Triggering this end stop with the laser running means that the driver needs to be reset...which is why the reset button is conveniently located where it is now.

I am leaving the glass on the build platform with sheets of MDF on top of the glass.  The little black prints keep the wood platform in place.

Finally, I wanted a way to be able to activate the laser without having the door installed.  I went with this approach as I really did not want a switch that could be forgotten.  I see this as being a little bit easier to remember.

Other Articles in Series

Monday, October 31, 2016

Laser Cutting Learnings re Fan and LED PWM

Here are a couple of of learnings / questions. My first configuration was to use the fan PWM to drive the laser via the M106 command.

From a hardware perspective you need to do two things, first you need to get the 24V fan power down to close to the 5V PWM input. Jay, at JTechPhotonics, said the following: "For the voltage on the fans, yes it would be better if they were put down to 5V (or even 12V). The input is isolated, so it should work fine, but it was designed with 5V in mind. I think the high end of the design is rated at 24volts. If you have a way to get it to 5V then I would recommend it, but you probably are fine at 24V. " I did a voltage divider and took it down to close to 5V. Second, I installed a switch so that I could toggle between the fans working or the laser working.

There is a slight issue on the firmware side though. At least with my printer there is a spike of voltage when the fan circuit activates. I am assuming this is to help the blades of a fan spin up but have not dug into the code to see. You can see the spike using a meter or just by watching, with glasses of course, the laser turn on. Not at all optimal to have a litle black spot everywhere the laser activates! Is this on all machines?  It turns out that this is a fan spin up feature and it can be disabled in the configuration.h file (courtesy of gr5 on the Ultimaker forum).

With the above being the case I decided to go the LED PWM route. This is not as clean due to the normal state of the LED being on but I decided to try it anyway. I chose not to use a voltage driver as the supply for the LEDs is under 12V. Same comment about it needing to be switched but this time there are no spikes! There was another problem though.  An LED PWM command, i.e. M42 S200, seems to get processed as soon as the firmware reads it without waiting for previous commands to be completed! You need to put an M400, wait for everything to be done, command just ahead of it (found that above in the comments on this thread).  Note that you do not need a pin number with the M42 as it will default to the LED ... but if you do use a pin number it is 8 for the UM2 and 15 for the UM.

Here is an update from GR5 on the Ultimaker User Forum in regards to the Fan PWM and the burst we see on starting the fan.   I have not done this yet but only because I dread messing with the motherboard again!
As long as you never set the fan to below 30%, getting rid of this feature won't hurt.  Plus it doesn't work very well anyway.  If I don't set the fan to 100% until 5mm and is printing .1mm layers that is 50 layers so fan is 2%, then 4% then 6%, etc.  When it hits 2% it powers 100% for 200ms then to 2% and fan stops.  When it goes to 4% it is already on and it doesn't do the special "power on" code.  So the code is kind of useless.  It should do full power everytime power is increased - not every time fan is turned on.
In Configuration_adv.h just set the time to 0 or minpwm to 255:
// When first starting the main fan, run it at full speed for the
// given number of milliseconds.  This gets the fan spinning reliably
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) 
Update of mid-November:  I could not get the LED PWM to work as well as the fan PWM was working so I have gone back to the fan after implementing the above change.