Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Heating Jacket controlled by Arduino for Winter

Status
Not open for further replies.

cmore082

New Member
Hi, I am working on a school project. I am looking towards building a heating jacket for winter (it gets really cold in Ottawa, Canada). I am doing this for my electronics class. Currently I am looking on having 3 heating elements that have roughly a maximum load of 10 V and 2 A each. I would like to use a dc-dc buck booster as a voltage regulator/voltage booster. It would impress my professor if I am able to digitally control the voltage with a micro controller. This is where I am struggling the most. I am hoping to digitally control a buck booster in order to change temperature.

Thank you
 
Hi,
Were you thinking a particular microcontroller?, an arduino is a good place to start if not.
Are you thinking a boost/buck, a buck or boost converter they are all diffrent.
If you use a converter ic or module that can be shut down, and most usually can be, you could use very slow pwm to control the heat power and apply this to the shutdown input, maybe 1 hz or less, it wouldnt be particularly hard to implement with an arduino and a pot for power level setting, maybe you could also monitor the battery voltage and shut down when discharged.
 
Hi Dr pepper,

Thanks a lot for your help, I value your time. Since I am familiar with arduino, I thought I would use it. Do you know of anything better suited for this project?
Also, from what I understand of PWM is that we provide power through duty cycles. How does setting up the frequency affect power delivered to the circuit?

Thank you!
 
The only issue with the Arduino is managing power. (e.g. going to sleep) I don't think it's great at it.

The TI MSP430 is a low power device. Your going to have to balance time and understanding. Doing it with the Arduino may well provide a "proof of concept", but I would not "struggle" with an archetecture you don't understand. Your write-up can basically explain that this is a proof of concept design that has these (list) issues and that (X) may be better suited because of (Y).

So, a fixed buck boost converter with a low battery shut-down might be the way to go because in order to increase power you need the highest voltage.

Define the project a bit better:
Real temperature? Low med, High; Variable;
Overtemperature?;
Failsafes?;
Battery Lifetime?
Battery Gas guage?
Battery pack: (e.g. Belt worn)
PID control?
User Interface?

Frequency really doesn't impact power, but it impacts other things.
bang bang (ON/OFF) control would not be good.
A frequency of 0.1 Hz, probably would not be good.

Greater than audio (>20 Khz) is your biggest creiteria. You don't want to hear it.

The higher the frequency the smaller the parts.
The higher the frequency the more difficult to layout.
The higher the frequency RFI becomes a problem.

I would not pick the AM radio band. Industrial frequencies are always good.

So, think of some specifications. This of all specifications if you had infinite resources. Implement what you need with "hooks" to future options.
e.g. 0-100% potentiometer; PID; buck-boost with shutdown
Low battery indicator (Voltage) (Upgrade path--> Battery gas gauge with display in % capacity and later in hours at current output or
A display could be a bar graph.
How do you enter PID? (Serial interface, USB, LCD, fixed)
There's noting wrong with learning on a platform with a large amount of resources and then picking one that has what you need.

Pick something you can do in the allotted time. Design the Mercedes (block diagram anyway), but build the Yugo initially.
 
Your welcome.
And actually no, the arduino is perfect for this, there is a wearable version called the lily pad.
Frequency of pullse width is chosen for various reasons, if you were controlling the speed of a motor the freq would need to be high enough so that the pulses wouldnt generate much vibration or audible noise.
For a heated jacket the amount of heat released would be quite slow over time, image a lightbulb if you swittched it on and off at 1 times per second you'd see it flash, just like a car inidcator, if you switched it on and off at 50 times per second you wouldnt see it flash, the duty cycle would then be perceived as a change in brightness, because the heater will release heat fairly slowly running at 1hz probably would be ok, unless the heater has a really low mass.
Another reason for such low freq is if your using a shutdown pin on a smps controller then theres a practical limit freq wise you can go to, it depends on the smps chip used, but a low freq of a few hz isnt difficult to design for.
I'm an industrial maintenance technician, I come across pwm at low freq's of 1hz or even less .01hz on some heating systems, this enables manufacts of the equipment to use simple low cost and easily maintainable mechanical switchgear.
I dont mean to argue with kiss however to be specific a switch freq >20khz is true you wont hear that, however the same is true for <20hz!, the heater in my office runs at 50hz I never hear that.
 
Last edited:
Yep of course, in order to keep the choke small and sound inaudible you need higher freq's.
I misunderstood, my bad.
 
Hi, I am working on a school project. I am looking towards building a heating jacket for winter (it gets really cold in Ottawa, Canada). I am doing this for my electronics class. Currently I am looking on having 3 heating elements that have roughly a maximum load of 10 V and 2 A each. I would like to use a dc-dc buck booster as a voltage regulator/voltage booster. It would impress my professor if I am able to digitally control the voltage with a micro controller. This is where I am struggling the most. I am hoping to digitally control a buck booster in order to change temperature.

Thank you

Hi,

With the Arduino Nano you will get up and running in no time. It's small too.

For the converter though you should find one that has a variable reference voltage input, or something similar to that. If you could control the converter with a voltage then it is super simple to control it with an Arduino using one of the PWM outputs and a small RC filter.

What causes a converter to regulate the voltage output is the reference voltage and the feedback voltage. Fooling around with the feedback is much more troublesome than simply changing the reference voltage. For a reasonable change in reference you can get a wide range of output voltages and thus power to the heating elements.

It is probably better to use a ready made converter than make one yourself, but if you get the right chip you can do it yourself too.
 
Hi guys, thanks a lot for the great input. It helps a lot. I thought about a circuit design as in the attached picture. Each element (resistor) requires 3V and 1.5 A to function at a temperature of around 60 celsius. I thought it was best to have 3 groups in parallel, and each group has elements in series (pictured attached). Would this be a good so if a group fails, others can continue functioning. What do you guys think?

-It would be great for the choice of variable temperature control. I thought it would be simple to implement MOSFETs to each group and use PWM to control power going through each group. Would you guys have a better idea in mind? Please let me know :)

