ThorlabsPM100 icon indicating copy to clipboard operation
ThorlabsPM100 copied to clipboard

Wavelength change seems not to change power

Open peakflyer opened this issue 4 years ago • 10 comments

When I use powermeter.sense.correction.wavelength = 1550 or 800 the obtained optical power from powermeter.read does not change while it does change on the powermeter software from thorlabs. Is this a bug? powermeter.sense.correction.max_wavelength works fine for example.

peakflyer avatar Jun 15 '21 18:06 peakflyer

Thank you for pointing out this bug. On need to add the unit to the sting send to the instrument. I think it is now corrected on commit ce651cd (dev branch)

I don't have a powermeter on hand to test. Could you test it ?

clade avatar Jun 15 '21 19:06 clade

I tested it but the problem is still there.

peakflyer avatar Jun 16 '21 07:06 peakflyer

The beamdiameter also won't change but changing the average count works fine for me.

peakflyer avatar Jun 16 '21 08:06 peakflyer

I initially tought that Thorlabs requires the unit when the command is send. I manage to do some test on a PM100A. The wavelength is not changed when the required wavelength in not in the range of the sensor.

The commit d77ad7d add an automatic test for the wavelength. It works on my device.

Now the command : power_meter.sense.correction.wavelength = 780 works. But the command : power_meter.sense.correction.wavelength = 10 raises an Exception.

clade avatar Jun 16 '21 09:06 clade

I am testing it on the PM101. The commands in the manual are the same on first sight. I have a sensor with wavelength range of 800-1700 nm but power_meter.sense.correction.wavelength = 1310 f.e. doesn't work.

peakflyer avatar Jun 16 '21 10:06 peakflyer

OK on the Thorlabs PM100D everything works fine. The only thing that is not clear for me is how to change the configuration from CURR to POW.

peakflyer avatar Jun 16 '21 11:06 peakflyer

This is a different question. I think that : powermeter.configure.scalar.current.dc() powermeter.configure.scalar.power() will change the setting of powermeter.read

clade avatar Jun 16 '21 15:06 clade

I am testing it on the PM101. The commands in the manual are the same on first sight. I have a sensor with wavelength range of 800-1700 nm but power_meter.sense.correction.wavelength = 1310 f.e. doesn't work.

According to the datasheet, it should work with the PM101. What is the result of power_meter.sense.correction.minimum_wavelength

clade avatar Jun 16 '21 15:06 clade

The result is 800. I already contacted the Thorlabs tech support. Let's see what they say about it.

peakflyer avatar Jun 16 '21 15:06 peakflyer

I now figured out what caused the problem. In the wavelength class it says: value = Argument(0, ["MINimum", "MAXimum", "<numeric_value>nm"]) The unit has to be removed as in the following line: value = Argument(0, ["MINimum", "MAXimum", "<numeric_value>"])

Interestingly on the PM100D its working perfectly fine with and without the unit whereas on the PM101 it only works without the unit. Therefore I think the unit should be removed on every setter command. That is also what the Throlabs technical support told me.

peakflyer avatar Jun 23 '21 08:06 peakflyer