Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

[SOLVED] Object counting in conveyor

Status
Not open for further replies.

cyanpraveen

Junior Member level 3
Joined
Mar 31, 2011
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,527
Hello guys

i am designing a simple conveyor system.

I using 12 VDC motor with 1500 rpm

Now my problem is, i need to count the no of objects place in the belt on the run time.

I thought of using IR to count objects, but dono how to get start.

so guys pls help... if there is any other better option i ll consider tat also

Advance Thanks for help
 

KJ6EAD

Advanced Member level 3
Joined
Oct 6, 2010
Messages
709
Helped
196
Reputation
392
Reaction score
194
Trophy points
1,323
Location
Earth
Activity points
5,092
We'd need more information. What size, shape and material are the objects? How wide is the belt? How fast does the belt travel (surface speed)?
 

luben111

Advanced Member level 1
Joined
Mar 2, 2002
Messages
491
Helped
111
Reputation
223
Reaction score
107
Trophy points
1,323
Location
UK
Activity points
3,901
Go to OMRON side - OMRON Global.
They offer wide range of sensors which can detect the object presense. The output of these sensors could be connected to some PLC again from OMRON. I meant - all what you need could be found in company like OMRON
 

Senthilkumar_rjpm

Full Member level 2
Joined
Jul 21, 2009
Messages
123
Helped
15
Reputation
30
Reaction score
15
Trophy points
1,298
Location
chennai
Activity points
2,039
Yes you can use IR transmitter reciver for this application... same time like KJ6EAD told you post more details of your project... & also i think 1500RPM motor is very high speed for your proj... you may reduce this RPM(using gears) or try some other less RPM motor... You can also use LDR based circuits for this application.... Plz go threw this link...here a simple circuit.. Motion Detectors with Infrared Sensors | Circuit Diagrams
 

andre_teprom

Super Moderator
Staff member
Joined
Nov 7, 2006
Messages
9,186
Helped
1,141
Reputation
2,301
Reaction score
1,116
Trophy points
1,403
Location
Brazil
Activity points
53,380
Objects cross monitor point once per time ?
The application in wich I work is used Laser ones with reflector mirror.

+++
 

luben111

Advanced Member level 1
Joined
Mar 2, 2002
Messages
491
Helped
111
Reputation
223
Reaction score
107
Trophy points
1,323
Location
UK
Activity points
3,901
there are more advanced sensors which don't need reflective mirrors. They can even measure the width or the dimensions of the detail and if something outside the defined area will trigger the output.
 

cyanpraveen

Junior Member level 3
Joined
Mar 31, 2011
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,527
I am just using the conveyor for educational purpose... to show kids how conveyor works. PLC is a good option but i need to finish this one in low budget.

since it is for edu purpose i m not using very big machine (12cm -width and 1 meter length) conveyor and i can control the speed using gears.

so there no specific objects is used for this application .

for me wat exactly required is the sensor need to count the objects as we place in the conveyor and need to display it on the lcd.

the problem is i dono wat type sensor need to used,how to extract the value frm sensor to display in lcd.

Thanks...
 

Senthilkumar_rjpm

Full Member level 2
Joined
Jul 21, 2009
Messages
123
Helped
15
Reputation
30
Reaction score
15
Trophy points
1,298
Location
chennai
Activity points
2,039
you can use simple LDR circuit also for this purpose... Plz see the attach ment... Connect pin#3 to counting IC or microcontroller...



 

cyanpraveen

Junior Member level 3
Joined
Mar 31, 2011
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,527
It seem there will be some problem in detecting objects while using LDR (it requires a closed surface to detect object). If i am wrong forgive me

So think the better option would be IR.

so can anyone suggest me how to program n design using IR pls. i mean some schematics and material explaining how to interface IR with 8051

thanks
 

Senthilkumar_rjpm

Full Member level 2
Joined
Jul 21, 2009
Messages
123
Helped
15
Reputation
30
Reaction score
15
Trophy points
1,298
Location
chennai
Activity points
2,039
It seem there will be some problem in detecting objects while using LDR (it requires a closed surface to detect object).
Yes you are right... but, its simple to cover LDR & LED area with black rubber tube... Anyhow using IR circuit is avoid these kind of job i accept...
 

cyanpraveen

Junior Member level 3
Joined
Mar 31, 2011
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,527
Hi there...

I am trying to count the no of object pass in a conveyor systems and it need to be displayed in a LCD every time a object passes through it. I used IR for this purpose... wen ir detect the Object the led gets turned off and vice versa.
Now the problem is wen LED turned off the counter keeps on counting till it get turned on

