ThorlabsPM100
ThorlabsPM100 copied to clipboard
Wavelength change seems not to change power
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.
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 ?
I tested it but the problem is still there.
The beamdiameter also won't change but changing the average count works fine for me.
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.
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.
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.
This is a different question. I think that :
powermeter.configure.scalar.current.dc()
powermeter.configure.scalar.power()
will change the setting of powermeter.read
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
The result is 800. I already contacted the Thorlabs tech support. Let's see what they say about it.
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.