Jump to content
Sign in to follow this  
EngIP

PID/oven control - Use MSP or better to use a dedicated controller?

Recommended Posts

I'm currently in the middle of an oven project (those with good memories will know I started something similar about 3 years ago!).  It's using electric heating elements and thermocouples for the temp. sensing.  

 

I'm liking the thought of a complete MSP430 controlled system, giving me masses of flexibility with control options.  On the other hand, a bespoke PID controller will have significantly better control algorithms, and probably better temperature control.  Then there's a third option - use a PID controller to control the heating elements, but use a supervisory 430 to handle displays, timers, data acquisition etc.

 

I'm fairly certain I'll use SSR's for the elements, probably one SSR per phase (3 phase), or maybe one SSR per element (6 elements but capacity available for an extra 3 elements (@ 3kW each)).

 

I'd appreciate general thoughts on this project, if anyone has a simpler/cheaper/safer/better solution I'd love to hear it.  Also, what's the best way of driving the SSRs from the 430?  I was thinking MSP>transistor>SSR, but again, suggestions are welcomed.  Any combination of PID/430 can be used (e.g. PID output fed through MSP430, or PID output fed through 430 controlled relay).

 

So...comments and criticisms please :smile:

 

 

Share this post


Link to post
Share on other sites

Eh, I implemented a simple PID control loop on the G2553 with a Triac for power control (and MOC3063 optoisolated triac driver driven by the MSP430) based on @@wulfman / @@yyrkoon 's reflow control board.  Project thread: http://forum.43oh.com/topic/3945-solder-reflow-skillet-w-wulfmans-control-board/

 

The floating point math does add like 4KB to the program size, so keep that in mind.  It's probably possible to do it with integer math only but I didn't feel like figuring that out.

Share this post


Link to post
Share on other sites

Seriously consider using an IR oven. We're doing this already with a convection oven, and for leadfree solder profiles it is a PiTA( thats right -> pain in the A . .  .backside )

 

As it stands we have to either find a suitable way to insulate our oven, or just scrap it for an IR oven. Our oven also has upper, and lower elements, so it is not for lack of having enough elements. Although I suppose that wattage on said elements could be on the low side. Just from watching as few trial runs though while experimenting, I would have to say that max temp of the oven is 260C, where 240C is a reasonable peak stage profile for lead free solder paste.

Share this post


Link to post
Share on other sites

@@yyrkoon - This isn't a reflow oven, it's a curing oven for powder paint (powder coating) - I've dry run it up to 200 centigrade, the elements perform fine (though I'm going to add another 9kW to ensure continuous operation, giving me a blistering 27kW of heating elements).  IR is no good for my application, though it is used in powder coating.

 

@@spirilis - This is the thing - I'm sure I could get a working PID control loop (or PI) with the 430, but I'm not convinced it's the best route forward when I can steal my Eurotherm 2408 from the existing oven.  The price of the thing suggests it's going to do a better job than I can, and it has self teaching setup.  However, using an MSP430 will give me full control over other factors (such as timing, measuring uptime/power monitoring, preset curing profiles etc).

 

Sorry for my vague question (as always) - I tend to ask first and think later!  Now I think about it, my question is more general electronics than 430 related anyway.

 

I'll go with the dedicated PID, and integrate a 430 based supervisory system after - this should give me the quickest time to deployment whilst maintaining an option of flexibility with the system control (as opposed to temperature control).

 

Now to decide how many SSR's and how cheap dare I go?  Crydom or eBay?  1 per phase, 1 per element, individual element control or group?  Maybe even use a contactor!

 

As before, feel free to chime in with your experiences or advice :)

Share this post


Link to post
Share on other sites

No idea about powder coating curing process but I would assume it is less demanding than reflow. What would a typical curve look like ? I am thinking it would be very similar with perhaps more stages, but perhaps longer heating times.

 

Just some random thoughts about my experience with the reflow oven. Temps under 210C are easily obtainable / controllable. Actual code needed to maintain temps under 210C can be very simple ( read no need for a PID ). PWM output at AC frequencies are limited to 50 or 60Hz, and makes very little difference passed 16 counts / second ( using powers of two ). Adding total run time could be as easy as adding stage times at the end of each stage to a single variable.

 

What else ? or am I being too obvious ? Yeah i do realize now that you're doing powder coating curing but I am thinking the actual control of the heating should be very similar. Actual profiles is what I am thinking would change( only ).

Share this post


Link to post
Share on other sites

@@yyrkoon - To my untrained mind, heating is heating, be it a pizza oven or a furnace (well, maybe not a furnace).  Like you said, only the profile changes really.  In the powder coating case, the profile is as simple as "get to setpoint, stay at setpoint for 15 - 25 mins".  The items being heated might weigh 100kg/200lbs, and the oven is 6ft x 6ft x 8ft, so this isn't a fast responding process.  The only things to really worry about are overshoot and excessive oscillation around the setpoint, but deviation of 5 degrees is acceptable.

 

200 is the max temp required, and I know my current set up can achieve that.  PWM switching would be in the order of seconds rather than anything sub 1Hz.  But these are all issues catered for by PID controllers, designed for the job and used over the world - I'd feel like I was building my own just for the sake of it.  On the other hand, using a homegrown PID gives a lot of advantages for reasons I've mentioned.

 

