We have launched a new Community! Please post any new forum topics there. This forum will remain available as an archive, but we hope you enjoy the new experience and feature set the latest NCD Community will offer!

ZADR45PROXR_USB - board change?

I recently purchased a couple of ZADR45PRORX_USB boards.  I have used these boards for a coiuple of years now with good results.  However, I am getting unusually readings with the boards I received with my most recent purchase.  I use the boards to read a couple of temperatures and have made 30+ units that have worked flawlessly.  I noticed with the two boards that I purchased in Oct that my temperature readings are now offset (lower) by about 80 degrees F. For example, when the temperature should read 65F it reads -15F.   I've seen this on both boards.  We have triple checked our wiring and compared it to an "older" board and it is identical.  We are using the same sensors as before.  We even took all of the wiring off the "new" boards and used the same wiring on the "old" board and everything worked properly with the old board.

Both the older board  that I have plus the two newer boards have "ZADR4xPROXR" printed on them.  The difference is that the recent boards I purchased ("No Pluggable Connectors") have a black connection bus for the sensors while the older board has a green connector bus.

Is there a difference between the old boards with the green connector bus and the newer boards with the black connector bus that would cause my readings to be offset?  

Thanks,

Dave

T

Hi Dave,

You might check the Pull UP/DWN jumper on the new boards and make sure it's position matches that of your older board.

What type of sensor are you using?  Does it have only 2 wires or does it have 3?  Generally a 2 wire temperature sensor will be a variable resistance sensor(UP/DWN jumper needs to be in UP position) while a 3 wire sensor will output 0-5VDC(UP/DWN jumper needs to be in DWN position).

There have been no changes to the ProXR series in about 3 years but even that change should not cause incorrect A/D input readings.

Thank you Dave,

Travis Elliott

D

Travis,


Thanks.  I'll double check but I did look at the two boards (new and old) and the jumpers looked like they were the same. 

D

I measured the voltage across the leads for the temperature sensors and I am getting 3.8 to 4 volts.  The voltage is supposed to be 5 VDC, correct?  I assume the low voltage readings may explain the unusual temperature readings.  I used two different regulated power supplies and both were supplying between 12.5 and 13.8 VDC.

T

Hi,

What type of temperature sensor are you using?  Can you send a photo of the sensor wired up to the board?

D

Travis,

Thanks.  I am using a sensor from Digikey..... part number 615-1085-ND.  I've used this same sensor on probably 50 builds over three years using the same board in question and never had a problem.  When I first encountered this issue I took all of the sensors, wiring, and power supplies off of the board that was giving me issues and installed it on an older board that I had.  Everything worked as it should with the older board.  The only thing that changed was the board.  I should be measuring 5 vdc across the sensor contacts, right?

T

Hi,

That is a 10K variable resistance sensor.  

I agree that you should be reading 5VDC across the A/D input and GND terminals you connect the sensor to.  If you disconnect the sensor from the terminals and then take a voltage reading on the terminals do you still see low voltage?  Does your software print out the raw A/D reading from the input?  If the sensor is disconnected you should get around 255(8 bit) or 1024(10 bit) on the A/D input reading, what are you seeing there?

D

I'd have to talk to my software developer regarding the raw A/D readings.  I can tell you that I read about 3.8 vdc across the leads when a sensor is connected and about 4 vdc across the terminals when no sensor is connected.

I checked my power supply and it is putting out about 13.8 vdc.  It is the same power supply I've used for many successful builds.

D

The only visible difference I see on the boards is that the new boards have a A/D terminal block that is black while the previous boards I used have a green terminal block.  The more recent and older boards both have "ZADR4xPROXR" printed on them and other than the color difference look identical.

T

Hi,

It sounds like the 5VDC regulator on that particular board is not accurately putting out 5VDC which may be altering your readings a bit.  However I am not 100% confident that is the issue.  See the A/D inputs are reading a percentage of the input based on the supplied voltage.  The temperature sensor really just lowers the voltage by a certain percent.  If the chip with the A/D input is connected to 4VDC then 4VDC on the input would read at 100% open.  When you apply the sensor which applies resistance to ground then it will lower the reading a certain percent.  For this reason I am not sure your readings would actually be inaccurate.  The only way to know for certain would be to see the raw A/D input readings in the software.

