I would like to build a rotating mobile for my newborn, that can be controlled via a pressure sensor under her pillow (please see the picture below). For rotating the mobile I would need a simple, lightweight motor where I can set the speed in a range of around 5 rpm. Ideally I am thinking of something that can be controlled simply by voltage, without using more advanced approaches like PWM. Can someone suggest me what motor to use here?
I was looking for instance at this one here, but I’m not sure whether it can be slowed down to the rpm I’m aiming at: https://www.digikey.pt/en/products/detail/dfrobot/FIT0495-A/7087178
Or this one here: https://www.digikey.pt/en/products/detail/sparkfun-electronics/ROB-12367/5768358
But maybe I’m also running in the wrong direction… I’m relatively new to electronics, so sorry for my potential naivity So any help would be very much appreciated!
When building you really have the options on how you want to slow it down. Personally, when things break I like to tear them down and find out and I took apart an old baby mobile that just had a small hobby-type DC motor in it. It was also geared down. I can’t remember the circuitry that was involved however I do know the one I had did have a small microcontroller and multiple speeds so I believe they were using both PWM and gearing to enable the slow speed on such a small motor. Currently, I am not aware of any small motor options that you could get 5rpm with just a voltage adjustment. I would also be concerned if you could get them to spin at such a low rpm if they would have the torque to spin your mobile.
Thank you for your quick reply! The mobile would be made from wire and paper, so it would be very light, so torque might be okay. For the second option I’ve sent, what do you think would happen when I supplied it with 6V? It’s rated with 10rpm@12V, so wouldn’t 6V make it run at 5rpm? Same for the first option I shared: It’s rated with 15rpm@6V. Supplying it with 3V wouldn’t result in 7.5rpm and 2V in 5rpm? But then I might also be misunderstanding the voltage control concept or underestimate the loss of torque at lower voltages… Thanks again for your support!
The datasheets from the manufacturers on those motors do not show the ratios though it is likely more logarithmic than linear.
Don’t take these numbers as fact but most likely if 12V=10rpm the curve would be something like this.
10V = 9rpm
8V= 7 rpm
6V = 4rpm
4V = 1rpm
3V = start of motion
If I was going to test one out I would likely start with the sparkfun as it does list the 3-12V range which gives a little more room to hit the speed you are looking for. The second gives a range of 2-7.5V though @6v is already 3 times faster than you want so it may be harder to find the speed you are looking for.
PWM doesn’t have to be very difficult, and it can give you better control. You don’t even need a microcontroller to make a simple PWM controller. There’s a pretty good write-up here which shows how to do wide duty cycle control (speed control) using just a 555 timer and a few external components.
Brushed motors of this sort are modeled using a linear relationship between voltage and rotational speed. (current draw being proportional to load torque) Factors such as friction and winding resistance do conspire to make it look more bent if one’s focusing on the low-speed regime, but the overall phenomenon is indeed based on linear relationships.
Here are some various low-voltage wall adapters if you are looking to power the motor from a certain voltage. Otherwise David_1528’s idea is simple and great to throw together on a breadboard using force sensor input. otherwise a motion sensor would work as well -some have a potentiometer to adjust output duration… Either way could work with a limit switch input.
Thanks for all your answers, very much appreciated! The motor that @Robert_Fay suggested was out of stock, so I ordered the other one, with the less optimal voltage range… I just had a look at the link you shared @David_1528, looks pretty straight-forward indeed to implement the PWM with the 555 timer. Nice!