control laser input/output

Hi,

I am facing a problem with a project where I am using a laser.
The laser needs between 18 and 30V to work, I am using multiple batteries for that. The laser measures a distance from 8 cm to 30 cm and converts it to a 4-20mA output. I am applying it to a 220 ohm resistor and measuring the voltage (value from 0 to 1024) with the Arduino.

I need to know as precise as possible the lowest and highest voltage that I will have for my software. If you do the maths, the Arduino should theoretically measure 180 for the min and 901 for the max. Of course, the error on the resistor can change a little these values but it should remain the same each time I use the laser.

The problem is that these 2 values change all the time : for example sometimes I have 185 for the min, sometimes 195, ...
I believe it could be because the batteries power change with charge/discharge but it seems strange to me that a laser built to output 4mA when there is nothing would output something else depending on the given voltage...

I just thought maybe someone could have an idea about the cause of the problem and how to solve it.
Any idea will be appreciated.
Thank you!

Anyone with any laser experience ? :~

It's probably temperature related.

You need to get in there with multimeters and measure the output precisely. You really need to see voltage+current simultaneously so you'll need a couple of multimeters.

Sadly I don't have any multimeter at work... =( (It's kind of an original project)
I'll try to get one and to experiment it more rigorously, thanks for the idea, I wouldn't have thought about it myself! :wink:

There may be signal noise, perhaps low-pass filtering is needed?

No, I'm sure it is not noise, the value is steady over time