Page MenuHomeAleph Objects Inc

Add MIN_TEMP and MAX_TEMP test to electronics box testing rig
Closed, WontfixPublic

Description

I believe it would be useful to add a MIN_TEMP and MAX_TEMP testing to the electronics box testing rig.

Testing for MIN_TEMP should proceed as follows:

  • Set Marlin to heat the extruder
  • Press switch to open the thermistor circuit.
  • Marlin should report a MIN_TEMP error

Testing for MAX_TEMP should proceed as follows:

  • Restart board
  • Press switch to put a low valued resistor in parallel with the thermistor
  • Marlin should report a MAX_TEMP error

Doing this test would ensure all the safeties were in place and operational.

Related Objects

Event Timeline

marcio created this task.Apr 11 2019, 3:27 PM
kent added a comment.Apr 11 2019, 3:49 PM

from https://code.alephobjects.com/diffusion/MARLIN/browse/devel/Marlin/src/module/thermistor/thermistor_5.h

// R25 = 100 kOhm, beta25 = 4267 K, 4.7 kOhm pull-up
// 100k ParCan thermistor (104GT-2)
// ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan)
// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
const short temptable_5[][2] PROGMEM = {
  { OV(   1), 713 },
  { OV(  17), 300 }, // top rating 300C
  { OV(  20), 290 },
  { OV(  23), 280 },
  { OV(  27), 270 },
  { OV(  31), 260 },
  { OV(  37), 250 },
  { OV(  43), 240 },
  { OV(  51), 230 },
  { OV(  61), 220 },
  { OV(  73), 210 },
  { OV(  87), 200 },
  { OV( 106), 190 },
  { OV( 128), 180 },
  { OV( 155), 170 },
  { OV( 189), 160 },
  { OV( 230), 150 },
  { OV( 278), 140 },
  { OV( 336), 130 },
  { OV( 402), 120 },
  { OV( 476), 110 },
  { OV( 554), 100 },
  { OV( 635),  90 },
  { OV( 713),  80 },
  { OV( 784),  70 },
  { OV( 846),  60 },
  { OV( 897),  50 },
  { OV( 937),  40 },
  { OV( 966),  30 },
  { OV( 986),  20 },
  { OV(1000),  10 },
  { OV(1010),   0 }
};

So if I'm reading this right, anything under about 1.6kΩ would trigger a maxtemp and anything over about 1.1MΩ will trigger a mintemp. @marcio does that look right?

We need to modify this part of the control box stand https://code.alephobjects.com/diffusion/TAZQUIVER/browse/master/production_parts/tooling/control_box_test_stand/cable_harnesses/internal_harnesses/resistor-lead.odg to have a switchable circuit that goes to resistors of those values. We will probably want to add another panel with buttons to it for the switches similar to how we did the endstop switches.

Then we need to update this OHAI https://ohai.lulzbot.com/project/control-box-testing-process/quiver/ to include instructions on how to test for min and max temp.

I'm not sure. I don't know what units those values are. When Mark returns, maybe he can look in the spec sheet for the particular thermistor we are using. That would give us the correct resistance.

kent triaged this task as Normal priority.Apr 17 2019, 11:44 AM
kent changed the edit policy from "All Users" to "LulzBot Hardware Products (Project)".
kent added a comment.Apr 17 2019, 11:58 AM

The units are kΩ on the left and °C on the right. This is the datasheet https://www.mouser.com/datasheet/2/362/semitec%20usa%20corporation_gtthermistor-1202937.pdf but it doesn't give a table, just a B value. I'm not sure if the steinhart hart eqn would product values that match the table, or if those were taken empirically.

I think I have what I need.

oliver added a subscriber: oliver.Apr 17 2019, 12:22 PM

@kent Here is the sheet that we use to check if the thermistors adjusted for our own tolerances as set by us and E3D using the stein-hart equations. They also do include a b, beta, value that was obtained from the manufacturers site.


The last sheet as some input spells where you can input a specific temperature or resistance and it will solve for the other.

kent added a comment.Apr 17 2019, 1:35 PM

Well what's in the table doesn't match what's in your spreadsheet @oliver so I'm guessing these were taken empirically, or the spreadsheet is wrong, or the units are not what I think they are. Something's fishy.

oliver added a comment.EditedApr 17 2019, 1:43 PM

@kent So the table on the link you provided doesn't actually have any resistance to temperature settings, they have a single temperature at a single resistance for several different part numbers, I was looking at that sheet when I had to redesign the sheet we use for resistance. I believe it's the temperature and resistance that was used in order to calculate the beta coefficient because it seems that most companies don't actually use the stein-hart equations. My numbers may still be a bit off because they do include some error calculations as requested by E3D.

Edit: Misunderstood here a bit, I don't know about the values that marlin have or where they got them but the values do change depending on the thermister used and i had asked about this before on where we are actually getting our values from but did not really get an answer

