CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

Laser level receiver project?
Goto page 1, 2, 3, 4  Next
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
Sam_40



Joined: 07 Jan 2015
Posts: 127

View user's profile Send private message

Laser level receiver project?
PostPosted: Sun Dec 25, 2022 10:30 am     Reply with quote

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: 9243
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Sun Dec 25, 2022 1:13 pm     Reply with quote

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

View user's profile Send private message

PostPosted: Sun Dec 25, 2022 1:37 pm     Reply with quote

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: 9243
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Sun Dec 25, 2022 4:01 pm     Reply with quote

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: 19540

View user's profile Send private message

PostPosted: Mon Dec 26, 2022 7:28 am     Reply with quote

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

View user's profile Send private message

PostPosted: Mon Dec 26, 2022 8:04 am     Reply with quote

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

View user's profile Send private message

PostPosted: Mon Dec 26, 2022 8:18 am     Reply with quote

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: 9243
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Mon Dec 26, 2022 8:33 am     Reply with quote

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: 19540

View user's profile Send private message

PostPosted: Tue Dec 27, 2022 7:27 am     Reply with quote

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

View user's profile Send private message

PostPosted: Wed Dec 28, 2022 4:22 pm     Reply with quote

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

View user's profile Send private message

PostPosted: Thu Dec 29, 2022 11:38 am     Reply with quote

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

View user's profile Send private message

PostPosted: Mon Jan 02, 2023 4:18 pm     Reply with quote

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

View user's profile Send private message

PostPosted: Tue Jan 03, 2023 5:26 am     Reply with quote

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

View user's profile Send private message

PostPosted: Tue Jan 03, 2023 7:46 am     Reply with quote

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

View user's profile Send private message

PostPosted: Tue Jan 03, 2023 8:08 am     Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group