[SOLVED]Object counting in conveyor

Status
Not open for further replies.

cyanpraveen

Junior Member level 3
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

Advanced Member level 3
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
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
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_luis

Super Moderator
Staff member
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
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
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
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
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
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
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
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
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.