logan added a subscriber: logan.Apr 18 2019, 11:29 AM
DaniAO reassigned this task from kent to logan.Apr 29 2019, 12:38 PM
DaniAO added a subscriber: kent.

@mjpelletier Do you have resistors on hand that meet these specs? If so, could you send them to AM?

@kent Did you have a plan for fitting this on the existing fixture? There isn't an abundance of space left.

logan added a comment.Apr 29 2019, 2:36 PM

@mjpelletier Sorry, I now have in hand the thing you made for this. Could you make another?

I made a little, hand-wired board to simulate 60 C (Normal), Min-Temp and Max-Temp. I believe I gave Kent or Oliver the board, along with a crude schematic. For the resistor values needed, I only have a few resistors from sample packs. It might be best to order larger quantities of the resistors from Digikey. I'd have to look at the board to remember the exact values. Also, my test board uses 1 ea. Normally Closed and 1 ea. Normally Open switch. I used some end-stop switches for this purpose.

logan added a comment.Apr 29 2019, 2:43 PM

@kent Do we want to test this on all 3 thermistors? Or is one circuit enough for verifying that the FW will catch this?
All 3 would require like 6 more switches on the stand in the current config

logan added a comment.Apr 29 2019, 3:14 PM

Also, at 60C normal, this board wont be able to stay plugged in for the entire test as 60C is below minimum extrusion temperature

kent added a comment.Apr 29 2019, 4:10 PM

I think just testing the function of the min/maxtemp features on one thermistor circuit is sufficient. @marcio is it likely that if one is good, they are all good, or would you prefer that we test all three thermistor circuits?

@kent: Well, we've already encountered a situation where the bed and the hotends were handled differently in Marlin, so it would be ideal to test them all.

logan added a comment.Apr 29 2019, 4:22 PM

I have replaced the 22.6 kOhm resistor with one of the 365 Ohm resistors we were using for E1 previously to fix the minimum extrusion temperature issue.

logan added a comment.Apr 29 2019, 4:24 PM

@kent @marcio @mjpelletier If we want to test all 3 circuits we will need several more of these boards made. To complete both test stands, 5 additional boards will be needed.

@mjpelletier Do you have any 3 position switches we could wire to this so that we could select which thermistor we want to Min/Max temp? That way we only need 1 board and 3 additional switches per stand

No, I don't have any 3-position switches. You would have to order a few from Digikey. The board I made was just some spare parts I found, including the limit switches, which had both N.O. and N.C. terminals. I was kind of hoping you could use my "kluge" board as a model to make you own boards for any test fixtures. I've got a few of those small "Vector" project boards over here if you need some.

tutley added a subscriber: tutley.May 1 2019, 9:07 AM

@logan i know yesterday you were seeing with .112 firmware that there was no min temp when the thermistor readout is 0 degrees
I mentioned this to @marcio and he said Marlin changed min temp to only pop up if the readout is below the set threshold AND you are trying to heat the extruder. So this is a feature, not a bug.
Just wanted to get you up to date on this!

logan added a comment.May 1 2019, 9:15 AM

I'll work that into the instructions to heat before trying the min temp.
Thanks for the update!

logan reassigned this task from logan to MikeR.May 6 2019, 3:49 PM
DaniAO added a subscriber: DaniAO.May 14 2019, 8:45 AM

@MikeR an update on this one?

logan added a comment.May 14 2019, 8:53 AM

The selector switches are in, but no further work has been done on this yet.
Will need to modify printed parts to include the additional switch and 2 buttons, which all still needs wired.
We will need to make another MIN/MAX board or add the ability to switch between bed temp and extruder temp values in order to test MIN/MAX on the bed thermistor circuit also, because the MIN/MAX board that @mjpelletier provided was modified to be above minimum extrusion temp.
Perhaps this was overshot though and we could use a resistor that would provide a normal value of 125-135C, which would be within range of the bed while also being above minimum extrusion temp.
Anyway, a lot of work to do on this one.

logan added a subscriber: Steven.Jun 3 2019, 2:12 PM

@DaniAO @Steven
Is this still something we want to do?
A considerable amount of time would need to be spent on this, including CAD work to even fit this into the current testing rigs.
I have the materials, I think, but I never got it to the point of being functional for both extruders and the bed.

@logan I am not sure how to answer that.

@Steven @west @bowman ?? Thoughts?

@logan I think we should integrate everything we can do to "ensure all the safeties were in place and operational."
Christian will have to make this call. He doesn't have a code account set up yet so I can't add him as a subscriber yet. I will follow up with him and get him tagged on this ticket.

logan added a comment.Jun 5 2019, 11:17 AM

It can be done, if enough time is allotted/assigned to accomplish what is needed.

logan added a subscriber: cmerot.Jun 11 2019, 4:26 PM
cmerot closed this task as Wontfix.Jun 13 2019, 1:29 PM

It seems to me this is a request to verify and validate firmware. The purpose for our test stand is to verify control boxes are working correctly. The purpose is not to verify and validate firmware. In my experience firmware is not verified and validated in production and is performed else where before release to production.