Jump to content

temperature sensor setting for Ultimaker Original heated bed upgrade?


dbotos

Recommended Posts

Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

For the arduino in the UMO it's almost definitely 5V=1023 on ADC and 0V=0 on ADC.

But then you have to remember that 108 ohms on the adapter board gives you 1.2 volts, right? I'm not sure what you calculated 0 ohms to result in. Maybe 1.11 volts? Sorry - too lazy to read above. But this should ALL JUST WORK. You should be able to use the special firmware - something like "UMO w/hb" (not to be confused with UMO+ which uses very different hardware).

  • Link to post
    Share on other sites

    • Replies 72
    • Created
    • Last Reply

    Top Posters In This Topic

    Top Posters In This Topic

    Posted Images

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Oh and probably you want to ignore that 16X multiplier and stick with the table values that go roughly from 0 to 1023.

  • Link to post
    Share on other sites

    Posted (edited) · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Based on my calculations, the first two lines of that array in thermistortables.h for sensor ID "20" are wrong.  Allow me to explain:

    The number getting multiplied by the OVERSAMPLENR constant in the first column is the digital value of the ADC (0-1023 since it's a 10-bit ADC).  If you want to get back to analog, just multiply by 5/1023 (5 is the 5 V that gr5 mentioned).  The number in the second column is the temperature of the PT100 sensor in °C.

    So let's do the math for the first row and show why it's wrong.  0 in the first column multiplied by 5/1023 is still 0 analog voltage.  Divide by the gain of the INA826.  Still 0.  So that means the voltage drop across the PT100 would have to be 0, which would require a 0 Ω resistance.  Not happening.

    So what about row 2?  Well, let's just take the independent variable (temperature) and figure out the dependent values (digital value of ADC) for each point.  Use R_T=R_0*(1+3.9083E-3*T-5.775E-7*T^2) to find resistance of a PT100 sensor at temperature T (in °C) when T > 0 °C (the formula has another term if you're below zero).  Add that resistance in series with the two 2.2k flanking resistors, find the current due to the 5 V source, multiply that current by the PT100 resistance to find the voltage drop across the PT100, multiply by the gain of the INA826 to get analog voltage, and then by 1023/5 to get the digital value.  Here's what that looks like done in a spreadsheet (with V_dig rounded off to nearest whole number):

     

    T (°C)	R_PT100 (Ω)	R_tot (Ω)	i (A)	V_PT100 (V)	V_ana (V)	V_dig0	100.000	4500.000	0.001111	0.1111	1.111	2271	100.391	4500.391	0.001111	0.1115	1.115	22810	103.903	4503.903	0.001110	0.1153	1.153	23620	107.794	4507.794	0.001109	0.1196	1.195	24530	111.673	4511.673	0.001108	0.1238	1.237	25340	115.541	4515.541	0.001107	0.1279	1.279	26250	119.397	4519.397	0.001106	0.1321	1.321	27060	123.242	4523.242	0.001105	0.1362	1.362	27970	127.075	4527.075	0.001104	0.1404	1.403	28780	130.897	4530.897	0.001104	0.1444	1.444	29590	134.707	4534.707	0.001103	0.1485	1.485	304100	138.506	4538.506	0.001102	0.1526	1.526	312110	142.293	4542.293	0.001101	0.1566	1.566	320120	146.068	4546.068	0.001100	0.1607	1.606	329130	149.832	4549.832	0.001099	0.1647	1.646	337140	153.584	4553.584	0.001098	0.1686	1.686	345150	157.325	4557.325	0.001097	0.1726	1.726	353160	161.054	4561.054	0.001096	0.1766	1.765	361170	164.772	4564.772	0.001095	0.1805	1.804	369180	168.478	4568.478	0.001094	0.1844	1.844	377190	172.173	4572.173	0.001094	0.1883	1.882	385200	175.856	4575.856	0.001093	0.1922	1.921	393210	179.528	4579.528	0.001092	0.1960	1.960	401220	183.188	4583.188	0.001091	0.1998	1.998	409230	186.836	4586.836	0.001090	0.2037	2.036	417240	190.473	4590.473	0.001089	0.2075	2.074	424250	194.098	4594.098	0.001088	0.2112	2.112	432260	197.712	4597.712	0.001087	0.2150	2.150	440270	201.314	4601.314	0.001087	0.2188	2.187	447280	204.905	4604.905	0.001086	0.2225	2.224	455290	208.484	4608.484	0.001085	0.2262	2.262	463300	212.052	4612.052	0.001084	0.2299	2.298	470310	215.608	4615.608	0.001083	0.2336	2.335	478320	219.152	4619.152	0.001082	0.2372	2.372	485330	222.685	4622.685	0.001082	0.2409	2.408	493340	226.206	4626.206	0.001081	0.2445	2.444	500350	229.716	4629.716	0.001080	0.2481	2.480	507360	233.214	4633.214	0.001079	0.2517	2.516	515370	236.701	4636.701	0.001078	0.2552	2.552	522380	240.176	4640.176	0.001078	0.2588	2.588	529390	243.640	4643.640	0.001077	0.2623	2.623	537400	247.092	4647.092	0.001076	0.2659	2.658	544500	280.978	4680.978	0.001068	0.3001	3.001	614600	313.708	4713.708	0.001061	0.3328	3.327	681700	345.284	4745.284	0.001054	0.3638	3.638	744800	375.704	4775.704	0.001047	0.3933	3.933	805900	404.970	4804.970	0.001041	0.4214	4.213	8621000	433.080	4833.080	0.001035	0.4480	4.480	9171100	460.036	4860.036	0.001029	0.4733	4.732	968

     

    Starting at data row 3, you'll notice the V_dig values start matching those from thermistortables.h that get multiplied by OVERSAMPLENR.

    But having those first two rows incorrect doesn't seem like it would affect how my measured voltage of 1.217 V at ambient gets interpreted, since that would fall between rows 4 and 5, which are correct.

    Regarding OVERSAMPLENR, it's a way of time-averaging temperature readings from the ADC.  With OVERSAMPLENR set to 16, it takes 16 successive digital measurements and adds them together.  To time-average that, you could either divide by 16 to get a number back in the 0-1023 range or just leave it as the sum of all 16 values and instead multiply the digital value column of the lookup table by 16.  The thermistortables.h file does the latter.

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Also, it seems pointless for the table to go up to such high temperatures. Configuration.h has the max bed temperature set to 150 °C (302 °F) and aluminum starts melting around 660 °C (1220 °F). I think bad things would happen to your heated bed PCB, wires, etc. somewhere in between those two temperatures. :O

  • Link to post
    Share on other sites

    Posted (edited) · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Footnote: R_0 in the PT100 resistance versus temperature equation is the resistance at 0 °C ( 100 Ω ).

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    The same table is used for nozzle temps on all UM printers but UMO.

    The same PT100 sensor (the same chip anyway) is used on all UM heated beds (UM2, UMO, etc) and also on all UM2 nozzles and the UMO+ nozzle. The only place it's not used is the UMO nozzle which has a thermocouple. So going up to 500C is probably reasonable . Certainly some people print regularly at 300C (obviously they are making serious modifications to the hot end!). 1100C seems a bit extreme, lol.

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Anyway - the point is now you understand how ALL of it is supposed to work. and you verified I believe that the right voltage is getting to the UMO control board, right? And I doubt it's the firmware. That leaves the signal on the UMO control board - maybe check the voltage right at the arduino pin. If it's still good maybe replace the Arduino - I think they cost like $10 in USA if it's a chinese made arduino copy. Try ebay. I think it's just a standard "arduino 2560Mega".

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Oh - and the reason the first line in the table is off - I guess you have to figure in failures - opamp missing/unloaded/broken, wires/traces missing or shorted or cut. So you can in theory get a reading back from the ADC of 0. You want the table to fail somewhat gracefully maybe? maybe the code will get an error if you don't? Anyway it will display like 0C if it gets 0V. I seem to remember if it is at 0C it gets some king of "temp sensor broken" error or something similar.

    A guy on the forum in england keeps his printer in his cold garage in winter and he has to use the hair dryer to heat up the nozzle and bed to 5C before he can let the firmware heat it up the rest, lol.

  • Link to post
    Share on other sites

    Posted (edited) · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Based on my calculations, the first two lines of that array in thermistortables.h for sensor ID "20" are wrong.  Allow me to explain:

    The number getting multiplied by the OVERSAMPLENR constant in the first column is the digital value of the ADC (0-1023 since it's a 10-bit ADC).  If you want to get back to analog, just multiply by 5/1023 (5 is the 5 V that gr5 mentioned).  The number in the second column is the temperature of the PT100 sensor in °C.

    So let's do the math for the first row and show why it's wrong.  0 in the first column multiplied by 5/1023 is still 0 analog voltage.  Divide by the gain of the INA826.  Still 0.  So that means the voltage drop across the PT100 would have to be 0, which would require a 0 Ω resistance.  Not happening.

    So what about row 2?  Well, let's just take the independent variable (temperature) and figure out the dependent values (digital value of ADC) for each point.  Use R_T=R_0*(1+3.9083E-3*T-5.775E-7*T^2) to find resistance of a PT100 sensor at temperature T (in °C) when T > 0 °C (the formula has another term if you're below zero).  Add that resistance in series with the two 2.2k flanking resistors, find the current due to the 5 V source, multiply that current by the PT100 resistance to find the voltage drop across the PT100, multiply by the gain of the INA826 to get analog voltage, and then by 1023/5 to get the digital value.  Here's what that looks like done in a spreadsheet (with V_dig rounded off to nearest whole number):

     

    T (°C) R_PT100 (Ω) R_tot (Ω) i (A) V_PT100 (V) V_ana (V) V_dig0 100.000 4500.000 0.001111 0.1111 1.111 2271 100.391 4500.391 0.001111 0.1115 1.115 22810 103.903 4503.903 0.001110 0.1153 1.153 23620 107.794 4507.794 0.001109 0.1196 1.195 24530 111.673 4511.673 0.001108 0.1238 1.237 25340 115.541 4515.541 0.001107 0.1279 1.279 26250 119.397 4519.397 0.001106 0.1321 1.321 27060 123.242 4523.242 0.001105 0.1362 1.362 27970 127.075 4527.075 0.001104 0.1404 1.403 28780 130.897 4530.897 0.001104 0.1444 1.444 29590 134.707 4534.707 0.001103 0.1485 1.485 304100 138.506 4538.506 0.001102 0.1526 1.526 312110 142.293 4542.293 0.001101 0.1566 1.566 320120 146.068 4546.068 0.001100 0.1607 1.606 329130 149.832 4549.832 0.001099 0.1647 1.646 337140 153.584 4553.584 0.001098 0.1686 1.686 345150 157.325 4557.325 0.001097 0.1726 1.726 353160 161.054 4561.054 0.001096 0.1766 1.765 361170 164.772 4564.772 0.001095 0.1805 1.804 369180 168.478 4568.478 0.001094 0.1844 1.844 377190 172.173 4572.173 0.001094 0.1883 1.882 385200 175.856 4575.856 0.001093 0.1922 1.921 393210 179.528 4579.528 0.001092 0.1960 1.960 401220 183.188 4583.188 0.001091 0.1998 1.998 409230 186.836 4586.836 0.001090 0.2037 2.036 417240 190.473 4590.473 0.001089 0.2075 2.074 424250 194.098 4594.098 0.001088 0.2112 2.112 432260 197.712 4597.712 0.001087 0.2150 2.150 440270 201.314 4601.314 0.001087 0.2188 2.187 447280 204.905 4604.905 0.001086 0.2225 2.224 455290 208.484 4608.484 0.001085 0.2262 2.262 463300 212.052 4612.052 0.001084 0.2299 2.298 470310 215.608 4615.608 0.001083 0.2336 2.335 478320 219.152 4619.152 0.001082 0.2372 2.372 485330 222.685 4622.685 0.001082 0.2409 2.408 493340 226.206 4626.206 0.001081 0.2445 2.444 500350 229.716 4629.716 0.001080 0.2481 2.480 507360 233.214 4633.214 0.001079 0.2517 2.516 515370 236.701 4636.701 0.001078 0.2552 2.552 522380 240.176 4640.176 0.001078 0.2588 2.588 529390 243.640 4643.640 0.001077 0.2623 2.623 537400 247.092 4647.092 0.001076 0.2659 2.658 544500 280.978 4680.978 0.001068 0.3001 3.001 614600 313.708 4713.708 0.001061 0.3328 3.327 681700 345.284 4745.284 0.001054 0.3638 3.638 744800 375.704 4775.704 0.001047 0.3933 3.933 805900 404.970 4804.970 0.001041 0.4214 4.213 8621000 433.080 4833.080 0.001035 0.4480 4.480 9171100 460.036 4860.036 0.001029 0.4733 4.732 968

     

    Starting at data row 3, you'll notice the V_dig values start matching those from thermistortables.h that get multiplied by OVERSAMPLENR.

    But having those first two rows incorrect doesn't seem like it would affect how my measured voltage of 1.217 V at ambient gets interpreted, since that would fall between rows 4 and 5, which are correct.

    Regarding OVERSAMPLENR, it's a way of time-averaging temperature readings from the ADC.  With OVERSAMPLENR set to 16, it takes 16 successive digital measurements and adds them together.  To time-average that, you could either divide by 16 to get a number back in the 0-1023 range or just leave it as the sum of all 16 values and instead multiply the digital value column of the lookup table by 16.  The thermistortables.h file does the latter.

     

    Hi David,

    Been a little on/off lately.  :)

    First; use 5V/1024 (0-1023) remember zero count one in this world... :)

    Then, use the max temp 275 (or even 300) to have better resolution in temp range we're interested in. Edit: Maybe they use a standard sub. here so, look around.

    1100 deg. makes sense for thermocouple (as K element), only!

    I'll think someone “messed” with the table used for compilation in this web software. :)

    Just a hint...

    Well, I'll know you're on the track, but as Gr5 said the one recommended (firmware) should work for the thermistor PT100. Use this firmware to check out the PT100. You can compare etc...

    OK. Good luck in hunting for the offset and the correct hi(gain) setting. :)

    Thanks.

    Torgeir.

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    It'd be simple to make the table extend into the sub-zero °C range. I don't plan on personally using my Ultimaker in those kinds of temperatures. :) If you wanted to code in some minimum temperature limit, it'd probably be a simple matter. No reason why the heater shouldn't work at temperatures that low.

    Slope of 1023/5 is correct for going from analog to digital. Linear slope dy/dx = (1023-0)/(5-0) = 1023/5. No offset since (0,0) is a point on the function.

    Yup, I think I've narrowed it down to either the firmware or the ADC. I need to try compiling my own firmware now that I know what settings I need to change for my setup.

    • Like 1
    Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    It'd be simple to make the table extend into the sub-zero °C range.  I don't plan on personally using my Ultimaker in those kinds of temperatures.  :)  If you wanted to code in some minimum temperature limit, it'd probably be a simple matter.  No reason why the heater shouldn't work at temperatures that low.

    Slope of 1023/5 is correct for going from analog to digital.  Linear slope dy/dx = (1023-0)/(5-0) = 1023/5.  No offset since (0,0) is a point on the function.

     

    Aha, of course you're right here (as well) :) , I was thinking of using every step as a value as we does in some cases.

     

    Yup, I think I've narrowed it down to either the firmware or the ADC.  I need to try compiling my own firmware now that I know what settings I need to change for my setup.

     

    Thanks.

    Torgeir.

  • Link to post
    Share on other sites

    Posted (edited) · temperature sensor setting for Ultimaker Original heated bed upgrade?

    I was able to compile and upload custom Marlin firmware from the Arduino software.  :)  I made the following changes to Configuration.h:

    ---------------------------------------

    1) replace

    #ifndef MOTHERBOARD

     #define MOTHERBOARD BOARD_ULTIMAKER

    #endif

    with

    #define MOTHERBOARD 7

    ---------------------------------------

    2) replace

    #define TEMP_SENSOR_BED 0

    with

    #define TEMP_SENSOR_BED 20

    ---------------------------------------

    3) replace

    #define INVERT_E0_DIR false

    with

    #define INVERT_E0_DIR true

    ---------------------------------------

    4) replace

    #define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200.0*8/3,760*1.1}  

    with

    #define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200.0*8/3,100}  

    ---------------------------------------

    5) replace

    #define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}    

    with

    #define DEFAULT_MAX_ACCELERATION      {9000,9000,200,10000}    

    ---------------------------------------

    I also fixed the first two lines of thermistortables.h for sensor ID 20 (the PT100) before compiling and uploading.  Fired up Cura, told it to print something, and it said the bed was 68 °C when it was at room temperature.  :(  I need to compile again, with the following line uncommented in Configuration_adv.h:

    #define SHOW_TEMP_ADC_VALUES

    This is supposed to return the ADC value(s) when you issue an M105 command (along with the temperature info that in normally returns).  Hopefully this will give me the information I need to decide whether it's a software or hardware problem...

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Meanwhile spend the $10 for another arduino.

  • Link to post
    Share on other sites

    Posted (edited) · temperature sensor setting for Ultimaker Original heated bed upgrade?

    gr5 - I may have to resort to that.  But I have one more thing to try...

    I uncommented that line in Configuration_adv.h and at room temperature, it returned a bed temperature of 72 °C and an ADC value of 289.  This falls in between the table values of 70 °C = 287 and 80 °C = 295.  I'm assuming this means that channel of the ADC is messed up.

    So here's that one more thing to try:  In the 1.5.6 Ultimaker main board schematic, there is an unused TEMP 2 channel (for a second hot end).  It is identical to the TEMP 3 channel (including the fact that there is no 4.7 kΩ resistor loaded).  So, I'm going to try physically swapping the cables plugged into TEMP 2 and TEMP 3 and then swapping the pin assignments in pins.h (in the section that starts with "#if MB(ULTIMAKER)"):

    currently:

    #define TEMP_0_PIN 8

    #define TEMP_1_PIN 9

    #define TEMP_BED_PIN 10

    will change to:

    #define TEMP_0_PIN 8

    #define TEMP_1_PIN 10

    #define TEMP_BED_PIN 9

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    No love. I swapped the cables and pin assignments and it says the bed is 71 °C. Even tried taking the .hex firmware file output by the Arduino software and uploading from within Cura. I'm doubtful that two channels on the ADC are messed up...

  • Link to post
    Share on other sites

    Posted (edited) · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Hi David,

    I'm sorry to hear this. Just come to think about some thing, I might be wrong here but...

    I think there is "some" versions of UMO that's not compatible with this mod due to hardware issues.

    When you put up this one:

    #define MOTHERBOARD 7

    I'll wonder if this type was motherboard 27???

    Just a shot.  

    Edit: Maybe you should describe your problem here: https://github.com/MarlinFirmware/Marlin/issues

    This is the place to go..

    OK. as usual; Good luck.

    Torgeir.

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Didn't you say earlier that you measured the voltage with a voltmeter and it was fine? Could it be that the 5V on the arduino board is actually maybe 4.5V such that the ADC is off by 10%?

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    I think the arduino has a AREF (analog reference) pin that is normally at 5V (3.3V for other types of arduinoes like the Due but that's not the case here). Maybe that pin is floating or at the wrong voltage? Or maybe the entire power supply for the arduino is at the wrong voltage.

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Torgeir - motherboard 72 is for Ultimaker main board 2.x. I've got a 1.5.6 main board, which should fall under motherboard 7. There's also a motherboard 71, which is really old Ultimaker original (pre 1.5.4 - I think I read somewhere that these were never shipped). I'll have to see if anyone over on the Marlin github page has any suggestions.

    gr5 - just measured the following voltages where the bed temp cable connector is soldered into the main board:

    black (Vcc) to blue (GND) = 4.99 / 5.00 VDC

    red (Vout) to blue (GND) = 1.22 VDC

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Hi David,

    OK. David, those folks are the ones behind it! :)

    I was thinking this; if you have a kind of hardware fault/error, those people are the right ones to ask.

    Well, why not check what you have; what the hardware is giving by shorting the input to ground, measuring/note the value in deg. Celsius at your display. Then another test, in order to compare the room reference (the PT100 at room temperature) temperature to this value, and see if it makes sense! And what is the value in boiling water?

    We'll like to see that your hardware is working!!! Changing firmware and looking for the right values is not the right way to go!

    "Do not change the firmware, but use the right one referred to in the manual. Let's not make any correction for the filament feeder direction or the feeder speed, cause we know its wrong."

    Concentrate the focus on the heat bed and the temperature we're expecting.

    Theory is something what we calculate/expect we can get, the question is then; is it true, -or is it wrong?

    In other word, we'll need to know what the hardware is "telling" for a given input. This is how we find if it is actually working. Remember we (the forum) can't see your result/problem.

    Oh, I'm sorry, did not meant to be rude, but I'll think we're in need to “gear up” in order to improve. :)

    Thanks.

    Torgeir.

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Torgeir - I've tried the default firmware with the same results as the custom firmware - it thinks the bed is somewhere slightly above 70 °C when it is physically just above 20 °C. If I do a default firmware load from Cura, it says it loaded "MarlinUltimaker-HBK-250000" at the end.

    At this point, I've verified that the PT100 sensor's resistance at room temperature and the voltage output from the INA826 circuit are correct for that resistance all the way up to the ADC. So it's something to do with the ADC, which could be either hardware or firmware related.

    As a quick test this morning, I thought I'd see if I could change the bed temperature since I've been doing all ambient data points. I placed an reusable ice pack in the center of the bed, let it sit for a while, and then used the M105 command to check the temperature. First check said 63.7 °C. Waited a little bit and second check said 62.5 °C. Another wait and third check said 61.6 °C. So, it's responding in the right direction, but it still has what appears to be an offset error in converting the analog voltage to temperature.

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Here's the issue I opened on the Marlin github page:

    https://github.com/MarlinFirmware/Marlin/issues/4072

    Hopefully the Marlin folks can provide some good guidance. I'll post back here if I get any helpful information over there.

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Hi David,

    Just finished a «deep dive» into the file:

    https://github.com/MarlinFirmware/Marlin/blob/RC/Marlin/temperature.cpp#L1

    If you go down to line846, you'll find how the temperature is calculated for the thermocouple with AD595. This is a good place to look.

    Actually you can try to use heater 2 and just change the offset to 1.111 and gain to 10, then the temperature «may» be correct, I'll think.

    I could not find the PT100 and INA826 in there, but maybe you can, however; using this trick may work.

    Here's the part of this file of interest.

    866 return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * (TEMP_SENSOR_AD595_GAIN)) + TEMP_SENSOR_AD595_OFFSET;

    OK., Good luck with Marlin. :)

    Thanks.

    Torgeir.

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    @dbotos - I'm a bit confused. Didn't you already prove that the correct voltage arrives at the ADC? But that the ADC reads back the wrong value? If that's true then it's definitely a hardware issue (bad arduino).

    I have the same thing - UMO with the HBK. The firmware works fine for me.

  • Link to post
    Share on other sites

    Posted · temperature sensor setting for Ultimaker Original heated bed upgrade?

    Torgeir - all the stuff with the PT100 sensor should happen on the add-on board with the INA826 amplifier. The output of that gets fed right to the ADC and should just be a straight A-D conversion and table lookup. I guess I should ask the Marlin folks if it is in fact a straight conversion without any gain or offset.

    gr5 - I think I have a two-pronged plan for testing hardware. First, I can take the bed temperature cable that comes out of the add-on board and rout it to an Arduino Uno that I have. A simple sketch with the AnalogRead function can get me the raw ADC value of that voltage. Kind of a "second opinion" from a different Arduino doctor.

    The other part of the plan would be to apply different voltages to the TEMP 3 input on the main board (where the bed temperature cable normally plugs in) to check the response of the Arduino 2560's ADC. I was thinking 0, 1.5, 3, and 4.5 V (since they're multiples of common battery voltage). For the zero, I'd tie the pin back to ground so it doesn't float. ADC values would be checked via M105 command through the firmware.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    • Our picks

      • Introducing Universal Cura Projects in the UltiMaker Cura 5.7 beta
        Strap in for the first Cura release of 2024! This 5.7 beta release brings new material profiles as well as cloud printing for Method series printers, and introduces a powerful new way of sharing print settings using printer-agnostic project files! Also, if you want to download the cute dinosaur card holder featured below, it was specially designed for this release and can be found on Thingiverse! 
        • 10 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
        • 0 replies
    ×
    ×
    • Create New...