I have finished my Arduino based pulse width modulated (PWM) hot wire cutter controller. It allows precise USB or analog temperature control of a hot wire of length from 10cm to 2m for use with manual cutters or CNC based cutter. The PSU is extermal (battery or PSU) The 12v power is attached to the GND and + 12V terminals. The + to the hotwire is attached on the red terminal on the top. The current return thru the FET is connected to the black return terminal. An FTDI board can be attached to the Arduino thru the "programming window".
What do you think :) ?
Comments
Hi,
Nice work. Is this the most current schematic? I thought I read that you used two fets in parallel. Anyhow if you can share another pic of the updated schematic I will create the eagle schematic and do a board layout. I'll create the board on my CNC router. (I'll send you the eagle files) I've got some atmega 48P's kicking around here I can use.
I am starting my CNC foam cutter build and would like to use this for the hot wire. It would be cool to include automatic temperature adjustment and on/off.
thanks!
//
// Usage: foam wire cutter.
// Pulse width modulation of a cutting wire with PWM output
// Heat controlled by analog input (e.g. pot)
// Control the heat precisely with turning the pot
// Can be used by a car battery, NiCD battery or other power supply
// The lPin is the pin that is connected to the FET transistor
// Author: "UFO_MAN"
// Hardware: Arduino
int lPin = 9; // FET transistor (via driver) connected to digital pin 9
int analogPin = 0; // potentiometer connected to analog pin 3 (the pot meter need a voltage on the hot side and the cold side need to be connected to ground. a 5K pot will work fine.
int val = 0; // variable to store the read value
void setup()
{
pinMode(lPin, OUTPUT); // sets the pin as output
}
void loop()
{
val = analogRead(analogPin); // read the input pin
analogWrite(lPin, val / 4);
}
I haven't made a schematic but I will see what I can cook up.
The design idea is based on this:
I use the PWM output from the Arduino to control the duty cycle of the current in the wire (the ratio of on-time to off-time).
I don't like to worh with digital up / down button style controls as it takes too much time to step up and down with several clicks. I wanted a turning button. Therefore, an analog input was desired. I use a potentiometer to derive a variable voltage from 0-5V that is sent to the A/D input of the Arduino. The software uses this value to control the PWM counter.
The outputs from the Arduino can't sink or source nearly as much current as we need and it will not handle the voltages we need to get a reasonable dynamic range either, so we need to help it. This is done by running the current thru a FET transistor that acts as a fast on/off switch. This particular design was something I used to experiment with generating a ultrasound drive signal thru a transformer, so it is probably a little overkill. But hey, I had it laying around in my junkbox. In front of the FET it is a driver that takes care of the capacitive effect you see on FET gates (the gate needs to be "filled with electrons" and "emptied for electrons" fast to be able to switch on and off fast enough).
The software is very simple.
1) Read the A/D
2) Set the PWM
3) Go back to 1
I did work on a serial interface as well to be able to control the current from the PC thru a FTDI board.
The cabinet is something I had from another project. I just drilled a few holes in it. Nice eh... well.
Som vi sier i gamlelandet,
Keep up the good work!
73
"man skal ikke drikke å bygge samtidig" ( dont drink and build /in norwegian)..