You can find all files used in this class in the Fab Academy repository in the button below or a backup in this Google Drive folder.
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.
First of all we divided the job between us in order to make a concurrent development:
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.
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.
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.
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:
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.
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).
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.
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).
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.