Arduino project to count objects moving on conveyor belt (production line)

Hello everyone,
First of all I am new to Arduino and I'm European so please excuse my poor english.
I work in the I.T of a plastic bottle production industry and we need to install a system to monitor the industry's production. The bottles go through a conveyor belt, one by one, at low speeds, usually maintaining a small distance between them. There are 4 different machines. Every machine produces a specific type of bottle, but the color and opacity may differ. We would like to have the ability to access the data remotely any time and also save this data and keep stats. My thinking is : I should install an arduino unit with a sensor (?) on every machine and set up a local server. I have watched a lot of videos of similar projects but I am not sure if the equipment used on these projects would be appropriate for my project. So my first question is : What kind of sensor should i use? An ultrasonic? A photoelectric? Keep note that the width of the conveyor belt isn't large (approximately 25-30cm), so I can place the sensor relatively close to the bottles without a problem. Can i use the usb port to power the unit or will I need an external power supply?

Powering by the USB will work fine.
An IR transmitter reciever could work.

savvas144:
usually maintaining a small distance between them

How will you distinguish one bottle from another in those cases where there is no distance between them?

Perhaps you could mount the sensor at the level of the necks of the bottles (assuming they have necks) ?

...R

"usually maintaining a small distance between them" ... this where you are out of luck with a simple approach. Usual way to do this: mount a camera above the belt, facing staight down. Use OpenCV to detect bottles. Use optical flow to get belt speed. A raspberrypi with camera module can do it at ease.

I would be more inclined to find a way to get the information from whatever machine makes the bottles. I would expect that there's a recognizable action that occurs when a bottle is created.

Do you have a requirement that your counting be non obtrusive? Even if this is the case I'd look for somewhere close to the machine where you can use an optical detector as it spits out each bottle.

Hello everyone and thank you for your replies! I really appreciate your help. This was supposed to be a draft, not the finished post, but somehow I managed to mess up.. :smiley: As Robin mentioned, I thought about placing the sensor to face the bottle necks in case the bottles pass through stacked, but i think the optimal solution would be to place the sensor inside the machine, to capture the automated movement it makes when placing the finished bottle on the conveyor belt. But the enviroment inside the machine gets a little dusty from time to time and also sometimes workers open the doors of the machine to make adjustments. Maybe the solution there would be to pause the input? I think this part shouldn't be an issue though. A small number of wrong input should be fine. I am more worried about how i will control the sensor if no pc is connected to it and also how it will communicate with the server to transfer data. Maybe through wifi somehow? And with a raspberry pi connected to it? If i write a program for it, can it be executed and controlled in raspberry?

“Count the actions of N machines that should place a bottle on the belt” is a different task than “count the bottels on the belt”. Maybe you should first define which problem you want to solve?

savvas144:
Maybe through wifi somehow? And with a raspberry pi connected to it? If i write a program for it, can it be executed and controlled in raspberry?

You will need to check whether WiFi works reliably in your industrial environment. I think I would prefer a wired connection - maybe using RS485 for longer distances.

You can certainly exchange data and commands between an Arduino and an RPi

...R

zwieblum:
"Count the actions of N machines that should place a bottle on the belt" is a different task than "count the bottels on the belt". Maybe you should first define which problem you want to solve?

Good morning and thanks for your reply. I think both tasks solve the same problem, that is to count the produced bottles. The machines do not share the same conveyor belt. Every machine uses its own belt, if this is what you reffer to. So that's why i need to monitor each of the machines seperately. Plus i have a better picture of the production this way. I am not sure if I understood your reply correctly. Are you saying that those tasks require different equipment and planning?

Don't know your machine, but most likely you have a rotating disk of some kind at the exit. Just use a magnet+reed switch (or something simillar) to count. You can use some ESP8266 or ESP32 to send the counts to a MQTT broker. That's as simple as it can get :slight_smile:

@zwieblum
Brilliant!
Why cross the river to get water?

but most likely you have a rotating disk of some kind at the exit. Just use a magnet+reed switch (or something simillar) to count.

And count the number of bottles that should have been produced. Doesn't matter than only some fraction of that were actually produced, does it?

If the machine runs in idle, no bottles produced, counting will be useless. Mount the couting device just at the output of the machine. There the distance ought to be well defined.

Have you talked to the person in charge of maintaining your machines? they will have to install and maintain your project and will want it as simple as possible.

For as long as there have been machines and conveyor belts, counting has been done with a piano wire attached to a counter or a micro-switch. Each bottle will push past the wire and count one on the counter or will close/open the micro-switch to make a count.

You can do the same, only connect to an Arduino digital input pin.

If the machines are less than 50 ft apart, there is no reason you can't monitor all three machine production with one Arduino.

Paul

@Paul_KD7HB
Really a good point. I agree having seen quite a number of such machines. I have also heard "trigger happy" collegues talking about expencive vision systems for such tasks.

savvas144:
The bottles go through a conveyor belt, one by one, at low speeds, usually maintaining a small distance between them.

Got a picture of a representative bottle? Ask an expert.