You of course are more than welcome to ship the board back here and we will repair it under warranty.  Just ship the board to:

National Control Devices

430 Market St

Osceola Mo 64776

In the shipment include a note explaining that the A/D input terminals are only reading 4VDC while they should be close to 5VDC.  Our repair techs will more than likely replace the voltage regulator and possibly a couple other components on the board and will get it right back to you.  Also in the shipment include your return shipping address and contact information.  Repairs are generally processed within 2-3 business days.

Thank you,

Travis Elliott

D

Travis,

I received two new boards today and the voltage readings across the terminals are about .1vdc.  I'm completely baffled by this.  We've built up several dozen units over the past couple of years and we never had a single problem.  Now the last four boards I've ordered power up and I can connect to them but the AD readings are way off.  I can't even get any readings off the most recent boards.  I am using the same power supplies (voltages check out properly) with the same sensors and the same software.  Nothing has changed except I am using new boards.

Can you check my order history and make sure I didn't order different boards?  AG Optical Systems in New Hope, AL 35760.

I looked at my old invoices for boards that worked and the description looks identical to the boards I recently have ordered.

I did send back the other boards for you to check but you may not have received them yet.

I appreciate your responsiveness on this forum but it is a pain in the ass not being able to call up and speak to someone for a technical issue with making an appointment.

Thanks,

Dave

T

Hi Dave,

Is there any way you could post a photo of the board wired up where you are testing?

I do apologize for not being available by phone.  We have a rather large project going right at the moment and it is eating pretty much every shred of time I have currently.

Thank you Dave,

Travis Elliott

D

Travis,

I've inserted an image showing the three temp sensors that we use.  We haven't changed our wiring and when we moved the set of wiring over to an older board (which had a green row of AD terminals) everything worked as it should.  I mailed back the two boards and they should be arriving at your business today or tomorrow.

I was getting readings of about 4 vdc on the boards I sent back and on these two boards I am getting .15 vdc and on some terminals

I am getting 0 vdc.   Same exact sensors, power supplies, and wires that we used on the previous boards.

 

 

Dave

 

T

Hi Dave,

Can you disconnect the sensor and then take a voltage reading between GND and AD1?

D

Travis,

I got the two new boards to work properly.  My control software takes average readings and after I closed/started the application a few times it must have cleared the queue of some wildly outlying readings and things started working normally.

Unfortunately, the two boards that I returned and received back with a note that they were functioning properly as still giving me readings of 4.085 volts across all of the open A/D terminals and 3.8 volts across each sensor.  The temp readings in my application are about 80 deg F under what they should be reading.  The A/D values from the sensors that the control board is sending to the software are about 945.  It looks like an open A/D was reading 1023.  The application has been running for about ten minutes (plenty of time to reach a steady state) and the readings are consistently 80 F below what they should be.

I'm not sure where to go from here.  I've been able to get every board NCD has sent to me to work properly with very little effort except these two.

Suggestions?

Dave

 

T

Hi Dave,

When reading a variable resistance sensor such as this it is always a good idea to insert a voltage reference in the code taking the readings.  An open A/D input reading of 1023 is correct.  This means no resistance is being applied to the input.  When you apply resistance to the input that reading will drop, it is possible to determine the actual resistance being applied if you use a voltage reference.

Lets say the input reads 4.085 VDC when no resistance is applied to the input.  That is your voltage reference.  To be highly accurate you should read that voltage on every board as all voltage regulators will vary slightly.

In your code you will calculate the resistance like this:

Take a reading on the input.  This will give you 2 bytes MSB and LSB.  First we need to calculate the voltage on the input like this:

int tenBit = (MSB*256)+LSB;

double voltsPerStep = vRef/1024.00;

double voltage = voltsPerStep*tenBit

vRef in this function is that voltage measurement you took on the input.  In the case of one of your boards that will be 4.085 volts.  Now we will use this voltage reading to determine the actual resistance on the input like this:

double resistance = (10000*(voltage/vRef)) / (1 - voltage/vRef));

This will give you a very accurate resistance reading on the board's input no matter how far out of wack the on board 5VDC regulator is.

If you have any questions on this please let me know.

Thank you,

Travis Elliott

D

Thanks.  I'll pass this on to my software developer.

G