-Is it feasible to be able to produce 4.5W for each element for 3 hours? I was thinking of having a portable and affordable battery pack that could fit in a pocket. From what I understand, one can set batteries in series or in parallel in order to increase voltage or current, respectively. Maybe a battery setup in series and in parallel could work best?

-For safety, I thought we could have temperature sensors on each element. If an element goes past a safe temperature we could stop powering the MOSFET so no power goes through. Maybe including a fuse for extra safety. Not sure, I welcome your opinions.

-For user interface, do you think three buttons: increase temp, decrease temp, selection for group to control. I am brainstorming but if you have any cool ideas let me know. Maybe a switch for jacket on and off, small screen to show temperature and battery power....

-Would it be appropriate to have a dc regulator that maintains constant voltage to the groups?

Finally, why are there two frequencies: Would one be in the micro controller and other in the MOSFETS?

Thanks a lot everybody, with your help I will be able build an awesome project that will impress my professor. You guys are awesome!
 

Attachments

  • cirt1.PNG
    cirt1.PNG
    22.3 KB · Views: 196
Hi,

There are some important design issues that come up with this kind of product.
First, it is battery powered so there are certain issues that should be addressed for best operation and efficiency.

For efficiency, PWM alone is only good when the voltage of the batteries is close to the voltage of the load and you want to cut power to the load by using less than 100 percent duty cycle. So that means if you have a 12v battery and a 6v requirement for the load, the setup will be very inefficient even though it is PWM. PWM in itself is not efficient. It's only when it is combined with an energy storage element does it help with the efficiency. That's usually an inductor in a buck circuit. Buck circuits are also simpler circuits than boost circuits, so if you use a pure buck that's better. So PWM is no better than linear operation unless the voltage is already matched to the load, and linear operation is not good unless the voltage is already matched to the load also.
If your load is pure resistive though that would be better with PWM.

Efficiency is very important to battery operated devices because an increase in efficiency converts directly into longer run time.

An idea is to match the batteries to the load as well as possible first, then cut back a little with PWM. You dont need to ensure regulation down to zero because the batteries dont have much run time left after they reach a certain low voltage point anyway.

So voltage matching is the first order of business, and after that you might get away with just PWM from the Arduino.
The Arduino will run at 16MHz, but the PWM is only around 500Hz. That might be ok though for resistive loads, as long as they are really resistive and not non linear resistive like bulb filaments. If they are non linear then a buck is the better choice.

Power resistors also make pretty good heaters too. Providing about 1/2 power max to a resister gets it to heat up without burning it out.

Safety might come from voltage matching too, if the application can tolerate a less than optimum temperature once the batteries get past a certain low level. For example if you have a 10v supply and a resistor that provides heat with 10v, then it cant burn up.

Another issue though with safety deals with confinement of a heat source. Physics tells us that a heat source with no heat sink (no air, no conduction losses) will heat up to an infinitely high temperature. That would start a fire. So some means to cut back that is separate from the main circuit is a good idea. Possibly a second circuit to monitor, with the option to turn off the main power to the main circuit that actually does the heating. That way if something unusual goes wrong the jacket doesnt start on fire.

Maybe you should start to draw up a circuit so we have something to work with. That would help start to nail down some of the options to the best possible choices.
Also, if you have already picked out some parts, you might mention them here.
.
 
Finally, why are there two frequencies: Would one be in the micro controller and other in the MOSFETS?

