Final Project Journal
Project Ideation
1- Tell us about the idea of your project. Why do you care about this? What were you inspired by? Include images and videos of similar projects
Paper Cutting Machine
It is a cutting machine that cuts paper sheets according to selected dimensions and number of cuts
It saves a lot of time and effort in cutting paper for different purposes and also accurately
I though once about a machine like this when I was making origami and notebooks because these tasks usually require a custom paper sizes in a lot of quantity which aren't always available, and require a lot of time and effort for just to start folding or creating the original task after that
Project Construction
2- Explain the CAD process of your project. How did you use the software to design your project? (List the softwares/tools/materials...etc that you used)
Designing process is divided into multiple phases:
first downloading the required electronic and mechanical components from GrabCAD and used the digital caliper for measuring the exact dimension of the aluminum rod, motor shaft, and the feeding rod
designing the control panel which will contain all the electronic components along with the Arduino
designing the machine base and sides
designing the motor holders,
and finally designing the 3D printed parts of the slider and the coupler between the motor shaft and the feeding rod
Software Used for Designing, assembling and creating .dxf & .stl files: Fusion 360
Sketching
The Control Panel:
I depended on measuring the components' dimensions to define the required openings and holes for fixing
starting by designing the bottom part which will hold most of the components, I left enough space for the half breadboard, the Arduino, the 2 stepper motor drivers expansion boards, and made sure of leaving some space for connections of the switch and the DC female connector, then I made some holes matching the holes location on the components
on the top cover I made openings for the LCD scree with 4 holes for the bolts, another hole for the push button, and a wide opening for inserting through the wires of the Keypad
on the front part I made openings for the on/off switch, a hole for the female DC connector, and 2 openings for the power and usb sockets of the Arduino
on the side part I made 2 openings for inserting the motors' cables in the sockets of the driver expansion boards
I designined the top cover with a hinge connection to be able to easily fix the components in place, inset wiring and to have an easy access for any misconnection or modification through the trials and operation
The Machine:
starting by designing the bed part depending on the A4 paper size, I designed the bed with 3 tabs on each side and slots for connecting to the side parts and subbase part
then I designed the subbase parts with extra length to be connect to the side part of the feeding motor holder
for the side parts I designed them with sufficient height for inserting the 2 rods and the sliders
The Motor Holders:
for the cutting motor holder I designed it with openings for the bolts, multiple tabs and T-slots to be fixed to the side, the back support part and the lower support Part
On the other side of the machine, the pulley holder will be fixed to the Feeding Motor holder also with tabs and T-slot, and a 5 mm hole for fixing the pulley' on a bolt
for the feeding motor holder, I also repeated the same design of the cutting motor holder, but with extra space for motor holes to have some flexibility adjusting the level of the feeding rod which will be connected on the motor shaft
The 3D Parts:
Since the feeding rod was 6mm diameter, and I couldn't find a suitable 5mm/6mm flexible coupler, I had to design one to be 3D printed, it simply consists of tow cylinders of different diameter and matching with the motor shaft shape for the 5mm side
for the slider I designed it identical to the same design of the corresponding side parts, and with 2 holes for fixing the linear bearing and a small gaps on the top and bottom for easy fixing,
3D Modeling
I extruded all parts of the machine and the control panel with 3mm thickness matching the plywood material
Then I fixed all the parts together using fixed joint, and replicated both side parts for extra rigidity for the machine\
after that I fixed both pullies one on the shaft and the other on the holder part, and fixed 2 8mm rods in place
I connected the feeding rod to the motor using the coupler
finally inserted the sliding part on the rod with slider joint and limits for simulation, I added a front cover with a middle hole for fixing the cutter blade, and some teeth for fixing the belt in place
Design Time laps
Fabrication
Laser Cutting:
I exported every sketch to .dxf file, then used the "Laserworks" software for importing all files, and started to add pieces together on the sheet to make full use of each sheet, and I replicated the both side parts since I will use 2 on each side
Software used for preparing the .rld for laser cutting: LaserWork
Machine Used for fabrication:
Morn MT3050D CO2 Laser Cutter
Material: 3 mm wooden sheets
3D Printing:
I exported the each of the different bodies of the slider in addition to the coupler part and inserted them in Ultimate Cura software,
for slicing I selected 0.2 profile for fine finishing, 20% infill, without adhesion or supports as they aren't needed for this design,
the slicing resulted in estimate printing duration of 97 min and 15g of material
Software used for preparing the .gcode file for the 3D printer: Ultimate Cura
Machine Used for fabrication:
PRUSA i3 MK2 3D Printer
Material: Filament PLA 1.75 mm
Mechanical Components
8mm 20 Teeth Timing Aluminum Pulley +
6mm Open Timing Belt
Linear Bearing 8mm
Paper Feeding Rolle 5mm Rod & 12mm rubber
Round Rail Linear Guide 8mm
Project Electronics & Power Management
4- Describe your electronic circuit. What are the input and action components? What is the function of each? How do the components integrate together to form your smart system? (List the softwares/tools/components...etc that you used)
Electronic Components
Arduino UNO R3
[Microcontroller Board]
Breadboard
2 A4988 – Stepper Motor Driver on Expansion Board
[controlling components for the stepper motors]
On/Off Switch
to turn on/off the machine
2 Stepper Motor NEMA 17
[action components one for controlling the cutter and another for controlling the feeder]
Key Pad 3×4 Flat
[Input component for entering the required dimension and number of cuts]
LCD 2×16 with I2C module
[output component to present the input dimension, number of cuts, remaining cuts, and status]
Push Button
[input component to start the cutting process after entering the parameters]
Wiring
I used fritzing software for wiring, I also included the connection of the the laser modules, but this step wasn't executed in the final machine design for now
5- What is your power source? How did you select the suitable power source for your project? (List the softwares/tools/components...etc that you used)
the power source used for the machine is a 9V 2A power adaptor
each stepper motor requires about 1.7A and max 12V
for the LCD the required current is about 75mA and 5V
and for both the laser transmitter and laser receiver modules the required current is about 40mA and 5V
based on these data, and since only one of the two stepper motors will operate at a time, then the required current will not exceed 2A for all components and the required voltage is between 5V and 12V, so this adaptor will be suitable
Project Programming
6- Describe the code of your project. How did you program each function of the project?
Starting by Inserting the main components that needed to install new libraries:
creating int for the pins connected to 2 stepper motors control on pins 3,4,5,6 for direction and steps
another int for the enter switch connected on pin 2 which when pressed will start executing the cutting process
Then I started to Identify the variables that will be inserted by the user as the cutting parameters (dimension, cuts) with default values of 0
And other parameters that will be calculated and used within the code for the logic sequence ( keycount)
Void Setup
I identified the pins' modes connected to the stepper motor drivers as an output, and for the push button as input pullup as it will be connected to the GND and will be normally high
inserting code to present "paper cutting machine" text on the startup on 2 lines
Void Loop
creating the main loop, when entered both motors will be off, and will enter the first custom loop "settings", then wait for the enter button to be pushed, to check for the number of inserted parameters, if more more than 2 numbers entered on the key pad a message will appear on the screen "wrong entry, press to start"
else if only 2 numbers entered on the key pad then the second custom loop "cutting" will start to execute the order
Custom Void "settings":
a message will be presented on the LCD to set dimensions and set cuts
if function will start when a number is pressed, and it value will be converted from a char to an int using the equation value = key - '0' and stored in the "dimension" int, then "keycount" value will be increased by 1
when the 2nd button is pressed it will also be converted to an int and will be stored in the "cuts" int
Custom Void "cutting":
this function will star when the user hit the start button, and only if only 2 parameter were entermeted correctly
the screen will present "Dimension : dimension value entered", and "Cuts Rem: the remaining number of cuts which is decreasing after every cut executed"
then the function distant= dimension x 100 (where 100 is half a full rotation of the stepper motor which has 200 steps for full rotation)
after that the feeding will start by operating the feeding motor according to the calculated distant using a for loop that sends a repeated signal to the motor until reaching the distant calculated,
For example if dimension = 1, then distant will equal 100, and the motor will rotate half a revolution, and for dimension = 2 the motor will rotate a full revolution, and so on for each different dimension entered, which will result in different paper dimensions according to the user input
and the cutting will start by operating the other motor for 1150 steps which I figured out sufficient for the cutter to slide to the end of the rod by trials, after that the same code will be used but after changing the motor direction to return to it's original location
and then the int cuts will be decreased by 1 after each cut done, and this process will repeat until the cuts = 0
the final step will be changing the parameters to their initial values to get ready for the following cutting
Project Integration & Testing
7- Demonstrate with text and visuals how did you integrate the project’s modules together? What are the testing results? (Include a Demo video separately, showing a proof of functionality)
Sharing & Collaboration
8- Did you ask for feedback? What are the ideas that others have contributed or suggested? What was someone else’s idea that you built upon? How did you help your peers? How did your peers help you?
One of the challenges I faced during the trials was that the cutter didn't cut smoothly through the papers, of and it resulted in jamming the papers, shredding and miss cuts, and stopped the blade from cutting, and it also resulted in a lot of noise and vibration of the cutting mechanism
I first realized that the paper holder I designed to hold the paper in place just behind the cutter blade was loose, and it couldn't hold the paper at all
after a lot of discussion and suggestions from the instructors Amany, Ibrahim, Askar, and Michael on the different possible ways to hold the paper in place, I tried using a piece of plywood that will fit exactly above the paper to hold it from jamming, the idea worked better but still didn't resulted in a perfect cuts
after help from another peer Michael, he suggested to replace the cutter blade with a new one, and helped me to find the perfect angle for cutting, finally the machine worked smoothly
Overcoming Challenges
9- When you got stuck, what/who did you turn to? At what point did you have to pause to research or learn more before moving on? What are some mistakes, pitfalls, or challenges that others can avoid if they were doing this project?
Another challenges I faced during testing the stepper motor, I connected them according to the datasheet of the drivers, and tested multiple simple codes from different resources, to just simulate a single revolution in one direction and another in the opposite direction, yet the results were very randm, as the stepper motors didn't maintain a full revolution, they would start on one angle and finish on a different one, and this also changed over multiple revolution, I also could hear strange humming sounds coming out from the motors
finally after some searching, I found out that I need to adjust the current limiting potentiometer on the driver using the multimeter until it gave 0.17V as described, and the motors started to rotate correctly and the humming sound almost gone
Future Work
10- If you had more time, what is one thing you would change/ Do next in your project?
I would add safety precaution to the machine, using laser transmitter and laser receiver modules in parallel to the cutting line to stop the cutting process when something cuts the laser
I would design of a more suitable mechanism for holding the paper in place for cutting process for a perfect result
I would design another mechanism for automatically feeding the papers