Travis, I'm the guy who wrote the code for David. The reading we use is the raw value of the sensor using the following code, and the temperature has been dead on with every board but these two that have voltage regulators that are 20% off normal. What is the design tolerances of the voltage regulators? 20% seems a bit excessive.

The code I use to calculate temperature is as follows:

***

Dim TempK As Double

        Dim TempK1 As Double

        Dim a As Double

        Dim b As Double

        Dim c As Double

        Dim Resistance2

        Dim Voltage As Double

        Try

            a = 0.001005173

            b = 0.000251413

            c = 0.0000000398513

            Voltage = Ambient10bitADReadout * (5 / 1023)

            Resistance2 = (10000 * (Voltage / 5) / (1 - (Voltage / 5)))

            'Resistance2 = 10000 / (1024 / Ambient10bitADReadout - 1)

            TempK = ((a + b * Math.Log(Resistance2)) + c * Math.Log(Resistance2) ^ 3)

            TempK1 = (1 / TempK)

            AmbientResult = TempK1

        Catch ex As TimeoutException

            lbError.Text = ex.Message

            AmbientResult = 0

        End Try

****

If you could give me a hand with coding for a voltage reference as you suggested, I would appreciate it, as I have no idea how to get MSB and LSB to work in the above code, or how to read it for that matter.

But, more importantly, how is a 20% variance of the voltage regulator within specification? That seems to me to be a rather large deviation. If its out of spec, shouldn't the boards be replaced? In addition, if the voltage is 4 instead of five volts, then it would seem to reduce the accuracy of the calculation of temperature even with a reference voltage as well.

Gerald

T

Hi Gerald,

You are absolutely right that 20% variance is outside of spec.  That is an abnormally large deviation.  However it is not completely un manageable.  The voltage variance should not be more than +-5%.  The way this code runs though you will not get an accurate temperature reading if the 5vdc regulator is within variance specs.  Try this:

***

Dim TempK As Double

        Dim TempK1 As Double

        Dim a As Double

        Dim b As Double

        Dim c As Double

        Dim Resistance2

        Dim Voltage As Double

        Dim vRef As Double

        Try

            a = 0.001005173

            b = 0.000251413

            c = 0.0000000398513

            vRef = 4.085 //This should be set based on input voltage readings taken from the board.

            Voltage = Ambient10bitADReadout * (vRef / 1023)

            Resistance2 = (10000 * (Voltage / vRef) / (1 - (Voltage / vRef)))

            'Resistance2 = 10000 / (1024 / Ambient10bitADReadout - 1)

            TempK = ((a + b * Math.Log(Resistance2)) + c * Math.Log(Resistance2) ^ 3)

            TempK1 = (1 / TempK)

            AmbientResult = TempK1

        Catch ex As TimeoutException

            lbError.Text = ex.Message

            AmbientResult = 0

        End Try

****

We would be happy to repair/replace the voltage regulator on those boards if you want to ship them in.  The code however should still be updated to ensure accurate readings.

Let me know what you find with this code.

G

Travis, so, this method won't work because Dave can't check and hard code the voltage for every customer. Can you help with coding that would measure the voltage so it is automatically calculated based on each board?

Gerald

T

It really is not possible for the board to read it's own voltage.  The pic processor is powered by the 5VDC regulator which means it has no point of reference to measure against.  A voltage reference must be manually entered into the software, there really is no other way.

If you need to ship the board back to us for repair.  In the shipment include a note which is very detailed about what the problem is.  Also you can write on the note See Travis directly.  

D

Travis,

I already sent these two boards in and received a note with the return shipment that the boards checked out ok.  I can send them in again if that is what needs to be done.

Dave

G

Why wouldn't this work on an open circuit? Voltage = NcdComponent1.ProXR.AD8.Read10BitsValue(0)* (5 / 1023). If it's an open circuit, it voltage should equal 5 because the open circuit should read 1023, correct? And if it's plus or less than that, couldn't I use that as the vref value? Or would it be possible to add a resistor of known value to determine the same thing if an open circuit won't work to determine what the voltage is, as compared as to what it should be?

T

Dave,

Yes, please send the boards in with a note saying "Take to Travis directly".  Testing the voltage of the on board regulator is not part of our standard testing procedure because honestly I do not remember this ever happening in the past.  That means our testing department did not see anything wrong with the board.  I will ensure that the board reads close to 5VDC on the regulator before shipping it back.

