Connect Pyrometer
-
Hello,
I want to connect a pyrometer to a Duet3D6HC. According to the data sheet, the pyrometer (https ://kleiberinfrared.com/images/stories/pdf/data/Anleitungen/Manual_660.pdf) has an RS485 interface and an analogue output (0/4-20mA). What would be the best way to connect the pyrometer? Unfortunately, I cannot find out from the operating instructions whether it is a Modbus RTU or Modbus ASCII interface.Perhaps someone can help me with the best way to connect it.
-
@FHesse one option would be to power the pyrometer form an isolated power supply, then connect a resistor of about 150 ohms across the 4-20mA output and between the two inputs of a thermistor input. Then configure a Linear Analog Sensor on that port.
A snag with this is that the reading won't be especially accurate because it depends on the accuracy of the 3.3V voltage reference in the Duet, which is not guaranteed to be precise. That may be acceptable if this is a one-off project and you are happy to calibrate the Linear Analog Sensor parameters to a particular 6HC board.
Another option would be to use our new analog daughter board (see https://www.duet3d.com/adc-daughter-board) again using an isolated PSU to drive the sensor and a resistor across the 4-20mA output/daughter board input.
The best solution would be to use the Modbus interface. This would avoid the need for a separate PSU for the pyrometer (assuming the RS485 ground reference is the negative power input to the pyrometer) and give the best accuracy. We don't yet have support for generic Modbus sensors in RRF but we plan to add it soon. You would need to confirm with the supplier of the sensors that it provides a Modbus RTU interface and get details of the register set and commands. These would typically be documented in the user manual for the pyrometer. If you can provide these then I can advise on the suitability of that interface. Modbus RTU seems to be much more common than Modbus ASCII.
-
@dc42 Thank you for your answer. The command list can be found from p.33 in the instructions from the link above. Unfortunately I did not understand whether it is Modbus ASCII or Modbus RTU. Unfortunately, the seller could not answer this question. Perhaps you have an idea.
The daughterboard should then be more accurate?
-
@FHesse unfortunately that pyrometer uses a custom ASCII-over-RS485 protocol, not Modbus. Therefore the generic Modbus RTU driver that we plan to provide will not drive it. Are you able to use an alternative pyrometer with Modbus RTU interface? For example, https://www.calex.co.uk/product/temperature-measurement/infrared-temperature-sensors/pyrominibus/ may be suitable if 1000C is as high as you need to measure.
-
@dc42 No, this is exactly the pyrometer we need. Then I'll probably have to implement the solution with the ADC board and the thermistor first.
Maybe I can connect an arduino to the 6HC via spi and then communicate with the pyrometer via the arduino?
-
@FHesse said in Connect Pyrometer:
Maybe I can connect an arduino to the 6HC via spi and then communicate with the pyrometer via the arduino?
You could do that, but unless you are prepared to modify the Duet firmware, you will need to program the Arduino to emulate a sensor that we already support, for example the MAX31856 thermocouple interface. Note, the SPI connector on Duets uses 3.3V signal levels, so do not connect it to an Arduino running from 5V.
-
@dc42 I have ordered the ADC-DB and, in my opinion, connected it correctly. However, I am not getting any reasonable values. The values fluctuate between -20 and 2000 without any recognizable system.
I have it as a second DB on my 6HC and use in the Config:
M308 S2 P "spi.cs2" Y "ads131.chan0.u" A "Pyrometer" B500 C2500
I have bridged the SENS1_SIG_GND and AIN1N pins on the DB with the jumpers. I connected the sensor to SENS1_SIG_GND and SENS1_SIGNAL. I have also bridged PWR_GND and SENS1_SIG_GND. At the 2nd slot, I bridged PWR_GND, SENS2_SIG_GND and SENS2_SIGNAL as described in the instructions. I also set the jumper between SENS2_SIG_GND and AIN2N.The pyrometer is supplied with voltage by an external power supply unit.