# Heating a steel pipe with arduino

Hello everybody,

I'm new to the forum and in the world of electronics, so please excuse any mistakes I might make, I'm trying to learn :). I am faced with the problem of having to heat a stainless steel pipe, 18 AWG and 2 cm long, to a desired temperature (typically it will be 220ºC) and maintain it at that temperature for approximately many hours (it might have to be even a whole day). The final idea of the project is that the Arduino receives a temperature via WiFi (the reception frequency can be adjustable but in principle, it would receive an input every minute but the temperature shouldn't change) and it heats the pipe using a function that relates the voltage on the heating wire and the temperature of the pipe (which I intend to obtain manually).

As resistor wire I have 30AWG (10-15 cm) nichrome wire which I intend to wind around the tube (so that the metal of the tube and the wire are not in contact, I intend to put kapton between them). What I am trying to do now is to make a circuit that using Arduino can control the voltage that arrives to the wire and, using a thermocouple, measure the real temperature of the pipe to be able to relate the voltage in the wire with the temperature in the pipe.
I have been reading a lot about how to do this and have done some calculations with what I have learned. I have found that 12V and 1A should be enough to heat the wire much more than I need. But since the Arduino can't supply that, I would need a MOSFET. So here comes my doubt that I have not been able to answer with what I have read. Could a MOSFET last that many hours, let's say 1 day, without melting down working with that voltage? And, would it be enough to connect a MOSFET between Arduino and the wire or would it be better to use an external 12V power supply and use Arduino as a controller of the voltage that reaches the wire?

Sorry if I've said something stupid, but it's my first time doing this.

Many thanks to all!!

Will the kapton survive being held at 220C for many hours? IDK, I never work with the stuff. If so, that's fine.

It's not a good idea to make a control loop that runs over WiFi or any other radio connection. What's the wireless part intended for?
A more sensible approach is to have a controller in the vicinity of the heated pipe. Use a thermocouple to determine the temperature of the pipe. Use whatever power control you desire to heat the nichrome wire. Use something like a PID to control temperature. (Google "Arduino PID")

If you want something wireless/WiFi, use an ESP32-based Arduino so that it can send temperature data to e.g. a website, over bluetooth to a phone, etc. You can then monitor the recorded temperature remotely. As said, don't include the WiFi connection into your temperature control loop; it's asking for trouble and there's virtually no imaginable scenario where this would make sense.

Sure. Just pick a logic level MOSFET that will have a low Rds(on) ('resistance') when turned on. You can have the Arduino modulate the MOSFET with a PWM signal to get accurate temperature control. Or just do bang-bang control of course. 1A current is well within the range of many, many MOSFETs.

You need a 12V power supply. The Arduino cannot supply power at 12V and definitely not 12W regardless of what magic you throw at it. So pick any old 12V power supply (even a discarded computer ATX power supply will do) that can source the current you need. If all you need is 1A, then even a wall-wart supply that gives 12VDC at 2A or so will work fine. Don't pick a unit that is only rated for 1A. It's fine to draw less current from a supply that's rated for a higher current.

You wire the MOSFET to the Arduino as a low-side switch like so:

R1 is optional. D1 is likely not needed in your application, but add it anyway; it costs next to nothing. The same is true for R2.

The rating of your MOSFET should be something like >=20V Vds and Rds(on) < 0.1 Ohm. Make sure it's a logic level type, i.e. that it will achieve the low Rds(on) with a 5V input signal at its gate.

Not stupid at all; good questions and good preparation on your part.

Besides an Arduio of you choice, this is all you need:

Use a 5V 5A supply for the Nichrome wire, not 12V

Control the heat using PWM

To drive this 'heating wire' you can also use 'motor driver' ( which are ready made and dissipated an can be used with pwm too ), you may also use a 'photo mosfet' ( which you may find of any power, but here we are talking of about 12W... not necessary ).
Clearly you need and adequate power supply, you could use the same power supply to power the 'generic arduino' you are referring to ( maybe a stepdown controller is requested, depending on which arduino ), or you may use two different power supply (should not be needed )
The 'temperture controller software' will take care of controlling the power of the heating element ( using the feed back of the termocouple ), no problem for this.
Wondering only how 12W of power can heat this piece of tube to 220°C?
Is the tube somehow insulated? Did you test it? How long does it take to heat to 220°C ( if this is important )?

Thank you so much for your answer, rsmls.

Will the kapton survive being held at 220C for many hours? IDK, I never work with the stuff. If so, that's fine.

The kapton should work well if the temperature is always below 400C, theoretically, regardless of how long it is heated (I hope so).

What's the wireless part intended for?

I want this tube to heat up to the same temperature as a 3d printer. So, I can retrieve the actual temperature of the nozzle with a raspberry and pass it to the Arduino by WiFi. Another option is to remove this part and manually adjust the temperature so no wifi would be necessary. But I wanted to automate it.

You wire the MOSFET to the Arduino as a low-side switch like so:

Thank you so much for this image, I really appreciate it.

The rating of your MOSFET should be something like >=20V Vds and Rds(on) < 0.1 Ohm.

Perfect. I'll keep that in mind.

Thank you for your help

OK, so on a 3D printer, distances are inherently limited so you can easily use a wired connection for your data transfer. You'd need power anyway, wouldn't you? So there's wires running all over the place in any case.

As I understand it, you want to set the pipe/device temperature remotely. You can use whatever interface you like for that; if it needs be WiFi, sure, go ahead, but it's needlessly complicated IMO. I'd just use something like UART/serial; takes 3 wires to connect between your Pi and the controller Arduino (2 wires if you only need unidirectional communication, but I'd go for 3 so you can have the Arduino confirm back to the Pi what's going on). Route the wires along the gantry of the 3D printer just like the cables to the print head.

However...

...if you have a Pi running there anyway, why not use that to control the temperature? Use the components suggested to you in #3 by @jim-p. Add a simple ADS1115 ADC to the list. Hook up the thermocouple interface to the ADC. Interface the ADC with your Pi. Have the Pi control the MOSFET. No Arduino needed. Wire the whole thing up as desired. Again, it's a 3D printer, so you can route wires wherever you need to go.

KISS. Don't use multiple controllers if you can get by with just one.

Thank you so much for your help Jim,

I really like the Dual MOSFET you shared but I was thinking to use an RTD PT100 (
RTD PT100 Thin Tiny Mini Film Type Class A Temperature Sensors probe M) to track the temperature because the diameter of the pipe is about 1 mm and a K type thermocouple wouldn't work with something so small. I'll still need an amplifier so I though this would be a a good option MAX31865 PT100/PT1000 RTD-to-Digital Converter Board Temperature Thermocouple Sensor Amplifier Module 3.3V/5V.

Use a 5V 5A supply for the Nichrome wire, not 12V

Do you suggest it because of the MOSFET model you have shared?

Thank you for your help Jim

I'd just use something like UART/serial;

Definitely, that would definitely be easier than using a remote connection. I didn't go into that because it's still a future problem and I didn't know that could be done. The wifi connection was the first thing that came to my mind. But I will keep it in mind, it really helps.

if you have a Pi running there anyway, why not use that to control the temperature?

I read on forums that that kind of electronic stuff is better to be done with an Arduino than a Pi. If this can be done with just the Pi it would certainly be better to simplify everything.

It affects your controller choice though. If you're OK with wired UART, you can use something like a ProMicro. For WiFi, you'd have to use something like an ESP. Different animal.

Yeah, I'd just use the Pi. An Arduino is to a Pi a bit like a bicycle is to a motorcycle. In very narrow city streets, it can be more convenient to have a lightweight bicycle, but the motorcycle will go through anyway. And in the end it's still a whole lot simpler to just drive the motorcycle you've got for the highway without also carrying an additional bicycle on your back for the narrow streets...

No.
You will use PWM to control the current through the wire. 5V will give you bettor control of the current, since it will allow you to use a wider PWM range.
For example if the wire resistance is 2.5 ohms, a 5V PWM signal with a 50% duty will give you an average of 1A.

But 5V would be enough to heat the wire? Because that would be only 5W.

Lets back up to the beginning! Why are you mixing American pipe units, AWG, with Metric units, cm?
If your pipe is 2 cm long, how are you mounting it and how will the mounting survive the temperature?
How will you be able to control the expansion of the nichrome wire as you heat it? It will become loosely wound while heated.

Then it seems that I need to learn to use the Pi . But I understand that the circuit and the logic will be the same in Pi right? I read that the volts and amps are similar to the Arduino's.

Hi Paul,

Why are you mixing American pipe units, AWG, with Metric units, cm?

You are right, I mixed the wire's nomenclature with the pipe's. I'd like to say 18 gauges. The pipe is a kind of syringe needle. (not that in the image it is just an example)

If your pipe is 2 cm long, how are you mounting it and how will the mounting survive the temperature?

I have a stainless steel adapter to which the pipe is attached so there is no problem with temperature.

How will you be able to control the expansion of the nichrome wire as you heat it? It will become loosely wound while heated.

As my idea is to heat it up until 300C we can assume it won't expand

5W would be at 50% duty cycle and for that resistance.

Check the real resistance, in the datasheet/specs, or measure it.
Then the power will be: V² / R and reduced by the duty cycle.
So 25/R maximum, at 100% duty cycle.

Test your theories and expectations on a (more) fundamental level first.

1 Like

Thank you for your response David,

Wondering only how 12W of power can heat this piece of tube to 220°C?
Is the tube somehow insulated? Did you test it? How long does it take to heat to 220°C ( if this is important )?

Nicrome gets very hot with low watts. In theory, I could heat it up but I have to test it. I am currently trying to design the circuit and logic but everything about the power may change. But if I already have the circuit designed I would just have to change components to get other wattage values.

The tube will be “isolated” from the air by the kapton but not integrally. And the time to get this temperature I hope it will be short. Keep in mind that a 18 gauge pipe has an external diamer of 1.27 mm and an inner diameter of 0.838 mm. So the wall thickness is 0.216 mm

Have you computed the length of nichrome wire needed to make the resistance needed to heat to the required temperature. How will you keep the wire wrapped around the pipe and not shorting turn to turn?

Have you computed the length of nichrome wire needed to make the resistance needed to heat to the required temperature.

Yes I have, with the power supply suggested by Jim I'd need about 4 cm of wire. That it might be better than the 26cm need that I calculated with my suggested power supply. I made a mistake in my calculations before and it seems that I need about 17W to warm it up. The problem is that all my calculations are made without taking into account the kapton I'd use between the wire and the pipe. I don't know how to calculate with the kapton.

How will you keep the wire wrapped around the pipe and not shorting turn to turn?

I was wondering to put kapton in between the wire and the pipe to avoid metal contact. I need something that is stable with the temperature and I found that kapton was a good option.

But that does not keep adjacent turns of nichrome wire from touching each other. The wire will expand when heated and will loosen on your pipe.