And also the counter counts only upto value 10 and it gets return to 1...

can any one pls help me.

check the program below

while(True)
{
if (LED1 == 0)
{
Count = Count+1;
//LED1 = 1;
}


// UserMessageStorage[4] = Count;
// UserMessageStorage[1]+= 1;


UserMessageStorage[4]= Count/1000;
Count=(Count-(UserMessageStorage[4]*100));
UserMessageStorage[4]+=0x30;

UserMessageStorage[5]= Count/100;
Count=(Count-(UserMessageStorage[5]*10));
UserMessageStorage[5]+=0x30;

UserMessageStorage[6]= Count%100;
UserMessageStorage[6]+=0x30;


TotalCount[0] = UserMessageStorage[4];
TotalCount[1] = UserMessageStorage[5];
TotalCount[2] = UserMessageStorage[6];

// u8Temp = (TotalCount[0] - 0x30) * 100;
// u8Temp += (TotalCount[1] - 0x30) * 10;
// u8Temp += (TotalCount[2] - 0x30) * 1;
//

//TotalCount[0] = UserMessageStorage[1];


// SerTx(TotalCount[0]);
// SerTx(TotalCount[1]);
// SerTx(TotalCount[2]);

ArrayBasePtr="Total Objects= ";
DisplayLCD(1,0,ArrayBasePtr);
ArrayBasePtr=&TotalCount[0];
DisplayLCD(2,0,ArrayBasePtr);
ArrayBasePtr=" Objects";
DisplayLCD(2,3,ArrayBasePtr);
TimeDelay(1000);
LCD_CLEAR();

Thanks in advance guys
 

cyanpraveen

Junior Member level 3
Joined
Mar 31, 2011
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,527
Guys i m trying to count the no of objects passing in a conveyor belt. for that purpose i am using IR sensor. When sensor goes low it have increase the count by 1.
Now the problem is in the debugger mode it increments the count properly. but while displaying in LCD it increment the count twice...
And i want to know whether i had followed correct procedure.. since i am new to this programming field. i had include my code below


Code:
P3   = 0x00;
	LED1 = 1;
/* LCD initialization */	
	InitializeLCD();

	/* Display project titles */
	DisplayProjectTitle();
	
	*ArrayBasePtr=&UserMessageStorage;
	
	EA   = 1;
	EX0  = 1;
	IT0  = 1; 
		 
	while(True)
	{

/* Serial bit transmissions */
		SerTx(TotalCount[0]);
		SerTx(TotalCount[1]);
		SerTx(TotalCount[2]);
		
                ArrayBasePtr="  TOTAL OBJECTS  ";
		DisplayLCD(1,0,ArrayBasePtr);
		ArrayBasePtr=&TotalCount[0];
		DisplayLCD(2,5,ArrayBasePtr);
		TimeDelay(850);
		LCD_CLEAR();
void Extint0 (void) interrupt 0
{
//  IE0=0;
  value++;
  Count = value; 

   		UserMessageStorage[4]= Count/100;
		Count=(Count-(UserMessageStorage[4]*100));
		UserMessageStorage[4]+=0x30;
		
		UserMessageStorage[5]= Count/10;
		Count=(Count-(UserMessageStorage[5]*10));
		UserMessageStorage[5]+=0x30;
		
		UserMessageStorage[6]= Count%10;
		UserMessageStorage[6]+=0x30;
		
		TotalCount[0] =  UserMessageStorage[4];
		TotalCount[1] =  UserMessageStorage[5];
		TotalCount[2] =  UserMessageStorage[6];

		ArrayBasePtr="  TOTAL OBJECTS  ";
		DisplayLCD(1,0,ArrayBasePtr);
		ArrayBasePtr=&TotalCount[0];
		DisplayLCD(2,5,ArrayBasePtr);

		TimeDelay(850);
		LCD_CLEAR();
 

boldstone

Junior Member level 3
Joined
Dec 9, 2010
Messages
27
Helped
9
Reputation
18
Reaction score
8
Trophy points
1,283
Activity points
1,509
1- if you made your own IR sensor board consider the blow note:
Make sure the output of IR sensor is enough fast and it has not any glitch. Normally you should put a Schmitt trigger after IR sensor.
Also you can use debounce method in the SW to eliminate glitch problem.

2- The voting may helpful to make sure the sensor output read at stable condition.
3- The object on conveyor may be not monochrome, it means the sensor may generate two pulse on single object due to it is sensitive to color. To solve you can set the sensitivity of sensor or place sensor at proper position
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top