Hi, I just finished building my first CNC Foam cutter powered by an Arduino Uno and a CNC Shield V3. The Nichrome wire is manually heated up with one of those Buck converter modules that come with a potentiometer in place, which takes an input voltage of 12V from a power supply. Could you give me directions on how to make this possible? I like the idea of not having to remember to adjust the potentiometer every time before every cut, and I'd also like to experiment with the Dynamic laser power mode that supposedly would adjust the power depending on the current speed and thus improve the outcomes. Thanks
Pic of the buck module? In theory, if the pot runs on a 5V subcircuit, it would be pretty trivial to just remove the pot and send the pwm signal directly into the wiper pad. Maybe with an RC low-pass filter if the 1kHz PWM is too low a frequency for the buck sensor. If it's on a 12V circuit, it gets more complex. I guess measure across the power connections on the pot and see what it's running on?
It's this buck regulator: It has a 5-pin potentiometer with twisting limits. Since I can't find the pinout, I don't know exactly how to measure the voltages on it. There are two pins whose voltage corresponds with the converter's output voltage. When the potentiometer is turned on, the voltage starts at 1.245V and drops to 0V when the potentiometer is rotated all the way. When the potentiometer is off (it clicks), I can measure 3.3V on certain pins. Two more photos here:
Looks to me in that picture of the bottom of the board like the bottom two pins are purely mechanical, just the little metal casing tabs to hold the thing in place, which is a nice design feature at that price point. They may also ground it, but nothing super important. The wiper should typically be the center pin of the three together at the top, and provide feedback voltage to the regulator IC. Found the datasheet for the XL4016 IC (the left TO220 component in the headsink viewed from the pot): http://www.xlsemi.com/datasheet/XL4016 datasheet.pdf The most useful pages are the pin descriptions on page 2 and the function block diagram on page 3, which explains why the pot is supplying 0-1.25V to the board. The example circuit below it looks fairly similar to what you have (just without fixed resistances). How far you go from here depends on how comfortable you are with analogue electronics and hardware hacking: you need to remove the pot and wire in the PWM from the Arduino, but you may need to use an RC low-pass filter to stabilize the PWM signal into lower-voltage DC in order to do so, depends on how well behaved the op-amp is. Edit: It might be easier to use a standard power supply (though your buck driver might suffice?) and just PWM a logic-level MOSFET on the output directly into the nichrome wire.
I have IRL540N MOSFETs and I've been playing with an Arduino Nano and a variable bench power supply. When a piece of nichrome wire is directly powered with 12V, it draws about 3.8A. When using a single logic-level MOSFET with a 90% duty cycle, the same power supply is only outputting 2.3A which won't be enough to get the nichrome wire hot enough. Why is this? What I guess I'll have to do is get a 24V power supply and use several MOSFETs in parallel as well as heatsinks because at 2A the transistor is pretty hot... Does this sound reasonable? Thanks
It seems somewhat usable as a logic-level FET, judging by the datasheet. I prefer the Vgs and Rgs (and Idmax and Qg and...) characteristics of the IRL7833 for logic-level, but it shouldn't be a huge deal, I don't think. Just keep an eye on the temperature during use if you're pulling any significant current, but at reasonable currents (which I'd certainly classify 4A as) the Vds should be pretty low, keeping your power dissipation minimal. MOSFETs prefer to have as high a gate voltage as possible, just because of the way they work, but I think it'll be ok in this case. Power your buck regulator from your bench supply with common grounds and use it to put about 8V into the MOSFET gate. Every component is variable and it sounds like yours may just have a high threshold and isn't getting close to saturation with 5V from the Arduino (it is 5V, right? Not 3.3V). You're operating in the linear region between Vgs(th) and Vgs(sat), where the MOSFET doesn't turn fully on. If it's not that, I'm not entirely sure, because the numbers say it should have a resistance low enough to comfortably carry a couple hundred amps. The limiting factor should be your nichrome. Which suggests that it's the PWM, somehow, that's the issue. Does a multimeter back up your 90% setting? (ie. say 4.5V when you measure the PWM signal). Not at all, you can't put semiconductors in parallel like you can resistors and capacitors. What happens is the device with the lowest resistance at a given voltage and current (non-ohmic devices, remember) ends up taking all the power, heating up, dying rapidly, and then so on through the rest of the line. You have to just over-spec a single component. IRL7833 would be my bet- much higher current capacity, much lower drain-source resistance (ie. dissipating much less energy), and characterised to be used at 5V. I have some IRFZ77N's, which are a similar general idea (medium power, dirt cheap, low spec jellybean) to the IRF540N's and short of building a MOSFET-driver/buffer around an op-amp (which you could totally do!) it's easier to just get the higher-spec devices. Using a higher-voltage power supply isn't the worst idea though.