My main concerns are with driving the elements.  Is Passing 36A at 240V through a 40A rated SSR better than passing 3x12A through cheapo 25A SSR's?  Less SSR's means less parts to fail, but at the expense of higher cost parts, and increased disruption in the event of failure.

 

I guess my problem is too many decisions, not enough knowledge!  Thanks for your input :)

Share this post


Link to post
Share on other sites

Yeah your electronic specific question would be best answered by someone else. As mainly I am just a novice when it comes to electronics. I am lucky enough to have a friend whom also lives on the same property ( he is the one who actually owns the property ) who has been an electronics engineer for ~ 35 years.

 

Now when people mention a PID I think complexity, but in the case of your example above -> reaching 200C, and holding it for 15-20 minutes this could be done far more simply. When I think of this application, I think of it in terms of something like this:

while(!done)
{
	if(second_elapsed)
	{
		temp = read_temperature();


		if(temp >= (max_temp - temp_delta)) /* temp_delta is used to help control heat lag */
		{
			elements(off);
		} elseif(temp < max_temp){
		elements(on);
		}

		/* display data on a screen or whatever by whatever means seen fit */

		count += 1;
		if(count == time_threshold )
		{ 
			done = 1;
		}
	}
}

second_elapsed could be a scope wide bit variable that can be set via a timer interrupt. Also I forgot to clear the bit in the example code above, but that should be obvious ( funny how i missed that though ).

 

Anyhow, I am not trying to talk yo out of using a PID. I am just saying it may be overkill. But with that said I have been known to do some things myself just because I can, and it is a challenge. So I could definitely understand that aspect. Also the example above is pretty much just pseudo-code and simplistic. There is something to be said however for keeping things simple.

Share this post


Link to post
Share on other sites

The "bespoke" PID controller you speak is quite likely a little CPU running the algorithm.  MSP430 is also a little CPU.  If you want to fiddle with the algorithm, try the MSP route.  You might learn something, anyhow.  :)

 

I implemented PID on a 68HC11 years ago, a real P.O.S.  Numerical PID is really not that complicated.  It is just a couple of FIR filters that approximate the integral and derivative operations of classical "differential equation" problems.   I think you should try Yyrkoon's solution.  It won't cost much, so you can always revert to a commercial offering without any real loss.

Share this post


Link to post
Share on other sites

I'm currently in the middle of an oven project (those with good memories will know I started something similar about 3 years ago!).  It's using electric heating elements and thermocouples for the temp. sensing.  

 

I'm liking the thought of a complete MSP430 controlled system, giving me masses of flexibility with control options.  On the other hand, a bespoke PID controller will have significantly better control algorithms, and probably better temperature control.  Then there's a third option - use a PID controller to control the heating elements, but use a supervisory 430 to handle displays, timers, data acquisition etc.

 

I'm fairly certain I'll use SSR's for the elements, probably one SSR per phase (3 phase), or maybe one SSR per element (6 elements but capacity available for an extra 3 elements (@ 3kW each)).

 

I'd appreciate general thoughts on this project, if anyone has a simpler/cheaper/safer/better solution I'd love to hear it.  Also, what's the best way of driving the SSRs from the 430?  I was thinking MSP>transistor>SSR, but again, suggestions are welcomed.  Any combination of PID/430 can be used (e.g. PID output fed through MSP430, or PID output fed through 430 controlled relay).

 

So...comments and criticisms please :smile:

I think it is a great project. The MSP430 will be plenty fast enough to sample the temperatures you are planning this for. I can't think of a way to do this on a lower budget than the MSP. 

Share this post


Link to post
Share on other sites

Designing a PID algorithm is on my bucket list. I would go this way just for fun and adventure. Otherwise, I would just go buy an oven controller from the net somewhere.

 

This may also be of use to you. Maxim Integrated recently announced a new part. It's a 1-Wire to Thermocouple interface chip - the MAX31850.

 

By the way, did you guys know that commercial reflow ovens use a conveyor chain to move the pcb's, at a specific transit speed, past different heating elements set at specific temperatures so as to expose the pcb's to the solder reflow profile?

 

I wonder if I could rig up something like that with five toaster ovens and a conveyor chain?

 

Each heating element would be set to one temperature. The chain conveyor would move the pcb's past each element so that it takes about 3 minutes from start to finish.

 

I should try this. Honey! Where's the fire extinguisher?

Share this post


Link to post
Share on other sites

Thanks for the replies guys.

 

I've used a cheapo PID controller I had lying about, which is giving me +/- 0.5 degree C error, which is more than sufficient.  Implementing the control on a 430 would have meant doing all of the ancilliary work, such as power supplies to the chip (240V AC down to 4V DC), interfacing GPIO to real world devices (alarm relays, contactors and the SSR), and building a HMI into the system - interesting from a personal point of view, but time consuming from the commercial viewpoint.

 

My oven hasn't got any desireable features yet (timer, power consumption monitor, pre-sets etc.) so there'll definately be a 430 going in there sooner or later, just need to find the time first!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...