Week #9 and #11 Mechanical Design and Machine Design


Software Used

Machine Used

Exercise Repo

You can find all files used in this class on this Google Drive folder

Machine description

We are glad to introduce you to our machine: a Polar DrawBot!

The group decided to build a Polar Drawbot, insired in some projects like The Makelangelo Art Robot and PolargraphSD. This machine will be installed in the front door of Insper Fab Lab to draw nice illustrated messages for our community. As it’s a glass door, we thought it would be a nice idea to keep the mechanism inside the lab but invert the drawing in order to display it to people outside the lab. This detail of drawing orientation can be easily changed if we decide so.

Makelangelo 2.5 and some draws that this machine can do

Fab Lab front door, the place where the Polar Drawrbot will be installed

Group organization

First of all we divided the job between us in order to make a concurrent development:

Dividing tasks


2017 03 23 Understanding mechanism

Before study existing projects we decide to understand the mechanism by ourselves and try to figure out how we could build it. Thus, we prototype it using cheap materials like cardboard, scissors, scotch tape, string and another materials that we had available in Fab Lab. With this tests we thik in use a circular surface and a 9v battery as weight to make the pen lean against the canvas. We also tried to use a "closed transmission system", but it made the pen support more difficult to move.

Selecting materials for prototyping

Prototyping pen holder with cardboard

First try

Prototyping "closed transmission system"

2017 03 28 Building the mechanical system

As we were close to our due date for this assigment, and with a better understanding of the mechanism, we did some research to accelerate the mechanical design process. We found a nice project called Polar Drawbot, developed by Carlo Franciscone, available at Thingverse. The mechanical parts of this pen plotter was redesigned by Franciscone based on the Wallmount Polar Drawbot.

Polar Drawbot, by Carlo Franciscone

Except standard componentsparts like bearing and screws, all parts of this Polar Drawbot is designed for 3D printer. This project has 3 different models of pulley intended for a variety of cords. Based on the cord (ball chain) that we had available we decided which pulley to use. Our plastic ball chain diameter is about 4,4mm with a pitch of 6mm. We borrowed the plastic ball chain from a colleague, Lourenço. He is a great technician who works with us in Insper and has built his own drawbot. Daniel spoke with him about the project he built to get some inspiration and learn from his experience.

Ball chain that we used

Measuring ball chain diameter and pitch

To ensure thar we choose the right pulley model we 3D printed it first, then we print the rest of the parts. For all parts we used 3mm PLA at ZMorph 3D printer. To slice the 3D models we used its software, Voxelizer. The main parameters used were:

Setting 3D printing parameters

3D printing pulleys at ZMorph

Pulleys done

All 3D printed parts done

While the parts were 3D printed, we started taking measurements of the door and discussed about which would be the best way to hang/fix the two motors. The initial idea is to build a small container that will have the function of holding safe the motor and at the same time be the extension of a hanger at the top of the door. Some tests will be carried on to decide the best material to resist the weight of the engine set and at the same time be viable to fit the door mechanism. Our guess is that a folded aluminum sheet might be the best option, since it can support reasonable effort with a small thickness.

Measuring door thickness to adapt Polar Drawbot for our needs

2017 04 01 Adapting machine to fit on the glass door

The Rhino 3D software was used for modelling the motor support. For this first test we adjusted the measurements of this support based on a combination of 3mm and 6mm MDF. The 3mm MDF would be used around the door (because the free space between the door and it’s frame is very narrow).

3D model of the motor support in Rhino 3D

As it can be seen from the graphic below, besides respecting the door shape, the support should have 5 holes to fit the motor, being the larger and central one a space dedicated to the motor shaft. The parts were designed to be assemble through press fit between its edges.

Isolating the faces of each part of the assembled motor support

After exporting the file as a .DXF, it was possible to laser cut the parts of the support in 2 different MDF thickness (3mm/6mm).