Two frequencies of interest.

The switchmode power supply, for example, could operate at 100 kHz or even 1 MHz. That depends on what you find.

The frequency that you switch the heating elements at. You would control the duty-cycle and fix the frequency. Pick something. You would not want to be a walking AM radio transmitter though.

The processor clock is a frequency and it may be of interest, but a low frequency and low voltage mean low power.
This one is not one of primary importance.
 
All this help has been great. Thanks to you guys I am learning a lot!

Hi, some important design issues that come up with this kind of product..

Mr Al, I thought building this project was going to be much simpler. Thank you for helping me understand better what it takes to build this project. The only part that I have purchased are the heating elements, which are carbon fiber heating tapes from https://www.carbonheater.us/. I thought they would be great since they are flexible and soft. Using strips of 120 mm length 15 mm wide as a heating element (3V 1.5I would give 60 Celsius). I drew a schematic https://imgur.com/WZt95xH. I was thinking to add another group with two heating elements to warm the arms too! Yet, I did not include it in order to keep the circuit simple.

From what I understood, PWM is best when we match the supply to the load and a buck converter is also used. In the beginning I wanted to control each group of the circuit with a buck converter, but I found it hard to control the buck converters supplied on ebay digitally since they use a potentiometer.

When reading about the heating jackets in the market I see that they only had 3 settings for heating (low, medium, and high). I thought it would be awesome to show the professor that I can build one with an added feature of variable temperature (anything between low to high).

I appreciate your expert advice. I want to learn and all discussions we have here are very enlightening.
 
I mentioned PID control, but it probably "flew over your head". i.e. https://en.wikipedia.org/wiki/PID_controller

There is an Arduino PID library. I have implemented PID, but without auto-tuning. I've also done some "weird-stuff" with PID as well. Had an environmental chamber, but wanted to control the temperature of a surface, so I kept fooling the chamber and modify the temperature within the chamber's proportional band to keep the surface temperature constant.

PID allows the setpoint and measured value to agree.
 
There is some non-linearities in your heating elements, but I didn't look at the variation. Suppose your not allowed to exceed a certain wattage. You could then control a buck or buck/boost converter to essentially max power track and then use PWM to control the temperature.
 
All this help has been great. Thanks to you guys I am learning a lot!



Mr Al, I thought building this project was going to be much simpler. Thank you for helping me understand better what it takes to build this project. The only part that I have purchased are the heating elements, which are carbon fiber heating tapes from https://www.carbonheater.us/. I thought they would be great since they are flexible and soft. Using strips of 120 mm length 15 mm wide as a heating element (3V 1.5I would give 60 Celsius). I drew a schematic https://imgur.com/WZt95xH. I was thinking to add another group with two heating elements to warm the arms too! Yet, I did not include it in order to keep the circuit simple.

From what I understood, PWM is best when we match the supply to the load and a buck converter is also used. In the beginning I wanted to control each group of the circuit with a buck converter, but I found it hard to control the buck converters supplied on ebay digitally since they use a potentiometer.

When reading about the heating jackets in the market I see that they only had 3 settings for heating (low, medium, and high). I thought it would be awesome to show the professor that I can build one with an added feature of variable temperature (anything between low to high).

I appreciate your expert advice. I want to learn and all discussions we have here are very enlightening.

Hi,

Yes a lot of bucks control their output with a pot so it makes it harder to control with a voltage. Because of this and because PWM will be faster to get up and running, maybe you should just start with PWM only. That means the battery supply should be matched as well as possible to the heat elements for the highest setting. There is such a thing as a digital pot, but it would have to be fitted into the buck circuit application which may take some doing because they are limited to +5v power and +5v max signals.

Also, external insulation is important to keep the power requirement down. With no insulation it would take a lot more power to maintain the required temperature.

But why is there 4 ohms in that schematic when the others are 6 ohms?
 
I mentioned PID control

Hey thanks for reminding me about PID controllers. I took controls last semester, but I need to brush up a little bit on it. PID would be a closed feedback loop, where one measures the output with respect to a desirable output, and make changes to get desirable output correct? I did not know there was an Arduino PID library. I will look into it, but since you have implemented the library, how does it work? Thank you!!!

Hi,

But why is there 4 ohms in that schematic when the others are 6 ohms?

Hi Mr Al, I tried using before a digital potentiometer with a buck converter but as you mentioned, I was limited to a max voltage output based on the limit of the digiPot terminals. Yes, insulation is important. I am just thinking of using a winter jacket and adding the circuit to it, therefore I would not have to worry to much about insulation.

Regarding the schematic, I thought we could have two groups with three heating elements. One group located in the chest and another in the back. And the other 3 group with 2 heating elements in the stomach area. Would that complicate things? Maybe I should make all groups made of two heating elements?

