Skip to toolbar
Hot wire cutter from scraps

Hot wire cutter from scraps

Supported by (Turn Off)

Trying it out

Tutoring 6
Skill 6
Idea 6
No Comments

All in all, I’m quite pleased with how the project went. Originally planned as a one-day build, it spilled over two days (to give the PVA glue plenty of time to dry inbetween build steps). But as a quick-and-dirty styrofoam cutter, it works surprisingly well.

 

Trying it out

Setting the fence at 2mm from the wire, I managed to cut some pleasingly accurate strips of styrofoam. All in all, I’m calling this one done…. and a resounding success!

 

Should anyone be crazy enough to want to follow along, here’s the source code for the Arduino (I used a Pro Mini but it should work on any)

#include <LiquidCrystal.h> // includes the LiquidCrystal Library
LiquidCrystal lcd(5, 4, 6, 7, 8, 9); // Parameters: (rs, enable, d4, d5, d6, d7)

int power = 50; // the current power value as a percentage
int last_power = 100; // last power value (to help reduce flicker)

int power_pin = A0; // potentiometer power input
int fet_pin = 3; // gate on FET to control voltage through hot wire

int val = 0;
int read_count = 0;
int b;

void setup() {
lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display }
lcd.noCursor(); // Hides the LCD cursor
lcd.clear(); // Clears the LCD screen

lcd.print(“Hot wire cutter”);
lcd.setCursor(0, 1);
lcd.print(“Power: “);

pinMode(power_pin, INPUT);
pinMode(fet_pin, OUTPUT);
}

void loop() {

val = analogRead(power_pin);
val = val >> 3; // (this reduces tiny fluctations in the A2D)
power = map(val, 0, 127, 0, 100);

// if the analogue read is right on a boundary between
// two values, only update the power display if the
// value has changed for a consistent length of time
// (any flicker should get filtered out)
if (power != last_power) {
read_count++;
delay(5);
if (read_count > 5) {
showPower();
updatePWM();
last_power = power;
}
} else {
read_count = 0;
}
}

void showPower() {

// this just draws the current power rating onto the LCD
lcd.setCursor(7, 1);
if (power < 100) {
lcd.print(” “);
}
if (power < 10) {
lcd.print(” “);
}
lcd.print(power);
lcd.print(“%”);
}

void updatePWM() {
// our hot wire is simply connected between +ve and -ve
// through a 5A FET. By flickering the FET on and off
// we can simulate a range of voltage/power
b = map(power, 0, 100, 0, 255);
analogWrite(fet_pin, b);
}

(click the link above for 100% scaled PDF)

The purple-y coloured pieces are to be cut from 6mm thick mdf/plywood.

The yellow-y pieces from 3mm mdf/plywood

The green piece is the fence rail, cut from 2mm mdf.

Trying it out

Supported by (Turn Off)

Leave a Reply

Supported by (Turn Off)