Introduction
Design and build a small-scale injection molding machine capable of producing plastic parts from custom aluminum molds. This comprehensive guide covers everything from design through implementation, testing, and deployment.
Design and build a small-scale injection molding machine capable of producing plastic parts from custom aluminum molds.
Design and build a small-scale injection molding machine capable of producing plastic parts from custom aluminum molds. This comprehensive guide covers everything from design through implementation, testing, and deployment.
Process cycle: (1) Mold close (clamping force holds mold shut against injection pressure). (2) Inject (molten plastic forced into mold at high pressure, 500–1500 bar). (3) Hold/Pack (maintain pressure while plastic solidifies to prevent sink marks). (4) Cool (plastic cools below ejection temperature — typically 10–20°C below HDT). (5) Open and eject (mold opens, ejector pins push part out). Cycle time: 15–60 seconds for small parts. Clamping force: F = injection pressure × projected part area.
10 components required for this project.
| # | Component | Purpose | Qty |
|---|---|---|---|
| 1 | Hydraulic cylinder (40mm bore, 150mm stroke) | Injection force delivery | x1 |
| 2 | Hydraulic power unit (0.75kW, 10 bar) | Hydraulic pressure source | x1 |
| 3 | Barrel and screw assembly (20mm dia) | Plastic melting and injection | x1 |
| 4 | Band heaters × 3 (200W each) | Barrel heating zones | x3 |
| 5 | Aluminum mold (custom machined) | Part geometry defining tool | x1 |
| 6 | Mold clamping mechanism (toggle or hydraulic) | Keeping mold closed under injection pressure | x1 |
| 7 | Temperature controllers (PID, K-type) | Barrel zone temperature regulation | x3 |
| 8 | Linear potentiometer | Shot size and injection position | x1 |
| 9 | PLC (Arduino Mega + relay board) | Machine sequence control | x1 |
| 10 | Granular LDPE / PP / ABS plastic | Molding materials | x2kg |
Follow these 4 steps carefully.
Process cycle: (1) Mold close (clamping force holds mold shut against injection pressure). (2) Inject (molten plastic forced into mold at high pressure, 500–1500 bar). (3) Hold/Pack (maintain pressure while plastic solidifies to prevent sink marks). (4) Cool (plastic cools below ejection temperature — typically 10–20°C below HDT). (5) Open and eject (mold opens, ejector pins push part out). Cycle time: 15–60 seconds for small parts. Clamping force: F = injection pressure × projected part area.
Barrel: 20mm ID steel tube with L/D ratio = 15:1 (300mm long). Three heating zones from feed to nozzle: Zone 1 (50–70% of melting temperature — first contact), Zone 2 (melting zone, 80–95% of melt temp), Zone 3 (nozzle, full melt temp). Temperatures for common plastics: PP (210–240°C), ABS (220–260°C), LDPE (180–230°C), PLA (185–205°C). Screw: compression ratio 2.5:1–3:1. Feed zone (deep flights), transition zone (decreasing depth), metering zone (shallow, uniform — ensures consistent melt homogeneity).
Mold components: A-side (stationary, connects to barrel), B-side (moving, contains ejector pins). Parting line: where A and B meet (affects part appearance and flash). Runner system: channels from sprue (entry point) to gate (entry into cavity). Gate types: edge gate (visible on part edge), submarine gate (hidden, breaks off automatically on ejection), hot runner (eliminates runner scrap — expensive). Draft angle: 1–3° on all surfaces perpendicular to parting line — allows part ejection without sticking.
Prototype molds in 6061 aluminum (faster machining than steel, sufficient for < 1000 cycles). Machine on CNC: rough with 8mm end mill, finish with 4mm end mill at 0.1mm step-over for Ra < 1.6µm. Polish with sandpaper progression: 400 → 600 → 1000 → 2000 grit, then diamond paste (for optical quality surfaces). Add ejector pin holes (3mm dia) at deepest points of cavity. Cooling channels: drill ∅6mm channels through mold within 12mm of cavity surface — critical for fast cycle time.
Core code for injection_controller.ino:
// Injection Molding Machine PLC Controller // State machine for injection molding cycle enum State { IDLE, MOLD_CLOSE, INJECT, HOLD, COOL, MOLD_OPEN, EJECT }; State machine_state = IDLE; unsigned long state_start; // Parameters const int INJECT_TIME_MS = 2000; const int HOLD_TIME_MS = 3000; const int COOL_TIME_MS = 15000; const int INJECT_PWM = 200; // Injection speed (0-255) // Outputs #define MOLD_CLOSE_SOL 4 #define MOLD_OPEN_SOL 5 #define INJECT_SOL 6 #define EJECT_SOL 7 // Temperature PID (simplified) float target_temp_C = 210; // PP melt temperature float barrel_temp; float Kp_heat = 50; void updateHeater() { barrel_temp = readThermocouple(); // Read K-type thermocouple float error = target_temp_C - barrel_temp; int pwm = constrain(error * Kp_heat, 0, 255); analogWrite(8, pwm); // Heater SSR } void loop() { updateHeater(); switch(machine_state) { case IDLE: if(digitalRead(2)) { // Start button pressed and barrel at temp if(abs(barrel_temp - target_temp_C) < 5) { digitalWrite(MOLD_CLOSE_SOL, HIGH); state_start = millis(); machine_state = MOLD_CLOSE; } } break; case MOLD_CLOSE: if(millis()-state_start > 2000) { // Mold closed digitalWrite(MOLD_CLOSE_SOL, LOW); analogWrite(INJECT_SOL, INJECT_PWM); state_start = millis(); machine_state = INJECT; } break; case INJECT: if(millis()-state_start > INJECT_TIME_MS) { analogWrite(INJECT_SOL, 80); // Reduce to hold pressure state_start = millis(); machine_state = HOLD; } break; case HOLD: if(millis()-state_start > HOLD_TIME_MS) { analogWrite(INJECT_SOL, 0); state_start = millis(); machine_state = COOL; } break; case COOL: if(millis()-state_start > COOL_TIME_MS) { digitalWrite(MOLD_OPEN_SOL, HIGH); state_start = millis(); machine_state = MOLD_OPEN; } break; case MOLD_OPEN: if(millis()-state_start > 2000) { digitalWrite(MOLD_OPEN_SOL, LOW); digitalWrite(EJECT_SOL, HIGH); delay(500); digitalWrite(EJECT_SOL, LOW); machine_state = IDLE; } break; } }
Test Small Injection Molding Machine by verifying each subsystem individually before full integration.
Verify power voltages, check ground connections, use serial monitor for debug.
An interactive simulator will be available here — simulate circuits and run code in-browser without hardware.