Go Down

Topic: Circuit check for noob (Read 4655 times) previous topic - next topic

Grumpy_Mike


hozone

hello,
i'm experimenting too with GP2Y1010AU0F, but i've found a strange behaviour.
my sensor is conncted like datasheet explain, pin 3 direct to atmega (i've also try using a mosfet but it do not change)
if i run GP2Y1010AU0F with 5.330 voltage i read an output voltage between 0.800 and 0.850
if i run GP2Y1010AU0F with 5.080 voltage i read an output voltage between 0.770 and 0.830
if i run GP2Y1010AU0F with 4.670 voltage i read an output voltage between 0.700 to 0.770
so there's a small drift when supply voltage change.
i suppose the fig 3 of datasheet, from which we can extract slope and offset to find dust sensity, it's 5.0v supply voltage, so reading an "incorrect" voltage would bring to incorrect mg/m^3 conversion.
have you also find this behevior?
have you find a way to balance the supply voltage drift?

thanks all

dc42

I think the best option is to run that detector (both the amplifier side and the LED side) from a regulated 5V supply. However, the readings you are getting appear to be roughly ratiometric with the supply voltage. Therefore, if you feed the output into in analog input of an Arduino that is powered from the same 5V supply, then the ADC will approximately compensate for supply voltage variation.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

hozone


I think the best option is to run that detector (both the amplifier side and the LED side) from a regulated 5V supply. However, the readings you are getting appear to be roughly ratiometric with the supply voltage. Therefore, if you feed the output into in analog input of an Arduino that is powered from the same 5V supply, then the ADC will approximately compensate for supply voltage variation.


thank for reply,
my readings are taken from arduino, and checked with multimeter, to get voltage i use bandgap for the adc ref voltage, so it does not compensate reading. to check adc i try the compensation why different voltage using other sensor, or using a simple resistor, and it works!, but this times not; i think is the output of this sensor that change with voltage supply changing, but datasheet unfortunately do not tell anything about sensitivity over voltage.
anyway, i suppose you are right, best option is to run it over regulated 5v power.

KayEv290

Hi, I'm working with an Arduino Uno and Sharp Dust Sensor GP2Y1010AU0F for a project. Is there any official example or test code I can upload while testing it? Any help would be greatly appreciated!

vlytsus

#20
Dec 09, 2015, 09:53 pm Last Edit: Dec 09, 2015, 10:06 pm by vlytsus
Here is kind of "official" test code for GP2Y1010AU0F connected to Arduino thru waweshare adapter board:
wiki page: http://www.waveshare.com/wiki/Dust_Sensor
code: http://www.waveshare.com/wiki/File:Dust-Sensor-code.7z

Please note, that board inverts voltage to turn infrared led on/off and has signal 1/10 divider.
So to turn-on the ILED you should call digitalWrite(PIN_LED, HIGH); and to switch-off digitalWrite(PIN_LED, LOW);
and you have to multiple value from analogRead(SENSOR_PIN) * 11.
All that info you will find in example. But to be honest this is a bit useless. Anyway you need to programmatically calibrate values received from sensor. Also please keep in mind that Arduino ADC will give you slightly different measurement depending on ambient temperature, according to specification ADC accuracy is +/-10%. If you want to have more precision measurements you have to use external reference voltage to Arduino AREF pin like described here http://tronixstuff.com/2013/12/12/arduino-tutorials-chapter-22-aref-pin/
Here is another example of GP2Y1010AU0F connected thru waweshare adapter: https://github.com/vlytsus/arduinosensor/blob/master/arduino_sensor_main.ino

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy