Hello.
I am currently working on a project where I am required to control vibrations from an Eccentrically Rotating Mass hooked up to an NodeMCU (to make that possible, one should control the rpm of the motor, ultimately the voltage supplied to ERM, because ERMs are basically small DC motors).
NodeMCU because, I want to supply a force sensor's data from one Arduino Uno Wifi REV2 to NodeMCU, to proportionately control the vibrations from the ERM via cloud (harder the press, harder the intensity of vibrations.)
FSR: FlexiForce A101
attached ref of the ERM
My query is how would somebody go on about doing the same? I looked up and found out that one can use the L293D motor driver, but also someone said that it is in-effective against small DC motors. How true would that be?
What is the best way to make this work?
If not the L293D driver, what other economic approach could be used?
The "stall current" for this motor is only around 140mA, so most ordinary small transistor like bc337 or 2n7000 will be adequate to drive it.
You should check the data sheet for your motor in case the stall current is different.
Don't forget a current limiting resistor between the Arduino PWM output pin and the transistor base/gate pin, and a flyback diode across the motor terminals.
To control the speed of the motor, you'll want to use PWM(pulse width modulation), in which your software turns on and off the digital output many times per second to reduce the average voltage the motor sees. There are many examples of PWM control of DC motors. Choose one, and come back to us if you'd like for a rundown on the approach chosen, because not all are equal.