Hello, I have just joined and I just wanted to say that this forum is very helpful. There are so many answers and tutorials I never really needed to ask anything until now. Hopefully, in future, I will be able to help someone out as well.
I am using 12V DC motor that I salvaged from cordless drill and it runs flawlessly connected on 12V power supply. However, when I implement it in an Arduino PWM circuit, every time it starts it gets very noisy and produces at least twice as much vibrations than it should for a period of time. It sometimes stops when motor reaches high RPM and then reducing speed doesnt make it go into "noisy mode" again. The "noisy mode" can be stopped at lower (or higher) RPM by simply touching the motor, applying some pressure or basicly any physical contact. Every time motor stops completely and starts again, it happens.
I have measured current at max arduino PWM output (top speed) for both normal and "noisy mode". In normal scenario no load current is 1A at average but when motor is noisy and running at full speed (the top RPM for "noisy mode" is considerably lower than usual RPM) no load current is 1.4A !
This is not frequency buzzing sound, this is probably mechanical noise from what is sounds like.
In your reading, did you happen to notice that the people who got helpful responses almost always posted useful information relevant to their problem?
Since you did not tell us about the characteristics of your motor power supply, the characteristics of the motor, what you used for a motor controller, how you wired it up and did not post the code, the noise could be due to any of a rather large number of problems.
I am sorry about that, I kind of expected problem to be mechanical.
The motor marking I found was "HRS-550S-12V". The best match I found was this but they are not identical (some vent and drill holes are different, as well as the measured currents). Tho the marking in the picture is the same. I measured stall current to be 7A at 12V, no load around 1-1.1A as I stated above (when its working properly directly on DC supply).
The power supply is ATX PC 400W power supply turned into a bench supply. 12V is stable and max current output is above 20A.
I attached the schematic of PWM setup.
The code is basic PWM, take input from analog input, map it and write it to analog output. Copied from Arduino tutorial.
Thank you for your time
Where is the flyback diode?
I doubt that driver will work very well with the 7 amp startup current. Here is some info on design of medium to high current FET switching circuits: http://www.irf.com/technical-info/appnotes/an-937.pdf
You realize that this is an inverting switch circuit (a high level on the output turns off the motor), inverting the PWM levels.
Edit: you will have a lot less trouble with this high current motor if you use a chip designed for the task. I've used these for some time and am very happy with them.
Thank you very much for your response jremington.
To clear any misunderstanding, the stall current is 7A, and the startup is just 2-2.5A.
I have fixed it almost completely. I just made each connection almost half the original length and replaced 5A rated wires with 20A rated (the ones that connect to motor). Now the noise and vibrations happen just rarely and they last for less then half a second even on low RPM!
Thanks for your advice on the motor driver chip but even tho I was searching for one just a while ago, now I am planning to build my own H-bridge for the sake of learning.
No, the startup current is the stall current, and your motor driver must be capable of handling it.