Laser cutting motor support parts at PortoFabLab

The assembling of the parts was made with glue. Although the correct kerf was previously calculated and the parts were tight fit we decided to use glue to avoid the assembly from becoming fragile. The motor fit perfectly at the support but we noticed that when applying force into the set it showed a certain degree of instability. So we decided to revise the drawing, adpting it to be 3D printed in a single and solid part.

The motor mounted in the assembled structure of the support

With the motor support into place we noticed that the set was not very stable

The adaptation of the support to be printed in plastic using a 3D printer

The two support parts being printed in a 3D printer at PortoFabLab

The 3D printed motor support fit perfectly around the door

After screwing two screws we noticed that the central hole was smaller than it should be due to the instability of the plastic material

After screwing two screws we noticed that the central hole was smaller than it should be due to the instability of the plastic material

The 3D printed parts were built using PLA in a FDM 3D printer. We first tested the support in the door and noticed that they fit perfectly. We tried placing the motor but the hole was slightly smaller than it should be. In order to avoid this imprecision we used a rectifier to thin out the edge of the central hole. After correcting the hole size, the motor fit perfectly and we did a final test placing the two motor supports at the door.

Using a rectifier to enlarge the central hore of the support

After expanding the central hole with a rectifier the motor fit perfectly and was screwed to the support

The two motors support assembled and placed into place

2017 04 06 Fixing the pulleys to fit the motor shaft

The diameter of the hole in the axis of the pulley wasn’t large enough to fit the motor shaft (4,9mm). This difference was due to a retraction of ABS during the printing process. Because the difference was minimum we decided to amplify this hole manually. For doing this we tried two possible solutions. The first one was to heat the shaft and force it into the pulley hole. It didn’t work out so we tried a second option that was enlarging the hole with the help of a 5mm drill bit. Even though the diameter was larger the pulley still didn’t fit the shaft. Because we didn’t have an intermediate drill we tried a 6mm and the result wasn’t satisfactory for the reason that the pulley was loose in relation to the shaft.

Heating the motor shaft to fit the pulley into the motor shaft

Using the drill bit to amplify the hole. The pulley that is loose in relation to the shaft

As we didn't succeeded adusting manualy the pulley, we used Tinkercad to make the hole diameter bigger and print the pulleys again. As Zmorph was being used, we use Mousta 3D printer and Repetier slice software to do it. The settings used on Repetier is available on Google Drive folder, nammed as "mousta_config.ini". The result was not good. But even with this issues we were able to test the hole diameter. We noticed that the motor shaft still didn't fit well. We redesign it in Tinkercad again to adjust the hole diamerter to 5.3mm. We remade it using Zmorph with the almost same parameters used last time. We just change the infill for 60%. We also printed extra 3D parts for each of the elements of the penholder in case some of them breaks while assembling. (To see all the parameters check Daniel documentation).The new pulleys were much better (higher infill to guarantee resistance) but we still had to expand the central hole with the drill bit.

Using Tinkercad to adjust holes diameters

The motor shaft hole (vertical) was made with 5.2mm and the screw hole (horizontal) was made with 4.0mm

Repetier slice settings

Repetier print preview

Pulleys sencond try, printed at Mousta

Pulleys done and some extra parts

2017 04 13 Finishing mechanical assembly

The new printed parts of the pen holder were now accurate and more resistant than the first parts. We had some difficulties during assembly because there was a exploded view of the machine on Polar Drawbot Thingiverse page that was not clear about the correct order of the parts to build the pen holder. This means that we had to reassemble it several times until the complete set would make sense and appear functional. In order to remember the correct order of assembly we decided to document this steps in a stop motion that was photoshooted and later edited to be part of our documentation slide.

Polar drawbot exploded view

The first assembly of the penholder wasn’t correct

Figuring out how to assembly the machine

Stop motion making off

