avatar Log in

Forum - Clocking Balls Per Second

From The Great Ball Contraption Wiki
Overview > Great Ball Contraption > Great Ball Contraption Discussion > Clocking Balls Per Second Write a reply

I have a module that is starting to work fairly well. I've got a recirculating feature and a simple switch to make it drop balls into the next module instead (which I may add a ramp to yet). The main functional concern I have now is BPS - I don't know of an easy way to measure it. Poking around here (and elsewhere) online, it sounds like the standard trick is to run bunches of balls through, count how many get processed in 30 seconds, and average the results.

...this doesn't work for me. Since I'm loading this with a self-feeding mechanism, I can't easily count how many balls are passing through. If I switch it to dump out, I'll run out of balls in the module by the time I can start clocking time. I've only got 28 balls handy to test with - and that decreases every time a leak leaves one on the floor (I think I'm down to 26 balls now). I'm hoping there's a better way to calculate this without doing many tests of how many come out in 10 seconds.

What else can I do to clock BPS? Are there any easy mechanisms to measure it? Any good tricks based on motor speed?

Posted by Danny316p on 4 September 2016 at 07:31.

Hate to break it to you, but the only real way is to count the balls going through in a certain time. You can compute a theoretical BPS based on how fast your mechanism moves, but that doesn't allow for misfires (maybe a conveyor misses picking up a ball every now and then) or spills.

I'd suggest switching it to dump mode, putting all your balls in, and timing how long there is between the first drop and the last drop. Over 25-odd balls that should give a reasonable figure. Repeat at least a few times to make sure you have a representative run.

If all you're aiming for is compliance with the spec, it's also worth bearing in mind that the spec actually says nothing at all about a required output rate - only that a module must handle an _input_ rate of 1BPS. So maybe you could turn your module on empty, and put a ball in once per second (have a metronome set to 60bpm so that you can put one ball in every tick), and when you run out of balls see if there's any buildup that would be problematic if the 1BPS input rate were to be sustained. You can even do it in batches - 10 balls every 10 seconds, and see what the impact is.

Hope that makes sense.


Posted by Captainowie (administrator) on 5 September 2016 at 08:40.

if you have an ev3 nxt or rcx you could count the balls going out of the module using an color (light) sensor

Posted by XGBC on 15 April 2018 at 15:57.

To protect the wiki against automated spamming, we kindly ask you to solve the following task below and enter the answer in the box (more info):