At the end of the day you have to realise an Electrical Machine is basically an electrical energy to mechanical energy converter that utilises magnetic fields as the link.
The magnetic field/flux is either generated by magnetics or via electromagnets.
Motors in general have always been a difficult subject that I cannot
fully wrap my head around. Considering DC motors, what determines the
rate at which the motor spins?
The rate the electrical machines rotor will spin is fundamentally the same for all electrical machine types (Induction, sync, SR, BLDC, BLAC, brushed, hysteresis ...).
The rate of change of flux.
How this rate of change is created is very specific to each machine.
But basically by creating a magnetic flux on the stator & the rotor, the rotor will attempt to align itself just like magnets do.
This Electro-magnetic torque manifests itself as mechanical torque (due to being perpendicular to a freely rotating axis)
A torque acting on some inertia results in an acceleration that would want to take the rotor to infinite speed.
It can't because of Lenz's law. You now have a rotating magnetic field passing by coils, this induces a voltage which opposes the voltage source you are using to force current into the electrical machine to generate a magnetic field to produce EM_Torque.
The faster you go, the higher this voltage, the more it opposes the voltage source you are using. At some point you are no longer able to force current into the windings to create a magnetic field => no more EM_Torque --> no more rotor torque --> no more acceleration.
You have now reached your maximum unloaded speed.
As mentioned different machined create the changing flux by different mechanism
- Brushed Machine (DC stator DC rotor)
PM stator & a wound rotor, brushes are used to transfer electrical power to the rotor to create a DC current and thus a unidirectional magnetic field on the rotor. Apply the voltage source and the rotor will turn to align itself. This causes “commutation” to occur via the brushes and the rotor magnetic field is changed pushing it away from the present stator pole & attracting it to the next.
More voltage ==> more EM_Torque ==> Faster commutation
- Syncrounous Machine (AC stator DC rotor)
Wound rotor, Wound stator. Power is usually transfered to the stator via a Main-Exciter (basically a rotating transformer) and it produced a DC current in the rotor that does not change direction.
The Stator is then excited with an AC voltage source.
The rotor will “lock onto” this varying stator field and will be essentially dragged around with it. To increase the speed of a Synchronous machine the frequency of the voltage source to the stator is changed: Higher == Faster.
- BLAC, BLDC (AC stator, DC rotor)
These are basically just Synchronous machines but they have permanent magnets on the rotor. Higher the stator frequency the higher the rotor speed.
AC & DC just comes from the type of current control that is used.
- Switched Reluctance (AC stator ... rotor)
Beautiful machines, salient rotor NO WINDINGS, NO FIELD GENERATION. Wound stator. The stator is excited to produce a flux. An unaligned rotor will experience reluctance torque and attempt to align itself to minimise the reluctance in the present magnetic cct ==> mechanical torque ==> acceleration. Once alignment occurs you stop firing the stator and let the rotor “coast” for a short period before firing again
- Induction machine. (AC stator, AC rotor)
Wound stator, wound rotor. Unlike a synchronous machine however, the rotor windings are usually shorted (creating a squirrel cage like construction). Applying an AC voltage to the stator creates an AC magnetic field. This induces a voltage on the rotor & because it is shorted produces a current which in turn creates a magnetic field to be dragged around by the rotating stator field
The motors are mechanically different, so you can not get them to move at the same speed at the same voltage. This is a problem if you're driving them with relays since relays tolerate a very slow frequency, so they can not be PWM'ed.
However, if you're willing to change your design and switch to power mosfets you can basically split the problem in three:
- Measure the speed of each of the motors
- Determine which of the two is moving faster
- Adjust their speed accordingly.
For the first part, you will be needing a rotary encoder. There are plenty of types and can be home made.
If you're using an Arduino, reading the information from the rotary encoder and determining which is faster and which is slower should not be a problem.
Lastly, you can adjust the speed of the motors using PWM.
Best Answer
A simple PWM controller will cause each of two similar motors connected in parallel to run at approximately the same speed (with some minor change on each due to loading). That is because the resistance of the rotor winding is small, back EMF is proportional to speed and torque is proportional to applied voltage minus back-EMF (divided by rotor winding resistance). To a first approximation, speed is proportional to applied voltage, and a PWM source behaves like a constant voltage (not like a series resistance).
However, a more sophisticated controller with IR compensation or back EMF measurement will cause the motors to interact and loading up one motor more will cause the other motor to increase in speed, while not providing optimal control for the first motor. A closed-loop controller with feedback of some kind (tacho) will act similarly- the motor with feedback will be controlled well but the other will speed up and slow down in sympathy with the loading on the controlled motor.
It really depends on the nature of your motor controller.
In answer to your specific questions:
If one motor stalls the current will increase. If the motor controller can supply the full stall current plus operating current for the other motor then the non-stalled motor will be unaffected. Otherwise, it will slow down or may stall.
All DC motors produce back EMF- it's proportional to the rotational speed.
No, since it's proportional to rotational speed, at speed = 0, back EMF = 0. There's going to be inductive 'kick' at 0 RPM which is unrelated to motor RPM, but related to motor inductance (and current, which is high- perhaps even high-est when the motor is stalled).
You should follow the protection and fusing recommendations of the motor controller and the motor manufacturer and seek help if there is a conflict between the two.