Hardware Demo of a Digital PID Controller

Sdílet
Vložit
  • čas přidán 27. 12. 2015
  • The demonstration in this video will show you the effect of proportional, derivative, and integral control on a real system. It's a DC motor connected to an optical rotary encoder (quadrature) and is controlled by a digital control loop implemented on a TI Launch Pad MSP432. It uses a series of timers and interrupts to generate the PWM signals to the H-Bridge motor driver, read the pulses from the encoder, and calculate the control effort using a PID control algorithm. It also implements an anti-windup algorithm to improve the system stability since this is a real system and the motor saturates easily.
    If you listen, you can hear the PWM signal whine as it adjust the current to the motor. When I push on the flag with my hand you will hear it go quiet. That's when the PWM is at 100% duty cycle and the audible PWM AC current going to the motor is now DC.
    Post a comment if you liked the video!
    You can download the code, design files, and parts list here:
    github.com/arduinoNube/digita...
    (out of date: sourceforge.net/projects/digi... )
    Enjoy!
    www.gregoryholst.com

Komentáře • 421

  • @AmitsLife
    @AmitsLife Před 3 lety +449

    Thank you for not using any music

    • @landonjacobs815
      @landonjacobs815 Před 3 lety +1

      czcams.com/video/aOl4YwAGyVw/video.html

    • @julians.2597
      @julians.2597 Před 3 lety +7

      @@John-eh2zc not doesnt like music, doesnt like annoying background music in tech videos. Usually because one either cant listen to it atm or is already listening to their own music, or because the music used is really bad stock music

  • @pfaprado
    @pfaprado Před 7 lety +729

    Man this is the best summary of PIDs an engineering student could get. Thank you!

    • @marcioandreyoliveira
      @marcioandreyoliveira Před 6 lety +4

      Forastieri I second you.
      This demo is simply amazing. I loved it a lot .

    • @arduinoNube
      @arduinoNube  Před 6 lety +61

      I'm glad you found it helpful! I actually built this for a mechatronics class demonstration at Georgia Tech where I did my teaching practicum (TA) during grad school.

    • @jonatan01i
      @jonatan01i Před 6 lety +1

      Thank you very much for sharing it with us!

  • @nialv7985
    @nialv7985 Před 6 lety +468

    That is a very expressive hand

    • @auzworld
      @auzworld Před 4 lety +6

      Yeah..its like its got a life of its own !!

    • @vivekvenkatsubramaniam437
      @vivekvenkatsubramaniam437 Před 4 lety +10

      I read it as 'expensive' and wondered why a prosthetic arm looked so real

    • @itzm1kea
      @itzm1kea Před 3 lety +1

      I read expensive too ^^😄

  • @nicolassoncini2266
    @nicolassoncini2266 Před 4 lety +34

    I watched this video 4 years ago and now I'm doing my master's thesis on control and just today as I was thinking about it, it popped back into my recommended. Love it!

    • @arduinoNube
      @arduinoNube  Před 4 lety +4

      Nicolas S. Thank you for taking time to leave a note. I hope your thesis goes well! Glad you found the video helpful!

  • @ColinMcNulty
    @ColinMcNulty Před 3 lety +18

    I was a Motion Control Engineer in my very first job 25 years ago, long before robots were cool like they are today.
    I worked on streamlined robotic arms inside wind tunnels, satellite tracking TV transmission vans, formula 1 racing car "4 poster" testing rigs, air-to-air missile testing systems, and tank tracked robots that would crawl inside nuclear reactors using neodymium magnets that hugged the surface so they could drive upside down held up by magnetism!
    At their core, all those projects worked because of PID control of DC motors. Some days I wish I'd staying in that industry... :-/

  • @martinmiglio
    @martinmiglio Před 5 lety +15

    I wrote a final paper on this concept for one of my math courses, yet this video explains the main idea in 3 minutes

  • @engvdo5297
    @engvdo5297 Před 5 lety +28

    It's amazing.
    till now we seen only formulas and heard something like PID. But, now we can understand practically how it's work
    Thank you so much

  • @quahntasy
    @quahntasy Před 4 lety +10

    *Finally in 2020 I found a hand that talks. Way explanatory video than people actually talking to explain*

  • @vilmondesribeiro4363
    @vilmondesribeiro4363 Před 6 lety +39

    Phenomenal, and congratulations, this will help our students to understand PID and closed loop control systems.

  • @21mejia25
    @21mejia25 Před 2 lety +4

    I heard about PID control from people in the BBQ world, but had no idea what it actually meant. Now, I am weeks away from getting a degree in Mechanical Engineering and I have a much better understanding. Your video really solidified everything and provides an excellent explanation of PID control. As a side project, I am going to build a PID controller to regulate temperatures of a smoker with the use of a fan.

  • @PeteVree
    @PeteVree Před 7 lety +234

    This is phenomenal. So cool that you've shared the code, etc. Thanks so much.

    • @arduinoNube
      @arduinoNube  Před 7 lety +28

      Np. Let me know if you find it useful. -G

  • @gams101
    @gams101 Před 5 lety +3

    This is such a good demonstration about understanding the PID. I really wish I found out this video quite earlier when I was having a project in my Control System subject so that it would be less bloodier for my group.

  • @naboulsikhalid7763
    @naboulsikhalid7763 Před 5 lety

    you saved my day. I couldn't wish more. Now I saw all these constants working, their effects in real time. thank you very much

  • @IncroyablesExperiences
    @IncroyablesExperiences Před 5 lety +66

    Very clear, great job!

  • @melhariri6720
    @melhariri6720 Před 6 lety

    A brilliant video demonstration with clarity and simplicity...well done! Thanks for the contribution.

  • @milindgulve9136
    @milindgulve9136 Před 5 lety +7

    This is one of the best Explanations for PID With practical meaning I have ever seen and understood. Thankyou !

  • @cyrelharris
    @cyrelharris Před 6 lety

    Awesome demo. For me this is very informative and I recommend that everyone, using PID controls should watch this video.

  • @MAYDAYDEEJAY
    @MAYDAYDEEJAY Před 6 lety

    I don't think I've ever seen better explanation of PID :)
    Very Nice !

  • @MrSaemichlaus
    @MrSaemichlaus Před 4 lety

    Excellent teaching! Practical, hands-on and playful.

  • @emreipek4485
    @emreipek4485 Před 5 lety +1

    I couldn't understand PID controller how to use in real life. Perfect work! Thanks a lot :)

  • @j3s0n
    @j3s0n Před 4 lety +2

    The idea of using a pendulum to demonstrate this is genius as it's so easy to imagine the movement in relation with underdamped and critically damped graphs in your minds eye

  • @passion7312
    @passion7312 Před 3 lety

    Finally after watching lot of videos about pid, your video helped me to understand pid easily.
    Thankyou

  • @damny0utoobe
    @damny0utoobe Před 6 lety +3

    Love it. Great logical explanation. Makes control systems look easy

  • @TeDoFwAr
    @TeDoFwAr Před 5 lety +10

    Thank you. The missing info is found..... And all the code to build and explore further. Legend!

  • @MunamNaseer
    @MunamNaseer Před 6 lety

    Thank you so much Mr.Gregory L. Holst , I salute you for such a great heart to share everything , it will help us to understand working and implementation of PID controller. You are at place of my professors. I will start working on your efforts . Thank you thank u again.

  • @natarajana.v4262
    @natarajana.v4262 Před 4 lety

    Best explanation for a PID controller. Very practical and amazing.

  • @dekyed
    @dekyed Před 2 lety

    Finally a great demonstration to help us visualize these ideas!

  • @martin840909
    @martin840909 Před rokem

    Great video, clear shows the function of PID.
    It is much better than many explanation videos with too many words and formulas.

  • @Aw4yed
    @Aw4yed Před 6 lety

    man i never understand the pids but now with ur video it looks really easy

  • @abdellahbarrous8516
    @abdellahbarrous8516 Před 3 lety

    Best video on PIDs ! Short, well explained and covers all aspects of the subject.

  • @acrobat9983
    @acrobat9983 Před 7 lety +20

    Probably the best PID Vid on CZcams :)

  • @inibapakbudi
    @inibapakbudi Před 5 lety +2

    Wow. Thanks for the video.
    Actually, my Final Project when in college is similar to this, but only Software simulation. And you make my dream come true!

  • @giovannibianchessi1578

    Great, clean and instructive demo! Thank you.

  • @camilomartinez1105
    @camilomartinez1105 Před 6 lety +6

    I love control theory, it's my favorite branch of electronic engineering
    Greetings from Colombia

  • @Dillbeet
    @Dillbeet Před 3 lety +1

    This perfectly bridged the gap between the math and real world output! Thank you :)

  • @kaili9552
    @kaili9552 Před 2 lety

    best PID illustration video I have ever seen.

  • @SteveJobzz
    @SteveJobzz Před 5 lety +9

    This should be shown in classrooms!

  • @luistorh
    @luistorh Před 5 lety

    Thanks for a video where every second tells! 3 min. of PID essence.

  • @punpck
    @punpck Před 6 lety

    great demonstration! the best on summary I've ever seen :)

  • @techelevatesolutions
    @techelevatesolutions Před 6 lety

    Fantastic work, thank you for taking the time to make this

  • @rogerandersen7046
    @rogerandersen7046 Před 5 lety +7

    i kinda now want just this youtube channel to have loads of videos of strange electroprojects with this talketive hand.

  • @MuhammadHamza-ul5ky
    @MuhammadHamza-ul5ky Před 5 lety

    Your demonstration is FAB. 👌 Thank you !

  • @nosweat9841
    @nosweat9841 Před 7 lety

    Great illustration. I'll share it with my fellow techs.

  • @RodrigoCruz-iz3kb
    @RodrigoCruz-iz3kb Před 6 lety

    Amazing! Your videos are helping me a lot in control theory!

  • @MrPashee
    @MrPashee Před 2 lety

    Best explanation of PID I've ever seen.

  • @MrImmi34
    @MrImmi34 Před 5 lety

    One button, controls so many gains, frequency code... amazed.

  • @paulocesarestradasoplin5078

    Extremely awsome demonstration, great job!

  • @miguelangelluengotoledano7106

    Thank you very much for sharing your excellent work with all of us.

  • @AUTEM_Industrial_Automation

    At GeorgiaTech, Atlanta, I've had the change to physical watch this demo in ME6405 course with J. Rogers. Great job Gregory ! 👍

  • @jonathanrabe3727
    @jonathanrabe3727 Před 4 lety

    Dude, you nailed that! That looks perfect, and you didn't even fine tune the parameters but it still works so good...

  • @yahuiz7877
    @yahuiz7877 Před 4 lety

    you bring to light for my embedded project! Thank you!

  • @nachiketsharma8808
    @nachiketsharma8808 Před 5 lety

    Best demonstration on youtube!! Thanks a lot

  • @jaimerdz3274
    @jaimerdz3274 Před 6 lety

    Thank you for this great demostration.

  • @MrBobWareham
    @MrBobWareham Před 6 lety

    Very good demo of PID control nice demo hardware well made and executed

  • @kunalpanchal7751
    @kunalpanchal7751 Před 7 lety

    Awesome presentation of control theories.. Loved it..!!

  • @esnatzea
    @esnatzea Před 5 lety

    Thank you! Really awesome and very good to understand the concept!

  • @chrisbryden8102
    @chrisbryden8102 Před 4 měsíci

    An absolutely amazing demonstration and final result!!!

  • @sumanth5875
    @sumanth5875 Před 6 lety

    Phenomenal demonstration, thank you!

  • @dimasarifiyan3758
    @dimasarifiyan3758 Před 3 lety

    So cool! Thanks man, you taught me a lot in a short time

  • @wackyvorlon
    @wackyvorlon Před 6 lety

    Thanks for sharing your design and code!

  • @zvikagivli7665
    @zvikagivli7665 Před 5 lety +6

    CZcams was made for this kind of videos. GREAT!!!

  • @kaoshavoc
    @kaoshavoc Před 6 lety

    Awesome. Wish i had seen this when i was making a pid out if an arduino.

  • @johanelmander3787
    @johanelmander3787 Před 6 lety +3

    Best explanation ever.

  • @vextrek6036
    @vextrek6036 Před 3 lety

    Now that is an awesome video. Thank you for doing this.

  • @moayaddaghles9544
    @moayaddaghles9544 Před 6 lety

    Great ......
    What I was looking for since long time
    Thanks alot

  • @mikeallenfpv
    @mikeallenfpv Před 3 lety

    This is very cool thanks for demonstrating!

  • @brodiemacleod69
    @brodiemacleod69 Před 6 měsíci

    Video so good you did all the teaching my proof needed when showing this to our entire lecuture lol

  • @diansafari4875
    @diansafari4875 Před 5 lety

    Great video, it's help me understanding pid terminologi

  • @charmindesai3730
    @charmindesai3730 Před 8 měsíci

    You actually deserve more than a million views until now :)

  • @nicholasjohnson3542
    @nicholasjohnson3542 Před 5 lety

    Excellent demonstration.

  • @marlinderwall8873
    @marlinderwall8873 Před 20 dny

    I don't do control systems but I did IT work in refineries. Why control systems engineers needed advanced degrees makes a lot more sense now.

  • @mohammedfawzikharroub8482

    Thank you for your effort in explaining. Great video. Keep it up (Literally using PID control xD).

  • @RetroCarton
    @RetroCarton Před 8 lety +6

    Very well explained video. It's a great project
    Maybe you should do a basic tutorial for dummies on the P, I and D effects on the control system, it would be a great idea

  • @W00PIE
    @W00PIE Před 2 lety +4

    Currently working on a DIY PID controller for homebrewing, I have just finished some tests and also ran some auto-tuning methods (Ziegler-Nichols), now I have the maximum overshoot down to 0,1K, which is really nice. But boy, it takes time! The output is used as PWM control for an SSR with a cycle time of 5 seconds. It must be fun to work with a system that reacts so fast like yours, you get instant feedback and can tweak more or less in realtime. I think, I'll build something similar, just for fun!

    • @doruxan
      @doruxan Před rokem

      Hey man. Can you give some insigths and maybe some articles or content to implement a self tuning pid?

  • @alexmaximas384
    @alexmaximas384 Před 5 lety

    Great demonstration. Suitable for an introduction course in control. I subscribed your channel.

  • @Tadesan
    @Tadesan Před 6 lety +3

    I worked at a company where the PID control was referred to as Pissing In the Dark.
    Man those guys sucked. You rock!

    • @laworder416
      @laworder416 Před 5 lety

      hehehe what is the name of that company?

    • @turk639
      @turk639 Před 4 lety

      well it kinda is, you have to find the right parameters for it to work really well for your application, though once you find them it can be hella tight, though finding these controll parameters is an art and not really a science

  • @OriginalJetForMe
    @OriginalJetForMe Před 6 lety +2

    This is a very cool demonstration!

  • @ethanoch
    @ethanoch Před 3 lety

    Great demo!

  • @toledomerendo
    @toledomerendo Před 5 lety

    Neato! Thanks for sharing this with the world!

  • @zedlepplin9450
    @zedlepplin9450 Před 5 lety

    This is a great demo

  • @maxounette-jv7dj
    @maxounette-jv7dj Před 5 lety

    A masterpiece! It's good you made it silent, because if its needed we could be put on pause without having half a sentence ;)

  • @metaeditors
    @metaeditors Před 5 lety

    Great work Gregory

  • @ms2649
    @ms2649 Před 5 měsíci

    I never quit knew how to prevent windup properly, i used to just reset the error when target was reached and it "worked" but was not how it should be done.
    Had a look at your code and now have a better understanding of how to do it

  • @dharmikmistry8781
    @dharmikmistry8781 Před 6 lety

    Wow. So nicely explained

  • @AlexBuznik
    @AlexBuznik Před 3 lety

    Amazing execution, well done

  • @karthikeyanradhakrishnan9138

    Loved it man. Thank you so much.

  • @technoshamanarchist
    @technoshamanarchist Před 8 lety

    Very nice and explanatory demonstration. Thank you :)

    • @arduinoNube
      @arduinoNube  Před 8 lety +5

      +technoshamanarchist Hey, no problem. I'm glad you liked it. Maybe if there's enough interest, I'll do another video on how to build and program it. :)

    • @technoshamanarchist
      @technoshamanarchist Před 8 lety +1

      +Gregory L. Holst That would be great :)

    • @PorkyFighter
      @PorkyFighter Před 8 lety

      +1 I would love that!

  • @byteplc
    @byteplc Před 6 lety

    Thanks for sharing your code!

  • @bofasaldana6849
    @bofasaldana6849 Před 2 lety

    Thank you so much for this video!

  • @Egon3k
    @Egon3k Před 3 lety

    so satisfying when it is set up correctly :)

  • @AJ-et3vf
    @AJ-et3vf Před 2 lety

    Awesome video! Thank you!

  • @elena6516
    @elena6516 Před 2 lety

    this is awesome, thank you for this!

  • @spastor92
    @spastor92 Před 4 lety

    I dont know why i am here but is so satisfying

  • @fullmachengineering2005

    Very good teacher! Thanks you!

  • @mathurhp
    @mathurhp Před 5 lety

    This demonstration is what they must be showing in classrooms.

  • @rojbinandan2806
    @rojbinandan2806 Před 4 lety

    Excellent example of PID controller

  • @pablodiazsainz2367
    @pablodiazsainz2367 Před rokem

    Thats a fantastic job!

  • @raoufmagdy3661
    @raoufmagdy3661 Před 3 lety

    Such a great work!

  • @jardel_lucca
    @jardel_lucca Před 7 lety +2

    Amazing. Thanks for sharing! I'm going to study your code now =)

  • @knowtheunknown2840
    @knowtheunknown2840 Před 4 lety +1

    awesome demonstration