DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5982|回复: 1
打印 上一主题 下一主题

DIY Soldering Reflow Oven

[复制链接]
跳转到指定楼层
楼主
发表于 2012-10-6 11:37:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DIY Soldering Reflow Oven
改装比较详细的了,程序该是basic的或者vb



They say you are only as good as your tools. This is a statement I can vouch for, as better tools can make the difference between a sleek and well designed prototype and a rats nest covered breadboard. Unfortunately as an electronic hobbyist you don't always have the budget of a big tech company at your disposal. But hey, that's what DIY projects are for!

Starting off as a hobbyist or even small tech company designing and building electronics you will soon learn that most of the fun IC or MCU chips are either cheaper in, or only available in, surface mount form, and fancy reflow ovens are expensive.  But a soldering oven isn't much different from a toaster oven--  the only difference is the accuracy and temperature settings.

That is why I'm going to show you how to build your very own Soldering Reflow Oven for under $100 from an old/new standard toaster oven, thermocouple and a microcontroller.

Note: This project can be accomplished many different ways with many different MCU's and components.  I wanted to use Freescale Processors and StickOS BASIC, but I look forward to see how other people do this.

-Elipsit


Step 1What You need: BOM and Tools





Requirements:
-Basic Knowledge of AC wiring (eg: Black = hot, White = Neutral, Green = GND)
-Soldering experience
-Some Microcontroller experience

Bill Of Materials:
-Toaster oven new or old
-Fiberglass insulation or fiberglass pipewrap
- K Type Thermocouple
- Max6675 K Type Thermocouple to-Digital Converter
- SSRD-240D40R Solid State Relay (Mechanical ones will be too noisy), 40A
- Note: This relay is now obsolete but I had it lying around so I used it.  You can use any SSR-- just make sure it is rated for double the current that you need, as it will be derated due to high temperature. If you're not sure how much current your toaster uses, calculate it from (Power = Voltage * Amperage).  For example my toaster was 1500W at 120V, therefore I = 1500/120 = 12.5A
-All Round steel strapping
-16X4 Character LCD - White on Blue
-Adapt9S12DP512
-5 button joystick
-Wire
-Screws and nuts and standoffs
-Acrylic face plate
-Protoboard or prototyping card
-Dip to SO breakout board

Tools:
-Soldering Iron
-Solder
-Fume extractor (Optional)
-Laser cutter (optional)
-Screw driver
-Drill Press
-File/sand paper
-heat-shrink / marrettes




Step 2StickOS: What is that?



"StickOS® BASIC is an entirely MCU-resident patented interactive programming environment, which includes an easy-to-use editor, transparent line-by-line compiler, interactive debugger, performance profiler, and flash filesystem, all running entirely within the MCU and controlled thru an interactive command-line user interface.  In StickOS, external MCU pins may be bound to “pin variables” for manipulation or examination, and internal MCU peripherals may be managed by BASIC control statements and interrupt handlers.  A StickOS-capable MCU may be connected to a host computer via a variety of transports and may then be controlled by any terminal emulator program, with no additional software or hardware required on the host computer.  Once program development is complete, the MCU may be configured to autorun its BASIC program autonomously." - http://cpustick.com/

StickOS programs can be downloaded from http://cpustick.com/downloads.htm

I found this OS and though it was a refreshing change from the ubiquitous Arduino projects. Nothing personal Adrunio fanboys, I still play with my Duemilanove. Similar to the Arduino system where you have a bootloader code on an Atmel chip, StickOS is a resident OS that can be loaded on Freescale (S12, Coldfire, S08) and Microchip (Pic) MCUs. But unlike Arduino once the StickOS is loaded the chip now becomes a mini computer that can be interfaced with by any Terminal Program.

I used Puttyor TeraTerm to communicate with the MCU.

My Favorite part is that it doesn't matter what computer or operating system you use to connect to the MCU running StickOS, because Terminal programs all use the same protocols so it can be reprogrammed on the fly using anything with a terminal and serial port.


Step 3Where to start






Step 1: First start by disassembling your toaster, you will need to remove the dials and timers as we won't be using them. Make sure to keep the wire as it is rated for high heat and we will be using that later. Also make sure its not plugged in while you disassemble it...

Step 2: Next line the inside of the toaster (the gap between the inner and outer shell) with fiberglass insulation, this will help keep the heat in and thus help maintain a steady temperature.

Step 3: Mount the SSR. The toaster i used had a convention fan so i used a two channel relay so I could control the heating elements separate from the fan.

Step 4: Drill a hole in the back/side of the toaster and mount the thermocouple. i made a brace out of steel strapping to hold the thermocouple in place. Ideally you want to mount the thermocouple as close to the level where your boards are located.

Step 5: Solder the Max6675 to the smt to dip breakout board then solder that to the protoboard. One thing that i noticed which threw me off a bit was that the yellow wire of the thermocouple is +ve and the red wire is -ve...not sure what colour code they were following.

Step 6: You're almost done! Wire the Thermocouple, LCD, Button Joystick to the Protoboard then connect that to the Adapt9S12DP512. I laser cut an acrylic faceplate and mounted all the pieces to that but you can mount them to a project box if you don't have access to lasers.
SolderToasterConnections.pdf169 KB


Step 4The Program:********************************
*****Technological Arts******
********************************
  Project: Reflow Toaster
      For:  MC9S12DP512 | MAX6675 | K-Type Thermocouple | NHD-0420DZ-NSW-BBW



> pins (Must be designated by typing "pins <Statement>")

heartbeat pp7
safemode* pa6

for k type thermocouple yellow/green wire = +ve, red wire = -ve

rem //LCD - see page 94 in basic users guide

