I built the PT1000 RTD circuit that is in the building block section, and it seams to be working however I'm having trouble getting it calibrated. The first step works as it should, I adjust the voltage offset variable resistor and get a value of 30 for my lowest temp, but when I try and increase the 'RTD' variable resistor to get 1023 I max out at 107.xx.
I'm guessing its a hardware issue since I used what we had in stock....a DG509ACJ multiplexer and 2 LM358AP OP Amps. According to the spec sheets they should work the same as the components used in the walk-through.
Any one have any ideas/suggestions?
Thanks in adavance
JR Clark
Re: PT1000 RTD Building Block
Could the conversion from a (.PDE)? older Arduino sketch to a .INO format have caused some sort of math error. The more I look at it I can't see the hardware being able to add an extra decimal place, and at one point I think I even removed the Arduino from my breadboard and got the same 107.xx value that it max'd out at with the pot.
Re: PT1000 RTD Building Block
No love for the PT1000 building block.....no one knows why I max out at 107.97 vs 1023.0?
Re: PT1000 RTD Building Block
I figured it out......while preforming the RTD circuit calibration you need to remove the calibrations that were inserted in the sample code.
so
rtd.calibration(0, 0.120270927, -15.066198679);
needs to be
rtd.calibration(0, 1.0, 1.0);
while you preform your calibration.
Re: PT1000 RTD Building Block
Thankyou Justin, I have added a note to the documentation.
Re: PT1000 RTD Building Block
hello guys,
i make the same ckt as shown but i make it for only one rtd so remove the mux part and i measure the voltage from analog pin from serial monitor using analog internal voltahe of 1.1v but i dont know what changes we should do in program. can anybody help me please???
thank you...
Re: PT1000 RTD Building Block
You need to look first at the example sketch to see which library functions are used, then look at the library to see what those functions do.
The sketch gets three temperatures in lines 42 - 44 using getTemperature.
getTemperature first sets the multiplexer with setChannel, then reads it.
If you don't have a multiplexer, then it doesn't really matter which "channel" you use (unless you use the outputs that were intended for the multiplexer for something else). Of course, you could simplify everything to make it for just one channel, if you so wish.