Week 16 - Machine Design

Click here to see our group page

We are making a Braille printing machine. For the machine design, I contributed:
1. Scourging the internet for the right firmware, configuring and testing it
2. Configuring the end-stops for the printer
3. Figuring out how to connect and programme the solenoid.

We are using an Arduino board with RAMPS 1.4 shield. We will need to flash it with a firmware that will manage all the activities of the machine in real-time. I was going through the documentation and downloading different firmware to check which one would serve our needs the best : Grbl, Repetier, Reprap.

I tried Marlin and followed these pages to configure the code: Source 1 and Source 2.

I have explained the steps to configure Marlin below:

The following are the list of .ino files that come with the downloaded Marlin package from Github.

Choose boards.h and copy the name that defines the board that you have.

Go to configuration.h file. In line 122, we have to define the board that we are using. We have BOARD_RAMPS_14_EFB which is RAMPS 1.4 with Hotend, Fan and Bed as power outputs.

Choose the baudrate in line 114 of configuration.h

I downloaded Printrun which has a nice and easy user interface to talk to Marlin firmware on the board. We need to choose the port and baud rate to connect. I could move the printer head with this.

Since the printerhead was moving forward when I actually pressed the backward button, I had to invert the logic of the endstop in line495 of configuration.h file.

I tried to use this Instructables to configure the endstops in our machine.

I looked for ways to connect and control the solenoid that was to be in our printerhead. It has to pierce holes in the paper, as per the directions from the code. I stumbled upon this forum discussion where someone suggests using the fan port for solenoid action. The fan port can be switched on and off with the Gcodes M106 and M107 respectively.
This sounded neat and I checked our board. The fan port is at D9 in our board. We connected the solenoid here.

And yay! By sending the commands M106/M107 from Printrun, we could control the solenoid action. Yadu used these commands in his program to convert text to braille to Gcode.