Gerald

In order to calculate resistance you must know the voltage.  There is no way to trick OHMs law.  Your sensor is a variable resistance sensor and there is absolutely no way to determine the resistance the sensor is outputting if you cannot calculate the voltage drop.  In order to calculate the voltage drop you must know the top end of the voltage scale(voltage reference).  When I developed our Android and iOS mobile applications I put a voltage reference field in settings.  I found that if you were very accurate about that setting your readings on any sensor device would be as accurate as the sensor would allow but if I just went strictly off of 5VDC there would be variance from board to board.

G

Thanks, Travis. I can do something similar. Perhaps a more accurate regulator would be the better course, then, we wouldn't have that to correct it at all (say, if it was +- 1% rather than 5%, which seems a bit much. I wonder how much they really vary, board to board. This is not a mission critical app, and even a 5% isn't that big a deal. 20%, yes, it won't work with that big a variance, though, as we have seen.

T

Hi @dtandy @gmillerok1

Please see this video on the boards you sent in for repair.  I cannot find anything wrong with them.

https://drive.google.com/file/d/1wacxFrniVNUoqqXfA4XDFWipDmR3hXPJ/view?u...

Please let me know if you would like for me to test anything else.  If not I will go ahead and return the boards.

Thank you,

Travis Elliott

T

Hi @dtandy @gmillerok1

Please see this video on the boards you sent in for repair.  I cannot find anything wrong with them.

https://drive.google.com/file/d/1wacxFrniVNUoqqXfA4XDFWipDmR3hXPJ/view?u...

Please let me know if you would like for me to test anything else.  If not I will go ahead and return the boards.

Thank you,

Travis Elliott

D

Thanks.  I guess we'll try it again.  I'm completely baffled how out of the dozens of boards I have used only these two give me bogus readings and my multimeter reads 3.8 to 4 volts. 

G

Travis,

Now, that's really odd. David, did you check the output voltage of the DC power supply? I presume that that is the same supply you are using? Understand that David has used over 30 of these same boards with only these two having an issue.

It is really odd that these two boards fail, yet the voltage at the NDC's shop is 5vdc, but at David's shop is not. There has to be something, perhaps unique to these boards or perhaps the power supply, that is causing this discrepancy, if David is using the same power supply as the other boards without the issue. 

David, perhaps you could send me the board, and let me test it here to see what voltage it shows using my power supply. I could also check out the raw data readout and compare it to my board, which shows 5vdc as well.

Gerald

D

Gerald,  I have two different power supplies that I have used since the first unit I built.  They read between 12 vdc and 13.8 vdc and I used them as recently as this weekend.  I built up two boards on Saturday and they worked as they should with exactly the same components that I always use.  Who knows?

G

Since they won't work as they should, why don't you send me one to try to figure out what the issue is? Could be something simple. 

T

Hi guys,

I honestly have no clue what the problem could be if you are using a known working power supply.  I just immediately put a meter on the A/D inputs when they arrived at my desk and this is what I'm seeing.  I would be more than happy to perform any tests you like here before shipping them back.  Just let me know.

Thank you,

Travis Elliott

G

Travis,

Or, perhaps an equally simple solution would be to swap these two boards for two new ones since David hasn't had any issue with any other boards including ones he bought after these two (that's my understanding.

But, obviously, all things considered, something must be causing this issue, if the older boards and newer boards Dave has bought work without any issue and only these two do not.

Maybe it's a jumper or a flaky regulator. Something.  But whatever it is, for whatever the reason, these two boards are not behaving as the others that work without issue, and its a bit hard to explain why at your shop the voltage output is 5vdc and at his it's 3.8vdc unless the laws of physics is different at his shop than yours. :-)

That's why I suggested he send me one-to test them at my shop, too. Obviously, if I get 5vdc and they work normally, then its something unique to how Dave's power is set up. On the other hand, if I get 3.8vdc, then, well...back to the drawing board, as that definitely proves its something unique to these two boards.

Gerald

T

How about if I ship the two boards back with the power supply I'm using here?  You can plug them in and take a voltage reading.  There is no reason why you would not get 5VDC for sure that way unless something were wrong with the meter.

