Giter VIP home page Giter VIP logo

reflowmaster's Issues

MPNs of the components in the BOM File

Hey, I am trying to build this oven, but having a hard time finding the exact components. Can you please provide the MPNs of the components in the BOM File?

Thanks in advance!

Can't get eagle files to work

I am trying to get the eagle files to work but it keeps giving me the same error

"Error:

line 8, column 16: This is not an EAGLE file.
"

Proportional controller performance

Hi @UnexpectedMaker and thanks for your open-source projects and YouTube videos.

I am making a pretty similar project for a hot plate where I replace the original controller board with a custom one. Since there is just space for a segment display and some buttons, reflow profile will be configured from a smartphone using BLE. The hardware is mostly final and I am now working on the firmware using ESP-IDF.

I stumbled upon your project and found that you use the same thermocouple chip (MAX31855) than me and I am wondering how did you settle on the current temperature controller. I started working on a PID controller but saw that that you are only using a differential input:

duty = base + ( 172 * perc );
duty = constrain( duty, 0, 256 );

I did not try to tune the PID controller on the plate yet but was wondering how did you settle on a proportional-only controller? Does the temperature closely match the chosen profile? I also saw some recommendations to rather use bang-bang (on-off) controllers for heaters due to the large inertia.

Update GERBER

I tried to download the GERBER file and found that the version is 2018-2. I noticed that the version on tindie is 2019-2. Please update the file. Thank you.

SSR PWM potentially not fully on when set at 255

According to the Adafruit guide on Arduino sketches on SAMD21, performing an AnalogWrite(255) only sets the PWM to 255/256 rather than 255/255. As such, a special case is required to handle when it's at 255 and just digitally set the pin high. This is relevant to the SetRelayFrequency function

Might be worth investigating this, as it will improve ramp-up (marginally) and stop the toaster getting cut off and then slammed on again in periods where it should just be happily humming away. Unfortunately I don't have any hardware with which I could test this sorry, so might be a red herring if the info is wrong or the SAMD21 Arduino core has been changed.

BUG? overshoots

I think I found a bug, but I am hacking on my own fork and have not reproduced using upstream so was wondering if someone could confirm.

I noticed when I had sharp curves ( I am making some custom curves ) I was getting massive overshoots, 20-30C, and the heater would turn on randomly when way above wanted temp and even on cooldown, so I figured something might be wrong.

It looks like percent can be negative which causes duty to go above 0% and pulses the heater when it is not needed.

I added some sanity checking for perc and it seems to made a huge difference.
But if someone could check and test and make sure this is not going to break something.
change is below

MatchTemp()

    // prevent perc less than 1 and negative and greater than 100
    perc = constrain(wantedDiff - tempDiff,0,100);
    if(perc < 1) perc = 0;

BAD log
(ignore the T stamp, I am using a holding pattern)

T: 70.00  Current: 125.30  Wanted: 105.00  T Diff: 0.00  W Diff: 0.00  Perc: 0.00  Delta: -20.30  Base: 0.00 -> SetRelayFrequency
RELAY Duty Cycle: write: 0.00 0.00% Using Power: 100%
Holding..

T: 70.00  Current: 125.68  Wanted: 105.00  T Diff: 0.37  W Diff: 0.00  Perc: 0.00  Delta: -20.68  Base: 0.00 -> SetRelayFrequency
RELAY Duty Cycle: write: 0.00 0.00% Using Power: 100%
Holding..

T: 70.00  Current: 125.60  Wanted: 105.00  T Diff: -0.08  W Diff: 0.00  Perc: 0.08  Delta: -20.60  Base: 0.00 -> SetRelayFrequency
RELAY Duty Cycle: write: 12.00 4.69% Using Power: 100% <------- HMMMM
Holding..

T: 70.00  Current: 125.39  Wanted: 105.00  T Diff: -0.21  W Diff: 0.00  Perc: 0.21  Delta: -20.39  Base: 0.00 -> SetRelayFrequency
RELAY Duty Cycle: write: 36.00 14.06% Using Power: 100%

BUG? startFullBlast

If I set startFullBlast true, ( I expected startup to be 100% for a bit )

Instead it goes 100% and stays 100%

I can't see whats wrong here

  // override for full blast at start
if ( set.startFullBlast && timeX < CurrentGraph().reflowGraphX[1] )
    duty = 256;`

seems like it should only override the first graph point or reflow level but it keeps going

Anyone have ideas, I am still trying to understand the MatchTemp function and timex graphing loop

hermite tangents not supplied

I am surprised your environment doesn't crash because of this, esp32 does

  baseCurve.setPoints(CurrentGraph().reflowGraphX, CurrentGraph().reflowGraphY, CurrentGraph().len);
  baseCurve.setDegree( Hermite );

You specify Hermite, but provide no tangents to _m
void setPoints( float x[], float y[], float m[], int numPoints );

in spline, this causes exceptions on esp32, loadprohibited , since _m is unset

     // calc()
     // _m[i], _m[i+1]
      return hermite( ((x-_x[i]) / (_x[i+1]-_x[i])), _y[i], _y[i+1], _m[i], _m[i+1], _x[i], _x[i+1] );

Oddly , The spline lib doesn't seem to catch this or ensure that _m is set for hermite sets..

No idea what memory this accesses on samd, maybe its safer, shrug.

Bom don’t contain certain part names only what package

I can’t seen to figure out what voltage regulators you are using? The diode is also just the package type. Also the crystal is the same just the package. Kinda confused about the 12.5 pf 0805s also since they aren’t able to be bought. I’ve asked and searched a few suppliers and have been told such a part isn’t made.

New language options

Hope to add language setting option in the next version
I can help adapt to Simplified Chinese, Traditional Chinese, Japanese

Support esp32?

Thanks for sharing great Project. I need to know this code support for esp32. I need to buikd dIY but SAM IC dificult to find in my town. Thanks

abort immediate

abort does not turn off heater immediately

  • add SetRelayFrequency(0);
    do not wait for return and loop
void AbortReflow()
{
   SetRelayFrequency(0); // relay off
  if ( state == 1 || state == 2 || state == 16 ) // if we are in warmup or reflow states
  {
  • moved in front of state checking, and always abort!, in case a bug causes a bad state etc.

Updated Board Files?

I ordered a board from you last year (thank you, by the way!) and it's labeled "2020-2". It looks like the EAGLE files in the repo are labeled "2018-3" and are missing the programing header.

Is there any chance you could update the board files in the repo to the latest version?

Which USB socket?

Some BOM items are hard to identify, especially the Micro USB socket. What is the exact component used?

I tried two different components but they do not exactly fit the footprint. I noticed the two holes in the PCB, presumably for little bolts in the component (which would actually be very useful for manual pick and place).

Also, which exact MCU is used? The BOM just says ATSAMD21G-A, but there are dozens of variations of that chip in a 48pin package. Does it matter or can I pick any?

BOM and Schematic PDF

Great project. Thanks for sharing it!

Might I suggest listing a BOM of the purchased parts?

Affiliate links are always welcome as well.

Also I support your decision to add a "Buy Me A Coffee" link. So many times I've found and used an open source project and have no way of expressing my thanks to the person that put all the hard work into it. I really wish GitHub had this integrated.

I've attached a PDF of the current schematic (Rev F) as I find this super handy when checking out a project.

ReflowMaster_Rev_F.pdf

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.