[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now


pid dc motor controller using 8051 uc

Posted on 2006-06-10
Medium Priority
Last Modified: 2008-01-09
       i have been trying toi design a PID dc motor controller using 8051 uc in assembly.it is essential to use 8051 and a pic cannot be used.can anyone help me in this regard.

Question by:mack123
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 16

Expert Comment

ID: 16880299
Hi mack123,

Post what you've got so far and tell us what does or doesnt work.


Author Comment

ID: 16881468
         ok here goes.i m not using any timers or interupts.the two inputs from the shaft encoder of the motor are input to two pins.i m using polling and detecting the direction of the motion by usin the pulses from the shaft encoder.
     this much work fine but now the problems start.i cant implement a proper pwm algorithm.the motor just overshoots the required position .
   i tried doing it without pwm and it worked fine  but then i dont have anything to implement pid on.
 another problem  i facing is that as 8051 is a 8-bit microcontroller wat to do when my position couter exceeds
LVL 16

Expert Comment

ID: 16881482
I'm not familliar with PWM. Could you describe it for us.

Handling multi-byte numbers is quite easy. Each time you add to your counter, if the carry if set after the add, increment a second byte.


Author Comment

ID: 16887845
pwm-pulse width modulation
pulses are given to the motor and by tracking its position usin g the shaft encoder pwm is varied in such so that the motor turns and stops at a required position.
   i have to implement position control.
LVL 16

Accepted Solution

PaulCaswell earned 585 total points
ID: 16889711
Ah! Got it!

You are using the inputs to detect the direction of spin. Have you managed to measure the time between the two pulses? That sounds like a good step to take. After all, then we'd have two of the three letters of the acronym, the 'pulse width'. :-)


Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A walk-through example of how to obtain and apply new DID phone numbers to your cloud PBX enabled users that are configured in Office 365. Whether you have 1, 10 or 100+ users in your tenant, it's quite easy to get them phone-enabled and making/rece…
Ransomware, the malware that locks down its victim’s files until they pay up, has always been a frustrating issue to deal with. However, a recent mobile ransomware will make the issue a little more personal… by sharing the victim’s mobile browsing h…
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question