DC motor PID speed control

preview_player
Показать описание
GitHub Code (under /SpeedControl):

If your platform does not have access to "atomic.h" (and so you get an error message), you can use the alternative version of the code that has been uploaded to the repository. It is labeled "_NoAtomic".

Learn how to control the speed of a DC motor with an encoder using a PID controller. In this video, I walk you through several important steps in this process:
0. Hardware
1. Velocity measurements
2. Measurement filtering
3. PI control
4. Variations

For more information about how an encoder works, see our video "How to control a DC motor with an encoder."

To learn about low-pass filtering, see our video "How to design and implement a digital low-pass filter on an Arduino."

Parts used in this video:
1. DC Motor - 19:1 Metal Gearmotor 37Dx68L mm 12V with 64 CPR Encoder:
2. Motor Driver - VNH5019 Motor Driver Carrier:
3. Microcontroller - Arduino Uno:
Рекомендации по теме
Комментарии
Автор

Just can't believe that this high quality content is available for free. God bless you.

usnaveen
Автор

I'm studying engineer for 3 years and your videos are pure gold, thank you very much!

pavelmihai
Автор

This is a very high quality piece of content. It is much harder to edit this type of video rather than doing a simple screen share and writing the code, but I think it has paid off. Big fan of showing the iterative procedure of proportional controller, what its limitations are, and moving to the PI controller. I hope you find the time to keep making videos like this.

davidjmstewart
Автор

This may well be one of the most clearly explained videos on Youtube. I'm amazed.

manuel_youtube_ttt
Автор

From my humble point of view, your channel is brilliant and remarkable. Content very consistent with practical examples and perfectly done. We have to appreciate also you effort in preparation content. Your channel will grow. I keep finger for your goals!

markusbuchholz
Автор

The channel is brilliant indeed! The last part of the video blew my mind because it is so rare to see similar approach to learning and experimentation! Thank you.

Noxafurry
Автор

If someone wants to know or is interested: there are graphic methods to get the ki, ke and even the kd constants. Amazing vid, cheers.

lautamn
Автор

Excellent series of videos on dc motors and how to control them. Thank you for not shying away from a bit of theory and mathematics. I find it very 'digestible' and inspires deeper thinking through thorough study of the material you provide. You present a clear expression of your obvious command of the topic. Plus your voice is very pleasant to listen to. Keep up the good work.

DavidTLutz
Автор

Thank you for a detailed, concise and focused explanation of implementing PID control using an Arduino.

greggarriss
Автор

Thank you so much for this inspiring video! Finally seeing someone implementing PID control after visiting control engineering class and not seeing any practical examples warms my engineering heart ;D I don't have a motor+encoder flying around, but an led and light sensitive resistor. I guess pid brightness control is now a thing for me. I added a none feedback path to the feedback loop, to make the system more reactive/less prone to oscillating. I add u to a value x that is dependent on my target value. The relationship between the target and x is not perfect, but now the control loop only needs to compensate for the remaining deviation. Not useful in every situation, but worth it in some.

jokoluna
Автор

Hands down best Arduino-related video I've ever seen. Great quality, in-depth explanations, just excellent.

avi-brown
Автор

Thank you very much. Your way of explaining things are much better than the most professors in my university.

alperenkeser
Автор

Great video. This was super helpful for helping us implement our PI control. In the title it says PID though and you didn't show how to do derivative control but still a great video.

noahgraber
Автор

Excellent Video! The step-by-step approach coupled with the fluid animations and an amazingly soothing voice made this video an absolute treat watch and learn! Thanks!

KirtikSoni
Автор

This is going to save me a lot of time and headache. Your channel is going to blow up soon. I know it!!!

ghanilawal
Автор

Im doing this exact experiment but with state space. Can’t believe i just found your channel, loved your video

luiggitello
Автор

I'm really enjoying these videos. So clearly explained and easy to follow especially for an unskilled programmer like myself

DustanWebb
Автор

For me it's hard to put formulas like these into code so your video is very helpful, thank you!!

JM_Tushe
Автор

I am building an arduino controller for a 4hp dc motor and this video is invaluable!

HSMAdvisor
Автор

Amazing explanation, thank you! I liked how you compare the methods.

matheuswilgengoncalves