It's hard for us to replace boards when there is nothing we can find wrong with them.  The boards we take back just have to be thrown in the trash since we cannot resell them being as how they are used.  If I could find anything at all wrong with the boards I would be more than happy to replace them.  However I have been working with these boards for about 17 years now and can really tell if there is something wrong or not.  My inclination is that there is nothing wrong with these boards.

G

I'll let Dave decide what he wants to do. Sending the same power supply certainly is one way to help figure it out.   It is, indeed, curious, though, you have to admit, when one set of boards works with the same power supply and two others do not.

I'm sure there's an explanation. Maybe it is his power supply, and for some reason, these boards are more sensitive to whatever it is that is different.

I'm sure we'll get to the bottom of it, eventually.

Gerald

T

Hi Gerald,

I 100% agree that it is really strange.  Generally when a user tells me that they have several other boards working then I immediately assume that the board in question is in fact bad.  This time however I just can't find anything wrong with the board.

Let us know what you think Dave.

D

I'm painfully busy frying much bigger fish so please send the boards to me and if they don't work I'll just order some new ones.  Thanks.

T

Got it.  I'll take them to our shipping department.

G

How about shipping them to me directly, and let me check them out, Dave? If I can figure it out I'll ship them on to you.

 

Gerald

D

I need to get one out asap so I would rather take delivery of them and if I can't get them to work I'll send them over to you.  I am ordering a new one today as insurance.  Thanks for the offer.

D

I received the boards back today, thanks.  I tested them and still found 4 vdc across the AD terminals.  So, I switched multimeter tools and the voltage reads 5 vdc.  Progress.  But, I am still getting temperature readings in the application that are about 80 deg F below where they should be.  I have a new board scheduled to be delivered today and I will do a side by side to see what happens.  I'll let you know.

T

That is strange.  I guess a faulty meter explains the incorrect voltage readings on the inputs.

I would connect the sensor to the input, then use a meter to read the voltage on that input.  Once you have done that connect the same sensor to another known working board and read the voltage on that input.  They should be approximately the same.  

Keep me updated.

G

Since the app works with all the other boards, it has to be something about these boards that are different. 

It cannot be the app. It only reads the voltage and does the math on that number. You may try reading the old board that works voltage with the sensor, and the new ones that don't with a sensor, and compare the voltage readout. They should be close to the same. If one is off by a large number (which is what I suspect) then we need to figure out why.

If you want to send me one of the boards, I am more than happy to troubleshoot it for you so you can get back to the frying those converging fish. :-)

 

D

I received a new board and it works as it should with accurate readings.  I did a side by side with the problem boards.  The problem boards have the correct 5 vdc voltage across the AD terminals but the readings are about 80 deg F less than they should be.  The AD readings on the new board read about 570 (and generate the correct temperature readings) but on the problem boards the readings are about 940.  This is using the same sensors, power supply (the one NCD sent, thanks), USB cable, and application for all boards.... all tested one immediately after another.

The boards look identical and the jumpers are in the same positions.

The two problem boards are not working as the other 30+ boards I've ordered.

T

Hi Dave,

Can you connect the sensor to the problem board and then take a voltage reading on that input, then connect that same sensor to a good board and then take a reading on it's input?  I just want to see if the voltage reading is the same with the sensor connected to the input.

I'll see about having a couple of replacement boards shipped to you.  I just cannot imagine what is causing the issue on the two boards.  In the 17 years I have been doing this I have never seen this happen.

D

4.7 vdc on both problem boards and 2.86 vdc on the friendly board using the same sensor for each board.  All read 5 vdc across an open AD terminal

G

That certainly would account for the different temperature readings. This sounds more like an A/D conversion issue related to these two boards since the two readouts are different using the same two sensors. My guess is the two boards have bad A/D converters since the new one works as well as the other 30 or more boards Dave used in the past.

As for never seeing it happen, I had an expensive device (astronomical mount) that had intermittent power issues. I informed the manufacturer I suspected the power cable and they said they never had a power cable failure before so it had to be the electronics board. So they suggested, and I replaced, the electronics board, which was a cumbersome and difficult process.

Of course, it was the power cable. :-)

GM

T

Hi Dave,

Please send me an email with the address you would like the replacement boards shipped to and I will get a couple of boards shipped out.  If you could send the failed boards back when you get a chance that would be great.  I'd like to evaluate them and see what is wrong.  My email is travis@ncd.io

Thank you,

Travis Elliott