Giter VIP home page Giter VIP logo

solder-reflow-plate's Introduction

Solder Reflow Plate

By AfterEarth Ltd

This is a largely unmodified version of the design by AfterEarthLTD that was also seen on a GreatScott! video. I have made some tweaks to the software to get it to work on the ATMega4809 and also added instructions on how to build it and program it. It does work, but there are some problems with the design. I am working on newer designs but the best design out there today is probably the one by DerSpatz

WARNING!!!

This design lacks safety features to limit the amount of power it may draw or the temperature it may reach and there are other issues with the electrical design. With a suitable power supply and as long as the software doesn't have any major bugs, it can be operated without issue but there is a real risk that it could start a fire in the event of a software bug or other fault. Do not leave it unsupervised while connected to power. If you're designing your own version, some considerations you may want to include are:

  • Safety!!! What can happen with your design in the event of a hardware or software fault? Can it draw enough power to catch fire? At a minimum, some kind of overcurrent protection like a fuse would be prudent.
  • Heating element resistance. The original board layouts have very low resistance that typically ends up around 0.9 ohms or so. A higher resistance that's closer to your design maximum power at 100% duty cycle would help ensure that the device cannot draw excessive currents, overheat and catch fire in the event of a fault. Since the design goal was about 60W, something closer to 2 ohms at peak temperatures would be more prudent to help prevent large overcurrent faults. For about 2.1 ohms at 180 celsius, you'd want about 1.3 ohms at 20 celsius.
  • Poor regulation in the PWM and/or input circuits. The existing design may be suitable for low power scenarios like managing the brightness of small, indicator LEDs, but it's inadequate for higher power devices like a 60+W heating element.
    • Ideally, the PWM should be operating at moderately high frequencies above 30kHz. The original firmware used a frequency of roughly 63kHz, but suffered from the input capacitor getting extremely hot during hearing cycles. The quick fix for this was to lower the PWM frequency to the default frequency of 490Hz, which lowered the power dissipation in the input capacitor.
    • Without sufficient inductance in the circuit to smooth out current ripple, it's impossible to get the ripple currents in the input capacitor to manageable levels. Larger input capacitors can make marginal improvements, but mostly because their larger size allows them to dissipate more heat. Ultimately, they will still end up with large ripple currents with each on-off cycle of the MOSFET.
    • Simple retrofits, such as adding a series inductor inline with the power supply is also unable to address the issue. The position of the MOSFET switch means that when it is off there is nowhere for the inductor to discharge it's energy except into the input capacitor. Such an inline inductor makes the input capacitor power dissipation problem worse, not better.
    • What's really required is a redesign that includes an inductor, capacitor and freewheel diode connected with the heating element and the MOSFET switch situated so as to switch power on and off into these components as a unit in a manner similar to how a buck converter works. It needs to be designed such that when the switch is off, the inductor can discharge its current into the heating element. This filter arrangement should probably be separate from the input capacitor, but should ensure that the device does not excessively load the power supply and keep current ripple to a minimum.
    • The firmwares in this repo have been modified to use the FAST_PWM macro to determine whether or not to use high PWM frequency. In the current code, this define is commented out and the firmware will use the default PWM frequency of about 490Hz. Uncommenting this line will change the PWM frequency to approximately 63kHz. It also modifies the messaging on the screen to suggest that the input capacitor may get hot so that it's clear to users if they're running a FAST_PWM firmware.
    • Since the input capacitors are largely ineffectual in the current design, they could probably be removed although I have not and probably won't try this.
  • Thermal gradients. The standard layout has a uniform track layout across the entire board, but since you lose heat much more easily at the edge than in the centre, thermal gradients of 50 celsius between the centre of the board and the edge are not uncommon. Having thinner tracks near the edge can help reduce this effect.
  • Thermal sensing. The temperature sensor off the side of the hotplate is ineffective at accurately sensing hotplate temperature and will likely be 20-30 celsius lower than the temperature at the edge of the board, even if you install it as close to the board as possible. Ideally, the sensor setup should measure temperature within the hotplate area itself or on the board being reflowed. Suggested approaches are using the heating element itself as the sensor, using a remote sensor that can be attached to the board being reflowed or possibly using some kind of thermography or IR sensor.

UPDATE!!!

The old Discord server has been nuked by trolls due to a lack of anyone with admin privileges frequenting the server any more. We now have a new Discord server.

Checkout the new Ver 3.0 design. Very similar to Ver 2.4 but now comes with ATmega4809 as its availability is much better than the 328p at the moment. Code is still in development but the board designs are available in the Board Versions Folder.