At this point we had solved some of our mechanical problems once the two motors are correctly hold by a support, the pulleys were adjusted to the motor shaft and the penholder was correctly assembled. The next step was to ballance the weight of the machine to improve the plastic ball chain movement through the pulley in each motor, and also, the ballance of the pen holder mechanism. To do this we added some counterweight on each one to equilibrate the whole set. We followed some open source projects found on internet and placed some batteries (old ones of course!), fixed with tape. We made sure that both ends of the chain would have the same weight, and that it was corresponding to the weight of the pen holder mechanism.

Measuring counterweights

Testing the counterweights

2017 04 13 Integrating mechanical and electronic systems

For this project we decided to use an Arduino board. In order to make it viable for the Arduino to control more than one DC motor, we plugged an Arduino motor shield at the top of the Arduino PCB.

Motor shield plugged into Arduino

We installed the Makelangelo firmware to the Arduino so it could be able to receive the instructions about the movement of the motors. The board is connected through different coloured wires to one servo motor that is fixed in the pen holder. The red coloured wire is the power supply, the brown wire is the ground and the yellow wire is for the pulse train from the controller. The function of this servo motor is basically to enable/disable the pen to touch the glass surface. It does that because it was setup to rotate the one arm attached to its shaft 90º clockwise and 90º counter-clockwise.

Soldering the servo wires to a pin header

The board is also connected to two 8-Wire Stepper Motor that are responsible for the pulley rotation. The pulley will direct the pen by the movement of the plastic ball chains that are regulated by the pulley.

Identifying the Stepper motor wires

The stepper motor wires already positioned to fit the Arduino motor shield

At first, just for testing, we placed the Arduino board at the top of the glass door between the two motor holders. For that, we improvised a cardboard holder that would keep the arduino tight at a support that would be placed/hanged on the top of the door. We intend to design a support following the same identity as the motor hanger and 3D print it.

Placing the cardboard support to arduino

2017 04 13 Installing Makelangelo JAVA application

Installing Makelangelo JAVA application was a straightforward process. First we downloaded the files from Makelangelo website and, in our case, run the file “Makelangelo-7.10.0-with-dependencies.jar” in a Mac OS. The application opened instantly and we just had to connect the Arduino board via an USB cable in order to pair both. The drawing information could be now sent to the board as an orientation of where the motors should move in order to draw.

Testing the connectivity between the Makelangelo app and the motor via Arduino

2017 04 13 Everything set up, time to test!

All the mechanical parts were in place (motors, pulleys, penholder, counterweights, Arduino board), motors and servo connected to the board which in turn was connected to the computer that was running Makelangelo app. We made a basic setup by choosing the size of the printing area, checked if the “pen up” and “pen down” functions were working and selected one drawing for the pen to design.

Makelangelo software interface

We were so excited about the pen’s movement that we didn’t care so much about the fact that it was not designing the correct curves of the Fibonacci golden ratio. First thing we changed was to add margins around the drawing area in order not to paint the door frame and instead, preferably just stick to the glass area! Another change was to sand the contact surface of the angled brackets that are part of the pen holder. They were constantly locking due to friction affecting the performance of the pen which had to move precisely throughout the XY plane.

Sanding the parts of the penholder

After the changes mentioned above the second try was much better but the drawing was still not quite following the original. We supposed that the problem could be either the parameters in the software, the counterweights that maybe were not with an ideal weight or even some problem in the pulley. In the third test we noticed that we forgot to fix both pulleys into the shaft and that most likely was causing all the imprecision in the drawing. We also noticed that the Makelangelo application allows us to draw in different scales ranging from 30cm2 to 300cm2.

2017 04 18 Adjusting settings

With everything working we just had to be a little patient to figure out the correct settings on Makelangelo application. After some tries, we got it! The pictures below present the final settings.

Makelangelo machine settings

Makelangelo paper settings

Makelangelo pen settings

The machine is almost an artist! =) Painting Sky and Whater I from M.C. Escher