A. Final Project¶
Slide
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
Video
What does it do?¶
I made the machine that makes the artworks automatically by dropping the liquid colored inks on the paper. I called it, Geodrop. The Drop position is controlled by using CoreXY platform which is the slider mechanism applying to 3D printer and Pen Plotter.
Because I’d like to confirm that the machine works simply, I’ve programed to control to start and stop dropping the colored ink. The end effector doesn’t move.
But if you’d like, you can customize its function by programming, driving the stepper motor, and changing the speed of DC motor pump.
Who’s done what beforehand?¶
Drawing Machine is also the drawing machine that draws the abstract artwork by using stepping motors. And Pen Plotter uses the same positioning technique, using CoreXY system. But I’ve never seen the example of applying the GPS data-based controlling system to those machine and it’s also one of the outstanding features for Geodrop.
Links - the outcomes that someone achieved beforehand
Drawing Machine
Pen Plotter
What did you design?¶
Firstly, here are all systems which I made for my final project:
Table / End Effector / CoreXY system / Computing Board / Programming / Logo
Design by Fusion360
Systems | Parts | Materials | Process | Week | Data Files |
---|---|---|---|---|---|
Table | All parts without a drawer | Veneer Plywood | CNC Router | Computer Controlled Machine | Parts_Table.f3z Week7_1.dxf Week7_2.dxf |
Drawer | MDF | Laser Cutting | Computer Controlled Cutting | Drawer.dxf | |
End Effector | Support parts | Plastic | 3D Printer | 3D Scanning and Printing | Pump Holder.stl Pump_Holder.f3d |
CoreXY System | Outer frame | MDF | Laser Cutting | Computer Controlled Cutting | Frame_Side.dxf Frame_Top.dxf Outframe.f3d |
Support parts | Plastic | 3D Printer | 3D Scanning and Printing | Corner1.stl Corner1.f3d Corner2.stl Corner2.f3d Y Parts.stl Y Parts.f3d |
|
Computing Board | Main Board and others | Cupper Board | SRM-20 | Electronics Input Output |
Main: Line.rml, Out.rml, Main.sch, Main.brd Power Supply: Line.rml, Out.rml, PS.sch, PS.brd Motor Driver: Line.rml, Out.rml, MD.sch, MD.brd |
Programming | Program to control DC motor pump | Arduino IDE | - | Embedded Programming | Code - Light Sensor.ino |
Logo | All parts | Seal paper | Vinyl Cutting | Computer Controlled Cutting | Week3.ai Week3.svg |
Computing Boards
① Motor Driver Module
To drive a DC motor pump and two stepper motors(BoM).
② Main Boards
To control motors(BoM).
③ Power Supply Module
To supply the power to the main board(BoM).
2020/10/21 Added the diagram of board connection
See the below diagram. Power supply board (PSB) supplies Vcc 12V and Vpullup 5V of Motor Driver Modules (MDMs) and I/O Pins of Satshakit are connected with MDMs to control I/O pins of MDMs with High and Low. Light sensor are connected with Satshakit and send the sensing data to Shatshakit.
2020/10/21 Added the appearance of my final product
Here is the appearance of my final product.
I’m surprised that it’s almost the same as the 3D design drawn by Fusion 360.
Core XY system are shown. Next time, I’d like to make a design considered the position of a tube.
Actually I was not considering where the light sensor should be put. So temporarily it is fitted with the shaft part of CoreXY…
2020/11/24 Put the light sensor on the table
To sense the light by the light sensor, the light sensor has to be put outside of the drawer. So to take the light sensor out of the drawer, I made a hole at the back of the drawer.
And then, I pulled around the light sensor and put it on the front of the drawer. The back surface of the light sensor is fixed by a tape.
2020/10/26 Programming
I’ll explain the programming code to control a DC motor pump according to the sensing value from the light sensor.
The code is below;
const int DriverA_1 = 14;
const int DriverA_2 = 15;
const int plus_sensor = 2;
const int sense_sensor = A2;
const int minus_sensor = 4;
//const int DriverB_1 = 10;
//const int DriverB_2 = 11;
char key;
char S = 's';
char B = 'b';
char C = 'c';
int value = 0;
int threshold = 100;
void setup() {
pinMode(DriverA_1, OUTPUT);
pinMode(DriverA_2, OUTPUT);
pinMode(plus_sensor, OUTPUT);
pinMode(sense_sensor, INPUT);
pinMode(minus_sensor, OUTPUT);
digitalWrite(plus_sensor, HIGH);
digitalWrite(minus_sensor, LOW);
//pinMode(DriverB_1, OUTPUT);
//pinMode(DriverB_2, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
key = Serial.read();
if(key == S){
Serial.print("Start!");
Serial.println("");
while (Serial.read()) {
value = analogRead(sense_sensor);
Serial.println(value);
if (value < threshold){
motor(HIGH, LOW, 150);
} else {
motor(HIGH, LOW, 10);
}
}
} else if (key == B){
Serial.print("Back!");
Serial.println("");
motor(LOW, HIGH, 3000);
} else if (key == C){
Serial.print("Stop!");
Serial.println("");
motor(LOW, LOW, 3000);
}
}
}
void motor(int a1, int a2, int d){
digitalWrite(DriverA_1, a1);
digitalWrite(DriverA_2, a2);
delay(d);
digitalWrite(DriverA_1, a2);
digitalWrite(DriverA_2, a2);
delay(d);
}
When the value given from the sensor is higher than the threshold value (= 100 in above code), the motor pump drives quickly whereas it is lower than the threshold value, the pump drives intermittently.
So the speed of the motor could be changed with the value from the sensor.
Click the below link to the video!
Video1 - Drive a motor without Ink
I also tried drive the motor with blue ink.
Video2 - Drive a motor with Ink
What materials and components were used?¶
End Effector
Parts | Spec. | Buy or Make | Cost (JPY) | Amount (PCS) | Total Cost (JPY) |
---|---|---|---|---|---|
Syringe support parts | Plastic by 3D printing | Make | - | 1 | - |
Colored liquid ink | Watercolors 12 colors |
Buy | 645 | 1 | 645 |
645 |
CoreXY System
Parts | Spec. | Buy or Make | Cost (JPY) | Amount (PCS) | Total Cost (JPY) |
---|---|---|---|---|---|
Stepper motor | NEMA-17 | Buy | 2883 | 2 | 5766 |
Shaft | SUJ2 φ 4.0 x 400 mm |
Buy | 1390 | 4 | 5560 |
Timing belt pulley | φ 5 mm, 16 Gears | Buy | 135.8 | 10 | 1358 |
Linear Bush | LM-8UU φ 8 mm, H = 24 mm |
Buy | 279 | 8 | 2232 |
Collar | φ 5 mm, L = 5mm | Buy | 86 | 10 | 860 |
Belt | 3m | Buy | 1260 | 1 | 1260 |
Screw | M3 x 40 15 pcs |
Buy | 549 | 1 | 549 |
Nut | M3 110 pcs |
Buy | 429 | 1 | 429 |
Washer | M3 34 pcs |
Buy | 399 | 1 | 399 |
Spring Washer | M3 610 pcs |
Buy | 419 | 1 | 419 |
Support parts at side slider | Plastic | Make 3D printing |
- | 2 | - |
Support parts at corner | Plastic | Make 3D printing |
- | 4 | - |
Outer frame | MDF | Make Laser cutting |
150 | 3 | 450 |
19282 |
Computing Board
Systems | Parts | Buy or Make | Cost (JPY) | Amount (PCS) | Total Cost (JPY) | BoM |
---|---|---|---|---|---|---|
Main Controller | Satshakit cnc | Make cnc |
1826 | 1 | 1826 | MB.csv |
Power Supply Modules | Make cnc |
499 | 1 | 499 | PS.csv | |
Motor driver modules | Make cnc |
1556 | 3 | 4668 | MDM.csv | |
6993 |
Table
System | Parts | Spec. | Buy or Make | Cost (JPY) | Amount (PCS) | Total Cost (JPY) |
---|---|---|---|---|---|---|
Table | Veneer Plywood | Processed by CNC Router | Buy | 3000 | 2 | 6000 |
Top board | Make | 1 | ||||
Leg1 | Make | 2 | ||||
Leg2 | Make | 2 | ||||
Circle_Handling | Make | 2 | ||||
Circle_Support | Make | 2 | ||||
Pole_Handling | Make | 2 | ||||
Pole_Support | Make | 2 | ||||
Pole_Rolling | Make | 2 | ||||
Support Part | Make | 2 | ||||
Support Block | Make | 4 | ||||
Drawer | MDF | Make Laser cutting |
150 | 1 | 150 | |
6150 |
Logo
Systems | Parts | Spec. | Buy or Make | Cost (JPY) | Amount (PCS) | Total Cost (JPY) |
---|---|---|---|---|---|---|
Logo seal | Processed by Vinyl Cutting | Make | 1 | |||
Seal paper | 100 x 50cm | Buy | 540 | 1 | 540 | |
Laminator | 100 x 50cm | Buy | 540 | 1 | 540 | |
1080 |
Total Cost = 27157 yen
Mmh, too much cost…
*Exchange rate: 1 USD = 108.620 JPY (2020/4/3 23:44 Ref.)
Where did they come from?¶
Please see What materials and components will be used? part.
How much did they cost?¶
Please see What materials and components will be used? part.
What parts and systems were made?¶
Please see What will you design? part.
What processes were used?¶
Please see What materials and components will be used? part.
What questions were answered?¶
Q. Did you make a pump to extrude the ink by 3D printing?
A. No. I bought DC motor pump due to the time saving.
How was it evaluated?¶
- What percentage did I complete to make my final project?
WiFi Communication: 0 %
I wanted to add the WiFi function to the machine, but I couldn’t because I had no time to do that. As I talked to my instructor, I decided to focus on finishing making a table first.
Data Conversion: 0 %
I planed to convert GPS data to XY coordinate data, but I couldn’t due to the same reason as WiFi communication.
Output control (CoreXY, Pump): 30 %
The pump could be worked properly. But the coreXY doesn’t work because the program that I was tried to use is for the other motor driver.
For the next step, I’d like to work coreXY platform by revising and embedding a program.
Table: 100 %
Completed to make a table. For the next step, I’d like to design the deferent shape of the legs of the table. They would be unique ones!
- Beauty of appearance of my final project
The appearance of the ink drop machine was very good. Table’s appearance was perfect. I was impressed that it’s completely the same with its 3D design made on the computer. The drawer on the table has the functional design thanks to the idea of all the instructors and students in Kamakura.
But the design of core XY need to improve more because the rail shafts should be covered and hidden by the materials made by wood like MDF. I wanted to harmonize the design of core XY with that of the table.
What worked? What didn’t?¶
The machine can only extrude the ink and control its amount by clicking ‘s’ (means to start extruding) and ‘f’ (finish extruding) on the keyboard, but don’t move around the extruder. WiFi communication also does not work.
In the future, I’d like to sense the GPS data like longitude and latitude by the other devices like smartphone and send it to this ink drop machine, and draw the artworks based on the geometrical data by using this machine.
What are the implications?¶
As an pen plotter is used by the artist to make an art, this machine would collaborate with the artist. Its artwork would be more generative, complex, random like the abstract art and the generative art.
- What if WiFi connection could be added?
People around the world could participate to make an artwork. It needs to think the application which they can take part in.