Finished the first prototype of the Electronic Profile Temperature Contro= l for the SMD Toaster Soldering. It used few resistors, LED, capacitors, a buzzer, a switch (reset), an AV= R AT90S2313, a Solid State Relay (240V @ 25A), a heavy power cord and connectors, and a 30k glass thermistor. A second table will be done to use 3 x 1N4148 diodes (as sensor) instead of the thermistor. Software was a little bit tricky to get rid of the temperature overshoot, caused by the thermal transfer delay from the thermal elements heat to be absorbed by the whole oven (takes from 8 to 14 seconds - depends on the actual temperature). The best solution was to use a 8ms period interrupt to count 256 steps of PWM to control power to the thermal elements, it gave me 2 seconds pwm period. The 8ms was the best since it is exactly half sinewave 60Hz time, so worst case always a whole sinewave zerocrossing will happens. The PWM enters in effect when the actual temperature and the setpoint is out only 10/255 of the sensor voltage (referenced to +5V), or, 200mV or less, and it is proportional. So, as close the actual reading temperatur= e is getting close to the setpoint, the pwm is closing down. As the pwm period is 2 seconds, granularity of 8ms (but needs 16ms to control a sinewave) one sinewave in 128 steps, the thermal lag of the toaster can b= e buffered easily. Faster or slower PWM forces temperature ping-pong. For the first prototype, it is working great. I just need to make sure about the temperature, since the values read from the thermistor can not = be verified on tables, since it stops at 150=B0C, and the profile goes up to 232=B0C... yeah, yeah, I know, it should NOT be used like that. The IR non contact thermometer I bought really doesn't help so much to re= ad inside the oven. I am trying to put hands in a J or K thermocouple to re= ad the correct millivolts from the toaster. The temperatures above 150=B0C (to verify the thermistor) were based on t= he toaster thermostat... yeah I know again... not very accurate, but there w= as no other way. So, the AVR is also logging the actual value read from the thermistor eac= h 10 seconds and storing in its own Eeprom, so I can dump and plot afterwar= ds to make sure everything is going smooth. Below the link for the actual plot. The Y axis is Voltage from the Thermistor, X axis is time in 10x seconds. Don't be tricked, 45 there means 450 seconds. Temperature values are flagged within the graph. After the end of the soldering profile the door was kept closed just for the logging purposes, but it should be open a little bit to speed up the cooling. If leaving door closed, it takes almost 5 minutes to reach 260=B0= F, what I guess the toaster is well insulated. With the door open around 10mm, it speeds up the cooling to 200=B0F in less than 4 minutes, what it would be considered safe to avoid problems with the components cracking o= r something like that. Oh, note that the graph is up-side-down, since higher the temperature, lower the voltage over the thermistor. Will conduct soldering to several boards and see if some problem appears. Will also try it on a new toaster with a lagging thermostat control. Note that the toaster under test takes almost 60 seconds to increase temperature from 200 to 325=B0F. It is a GE 1200W 4 heater elements, but= it is very old, not sure if the inner connections are good or what. I don't have an Amp meter that stands such current to verify it. Also, the test was conducted in an environment about 35=B0F, it was freezing in the garage... :) click here for the graph: http://www.ustr.net/pictures/forno.gif The temperature profile is resident at the chip eeprom, max of 8 steps (1= 6 bytes), first byte for temperature, second for time in seconds, etc. Temperature here is just a number from a table, based on the sensor outpu= t for such temperature. Much easier to do this way then do a lot of math a= nd conversions on board. As much as 8 different profiles can be stored and selected (later on). Still some available AVR port pins to use with switches and leds for this purpose. oh, yeah, it was made with an AVR, much easier to have everything running fast and smooth, with very low 5V supply current, 2MHz resonator. The AD= C was build backwards, a chip native very fast PWM (2MHz) was used to integrate PWM signal into a 100nF capacitor. By this way, the cap voltage charge is very linear and proportional to the pwm values. The cap voltage is then compared to the sensor voltage, using the in-chip voltage comparator. The software provides a voltage follower in 8 bits. If the c= ap value is higher than the sensor voltage, then the pwm value is decremente= d, otherwise incremented. The actual PWM value represent exactly the sensor voltage with a +-1/256 error. Wagner Lipnharski - email: wagner@ustr.net UST Research Inc. - Development Director http://www.ustr.net - Orlando Florida 32837 Licensed Consultant Atmel AVR _/_/_/_/_/_/ -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.