# Reward if you can help me with program controllino

Dear all,

I have to start-up a small industrial conveyor-installation tomorrow morning. If you have the time and knowledge to help me to download the working program in the controllino mini i can reward you with my project-profit (60 euro). I'm a hardware designer and i tought it would be easy to program my wishes... but it's not that easy as i thougt.

This is the situation: The existing installation is a conveyor with pushers on it, the conveyors speed is variable. I placed 2 new conveyors with pushers in the line of the existing conveyor. I have to make sure that the 2 new conveyors are making the speed so the pushers on the conveyor are moving on the same speed. On each conveyor i installed a sensor, so i can measure the speed by measuring the time between 2 pulses of the same sensor.

I want to measure the length between 2 pulses of the same sensor. According to the time between 2 pulses i can set 8 combinations with 3 outputs, for example: if the time between 2 pulses is 3 seconds(adjustable) i want the combination D1=1:D2=0;D3=1, when the time is 3,5 seconds(adjustabel), i want outputs D1=0; D2=0; D3=1 (with this output combination i can set 8 speeds in my frequency drive).

On the new conveyors i installed a sensor for the speed feedback, the speed is measured by the length between the pulse of the sensor on the existing conveyor and the sensor on the new conveyor. So i would like to compare the speed of the new conveyors with the existing conveyors. If the speed (puls-length) is above a time-limit (adjustable) then i would like to lower the speed with one step for one pulse cyclus. If the speed (puls-length) is under a limit (adjustable) then i would like to set the speedcombination one higher for one cyclus between 2 pulses.

When i get the signal to start (input) i have to set the last output combination when the startsignal was low.

There is also a emergency stop ( normal closed) connected to the controllino PLC, if this input is low, the frequency drives have to stop: output that starts the drives has to be low=0. when this input is low it has to set an other output.

So this is my I/O list A0 = Startsignal A1 = Sensor on excisting conveyor A2 = Sensor on new conveyor 1 A3 = Sensor on new conveyor 2 A4 = Emergency stop

D1 = Output 1 speed reference drive 1 D2 = Output 2 speed reference drive 1 D3 = Output 3 speed reference drive 1 D4 = Output 1 speed reference drive 2 D5 = Output 2 speed reference drive 2 D6 = Output 3 speed reference drive 2 D7 = Output start drive 1 and 2 D8 = Signal emergency stop is OK

You can send me a personal message if you can help me. everything is ready here to download the program in the controllino mini.

I would be the luckiest man on earth if this will work this way by tomorrow!

Regards, Frederik Verstraete

Freverstraete: I would be the luckiest man on earth if this will work this way by tomorrow!

so tell us ... did you get lucky ?

Ok.

Does this mean that you have some sort of device that measures the pulses and presents to the arduino an analog input (between 0 and 5v)? Or will the pulses come in "raw" on the analog input, and you need the arduino to filter out noise, detect the pulses, and measure the time between pulses?

You say that you want the arduino to control two of the coveyors so that the speed of them matches the other conveyor, and you also say that you want this to be adjustable. Which is it?

You say

f the time between 2 pulses is 3 seconds(adjustable), i want outputs D1=0; D2=0; D3=1

What's adjustable? Are you saying that the conveyor itself might have an adjustable speed, and that pulses are not necessarily coming in at three seconds, or are you saying that you want to adjust at what pulse-width you output the 0/0/1 pattern on D1-3?

You give two examples for how the output of D1-3 is to be changed:

if the time between 2 pulses is 3 seconds(adjustable) i want the combination D1=1:D2=0;D3=1, when the time is 3.5 seconds(adjustabel), i want outputs D1=0; D2=0; D3=1

But I don't see any kind of rule there. What would you like if the time is 3.6? What if it's 1? Or 10?

You say you want to lower the speed for one pulse cycle. How do I "lower the speed"? Do I make d0 high? Low? Do I swap the value of d1 and d2? What, exactly, do I do to "lower the speed"?

What if we lower the speed on the belt, but it still doesn't match the speed of the existing conveyor? Do we lower it more?

Does the speed have to be lowered for exactly one pulse length for some reason? Or is that just your idea of a sensible method of getting the belts synchronized?

What should d0,d1,d2 be set to initially? What's the start state?

What about hysteresis? If you lower the speed when its above a given speed and raise it when its above, then your belt will be driven slow-fast-slow-fast all the time as the arduino tries to make the speeds exactly the same. This is probably not a good idea.

I mean, I get what you're trying to do. Sounds cool. Definitely do-able. but you are having a lot of trouble specifying what the arduino should do, which incidentally is why you are having such difficulty programming it.

If the speed (puls-length) is above a time-limit (adjustable) then i would like to lower the speed with one step for one pulse cyclus.

Isn't this the wrong way around? If the pulse-length is above a time limit, then isn't it going too slow and needs to be speeded up?

Did you want the new conveyors to match the speed of the existing conveyor by manually working an adjustment, or would you like the new conveyors to simply to match speed with the existing conveyor? Or is it a combination of the two? You'd like the speed of the new ones to match the current one, but with an adjustable offset of some sort? Within what range - +/- 10%? I don't see any kind of input in your I/O list for an adjustment input into the arduino program.

It's totally do-able, but hammering out the specifics of exactly what this program is to do in what circumstances is really missing from your post, and that's why no-one is replying. At the very least, I have no idea how to work the D0-2 outputs to make the speed go up and down.