Go Down

Topic: Motor control (Read 1 time) previous topic - next topic


I am doing a project on solar tracker. i am using 2 dc wiper motor.
i got a problem. How to control the speed of dc motor? how to decrease the rpm of dc motor.


normally you would use pulse width modulation using the analogWrite() function. coupled with a suitable driver board, the ratio of on pulses to off pulses will vary the speed of your motor. how do you plan to interface your arduino to these motors?


Keep in mind that speed and torque are related. If the motor is designed to run at a speed far from what you want it to run at, it may have no torque at all at that speed, and in fact may not even run at that speed.

Selecting the appropriate hardware is a big part of any project. Scrounging is nice, IF it results in appropriate parts. If not, it can be more expensive making your scrounged parts work than it would be buying the appropriate stuff to begin with.


I am doing a project on solar tracker. i am using 2 dc wiper motor. i got a problem. How to control the speed of dc motor? how to decrease the rpm of dc motor.

H-bridge with PWM control.
Google forum search: Use Google Search box in upper right side of this page.
Why I like my 2005 Rio Yellow Honda S2000  https://www.youtube.com/watch?v=pWjMvrkUqX0


i have heard that connecting resistor makes the speed of the motor slower. i don't know how to connet.


How much current does the motor draw? All that current needs to run through the resistor, too.


Jan 08, 2011, 06:29 pm Last Edit: Jan 08, 2011, 06:29 pm by keeper63@cox.net Reason: 1
I am doing a project on solar tracker. i am using 2 dc wiper motor. i got a problem. How to control the speed of dc motor? how to decrease the rpm of dc motor.

Here's what I suggest: Run the motor at its rated voltage using an h-bridge driver; this driver can be something fancy based on MOSFETs, or something simple based on relays.

Note that you want to track the sun; since the relative motion of the sun across the sky isn't very quick, and large changes to cause the tracker to move don't occur, a simple relay control system (with appropriately sized relays - I would just use standard 15 or 30 amp automotive relays for these motors) will likely last years, if not forever. Don't over-complicate things before you start; you'll just be throwing money away.

Still, these motors, meant for moving windows at a certain rate of speed, will likely be too fast for your application. You need to slow them down enough to make small adjustments (a degree or two every hour or so - something like that), but not too slow. You need to monitor the angle and turn them off and on properly, which will be done somewhat indirectly by your sensing system. You also need to monitor your end points to prevent overtravel and stalling/breakage of the motors and/or linkages.

I would slow them down with a reduction system. Attach (in some manner) threaded rod to the output shaft of the motor, and add a nut as the follower along the threads which, as the rod turns, will move along the rod in a linear fashion, actuating the rest of the mechanism. Grease the rod once you have it fabricated to prevent binding and corrosion. If corrosion/weather is a great concern, look for stainless steel threaded rod, or perhaps nylon or some other plastic (you may have to buy blank rod and thread it yourself).
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.


The motor seems to have around 30 RPM. i have designed the system with larger teeth ratio of gear to make a slower change but still if there is an idea to reduce RPM of motor please suggest me.

Ran Talbott

One important design question is whether you plan to make a "closed loop" system that tries to determine the angle of the Sun through measurements and tweaks the position,  or just a "smart clockworks" that moves the panel(s) at a fixed rate throughout the day.

The "closed loop" system could be moving the panels back and forth a lot,  so you'd definitely want a solid-state H-bridge to control the motor.

The other approach,  though,  only reverses direction once per day.  To save costs,  you could use a DPDT relay as a "forward/reverse switch",  and a simple PWM-driven MOSFET for speed control.  The relay would only be on briefly,  at the beginning/end of the day,  while the motor cranks the panel to its "morning" position.  So it wouldn't use much extra energy compared to an H-bridge (in fact,  it's probably more efficient than a bipolar H-bridge in this particular application),  and wouldn't go through a lot of cycles that would wear it out.

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131