afterearthltd / solder-reflow-plate Goto Github PK
View Code? Open in Web Editor NEWPCB based SMD reflow plates
License: MIT License
PCB based SMD reflow plates
License: MIT License
I would suggest, that you add a border around the heating surface, with a gap, like you have to the PCB part.
So, you are less likly to hurt yourself when you try to grap the PCB.
When I set the temperature to 140°C the PCB ramps up to 225°C (even starting to smoke).
Is this intended?
I measured with NTC probe and IR-Thermometer.
I would like to know which material type is using in this project? Does it start to melt for long run?
I did some searching on JLCPCB and it seems that the default material of 2 layers PCB is FR-4 Standard Tg 130-140.
I know the maximum temperature setting is 180°C from the source and it should use FR-4 with Tg 155 or above.
Anyway, thanks for sharing this project!
Wilson
Please provide the code for V3.0
hjlabs.in
Chris--Just an idea. Why not have the component board detachable from the heating board. That way you can replace the heating board if need be.
The size of the board is small, can you increase the size? So we can work with larger PCB.
Hi
I am unable to make the OLED display work. I noticed that there are no pull up in schematic for the V3.0 board. Can you please advise if I need to add 4.7K or 10K external pullup resistors to get the OLED display to work?
Regards
Vijay
The RP2040 is a pretty capable, powerful, cheap, and most important of all, available microcontroller on these shortage times. I understand that the ATmega328P is easier to handle, and that this suggestion would also require a complete rewriting of the code, but not being able to build a reflow plate because of chip scarcity isn't exactly nice, and I don't like the prospect of removing the 328P from an existant Arduino, it's just postponing the problem.
Anyway, thank you for your project! Will build one as soon as possible. :)
I just built one of these reflow plates and am pretty excited about it since I have not used the reflow technique before. My understanding is that solder pastes have different reflow curves and therefore reflow ovens will generally be programmed in order to perform against that specified curve. On the other hand it appears that this hot plate comes set with a default reflow curve in mind however I am unsure as to what solder paste this curve belongs to.
Could we add a quick mention somewhere in the readme for some pointers on solder paste recommendations?
So after some research, I found how to set the 328p fuse to use the internal clock in case you want to repurpose an Arduino with a suitable chip like a lilypad, or nano or something similar. You need to set this fuse back to factory because Arduinos by default get switched to an external clock instead of it's internal one.
You will need to hook up the Arduino on the ICSP headers, and use another Arduino programmed as an Arduino as ISP to program the target 328p board.
And you need to set the fuse prior to de-soldering the chip from the Arduino to use in the solder reflow plate. Otherwise you will not be able to program it from the ICSP headers once on the solder reflow plate.
Using this command you can set the fuse to tell the Arduino to use the internal clock:
~/AppData/Local/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino18/bin/avrdude.exe \
-PCOM8 \
-v \
-patmega328p \
-cstk500v1 \
-PCOM8 \
-b19200 \
-C avrdude.conf \
-U lfuse:w:0xF2:m
The command broken down:
# The path of your avrdude.exe file
~/AppData/Local/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino18/bin/avrdude.exe
# The COM port where the Arduino as ISP can be found
-PCOM8
# Verbose output
-v
# The target chip
-patmega328p
# The programmer avr should use
-cstk500v1
# The baud rate as set in the Arduino as ISP sketch uploaded to the programming Arduino
-b19200
# The avrdude.conf, this may not be in the same directory as the command.
-C avrdude.conf
# The action to perform, in this case we are setting the LFUSE to `0xF2` by writing the value to configure the 328p to use the internal clock.
-U lfuse:w:0xF2:m
Hope this helps someone.
A great video explaining this, and what got me to an answer:
https://www.youtube.com/watch?v=Q2DakPocvfs
I always try to build everything in my toolbox around the USB-C power supplies so I can have one power supply to rule them all haha :)
If 100W is enough power for the board, I think that is a cool upgrade :)
When the plate heats up the 100uF capacitor C2 gets pretty hot.
NTC probe says something around 110°C...
This is pretty near the max temperature the cap is rated for.
I guess it's caused by reactive power die to the PWM. I measured with an oscilloscope and got drops of approx 1V @ 31.5 Khz.
Maybe this can be matched by a Coil?
Hello,
Looks like this is a great project and I am considering making one for myself.
However, I actually need a bigger heating element, like 100x70 or so.
I am thinking about modifying your design, but that would put this project on hold for some time.
I guess there might be some complications related to uneven temperature distribution and such, so it might be not a straightforward change.
I wonder if you have any plans to do it yourself.
I took a brief look at your software and it appears that your main_menu() function calls itself in several places under the proper circumstances. I would suggest your model your code like a state machine instead. These small MCUs do not have the resources to recurse without overrunning the stack and crashing.
Can someone confirm the orientation and placement of D1 please?
The PESDMC2FD18VB (D1) is bi-directional so it is correct I think?
https://www.lcsc.com/product-detail/Diodes-ESD_Shanghai-Prisemi-Elec-PESDMC2FD18VB_C110703.html
Hello,
I am interested in repurposing this for some wet-lab stuffs, we have limited space inside a box, and inside that box, I want to heat up a vial of liquid to 37 degrees Celsius mostly or higher but like 60 degrees celsius or something like that. I am not a software/computer scientist so i am wondering if it is possible to change the temperature setting to lower or allow user to edit?
Thanks.
Hi, this is a very cool project! I was just wondering, would it be possible to mount the components on the bottom and have the LCD and buttons on the side below the board. That way the top would be flat and make it much easier to place the piece you are soldering on top - especially if it is a large piece.
First of all: Great Work! This is awesome!
I'd like to make a version with USB C.
Could you upload the schematic in EasyEDA format? Currently the schematic is only available as PDF. (Or I am just dumb)
It would save quite some not not having to reverse draw the schematic.
I have created a larger heating surface, the total length is 3800mm, width 1.4mm and spacing 0.4mm.
My power supply can supply max 30A at 12V. The calculated resistance at 25 degrees is 1.36 ohms, then at 12V it is 8.8A. The board is therefore larger and gets about 220 degrees hot. As soon as I put a PCB on the plate it takes longer to heat up due to heat dissipation, which is normal. But I do not get to 200 degrees. How can I adjust my design so that the plate has a higher performance?
Is it useful to reduce the board resistance by making the trace wider? What would be useful here?
There seems to be some kind of issue with the code not properly running with the current debouncing method. in order to get the heater to heat i need to hold both buttons while it's heating, letting go will instantly cancel the process and the animation will stop where it left off, been snooping around in the code for a bit but first I'm checking whether or not i made a mistake with the hardware.
The most link of capicator on BOM is wrong?
e.g.
1nf link to 10nF ±10% 250V
but 22nf is the same link.
100nf to 2.7nf
Also happens on other components, please check and update the links.
Not sure which is correct, title or link.
Having trouble finding a PESDMC2FD18VB
Hi
I got a sample PCB of version 3 board. Can you please let me when you can release the software for this board? If not at least let me know the pin numbers and how to enable the fast PWM. There is something mentioned on pin swap in MegacoreX for ATMega4809. So I am not sure if I should be using the pin numbers on the chip or the pin number as per MegacoreX.
Regards
Vijay
The Components 13 (R 3K) and 14 (R 1K) on the BOM only appear once in the schematics to form a voltage divider.
It doesn't seem that there will be much current over this voltage divider, so i'd suggest reproducing it with a 10K and 3x 10K resistors.
That way, all resistors in the project would be 10K's.
Less rails required for a pick&place machine and no way to misplace when manual soldering.
Same method would probaply be possible for some capacitors.
Many of them seem to be only for buffering&filtering purposes without needing to be an exact value.
Hi!
When I start the solder plate reflow (70mm by 50mm Ver2.4 ATmega328p), it shows this message on the OLED screen and it doesn't do anything else:
Solder Reflow Plate
S/W V1.0
H/W V2.4
I can't find where the problem is
I note that the repository's licence is the MIT software licence but does this cover the schematics as well? The reason I ask is that the MIT licence is normally used for the software side of things with a different licence being used for hardware. Also, great work on the project.
Currently there are several different smd footprints used for capacitors. In my opinion it would be better to use one common footprint for most values. I think 0805 is most popular, also 0603 parts can be easily soldered to 0805 footprint pads.
To Prepare
To Program
Board > MegaCoreX > ATmega4809
Clock > Internal 16MHz
BOD > BOD 2.6V
EEPROM > EEPROM retained
Pinout > 48 pin standard
Reset pin > Reset
Compiler LTO > LTO Disabled
Bootloader > No bootloader
Compile to ATmega4809
I followed this guide here: https://swharden.com/blog/2022-12-09-avr-programming/
Specifically this setup:
Connect the programmer as shown with the RX pin directly to the UPDI pin of the microcontroller and the resistor between the RX and TX pins. IMPORTANT: The Reflow Plate must be powered externally via 12V with a minimum of 5A during this process.
I used a 10KΩ 0.5W resistor instead. This is even closer to the recommended value. 10KΩ is a common pull-up resistor value used in many electronics applications. It should work well for the UPDI interface.
Ensure a modern version of Python is installed on your system
pip install pymcuprog
Use the device manager to identify the name of the COM port representing your programmer. In my case it was /dev/tty/usb.serial-AH00XXXX
on MacOS.
I then interacted with the microcontroller by running pymcuprog
from a terminal. This command returns the Device ID (1E9651 for my ATmega4809) indicating the UPDI connection is working successfully.
pymcuprog ping -d atmega4809 -t uart -u /dev/tty.usbserial-AH00XXXX
Connecting to SerialUPDI
Pinging device...
Ping response: 1E9651
Done.
I used Arduino IDE to compile my C code and generate the hex file (turn on verbose output during compilation to know the location of your .ino.hex
file). Now you can use pymcuprog
to load the hex file onto the chip. It’s slower to program and inconvenient to drop to a terminal whenever you want to program the chip, but it works.
pymcuprog write -f SW1.0_HW3.0_70by50mm.ino.hex -d atmega4809 -t uart -u /dev/tty.usbserial-AH00XXXX --erase
Connecting to SerialUPDI
Pinging device...
Ping response: 1E9651
Erasing device before writing from hex file...
Writing from hex file...
Writing flash...
Done.
dose someone have part numbers for C4,C6,C9,C19,C1,D1,D2,R4,R5,R6 as i cant find a part number for them
Since the original "Solder Reflow Plates" discord server linked to on the startpage got griefed on 30.05.2024 (it had no active admin) and development on this repository has stopped, a new discord server has been created to continue development and discussions: https://discord.gg/77QgTB7EXU
Furthermore, an archive was created to preserve most messages from the old server: https://mikoinspace.github.io/SRPARCHIVE/
If you have the hot plate connected to the controller board with removable bolts that conduct the power. This would permit replacing the hot plate without resoldering the whole thing making it much more reusable. Treating the heating surface as a wear part
An ATX-Power-Supply already has
It would be nice to power the whole project directly from a 24-Pin Mainboard Connector.
Just Plug in an old PC's PSU and not worry about Mains-Voltage or blowing your Lab Power-Supply with the load.
The Reflow plate could have a power switch, switching the PSU.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.