Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: TaoBaiBai on October 23, 2012, 08:30:07 PM

Title: How to speed up the QRD1114 response time
Post by: TaoBaiBai on October 23, 2012, 08:30:07 PM
Hi,
I m using a QRD1114 for my robot border line detection. The sensor has 50us response time but when I actually put it at the bottom of my robot, the robot rush out of the border line in a speed of 80cm/sec and stop at the border line at 70cm/sec speed.The border line is 5cm in width.
5/70=71ms,5/80=62ms. So that the actual response time should be in between 71ms to 62ms.
My circuit is connected in this way:
http://www.google.com.sg/imgres?q=qrd1114&hl=en&sa=X&biw=1366&bih=642&tbm=isch&prmd=imvns&tbnid=EnCiGAGty9N7FM:&imgrefurl=http://letsmakerobots.com/taxonomy/term/6737&docid=Mgub1JRdpbSZNM&imgu (http://www.google.com.sg/imgres?q=qrd1114&hl=en&sa=X&biw=1366&bih=642&tbm=isch&prmd=imvns&tbnid=EnCiGAGty9N7FM:&imgrefurl=http://letsmakerobots.com/taxonomy/term/6737&docid=Mgub1JRdpbSZNM&imgu)
Anyone know how to connect can speed up the response time?
Title: Re: How to speed up the QRD1114 response time
Post by: napnyl on October 24, 2012, 09:41:16 PM
How are you reading the sensor? Analog? or digital? and instead of speeding up try to verify your pgrogram because I've worked with infrared sensors and never need to speed them up. I think you will find this page helpful too: http://www.x-robotics.com/ (http://www.x-robotics.com/) .
Looking at your circuit I think you're reading the qrd with analog input, it should work ok!. And never spect the sensor to have a response as in the datasheet, external light make it work badly. Cover the sensor in all the external sides and make it calibrate by program reading white and black and saving those values in variables, then you know the real limits of the sensor in the AD and you can play with those values by program. Also try to send the values to the computer by serial and see the real value it's getting. I hope this helps you.
Title: Re: How to speed up the QRD1114 response time
Post by: TaoBaiBai on October 25, 2012, 09:52:09 PM
I treat the analogue output as digital, as the sensor will change from 0.++ to 4.++ which sense while and black, which the microcontroller can understand it as 0 and 1,so that I directly make use of them in my main program without delay command. I found a circuit that can speed up,can you help me analyse?
http://letsmakerobots.com/node/22452 (http://letsmakerobots.com/node/22452)
Title: Re: How to speed up the QRD1114 response time
Post by: napnyl on October 26, 2012, 05:23:07 PM
As I can read the page you posted that circuit has nonesense and the last thing it will do is speeding up the time response :P . I think you should visit the page I posted before http://www.x-robotics.com/ (http://www.x-robotics.com/) and at your left you will find "sensores" go to the part that says "CNY70" and use the same circuit, also that circuit has a potenciometer so you can calibrate your "1" as you want a digital signal. I prefer analog reading because you can calibrate your readings by software and you don't care for light affecting your robot readings. I hope you would do the things I told you and I hope you can achieve what you want and let me know.
Title: Re: How to speed up the QRD1114 response time
Post by: Soeren on October 29, 2012, 06:50:43 PM
Hi,

Hi,
I m using a QRD1114 for my robot border line detection. The sensor has 50us response time
No. the detector has a fall time of 50µs under ideal conditions, which is when the emitter is cut out completely (and instantly) and when the coupling between emitter and detector is as weak as possible, while still being able to "rise" the detector, so that the least amount of charge carriers has to be deplenished - not in the actual use you want to put it to.

However, I don't think it's the reaction time of your detector that ruins your day, even if it was ten times what you think.
You might even need to up the current in the emitter, depending on the actual reflectance of the arena/border "colors" and the distance between the sensor and the floor - 100..150 Ohm might get you a cleaner response.


but when I actually put it at the bottom of my robot, the robot rush out of the border line in a speed of 80cm/sec and stop at the border line at 70cm/sec speed.
That does not compute?!
If it stop at the border line, it will be at 0.0cm/s, so what exactly do you mean??
To paraphrase an old Clash hit "Would it stay, or would it go?" ;D


The border line is 5cm in width.
5/70=71ms,5/80=62ms. So that the actual response time should be in between 71ms to 62ms.
I'm really not sure what you mean here (either), but if it hits the first edge of the 5cm wide border at 80cm/s and you want it to stop within this 5cm, you have...
80cm/s means that it moves 5cm in 62.5ms.
To stop, your detector should detect the first edge and then the motor will have the remainder of the 62.5ms to decellerate the 'bot to a stand-still.
So, if the detector does need 500µs to react worst case - a far better question is whether you can stop the motors (and with them, the entire 'bot) in 60ms.


My circuit is connected in this way:
[Snip long link]
Anyone know how to connect can speed up the response time?
Put the sensor over both light and dark material, as used in the arena (remember that IR doesn't see things light/dark as the human eye!) and measure the center tap voltage (the voltage at where you'll connect it to the input pin). Then post the results and I'll help you calculate a better detector resistance - you may need to redo the measurements with another value of detector resistance, to calculate the optimum value, so keep the setup.

The rule of thumb is, the faster reaction you want, the lower impedance you need, as lower impedances will deplenish the carriers faster. You have to make up for that with more power to the emitter, so change the emitter resistor to 100 Ohm before measuring.
Title: Re: How to speed up the QRD1114 response time
Post by: dunz on November 04, 2012, 06:39:00 AM
I've used QRD1114 sensors many times, never had this problem. Are you sure that it's the sensor react time that is the problem? I would suspect your software or possibly the distance the sensor is from the line.

The sensor should not take more time to react than it takes your robot to stop.

How do you stop it btw? Just coasting the motors or via braking? A low PWM in the opposite direction works as a brake if you don't have a motorcontroller which does that for you.