What do I need for this to work?

My current project has two inputs, both from Hall Effect Sensors, and two outputs. Both being a version of the 5202 Series Yellow Jacket Planetary Gear Motor, which has an encoder. I am trying to figure out what controller(s) I need to make this project work. I tried to see if I could use 1 Arduino Uno for both motors, and Hall Effect Sensors, but I am not sure if one controller would work for two motors. NOTE: I am trying to get this project so that each motor is controlled by a separate Hall Effect Sensor and some code.
Thank you.

Yes you can use one arduino for 2 motors! Nano would be even better as it's much smaller.

diamond9:
I tried to see if I could use 1 Arduino Uno for both motors, and Hall Effect Sensors, but I am not sure if one controller would work for two motors.

That's not enough information from which to answer your question.

You say the motors have encoders - are they what you mean when you say "Hall Effect Sensors" or are the sensors separate? And if they are separate do you plan to use the sensors and the encoders? Again, if they are separate and you want to use both, then what is the purpose of the sensors?

Whether one Arduino can work with two encoders and/or two sensors depends on how many pulses per second it will have to deal with.

...R

Robin2:
You say the motors have encoders - are they what you mean when you say "Hall Effect Sensors" or are the sensors separate? And if they are separate do you plan to use the sensors and the encoders? Again, if they are separate and you want to use both, then what is the purpose of the sensors?

The Hall Effect Sensors are separate from the motors. I'm basically trying to build an automatic gearbox for a bike. Where one H.E.S. will measure RPM from the back wheel, convert that into speed, and then control one of the motors to change gear. The other H.E.S. will measure RPM, and convert that into torque, using the moment of inertia and some other math and equations, and then control the other motor for something else. The reason for having motors with encoders is to make sure the motors don't over-rotate or go past a certain point.
Hope this helps to clear things up.

diamond9:
Hope this helps to clear things up.

Yes. It makes a huge difference to understanding what you want to achieve.

Then there is the question I asked earlier - how many pulses per second will the Arduino have to deal with when everything is working?

...R

Robin2:
how many pulses per second will the Arduino have to deal with when everything is working?

At maximum, each H.E.S. might be recording around 2.5-3kHz, so in total, 5-6kHz from the H.E.S. I'm not sure about the motors, or even if they output pulses.

diamond9:
At maximum, each H.E.S. might be recording around 2.5-3kHz, so in total, 5-6kHz from the H.E.S. I'm not sure about the motors, or even if they output pulses.

If you are using the encoders they will produce pulses and may produce them at a much faster rate. Is the encoder attached to the motor shaft (which runs fast) or to the gearbox output shaft which will be much slower?

How many pulses per revolution does the encoder generate?
What is the fastest motor speed (RPM or RPS)?
What is the gearbox ratio?

...R

Robin2:
How many pulses per revolution does the encoder generate?
What is the fastest motor speed (RPM or RPS)?
What is the gearbox ratio?

Motor 1:
Gearbox Style - Planetary
Gear Ratio - 5.2:1

No-Load Speed @ 12VDC - 1,150 RPM (MAX RPM)

Encoder Shaft: 28 PPR (7 rises of channel A)
Gearbox Output Shaft: 145.6 PPR (36.4 rises of channel A)

Encoder Sensor Type - Magnetic (Hall Effect)
Encoder Voltage Range - 3.3 - 5VDC
Encoder Cycles Per Revolution (Encoder Shaft) - 7 (Rises of Ch A)
Encoder Cycles Per Revolution (Output Shaft) - 36.4 (Rises of Ch A)
Encoder Countable Events Per Revolution (Encoder Shaft) - 28 (Rises & Falls of Ch A & B)
Encoder Countable Events Per Revolution (Output Shaft) - 145.6 (Rises & Falls of Ch A & B)

Motor 2:
Gear Ratio: 13.7:1
No-Load Speed @ 12VDC: 435 RPM
Encoder Shaft: 28 PPR (7 rises of channel A)
Gearbox Output Shaft: 383.6 PPR (95.9 rises of channel A)

Encoder Sensor Type - Magnetic (Hall Effect)
Encoder Voltage Range - 3.3 - 5VDC
Encoder Cycles Per Revolution (Encoder Shaft) - 7 (Rises of Ch A)
Encoder Cycles Per Revolution (Output Shaft) - 95.9 (Rises of Ch A)
Encoder Countable Events Per Revolution (Encoder Shaft) - 28 (Rises & Falls of Ch A & B)
Encoder Countable Events Per Revolution (Output Shaft) - 383.6 (Rises & Falls of Ch A & B)

When I saw this

No-Load Speed @ 12VDC: 435 RPM

it made me wonder if the speeds you are quoting are for the gearbox output shaft or the motor shaft?

As the encoder seems to be on the motor shaft it is the speed of the motor shaft that is important. For example 435rpm at the gearbox would be about 6000 rpm for the motor or 100 rps. At 28 pulses per rev that makes 2800 pulses per second. Assume the other motor is the same and you have 5600 pulses per second plus the HES pulses which you estimated at about 6000 per second gives about 12000 per second or one every 83 microsecs. That does not leave much time for the Arduino to do other stuff. Also, because the producers of the pulses are not synchronised it would be possible for all 4 of them to produce a pulse in the same microsecond.

If all you are interested in for the encoders is the speed of the motor then you might be better off making your own detector that just produces 1 pulse per revolution. That would greatly reduce the numbers of pulses being produced per second. Of course if you need to control the position of the motors you will need the 28 pulse encoder.

...R

Robin2:
If all you are interested in for the encoders is the speed of the motor then you might be better off making your own detector that just produces 1 pulse per revolution. That would greatly reduce the numbers of pulses being produced per second. Of course if you need to control the position of the motors you will need the 28 pulse encoder.

At the moment, I don't care about controlling the speed, I only need to control the position/number of rotations.
2 questions:
Would I be better off trying to make my own revolution detector to control the position/number of rotations, or should I stick with something from Arduino?
If I didn't make my own detector, do you know there a solution from Arduino or any other place that would be able to handle this amount of input/output?

diamond9:
At the moment, I don't care about controlling the speed, I only need to control the position/number of rotations.

Then you need to use the built-in encoder

Would I be better off trying to make my own revolution detector to control the position/number of rotations, or should I stick with something from Arduino?

I was not suggesting a non-Arduino solution. Just an alternative to the built-in encoder. But see above.

If I didn't make my own detector, do you know there a solution from Arduino or any other place that would be able to handle this amount of input/output?

Use one of the faster Arduinos. I don't have any experience with them myself. Note that (AFAIK) the faster ones work at 3.3v rather than 5v

...R