View previous topic :: View next topic |
Author |
Message |
Sam_40
Joined: 07 Jan 2015 Posts: 127
|
Laser level receiver project? |
Posted: Sun Dec 25, 2022 10:30 am |
|
|
Good morning everyone and Merry Christmas,
it has been a long time since my last project. I apologize if some of the questions are out of topic.
I am starting on a new project and need help.
I am planning to build a laser level receiver. I have a good quality self leveling laser grading level. I need to build grade level receivers to be mounted on the equipment.
The leser sending unit has these parameters:
The laser rotates at 600RPM.
The laser maintains its strength for long distance. I checked the laser light at 300 meters and has a diameter of about 5mm.
it has visible red laser light with wavelength 630nm.
My plan is:
using red LEDs as light sensing devices or infrared receivers or phototransister (any ideas which device will be more practical with this project?). I will have to use a red lens to minimize the sunlight effect on the receiver.
I will use PIC18F4685 as I have few and this processor has enough IOs for this project. I need 14 as inputs and 14 as outputs.
I will connect several of the sensing devices to PIC as digital inputs. I will orientate the sensing devices vertically about 5mm center to center.
I will program the PIC to process the pulses from the receivers. My calculation: positive reading is three 278 uS ON every 300mS. This is how I came up with this 600RPM > 10 rotation per second > 1 rotation per 100mS > the laser light will hit 1 degree area is about 0.2777777777777778 mS.
If I have positive reading on one of the sensing devices, It will display it on the LED representing the vertical distance on the receiving unit. I will add a delay to keep the LED on for about .3 seconds to minimize flickering.
My questions:
What is the best sensing device to use?
At what speed should I run the processor? is it better to use oscillator or just the built in?
What is the best approach for me to program the processor?
Thank you |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9228 Location: Greensville,Ontario
|
|
Posted: Sun Dec 25, 2022 1:13 pm |
|
|
1) if you use red LEDs as the sensors, you'll need to calibrate each and every one so that ALL convert photons into the same number of electrons. Even units within the same 'batch' can vary in their response. Obviously use your LASER as the source. You'll probably need some for of tubular 'shield' to narrow down the 'beam of light'.
2) run PIC as fast as possible using an external crystal/2 caps. it's the only way you'll get ACCURATE timing.
3) get the PIC up and running, confirm using the 1Hz LED toggle program then cut code to capture the LASER on ONE sensor. Obviously something interrupt driven as you want several sensing devices.
if these sensors are more than say 1' from the PIC, you'll need quality wiring, EMI protection, etc. Also since red LED is analog, a very stable power supply for it.
What you're doing has been done before, so a few hours with Google, should find most of the information you need. |
|
|
Sam_40
Joined: 07 Jan 2015 Posts: 127
|
|
Posted: Sun Dec 25, 2022 1:37 pm |
|
|
Thank you for the reply,
I only suggested using red LED as sensing devices because I only have LEDs at the moment, I use the LED as light sensing device in the past, never for laser sensing. I welcome any suggestion and will purchase whatever devices are best for my project.
the sensors, processor, battery and display LEDs, all will be contained in metal box.
I googled the last three days and couldn't find any useful information for my project. I found few forums where people asked questions but never received an answer where I can build on. |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9228 Location: Greensville,Ontario
|
|
Posted: Sun Dec 25, 2022 4:01 pm |
|
|
I just googled 'using LED and sensor' and got back 175 MILLION hits......
1st page has several good articles about it....
This is a project that needs you to be 'on the bench' to design/build/test and try again.....as there are a LOT of variables you have to deal with from power supply demands, to which LED to use, interface to PIC, physical layout,lighting, EMI, etc.
What works for me, probably won't work for you.
Start with getting an LED to operate as a sensor to turn on a 'status' LED. Then build 4-9 more units and test ALL of them to confirm your design functions as you need it to. Keep the 'status' LED on the sensor board, it's always good to have a visual indicator that the sensor IS working !
After that THEN begin the actual PIC code to 'read sensor and do something'. |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19515
|
|
Posted: Mon Dec 26, 2022 7:28 am |
|
|
Some serious things here.
A red laser, is only about 1/4 as visible for a given power output as a green
one. If the laser is still creating a visible spot in the daytime at 300m. then
it will be wildly 'eye unsafe' within a few metres of the source.
5mm at 100 yards, is only about 1/5th minute or arc. The lower this figure
is the longer the distance the laser is unsafe for.
I suspect your laser is not at all safe to use. |
|
|
Sam_40
Joined: 07 Jan 2015 Posts: 127
|
|
Posted: Mon Dec 26, 2022 8:04 am |
|
|
In daylight is only visible for very short distance. Indoor is very visible in dark environment. Outdoor is visible for long distance only at night. I saw it flickering very fast at about 300 meters as small dot about 1/4" or 5-6mm. The head that emits laser rotates at 600RPM. I agree with you, any laser light regardless if it visible or not, is not safe to look directly at it. Same with IR and UV. The box for this laser level and all other laser level that I saw have all kind of warning to not look directly to it.
Thank you |
|
|
Sam_40
Joined: 07 Jan 2015 Posts: 127
|
|
Posted: Mon Dec 26, 2022 8:18 am |
|
|
I searched last night for what best type of sensor to use for this project. After I downloaded several datasheets, I think phototransistor is my best option as they sensitive peak is around 550nm. Most IR sensors are around 750nn to 1100nm (peak around 900nm.
The receiver unit that come with my laser has a strip that looks like LDR. It's about 2.5" long and about 1/2" wide. That what sense the incoming laser. I am not sure what type of sensor that is? |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9228 Location: Greensville,Ontario
|
|
Posted: Mon Dec 26, 2022 8:33 am |
|
|
another option....
You might want to try using some of the 10 segment red LED bar graph displays. Being red about 660nm, so 'matched' to your LASER.
As they are stackable,easy to get 20-30-50 sensors perfectly spaced .100 allows for great accuracy !
If from the same 'batch' or 'lot', pretty close in specs making the conversion from photons to electrons easy. |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19515
|
|
Posted: Tue Dec 27, 2022 7:27 am |
|
|
Yes, linear 'bar' photo-diode sensors are what are normally used.
You modulate the laser beam at a much higher frequency than the
rotary motion generates (typically tens of kHz), and then the hardware
has a filter tuned to this frequency, so you immediately reject 99% of
other light sources. Have a look at devices like:
[url]
https://www.photonicsonline.com/doc/photodiode-arrays-0001
[/url]
There is a big problem in 'how' the initial alignment is done, if the beam
is this non visible. This is why level systems usually use green LED's to
make the beam visible for further, and also usually supply filtered glasses
that can easily double how far out you can actually see the line. |
|
|
Sam_40
Joined: 07 Jan 2015 Posts: 127
|
|
Posted: Wed Dec 28, 2022 4:22 pm |
|
|
Thank you guys for the inputs. I got the hardware and I started working on the project. |
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Thu Dec 29, 2022 11:38 am |
|
|
Although the reversible effect of using a LED as a sensor is well known, this would apply for a hobby-level design, not as
a commercial application for the various reasons that have been expressed in this interesting exchange.
Also, using a secondary feature of a component (LED) carries the risk of unpredictable behavior in a mass manufacturing
process.
As relevant data for this project, the 630nm of he emitting source, therefore my first option as search criteria would be
to use a sensor with maximum sensitivity in that range of the spectrum. Using our friend Google, "phototransistor 630nm"
is the key, and offers many options to select the right sensor to start with.
Best wishes and Happy New Year to all the crew!!! _________________ Humber |
|
|
Sam_40
Joined: 07 Jan 2015 Posts: 127
|
|
Posted: Mon Jan 02, 2023 4:18 pm |
|
|
Happy New Year everyone,
I assembled the project on breadboard, I am using an internal oscillator to minimize parts on the breadboard, I have tried many things as far as hardware or software to get the project going. I also did some testing on the original receiver unit. It will not work if direct light of any type is directed at it. it will only respond to fast flashing light (regardless of laser or white flashlight in flashing mode or having a fan between the receiver and the sun light to fast flash the incoming sunlight).
now for my project, I was able to create a simple project to display which phototransistor has a direct laser on it. Below is a simple program showing the use of three phototransistors and three LEDs. It works great if no other source of light is present. How can I make the inputs sense flashing light? a sample code would be great. I am not going to have any floating pin and I am going to use all the available pins (half inputs and the other half is outputs). The laser head is spinning at 600RPM.
Code: |
#include <18F4685.h>
#fuses INTRC_IO,NOWDT,NOPROTECT,NOLVP
#use delay(clock=8m)
void main()
{
output_low(PIN_D0);
output_low(PIN_D1);
output_low(PIN_D2);
while(TRUE)
{
if(input(PIN_C0)==1) //The laser beam is high from the phototransistor
output_high(PIN_D0); //The indicator LED showing the laser beam is high
else
output_low(PIN_D0);
if(input(PIN_C1)==1) //The laser beam is level from the phototransistor
output_high(PIN_D1); //The indicator LED showing the laser beam is level
else
output_low(PIN_D1);
if(input(PIN_C2)==1) //The laser beam is low from the phototransistor
output_high(PIN_D2); //The indicator LED showing the laser beam is low
else
output_low(PIN_D2);
}
}
|
|
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Tue Jan 03, 2023 5:26 am |
|
|
Quote: | "It will not work if direct light of any type is directed at it" |
You canĀ“t use a sensor with wide sensitivity inside the gaussian bell spectrum unless if you use an optical filter in 630nm.
Quote: | "How can I make the inputs sense flashing light?" |
You already receive the signals, that is not the problem.
the solution is not to write a code, you have to solve the sensing problem with your hardware as explained above.
Then tell us what you want to do with this entrance signal _________________ Humber |
|
|
Sam_40
Joined: 07 Jan 2015 Posts: 127
|
|
Posted: Tue Jan 03, 2023 7:46 am |
|
|
The phototransistor that I used have a very narrow sensitivity, peak at 630nm plus minus about 20nm down to 0 sensitive to other spectrum. I also have optical red filter.
Both original and my receiver are responding to the same laser. The only difference, the original receiver unit responding to flashing laser or any type of light. I want to have mine do the same as far as responding to flashing light in 630nm to only respond to the sender unit. My hardware is ok.
Thank you |
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Tue Jan 03, 2023 8:08 am |
|
|
Quote: | It will not work if direct light of any type is directed at it. it will only respond to fast flashing light (regardless of laser or
white flashlight in flashing mode or having a fan between the receiver and the sun light to fast flash the incoming sunlight). |
...hence your hardware is not so good.
To overcome all these issues, you will need to optimize the optical filters and add frequency pass filters in order to increase
the selectivity of the received signal. _________________ Humber |
|
|
|