Versions

  • 70mm x 50mm (Ver 2.4)

    • 12VDC (5A Minimum)
    • 5.5mm x 2.5mm Barrel Jack
    • 0.91" OLED Display
    • ATmega328p Microprocessor
  • 70mm x 50mm (Ver 3.0) NEW

    • 12VDC (15A Minimum)
    • 5.5mm x 2.5mm Barrel Jack
    • 0.91" OLED Display
    • ATmega4809 Microprocessor

About the Project

Like any good nerd does I've been expanding my hobby horizons. I've gone from breadboard, to perf board, through-hole, to SMD, ever increasing circuit complexity and improving my knowledge. But I've become frustrated with the difficulty of SMD soldering. Regular soldering jogs small components and needs lots of flux. Hot air damages plastics. Hot plates are expensive and can be big wastes of space.

"But you're a nerd" I hear you cry, "why don't you DIY a solution?".

Electronoobs shows a great DIY solution using an old clothes iron hot plate. You can watch his video here. Have a go!

While I love this solution, I wanted to develop something smaller and more permanent. Hence the Solder Reflow Plate was born, a PCB-based, MOSFET controlled heater, perfect for easily reflowing SMD components giving surprisingly professional results. Furthermore, these results are achieved without breaking the bank or taking up an enormous amount of desk space.

And so, this nerd bestows upon the world his project, fully open-source and hackable. Here's hoping that it may be used to develop skills, build custom circuit boards, and make quality designs possible to all!

Purchase

  • Register your email address at www.solderreflowplate.co.uk to know when it is available to buy!
  • There is a worldwide shortage of ATmega328p Microcontrollers. I'm currently working on a small redesign for a more readily available chip.
  • Purchase will be available soon!

License

All parts of this project are covered by a MIT license. That means it is entirely open-source, so you get access to everything! (just without warranty or liability) Feel free to download, customise, hack, and commercialise to your nerdy heart's content.

Want the easy life?! Purchase the default design above! Its fully functional, cheaper than customising, and helps to feed the creator's caffeine addiction ๐Ÿ™ƒ

solder-reflow-plate's People

Contributors

afterearthltd avatar brettski74 avatar ch6941r avatar jrobertson-insite avatar panjkrc avatar vonryan123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

platima

solder-reflow-plate's Issues

Recursive calls to main_menu function

There are numerous calls to main_menu() littered throughout the code. Since these calls all originate in functions that were themselves called from main_menu(), we have some infinite recursion going on. While it seems unlikely that the reflow plate would continue running long enough to exhaust the stack, it's unlikely that anything good will result if these recursive calls do eventually exhaust the stack. Code should be refactored to use the loop() function and operate as a state machine.

Improve temperature measurement accuracy

Thermal imaging of the hot plate shows a large discrepency between the temperature in the centre of the hot plate and its edge. Given that the temperature sensor is off to the side of the hot plate, it's temperature is likely to be even lower. Experiment with different ways of improving the accuracy of the temperature measurements. Possible strategies are:

  1. Software based - apply a correction function to estimate the average or peak temperature of the hotplate for a give temperature reading at the sensor. Maybe a linear or a piecewise linear approximation could be used.
  2. Hardware and software based - we already have what could be a copper RTD in place on the hot plate. Could we use that to measure temperature? If the resistance of the hotplate traces could be estimated in real time by measuring the voltage across it and current through it, this could be used to estimate the average temperature of the hot plate and since it would be measuring temperature across the entire hot plate, it might be more accurate than a thermal sensor placed off to the side of the hotplate. The question is whether this can be done reliably and accurately enough to be usable.

Investigate temperature anomalies

Temperature readings on an unpowered heating plate seem relatively accurate and around room temperature (eg. 24 celsius), but once power is applied, temperature readings initially go down substantially - as low as perhaps 10 celsius. They then seem to lag far behind the actual hot plate temperature resulting in the hotplate far exceeding the desired maximum temperature. Need to investigate:

  1. Why temperature goes down when hotplate power is applied.
  2. Whether temperature lag is due to some problem or simply the difference in temperature between the centre and edge of the hot plate.

Implement PID control of temperature

Current code uses hard-coded PWM settings to try to follow a proper reflow profile, but these don't necessarily have any correlation to what the temperature is actually doing over time. A PID control strategy should allow for more accurate control of temperatures and rates of temperature rise/fall, provided that we have accurate temperature measurements to begin with. It should also allow the device to be able to be calibrated to work for different power supplies and plate designs.

heat function seems unable to return non-zero value

The heat function doesn't seem able to return a non-zero value. As a result, heating cycles always end with a message saying that the cycle was cancelled. The function needs a return 1 statement at the end.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.