Regarding battery management efficiency, we said its best to match the supply to the load. Say we modify our schematic I posted to only two heating elements in each group. If we want to provided 3V 1.5A (60 celsius each element) to each heating element, we would have to have a supply of 6V and control it with PWM correct?

What happens if we want to change temperatures to 40 celsius per element. Would we have to then match the supply to the load again, and then use PWM?

Thanks again!
 
Hello again,

Well the nice thing here is that it looks like those elements are mostly resistive, so that makes things a little easier.
You could double check though by testing with a varied voltage and see if they obey Ohm's Law.
PWM works better into a purely resistive load. We could crunch some numbers to look into this more.
A requirement is that the switch element has as little series resistance as possible. MOSFET's have low resistance if you buy the right ones.

But from your first schematic it looks like one element is 4 ohms and the others are 6, and since they are in parallel we have the same voltage going to all of them, so we calculate the power with say 6 volts applied:
Pr6=6^2/6=36/6=6 watts
Pr4=6^2/4=36/4=9 watts

Now the question is, if both elements are the same diameter, then the heat concentration for the 4 ohm device is 1.5 times greater than the 6 ohm devices, so is this what you really want? The heat concentration would be measured in watts per square inch for example. That means there will be more local heating for one element than the others, or in other words, a "hot spot".
If that is what you want then that's great, but if not then you have to look at it a little closer.

The heating power of 100 percent duty cycle PWM with 6v applied to a 6 ohm load is 6 watts.
The heating power of 50 percent duty cycle PWM with same is 3 watts.
The heating power of 25 percent duty cycle PWM with same is 1.5 watts.
The temperature rise is dependent on the specific heat capacity of the material(s) and the power applied. Twice the power heats something up twice as fast, given little heat loss.

Heating is usually a slow process so you probably dont need any extravagant control schemes :)
Measure the difference between the current temperature and the set point temperature, integrate with a long time constant to create the control signal, and you're probably doing just fine. The control signal to PWM signal ratio is one to one.

Any chance you would want to make a heating AND cooling jacket with Peltier devices?
 
Now the question is

Hi Mr Al, funny you mentioned it. In the beginning I wanted to build a device that can heat and cool. I experimented with peltier devices, yet it is difficult to generate a high rate of cold with a small heatsink and fan attached to a peltier cell. That is why I decided to focus on the heating part now. If you have any thoughts please let me know :)

What I find the most challenging part now is efficient battery management. Building a proper battery pack that is not too big (expensive too) and can fulfill requirements.
It was understood that we can control the power going through each group through MOSFETs, yet what would be a proper power supply (voltage and amps) to provide to our circuit. I found an affordable 3000mAh 3.7V Battery High Drain Li-Mn Battery.

In a best case scenario, it would be nice if we could maintain each of the 8 heating elements at 3V 1.5A (60 celsius each element) for close to 3 hours. I thought that this would be a good limit, since any temperature below this would allow for higher hours of heating. For example, having two groups in parallel of batteries, where each group has two batteries in series. Giving us 7.4V supply and 6000mAh.

I hope I am not bothering you with my questions, I am just really curious on how to make this work, and we your help it becomes easier to understand :)
 
8 heating elements at 3V 1.5A
Total power required is therefore 8 x 4.5W = 36W.
7.4V supply and 6000mAh
Assuming you run the batteries completely flat (a bad idea) the energy available from the batteries is 7.4V x 6Ah = 44.4Wh.
Therefore the time taken to flatten the batteries would be ......? :(
You might want to aim for a lower temperature than 60C, since even 50C would be painfully hot to the skin.
 
Hi,

No problem, i'll help as much as i can. Some tests would help too eventually.

If you want 3v per unit, then if you have 3 units in series that means you need 9v total, one way or another.

Dont be afraid to split this up into several load banks and several controllers. That's better anyway so you can monitor individual regions and adjust accordingly. In general no two places will require the same amount of heating.

The low end Arduino like the Uno has six PWM outputs, but you could also generate your own too. Right off the bat that gives you six controllable heating sections.

The ampere hour capacity is related to the run time roughly as Time=AHr/Current. So if you have a 6Ahr battery that puts out 6 amps that gives you 1 hour run time, approximately, although that high current would probably cause less run time. At 1 amp that would be about 6 hours, and at 2 amps 3 hours, and at 3 amps 2 hours. So we have roughly:
1 amp, 6 hours
1.5 amps, 4 hours
2 amps, 3 hours
3 amps, 2 hours
6 amps, less than 1 hour.

You can go from there to figure out the minimum run time.

So are you saying you need 1.5 amps to get 60 degrees C element temperature? What is the ambient temperature with that measurement?
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top