0 to 5 Volts working on multi-meter but not on auduino

Fairly new to Arduino, I am getting the required levels on the output of the SS3000 using a multi-meter however my Arduino board cannot read the signal from the sensor (have many other types of sensors working and if i unplug the sensor and put 10V where the Temp output is it shows correctly on the Arduino), looks to be a floating earth or something similar, please advise anything I may be doing wrong. Using a pair of resistors divide the 0-10V output of the SS3000 to the Arduino 0-5V range.

Sensor - deltasense motron smart sense 3000 humidity sensor (12V input, 0-10V output)

Using a computer power supply as it has both 12V and 5V rails:

[computer power supply]
GND → SS3000, Arduino, Voltage dividers
5V → Arduino
12V → SS3000

[SS3000]
Temp (0-10V) → Voltage dividers
Humidity (0-10V) → Voltage dividers

[Voltage dividers]
Divider 1 (pair of 10k resistors) → A0 of Arduino
Divider 2(pair of 10k resistors) → A1 or Arduino

Images attached.

If anyone can assist would be great.

  • William

I can’t see anything wrong with your diagram so it must be different from the actual circuit you have.
Any chance of posting a photograph of your wiring?

Hi,

Using a computer power supply as it has both 12V and 5V rails:

[computer power supply]

YUK, sorry predjudiced about using computer power supply/dust filters for anything but PC's.

Have you tried using another type of supply?

With everything connected are you measuring voltage at the arduino input pins?

Tom..... :)

Thank you for the quick feedback.

Voltage measured with multi-meter at the Arduino pins are:

  • A0: 2.71
  • A1: 3.23

And on the console is:

  • A0: 3.38
  • A1: 4.09

And if i remove the cables from A0 and A1 the console is:

  • A0: 1.24 (it moves a lot but around that)
  • A1: 1.24 (it moves a lot but around that)
/*

Test circuit

 */
 
int ledPin = 13;      // select the pin for the LED
//float temp001Value = 0;  // variable to store the value coming from the sensor
//float humid001Value = 0;  // variable to store the value coming from the sensor

void setup() {
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);  
  
  //Serial.begin(115200);
  Serial.begin(115200);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }  
  
  Serial.println("Setting Up");

}

void loop() {
  // Read Temp and Humidty Value
  int humidInt = analogRead(A0);  // 0 - 1023
  int tempInt = analogRead(A1);    // 0 - 1023
  
  
  // Adjust Values
  float humidValue = humidInt / 1023.0 * 5.0;
  float tempValue = tempInt / 1023.0 * 5.0;
  
  
  // turn the ledPin on
  digitalWrite(ledPin, HIGH);  
  // stop the program in milliseconds:
  
  // display the output
    Serial.print("Humidity (A): ");
    Serial.print(humidValue);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(tempValue);
    Serial.println(" *C");
  // turn the ledPin off:        
  digitalWrite(ledPin, LOW);   
  // stop the program for for <sensorValue> milliseconds:
   


Serial.println(" ");
  delay(200); 
  
}

And if i remove the cables from A0 and A1 the console

Then the inputs are floating and any readings are totally meaningless.

Thanks Mike makes sense, have asked the manufacturer for a model that has a common earth. As the current design doesn't play nice with Arduino.

have asked the manufacturer for a model that has a common earth.

Common with what?

when i say common earth i mean ground, i mean to say not have a floating output and one that is linked to their earth pin.

You do nothing to low-pass filter the sensor outputs - perhaps its noisy?

Also the data sheet doesn't say what the output impedance of the 10V signal is, but you are assuming its a low impedance output.

What does the multimeter say your Arduino 5V actually is?

Hi Mark The Arduino mega 5V output is reading 3.94 Volts on the meter when i power it by the dc power port and if powered by USB it is 4.75 Volts. Tried another board (uno) and it had 5V on the 5V rail and shows the correct values on the sensor, looks like you found the issue :D.

Is there anyway to make the mega actually output 5V instead of the 3.94 and 4.75 volt values on the mega board?

Thank you for all the help

wbohannan:
The Arduino mega 5V output is reading 3.94 Volts on the meter when i power it by the dc power port and if powered by USB it is 4.75 Volts. Tried another board (uno) and it had 5V on the 5V rail and shows the correct values on the sensor, looks like you found the issue.
Is there anyway to make the mega actually output 5V instead of the 3.94 and 4.75 volt values on the mega board?

Looks like you have trouble with the “mega board” 5V regulator.

Hi, why do you need 5V from the mega, when you have 5V from the power supply already?

Tom.... :)

Hi Tom To be honest not sure of the internals of the Arduino but looks like the mega board i have is bust as it has voltage reading on the 5V output of much lower than 5V and the analog inputs doesn't seem to work with the scenario as well. Replaced the board for both a alternate mega and a uno both of which worked first go.

  • William

Hi, William, yes it looks that way.

Tom...... =(