Upgrades



  • Hey All,

    I have a few upgrades in mind for my Kossel XL and have a few questions.

    I want to upgrade my Hotend thermistor to an E3D PT100 Sensor, If I am using a Duet 0.8.5 do I need the Amplifier board?

    I want to print Flexible Filament but I am struggling to get it to work with my Bowden so am considering getting a Flex3Drive but which versions would be better? The Flex3Drive for Mini Kossel or the Flex3Drive for Kossel XL and Other Delta? The reason I ask is I have Traxxas joints already so the Mini Kossel Version should be easier but I wonder if it would be better, in the long run, to upgrade to the Magnetic ball joints. Thoughts

    K


  • administrators

    To use a PT100 with a Duet 085 you need a third-party PT100 interface board based on the MAX31865 chip. They are available on eBay. See https://duet3d.com/wiki/Connecting_PT100_temperature_sensors#Duet_0.6_or_0.8.5. You don't need the amplifier.

    Regarding which version of the Flex3drive, I suggest you send ask Jason, aka Mutley3D on the forums at reprap.org.



  • I have the kossel mini flex3drive and it works very well and its a small unit. So +1 for that. There are other products out there now, but as yet we are waiting to see how they perform.



  • Thanks guys.



  • @dc42:

    To use a PT100 with a Duet 085 you need a third-party PT100 interface board based on the MAX31865 chip. They are available on eBay. See https://duet3d.com/wiki/Connecting_PT100_temperature_sensors#Duet_0.6_or_0.8.5. You don't need the amplifier.

    Regarding which version of the Flex3drive, I suggest you send ask Jason, aka Mutley3D on the forums at reprap.org.

    In the link for connecting the PT100 is says "Purchase a third-party MAX31865-based PT100 interface board. The Duet uses 3.3V signalling, so get a board without 5V level shifters. The reference resistor on the board must be 400 ohms."

    I have been unable to find a PT100 interface board without the level shifters, the only ones I can find have the level Shifters and a 430ohm reference resistor, it is possible to make these work? This one for instance i


  • administrators

    This one will do http://www.ebay.co.uk/itm/PT100-PT1000-temperature-converter-SPI-digital-output-Arduino-MAX31865-from-EU-/171701993176.

    Boards with level shifters might work, but to use a 430 ohm reference resistor you would need to construct a new resistance/temperature table and rebuild the firmware.



  • Thanks DC42, on that page what voltage do I need to select, there is the option of 3.3v and 5v?


  • administrators

    3.3V (that's the version without level shifters).



  • Ah I see, thanks again.



  • Ok got it all working, thanks for the help. Now I have another problem, seems I must have knocked or otherwise moved both of the LED's on my IR Probe while I was upgrading and it is way out now. I tried moving them back to a position that looked more or less even and level which improved it somewhat and I managed to get it triggering at the centre position at a decent height (1.18mm) but something is still wrong, it triggers fine in the centre but as it is going round on the calibration it is triggering very high in some places and hitting the bed in others. Is there something I can do to get the led's repositioned properly?


  • administrators

    I presume you have the older version of the IR sensor with the through-hole IR LEDs and phototransistor. The important thing is to make sure that they are standing perpendicular to the PCB. The trigger height can be adjusted by rotating the outer LED about an axis perpendicular to the PCB; but don't try to increase the trigger height too much.



  • Thanks, I will have to have another go at it I guess, They were both well out of position so I guess the best thing to do is get them as close to perpendicular to the board as possible and both as close to 45% as possible and get it probing level if not at the right height then adjust the outer LED to get the height withing tolerance. Hopefully I can get it working or I will have to buy another which isn't a problem except you are out of stock currently. 😞



  • @dc42:

    This one will do http://www.ebay.co.uk/itm/PT100-PT1000-temperature-converter-SPI-digital-output-Arduino-MAX31865-from-EU-/171701993176.

    Boards with level shifters might work, but to use a 430 ohm reference resistor you would need to construct a new resistance/temperature table and rebuild the firmware.

    Could you make that configurable in the firmware? It's possible to calculate it using a generic lookup table like in this project: https://github.com/adafruit/pt100rtd


  • administrators

    @krzaku:

    @dc42:

    This one will do http://www.ebay.co.uk/itm/PT100-PT1000-temperature-converter-SPI-digital-output-Arduino-MAX31865-from-EU-/171701993176.

    Boards with level shifters might work, but to use a 430 ohm reference resistor you would need to construct a new resistance/temperature table and rebuild the firmware.

    Could you make that configurable in the firmware? It's possible to calculate it using a generic lookup table like in this project: https://github.com/adafruit/pt100rtd

    It would be possible, but as the Duet085 is now out of production and there are at least 2 types of MAX31865 boards available that use 400 ohm resistors, I don't plan to do it.



  • @dc42:

    It would be possible, but as the Duet085 is now out of production and there are at least 2 types of MAX31865 boards available that use 400 ohm resistors, I don't plan to do it.

    Could you at least post a lookup table for 430 ohm resistor boards in a pastebin somewhere, or how you calculated the values, so I can compile it myself? I bought a board with a 430 ohm resistor before I checked a 400 ohm one is required and I want to avoid soldering if possible.


  • administrators

    The table came from the MAX31865 datasheet, so that's the place to look.


  • administrators

    PS the easiest way to convert that board from 430 to 400 ohms reference resistor would be to solder a 5.6K resistor of the same size on top of the 430 ohm resistor. The parallel combination would have a resistance of 399.3 ohms.



  • That's kind of missing the point, isn't? Buying an expensive temperature sensor just to lower the accuracy with a wrong resistor?

    I'm trying to rewrite the MAX38165 module in the firmware based on the example I linked above, but to be perfectly honest I have no idea what I'm doing. My C++ knowledge ends on simple console games and I have zero experience coding for ARM. What I'm having trouble with is getting the ohm reading. In the GetTemperature method you have an adcVal variable. How do I convert this value to ohms? What I tried is mostly copy-pasting from the example like so:

    [[c++]]
    uint32_t dummy;
    uint16_t adcVal = (rawVal >> 1) & 0x7FFF;
    
    dummy = (uint32_t)(adcVal << 1) * 100 * (uint32_t)430; // 430 is the Rref value, hardcoded for now
    dummy >>= 16;
    uint16_t ohmx100 = (uint16_t)(dummy & 0xFFFF);
    
    

    But I must be doing something wrong because I'm getting no reading (2000 celsius). I also don't know how to debug stuff so I'm going through this blindfolded, not knowing what values those variables have.


Log in to reply