DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2862|回复: 0
打印 上一主题 下一主题

My reflow oven

  [复制链接]
跳转到指定楼层
楼主
发表于 2012-1-14 15:12:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PrefaceThis project was started because I wanted to automate soldering SMDs. Surface mounted devices are not developed for hand soldering. These devices are better soldered in wave soldering devices or in reflow ovens. The later can be implemented easily in home environment.
Reflow ovens are equipped with IR radiators. The target (PCB) absorbs the IR waves, and by the energy law, they get heated according the absorbed energy.
The idea came from one of the member of the gEDA-user list. Someone said, that he successfully soldered BGAs on PCB by an inexpensive toaster. He connected the a relay to his computer, and made some temp regulation.
My idea was to develop this little thing. I use an MCU to control the temperature, and a PT100 thermocouple as a temperature sensor. The radiators are driven by a triac. I use zero crossing detected driving, so it acts as a solid state relay, reducing noise on the mains line.
How it works
On the above picture, you can see the product of the development. The PCB is mounted in a case of an old computer power supply. The circuit consists of several parts, such as:
  • The power supply
  • The MCU
  • The differential amplifier
  • Current generator
  • The power driver
  • Several interfaces
  • On-board thermometer
The current generator drives 1mA through the PT100 sensor. The PT100 thermocouple is connected to the differential amplifier. This amp has a gain of 10 and its output is connected to the A/D converter of the ATmega8. The software read samples of the amplified signal. According to the current required temperature, the MCU then uses a PID control to minimise temperature error of the oven. The temperature is controlled by a host computer through  RS232 or USB interface.
A PT100 (at least what I use) can be used in temperature range of -70 °C to +500°C, which is sufficient for our purpose. It is built up by platanium metal, and has 100 Ohms of resistance at 0°C. The Tk value is 3850 ppm/K. The PT100 is connected to the PCB with four wires. This is essential to reduce noise.
The current generator feeds the PT100 sensor with a constant current. The voltage drop of the PT100 can be calculated as
U=I*RWhere U is the drop, I is the current of the source, and R is the current resistant of the sensor. The error of the current source will produce error on the voltage, and so the measurement. Why 1ma? Because each resistor with current going through it generates heat, which is called self heat. Self heat imply error too. The lower the current is the lower the error, however, you need more accurate, and ultra low noise amplifier. The output current of the current source is controlled by an input voltage. This voltage comes from the A/D of the MCU. The integrated converter outputs the reference voltage, and this drives the input of the current source. This technique is often used in A/D and PT100 interconnections. The output current can be calculated by:I=Uref/R16Where Uref is the voltage coming from the MCU (labelled AREF), R16 is the sense resistor of the current generator. Uref, according to the datasheet of the MCU, it can be 2.7, or 5 Volts (Vdd). I use 2.7 Volts, and have R16 of 2.7k, so the current will be 1mA. Note that the error of Uref does not make any difference in the result of measurements, since the error of the A/D will be the same as the error of the voltage drop of the sensor. These two errors will cancel each other out. The current source consists of an OPA.The differential amplifier amplifies the drop of the PT100. This voltage is around 100mV. This amplifier is built up by an OPA. It had to be low noise, and low voltage, rail-to-rail. I chose the MC33202DG, however I could only get some amps from Texas, but they are just doing the job well. The device soldered on the board is the TLC2272D.
The signal from the amplifier drives the A/D input of the MCU, and gets sampled and converted to 10bit words. The processor samples the signal a few times ten, and calculates moving average of the samples. This technique removes noise coming from the A/D and from the signal itself. The MCU performs a PID control to set the power of the toaster.
The power driver consists of opto triac, and a high power triac. The opto triac acts as a zero cross switch. This device decouple the MCU and the rest of the electronics from the mains.
How to build itThere are no special devices on the board. Just solder them as you do other things. However, you have to have extreme care when you solder the ATmega8, and the FT232BL. Keep in mind, that once you have that two soldered to the PCB, you'll probably never have to solder such devices by your hand! :-)
There are components on the schematics which should not be mounted to the board. These are U6, R10, R11. These components was there to trigger an interrupt, but since I use a zero crossing opto triac, the processor operates in asynchrony mode.
The thing can be controlled from serial line or via USB interface. If you want to use the serial line, install CONN2, U2, C5, C6, C7, C8, R17, R18. If you prefer USB then, R2, R3, CONN3, R5, R4, C10, C11, C12, X2, R19, R20. Note that you can install it all, and you can play with R19, R20 for USB and R17, R18 for serial line.
You have to pay attention for the PT100. In the prototype, the PT100 is mounted on a piece of PCB. Don't use soldering connections. Don't use screws. Why? Because it'll heated up to 300 Celsius, and it'll desolder itself! Screws will loose tightness at that heat. I know... What I use now is a short copper tube with 1mm of diameter. I inserted the + and - of the source and sense conductors, and applied a huge pressure to theme. It is tight, and heat resistant.
After the hardware is ready you can proceed to the software part. Before you start using it you have to measure several signals. First, try upload the firmware. The hardware was designed to be programmed by the USB500 programmer. Simply power up the device and start uploading the firmware by issuing
# make loadin the firmware directory. If the load is successful, connect the PT100 to the measuring terminals, get a multimeter, and measure the following things:
  • The voltage of the 5V rail. Just for a short time at the output of the 7805, It must be around 5V. (You would not guess...)
  • The reference voltage of the CPU. It must be ~2.7V
  • The output current of the current generator. This measurement must be done two times. First with the PT100 in series, and without. Make sure that the sense wires is not connected when you measure the current. (just short circuit the sense signals). The current should be 1mA in both case.
  • Now. Connect the sense signals to it's normal operation. Measure the voltage at the PT100 terminals. Depending of the temperature, it should be around 100mV.
  • Measure the output voltage of the diffamp. It should be 10 times the voltage of the PT100.
If you have an oscilloscope, you can verify the AC performance as well. Just measure the above signals.
SoftwareThe software comes with two parts. One which is running on the MCU, and the other, which runs on the control host. These two speaks the same language, which is a protocol. The protocol was designed as a general purpose protocol, however, this is the only place where it's used so far. I plan to use it to communicate with other devices on a RS485 bus, so I implemented addressing, and such things. But it's not yet working, I should have said I left the opportunity to have addresses, frame numbers, etc.
UsageFirst of all you have to set up a heating profile. Once it's done connect the host computer to the board with a straight serial cable or with a USB A-B cable.  Connect the PT100 and your heater to the board. Start the software with the appropriate file arguments. The software echos temperatures in 0.1 Celsius degrees. So 435 means 43.5 Celsius.
The first PCB soldered.With the heat profile of this...!!!CAUTION!!!The software is very in work in progress!!! It has several bugs! Don't ever leave the oven turned on! It can be really dangerous. Whatever heater you use, it was not designed to be operated in upside down, 90 degrees rotated, etc... My heater had a switch which detects up side down position, and switches the heater off. Of course I short the switch... So be extremely careful! I don't write this here since I must otherwise I could not sell the stuff... no. It's because it's a real danger. Imagine that the heater heats up to about 1000 Celsius!!! BTW, ALL WHAT YOU CAN SEE/DOWNLOAD FROM HERE COMES WITH ABSOLUTELY NO WARRANTY!!! So if you set your house on fire it is up to YOU. So USE AT YOUR OWN RISC!
FilesSchematics, PCBs, softwareLinksThis project was done using the gEDA suit.
This was done before.Happy soldering!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-24 00:22 , 耗时 0.101607 秒, 17 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表