Motor recommendations for oscillating cart

I'm looking for recommendations for an experiment:

The concept is a small (preferably under 6" long) car which drives in a straight line only, forwards ~1m and backwards ~1m in a repeating (sinusoid-ish) fashion along a track, such that the frequency of oscillation can be varied programatically. I don't have an exact frequency range of oscillation in mind, but something around 1-2s would probably be the fastest period I'd need.

One important requirement is that there be as low rolling resistance as possible so that inertial forces can cause the car to roll as freely as possible. I'm thinking this means brushless DC is likely the best candidate?

The project will not be battery powered so there's no concern with draw.

I'm not mechanically inclined (much better with electronics and code) so would prefer mechanical simplicity - direct drive wheels, avoiding gearing and shared drive shafts.

Initially I imagine my arduino code will be fairly simple, e.g.:

For loop:

  • Drive forward at 50% speed for 2s
  • Drive backwards at 50% speed for 2s

or

For loop:

  • Drive forward at 100% speed for 1s
  • Drive backwards at 100% speed for 1s

With this open loop arrangement I expect the midpoint of this translation will eventually drift off the track and I'll want to upgrade with some positional feedback control. I'd be interested in a rotary encoder that would be compatible with this setup. I've also read about sensored BLDCs, could that be used in lieu of an encoder?

Initially I will likely start out with position-dependent speed control but ultimately I want to have position-dependent torque control. Are these basically the same things? If not what considerations are there for achieving torque control?

The project requirements are likely to shift a bit as I go along, so I'm hoping to get something with a bit of performance headroom that allows me to get my feet wet today. I expect I'll probably need to swap out components as I progress along the learning curve.

Any advice, be it specific product recommendations (motors, motor controllers, encoders) or just general pointers are welcome.

David

Your requirement for low rolling resistance means the resistance between the wheels (it will have wheels?) and the track must be low. Therefore the wheels will spin on the track unless you carefully accelerate the car, which you have specified to be from zero to max in no time.

Paul

Paul_KD7HB: Your requirement for low rolling resistance means the resistance between the wheels (it will have wheels?) and the track must be low. Therefore the wheels will spin on the track unless you carefully accelerate the car, which you have specified to be from zero to max in no time.

Paul

Good point, and yes it will have wheels.

The sudo code I wrote is over-simplified, I'll definitely need to play with speed ramping to avoid traction loss. Also the tradeoff between rolling resistance and max achievable acceleration/deceleration is a balance I'll need to play with as part of the experiment.

How concerned do I need to be with motor burnout, since in this scheme the motor will be at stall for a time, twice in each oscillation. I don't need to be able to run forever, but if I can get 10-20 oscillations before needing to cool off that would be good.

You wrote: "The project will not be battery powered so there's no concern with draw. ". Does that mean it will be dragging a power and control cord? And why is thre no concern with draw, but with heating? Aren't they related?

Since you don't have a motor and don't know it's current draw and don't know how the motor withstands internal heat, that means you will have to experiment and see it you can hold you hand on the motor after some number of trips.

Paul

Paul_KD7HB: Your requirement for low rolling resistance means the resistance between the wheels (it will have wheels?) and the track must be low. Therefore the wheels will spin on the track unless you carefully accelerate the car, which you have specified to be from zero to max in no time.

Paul

No, rolling resistance is not the same friction between wheel and track. Its caused by losses in the transmission and by tyre deformation. Solid soft rubber tyres have good grip and low rolling resistance, but need a smooth track.

At the sorts of accelerations proposed grip is very important.

The worst case is described as 1m forwards and backwards as fast as once per second.

So angular frequency = 2π, amplitude = 0.5m

d = 0.5 sin(2πt) v = π cos(2πt) a = -2π^2 sin(2πt)

Ie the max acceleration is 2-pi-squared or about 20m/s^2, ie 2g.

That's tricky to achieve!

Lets try again with 2 second period. angular velocity is now just π, max accleeration is 0.5 π^2 or about 5m/s^2 which is feasible, using grippy soft rubber tyres.

The motor power required depends on the mass, the square of the distance and the inverse-cube of the oscillation period.

For instance 0.5kg at 1m distance and period of 2 seconds requires 4 watts not allowing for losses, so probably 10 watts would be a wise choice. motor speed/torque depends on transmission details.

Choosing between brushed and brushless is a separate concern, brushless are harder to drive, more expensive, but will last far longer.

Paul_KD7HB:
You wrote: "The project will not be battery powered so there’s no concern with draw. ". Does that mean it will be dragging a power and control cord? And why is thre no concern with draw, but with heating? Aren’t they related?

Since you don’t have a motor and don’t know it’s current draw and don’t know how the motor withstands internal heat, that means you will have to experiment and see it you can hold you hand on the motor after some number of trips.

Paul

I’ll need an overhead wiring harness with cables that are flexible to minimize interfering forces. It can be battery powered but my intuition says it won’t need to be.

There’s no concern with draw from the perspective of the power source’s capacity (we can assume it’s infinite). There IS concern with draw if that draw damages the motor. I think I saw for some larger industrial motors there are ratings for peak torque at stall you can safely run the motor at, or parameters that let you calculate safe thermal properties. I’m guessing for smaller motors it’s more a matter of trial and error…

All industrial motors will assume the mounting will operate as a large heat sink. Will your car be able to act as a heat sink?

Paul

MarkT: No, rolling resistance is not the same friction between wheel and track. Its caused by losses in the transmission and by tyre deformation. Solid soft rubber tyres have good grip and low rolling resistance, but need a smooth track.

At the sorts of accelerations proposed grip is very important.

The worst case is described as 1m forwards and backwards as fast as once per second.

So angular frequency = 2π, amplitude = 0.5m

d = 0.5 sin(2πt) v = π cos(2πt) a = -2π^2 sin(2πt)

Ie the max acceleration is 2-pi-squared or about 20m/s^2, ie 2g.

That's tricky to achieve!

Lets try again with 2 second period. angular velocity is now just π, max accleeration is 0.5 π^2 or about 5m/s^2 which is feasible, using grippy soft rubber tyres.

The motor power required depends on the mass, the square of the distance and the inverse-cube of the oscillation period.

For instance 0.5kg at 1m distance and period of 2 seconds requires 4 watts not allowing for losses, so probably 10 watts would be a wise choice. motor speed/torque depends on transmission details.

Choosing between brushed and brushless is a separate concern, brushless are harder to drive, more expensive, but will last far longer.

This is great, thanks. Based partly on this I've decided to scale down the experiment quite a lot.

I'm now looking at

m=1kg d= 0.2m pk-pk (+/- 0.1m from center of oscillation) f= 0.5Hz

...which should put things into more manageable territory from a traction perspective, at the expense I think of increased positional control accuracy (though I don't yet really know what I need for this - probably part of the experimentation).

I have very limited practical experience with electric motors but I'm concerned about this: I know I've tried to push unpowered toy rc cars and they've made a lot of noise and come to a very quick stop. I'm not sure if this is mainly due to lossy transmission, back-emf from the motor, or both. I need my vehicle to roll very freely when unpowered, like how a typical ceiling fan can turn for minutes with power off. Should this affect my motor selection, or is this mainly a consideration for transmission? Is there any reason I need a transmission instead of using (presumably less friction-inducing) direct-drive?

Paul_KD7HB:
All industrial motors will assume the mounting will operate as a large heat sink. Will your car be able to act as a heat sink?

Paul

I could make the body out of a thermally conductive material. Good idea, thanks.

I’ll probably be adding mass so that the total vehicle weight is 1kg, I might as well make this a thermally conductive material too.

For really low static and dynamic resistance in the motor you'll need something exotic like a miniature variable-reluctance motor or 3-phase induction motor, both of which have zero magnetic braking when unpowered.

More practically a direct-drive brushless motor is the way to go - geartrains are always high friction, which is what you are thinking of with the RC car resistance. Brushless motors only have residual magnetic braking due to eddy current losses in the stator laminations.

And I mean an industrial style brushless motor, not an RC low impedance motor, they have far too much cogging.

With a brushless motor you'll need to disconnect the windings when unpowered to give free movement. Note that disconnecting a powered-up motor windings will usually blow up the controller, so this isn't straightforward proposition.

MarkT: For really low static and dynamic resistance in the motor you'll need something exotic like a miniature variable-reluctance motor or 3-phase induction motor, both of which have zero magnetic braking when unpowered.

More practically a direct-drive brushless motor is the way to go - geartrains are always high friction, which is what you are thinking of with the RC car resistance. Brushless motors only have residual magnetic braking due to eddy current losses in the stator laminations.

And I mean an industrial style brushless motor, not an RC low impedance motor, they have far too much cogging.

With a brushless motor you'll need to disconnect the windings when unpowered to give free movement. Note that disconnecting a powered-up motor windings will usually blow up the controller, so this isn't straightforward proposition.

Better I know now before I've spent money on something that doesn't work, but sorry to read this as it may have killed my concept. Doubt I have budget for industrial brushless.

Is there any decent method to estimate the static and dynamic resistance to see if a consumer-grade brushless is actually tolerable? or am I limited to empirical testing?

RC BLDCs (which is what I think you mean by "consumer-grade brushless" are super low impedance and extremely coggy due to having strong permanent magnets and unsloped slots. They don't normally have hall sensors either. An entirely different beast from normal electric motors.

Its worth looking for cheap chinese brushless motors with built in controllers, perhaps on AliExpress.

And on reflection its possible that gimbal motors could be used, although that takes more sophisticated motor control and you'd need to add an encoder.