lcd_rs pa0
lcd_en pa1
lcd_d4 pa2
lcd_d5 pa3
lcd_d6 pa4
lcd_d7 pa5

rem // 5 button joystick used for user input

Left   pp0
right  pp1
down   pp2
up     pp3
select pp4

heater pp5
fan    pt0
buzzer pp6

analog 5000


rem ----Program Starts Here----

  10 dim nrsti as pin pm5 for digital output
  20 dim ncs as pin pm3 for digital output
  30 dim thermocouple as short, F as short
  40 dim cnt, setpoint, temp, status

  50 dim left as pin pp0 for digital input debounced
  60 dim select as pin pp4 for digital input debounced
  70 dim up as pin pp3 for digital input debounced
  80 dim down as pin pp2 for digital input debounced
  90 dim right as pin pp1 for digital input debounced

100 dim heater as pin pp5 for analog output
110 dim fan as pin pt0 for digital output
120 dim buzzer as pin pp6 for analog output

130 dim SPICTL as byte at address 0x000000d8
140 let  SPICTL = SPICTL&0xfe

150 configure timer 0 for 750 ms
160 configure timer 1 for 500 ms
170 configure timer 2 for 1 s
180 configure timer 3 for 500 ms



190 on timer 0 do gosub qspi
200 on timer 1 do gosub exit
210 on timer 2 do gosub count
220 mask timer 2
230 on timer 3 do gosub adjust
240 mask timer 3

250 let setpoint = 5000
260 sub main

270 lcd 0, "Tech Arts"
280 lcd 1, "Reflow Toaster"
290 sleep 1 s

300 rem

310 rem ----main menu----
320 rem gosub lcdclear
330 let cnt = 300, heater = 0, fan = 0, buzzer = 0
340 lcd 1, "ROHS || Lead"
350 lcd 2, " up  || Down"
360 while 1 do
370 if !up then
380   let temp = 473
390   gosub main2
400   rem sleep 100 ms
410 elseif !down then
420   let temp = 428
430   rem sleep 100 ms
440   gosub main2
450 else
460 endif
470 endwhile
480 endsub

490 sub main2
500 gosub lcdclear
510 while 1 do
520 lcd 1, "Start", "|<- ->|", "Stop"
530 if !left then
540   lcd 3, "Press ->| to Exit"
550   gosub preheat
560 else
570 endif
580 endwhile
590 endsub

600 rem----QSPI----
610 sub qspi
620 let ncs = 0, nrsti = 1
630 qspi thermocouple
640 let ncs = 1
650 let thermocouple = thermocouple >> 3
660 let thermocouple = thermocouple * 1/4
670 let F = thermocouple*9/5+31
680 lcd 0,"Temp:", dec thermocouple, "C", dec F, "F"
690 print "Fan =", fan
700 endsub

710 rem ----End program----
720 sub exit
730 if !right then
740   let heater = 0, fan = 0
750   lcd 0, " "
760   lcd 1, "Goodbye"
770   lcd 2, " "
780   lcd 3, " "
790   end
800 else
810 endif
820 endsub

830 rem----Preheat----
840 sub preheat
850 while F < temp do
860 gosub lcdclear
870  lcd 1, "Preheating"
880  if F <= 349 then
890    let heater = 5000, fan = 1
900  elseif F <= temp then
910    let heater = setpoint - (F*5), fan = 1
920    print "heater Value =", heater
930  endif
940  rem until F >= temp
950 endwhile
960 gosub reflow
970 endsub

980 rem----Reflow----
990 sub reflow
1000 unmask timer 3
1010 gosub lcdclear
1020 let buzzer = 750
1030 sleep 500 ms
1040 let buzzer = 0
1050 while 1 do
1060 lcd 3, "Timer = ", cnt, "secs"
1070 lcd 1, "Press < to start"
1080 if !up then
1090   let cnt = cnt + 10
1100 elseif !down then
1110   let cnt = cnt - 10
1120 elseif !left then
1130   unmask timer 2
1140 else
1150 endif
1160 endwhile
1170 endsub

1180 sub reflow2
1190 lcd 3, "Reflow Done"
1200 let buzzer = 500
1210 sleep 500 ms
1220 let buzzer = 0
1230 sleep 500 ms
1240 let buzzer = 400
1250 sleep 500 ms
1260 let buzzer = 0, fan = 0, heater = 0
1270 mask timer 3
1280 gosub main
1290 endsub


1300 rem----Adjust----
1310 sub adjust
1320 if F < temp then
1330    let heater = 5000, fan = 1
1340    lcd 2, "Temp adjusting"
1350    print "Adj Temp up =", F
1360 else
1370    let heater = 0, fan = 1
1380    lcd 2, "Temp good"
1390    print "Adj Temp down=", F
1400 endif
1410 endsub

1420 rem----Count----
1430 sub count
1440 if cnt > 0 then
1450 rem
1460 let cnt = cnt - 1
1470 rem lcd 3, "Timer = ", cnt, "sec"
1480 else
1490 mask timer 2
1500 let cnt = 300
1510 gosub reflow2
1520 endif
1530 endsub

1540 rem ----Clear LCD----
1550 sub lcdclear
1560 lcd 1, " "
1570 lcd 2, " "
1580 lcd 3, " "
1590 endsub


Step 5Special Thanks


This project was accomplished with the help of Technological Arts who supplied the funding and parts for the project.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 分享分享 支持支持 反对反对
沙发
发表于 2015-10-27 22:46:39 | 只看该作者
感谢楼主提供这么好的交流平台
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 10:10 , 耗时 0.085864 秒, 20 个查询请求 , Gzip 开启.

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

桂公网安备 45031202000115号

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

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

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

QQ:28000622;Email:libyoufer@sina.com

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

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