PID temperature controller DIY Arduino

Поделиться
HTML-код
  • Опубликовано: 7 июл 2024
  • Best & Fast Prototype ($2 for 10 PCBs): www.jlcpcb.com
    Thanks to JLCPCB for supporting this video.
    Learn how a PID controller for temperature works. We use a K type thermocouple and read real temperature values with the MAX6675 breakout board. SPI connected to the Arduino which will create the PID and control a MOSFET with PWM signal and the power for a DC heater.
    my Q&A page: electronoobs.com/eng_preguntas...
    Help me on Patreon : www.patreon.com/user?u=4854866
    Canal en Español: / electronoobs en español
    🔬PRINTERS FDM
    -------------------------------------
    Artillery Sidewinderr X1 (364€ Aliexpress): s.click.aliexpress.com/e/_9y9haI
    Artillery GENIUS (307€ Aliexpress): s.click.aliexpress.com/e/_A9SvG2
    Creality3D Ender 3 Pro (230€ Aliexpress): s.click.aliexpress.com/e/_APcCa2
    Anycubic Mega S (206€ Aliexpress): s.click.aliexpress.com/e/_ALcTLs
    ELEGOO NEPTUNE 2 (186€ Aliexpress): s.click.aliexpress.com/e/_AM2y7c
    Prusa i3 MK3S Clone (393€ Aliexpress): s.click.aliexpress.com/e/_ASNXyi
    Creality CR-10 V3 (480€ Aliexpress): s.click.aliexpress.com/e/_AnycCO
    🔅PRINTERS RESIN
    -------------------------------------
    ELEGOO Mars Pro (208€ Aliexpress): s.click.aliexpress.com/e/_A0nVFY
    ELEGOO Saturn MSLA (480€ Aliexpress): s.click.aliexpress.com/e/_AKxJim
    Anycubic Photon Mono (199€ Aliexpress): s.click.aliexpress.com/e/_9ulv4K
    Creality HALOT ONE (275€ Aliexpress): s.click.aliexpress.com/e/_Ak7jBC
    LINKS
    ________________________________________________________
    Tutorial webpage: www.electronoobs.com/eng_ardui...
    Part list: www.electronoobs.com/eng_ardui...
    Schematic thermocouple: www.electronoobs.com/eng_ardui...
    Final schematic: www.electronoobs.com/eng_ardui...
    Code (thermocouple read example): www.electronoobs.com/eng_ardui...
    Code (PID NO rotary encoder): www.electronoobs.com/eng_ardui...
    Code (FINAL PID): www.electronoobs.com/eng_ardui...
    Please, like, share and subscribe in order to motivate me for moe videos like this one. Thank you!
  • НаукаНаука

Комментарии • 423

  • @asswipe3079
    @asswipe3079 5 лет назад +85

    On behalf of all mechanical engineering students, thank you so much for breaking this process down into something we can understand!

  • @marcus_w0
    @marcus_w0 6 лет назад +10

    I really love your enthusiasm. You're getting better and better. As a viewer right from your first few videos it's amazing to see your progress. Keep on!

  • @j3s0n
    @j3s0n 4 года назад +14

    The heating element can be represented by a first-order transfer function if you apply a step input (e.g 5 V or 12 V or whatever the supply voltage is). Plot the transient behaviour as the temperature raises and settles about a value (sample at regular intervals though). This will fit the equation K/(s(tau)+1). K is the gain so that will be the maximum temperature of the plot. Tau is the time constant and this will be the time it takes for the element to reach about 63% of its maximum temperature. You can either simulate this in Simulink and play with the PID values (make sure you use the z-domain rather than the s-domain though.
    If you don't want to use simulink then just use a tuning method like ziegler nichols

  • @belenhedderich3330
    @belenhedderich3330 6 лет назад +9

    cant wait to see the recycling extruder project. Thank you! Amazing project!

  • @hippie-io7225
    @hippie-io7225 6 лет назад +84

    One of the best PID explanations I've seen. You are an excellent educator. Thanks!

  • @lericode
    @lericode 6 лет назад +3

    Siento que la calidad de los vídeos es cada vez mejor, felicitaciones, como siempre increíble.

  • @VasilisKarastergios
    @VasilisKarastergios 6 лет назад +26

    Thanks for all the time and effort you put in to this video, very well explained!

  • @RossOCarroll3301
    @RossOCarroll3301 Год назад +1

    This is incredible. I am an MD doing research in neuroscience trying to make an in-line heater for live-cell imaging. This video is exactly what I needed. absolutely stunning!!! :D :D

  • @Meatlove
    @Meatlove 6 лет назад

    This might be the basis for a new barbecue controller project. Thanks for the effort in making such a clear and complete tutorial.

  • @kyanjenkins5932
    @kyanjenkins5932 5 лет назад

    Great explanation! I'm what you could call a beginner in grade 10 at school but I've picked up on the basics really quickly and have decided to do a project for in the house. I am going to use a PID to control the temperature for an espresso machine. This explanation was really useful, but still alot of research to do!

  • @anonrider8870
    @anonrider8870 6 лет назад

    man you have one of the best electronics projects channel on RUclips!!!
    good job!

  • @MCsCreations
    @MCsCreations 6 лет назад +9

    Really nice, man! Great job! 😊

  • @demesisx
    @demesisx 11 месяцев назад

    Great job. Everyone else is launching rockets and having us use PID for telemetry. Thanks for simplifying it and making it accessible.

  • @mohammedalshrief532
    @mohammedalshrief532 2 года назад +1

    I made my machine learning pid iron station and i made pid code by helping your videos great man

    • @mohammedalshrief532
      @mohammedalshrief532 2 года назад +1

      And mad pid line follower 🙂❤👌pidruclips.net/video/NwuY7qbs2Dkl/видео.htmlinefollowerpid

  • @sarahgutierrez8196
    @sarahgutierrez8196 3 года назад

    SO HELPFUL! Learning so much from your explanations through the code and each piece of electronic, thank you so much

  • @Johann75
    @Johann75 2 года назад

    This is what I have been looking for my pastry proofer. Thank you very much Sir.

  • @martinhavshjsrensen253
    @martinhavshjsrensen253 6 лет назад

    Ahh... How nice with a video without JLC commercials! ;)

  • @guansun1571
    @guansun1571 4 года назад

    Thank you so much for sharing Sir . I am trying to make my own soldering station by myself recently.

  • @AhmedAmer-he1de
    @AhmedAmer-he1de 3 года назад

    this is litterely what i needed for a school project and this helped a lot

  • @steveeb00
    @steveeb00 4 года назад

    I haven't even watched the video and I gave you a Thumbs Up. I hope this is exactly what I need to control my burnout oven.

  • @adabill295
    @adabill295 6 лет назад +1

    I've been trying to do a PID with Arduino for Sous Vide cooking. The tuning of the PID is the most difficult process for me. The key is to have the patience and good data collection to adjust the various parameters correctly. I tried to doo it with a Crock Pot but there isn't any circulation in a crock pot and I couldn't get the temp deviations down to an acceptable level..
    Very good video with good starter information.

    • @raffaysajjad
      @raffaysajjad 4 года назад

      Can you share your thoughts about how you brought the temperature deviations down to an acceptable level?

  • @sunilbelsare5697
    @sunilbelsare5697 4 года назад +1

    Great informative video, very nicely and deeply explained about each and every aspect of PID controller's functionality using Arduino. You are great explainer, this skill of yours will educate needy learners.

  • @dalecallaham4847
    @dalecallaham4847 3 года назад

    Very nice and clear! You set a high standard.Thanks!

  • @21mejia25
    @21mejia25 2 года назад

    Great video. You inspired me to build a fan for my smoker to control temps for long cooks.

  • @joao2010
    @joao2010 4 года назад

    It's excelent! Best explanation I've seen as well. Thank you so much!!!

  • @victorclaros8967
    @victorclaros8967 6 лет назад +1

    Amazing work !!!!! thank you for your effort and passion !!!

  • @aizukhalid9776
    @aizukhalid9776 4 года назад

    the best explanations ever, thank you for the detail

  • @theflyingdutchman787
    @theflyingdutchman787 5 лет назад

    Exactly what I was looking for! A+ Teacher!!!!

  • @shehryarshaheen7115
    @shehryarshaheen7115 6 лет назад +4

    Thinx for your amazing video

  • @rohandhankani3962
    @rohandhankani3962 6 лет назад

    Brilliant this is what I was looking for
    Thank you very much

  • @J_OBODAI
    @J_OBODAI 6 лет назад

    You never disappoint.

  •  5 лет назад

    eres genial. gracias por tu aporte, estuve buscando esto durante mucho tiempo.

  • @karlmozey1412
    @karlmozey1412 6 лет назад +2

    No PID filtering this time ha..... Am just kidding.I really enjoy your tutorials.Thanks a lot.

  • @andrezsa23
    @andrezsa23 6 лет назад +2

    Exelente control pid lo usaré para modificar un horno para soldar smd ojalá lo hubieras hecho en español

  • @paulhendrix8599
    @paulhendrix8599 6 лет назад +2

    Amazing quality!

  • @hebrewhammer1000
    @hebrewhammer1000 6 лет назад

    Thank you for sharing! I learned a lot.

  • @Rov-qc2ti
    @Rov-qc2ti 6 лет назад

    Great tutorial Man....!
    Im Waiting other great video...

  • @hemantmundhe6662
    @hemantmundhe6662 6 лет назад +2

    Thanks to you because those subject to handle to you.I am using hakko 907 temperature control iron (clone).your nest video very useful for me and my temperature control iron 907.Thanks

  • @AsankaLakmalMorawaka
    @AsankaLakmalMorawaka 5 лет назад

    Great explanation, easy to understand..

  • @Stratix91
    @Stratix91 6 лет назад

    nice nice nice, youre a real maker and im a fan:D

  • @konturgestalter
    @konturgestalter 6 лет назад

    excellent videos!!! more of it please!!

  • @zeeshanejaz3044
    @zeeshanejaz3044 2 года назад

    really helpful for Mechatronics engineers

  • @mouradmokeddem6467
    @mouradmokeddem6467 2 года назад

    Appreciate you efforts. much easy for students . Thank you

  • @johannienel1
    @johannienel1 2 года назад

    Liked and subscribed! Great job

  • @fromtheflightdeck252
    @fromtheflightdeck252 4 года назад

    Very good video...easy and concise

  • @allanminers1662
    @allanminers1662 3 года назад

    A great presentation. congratulations on a real contribution to education.
    On process control

  • @nasirmahmood6764
    @nasirmahmood6764 3 года назад

    excellent explanation man!

  • @jamescullins2709
    @jamescullins2709 5 лет назад

    well done, I like the way you did not use libs but wrote the code yourself, it is easier to see what you are doing.

  • @wi_zeus6798
    @wi_zeus6798 6 лет назад +2

    Wohooo, I predicted it! ;)

  • @neogabo123
    @neogabo123 4 года назад

    Guys why is it that there is a diode on the protoboard for the part that controls the heater ? i dont see it in schematic (min 6:52). Truly one the greatest PID explanations on youtube! Thanks you guys! Keep at it!! :D

  • @diazpty
    @diazpty 6 лет назад

    Super awesome presentation thanks!

  • @ahmedladhibi6893
    @ahmedladhibi6893 3 года назад

    Thank you for your good explanation !

  • @Bianchi77
    @Bianchi77 2 года назад

    Nice video, thanks for sharing :)

  • @MAA567000
    @MAA567000 2 года назад

    Very useful and understable video .. Thank you very much for your effort

  • @javierbravo5020
    @javierbravo5020 6 лет назад +1

    good job, congrats

  • @zaprodk
    @zaprodk 6 лет назад +1

    Nice explanation of how PID works. Keep up the good work! - Btw. is that soldering iron only 24 Watts? I would think it would be 40 or 50 watts by looking at the size.

  • @arikspaude1690
    @arikspaude1690 2 года назад

    Absolute legend thank you sir

  • @user-zo2jo3cc9p
    @user-zo2jo3cc9p 10 месяцев назад

    excellent video.

  • @hezi350
    @hezi350 6 лет назад

    Great video!!

  • @HSRMF
    @HSRMF 5 лет назад

    dear.... you are a treasure....keep it up..

  • @ifindev
    @ifindev 6 лет назад

    Thank you!!! This is really great!!!!!!!!!!

  • @electronic7979
    @electronic7979 6 лет назад +1

    Good video

  • @DavDoubleOSeven
    @DavDoubleOSeven Год назад

    I can easily understand your english, it’s very good

  • @fabioalmeida4700
    @fabioalmeida4700 2 года назад

    One more great video!

  • @andrewmorgan5541
    @andrewmorgan5541 4 года назад

    Awesome work, thank you for sharing the code! I have numerous arduino projects I have waned to complete involving PID control but could not find any PID code.

  • @fernandolozano9898
    @fernandolozano9898 4 года назад

    Great video

  • @celtichongy
    @celtichongy 5 лет назад

    Well done, thank you.

  • @vidhatrisamadhiya4599
    @vidhatrisamadhiya4599 6 лет назад +4

    Wow again you and greatscoot at sametime it magic or other🤣🤣🤣

    • @ELECTRONOOBS
      @ELECTRONOOBS  6 лет назад +3

      We have same schedule since we are in same timezone

  • @firefoxik75
    @firefoxik75 6 лет назад

    Nice work! Just saying.. most of those industrial PID has also option to control solid state relay with PWM, so it will work flawlessly with any resistive heating element...

  • @TheRebornRJ
    @TheRebornRJ 5 лет назад

    You are a hero

  • @ibrahimkhadraoui7736
    @ibrahimkhadraoui7736 6 лет назад

    Thank you very much dude, I really appreciate this video ♥ please can you make a video about a line follower with PID

  • @mohammadyaseenhamidi1422
    @mohammadyaseenhamidi1422 6 лет назад +3

    Hi dear sir please kindly share which model nano Oscilloscope you use ... if its possible please share the link of that Oscilloscope which you use

  • @andresmao2230
    @andresmao2230 6 лет назад

    gracias por tu video, quisiera preguntarte, necesito controlar la temperatura de una resistencia industrial para un proyecto ¿que pwm puedo usar? ya que la resistencia va conectada a AC!

  • @marco1903ful
    @marco1903ful 6 лет назад +2

    Hey dude!
    I have a question, I a want to use a timer of 15 minutes for hold the temperature of 121 C°, after these time I want put the element heating off, how can do it?

  • @jackkrawatt3908
    @jackkrawatt3908 5 лет назад

    good work

  • @wilvanham8911
    @wilvanham8911 Год назад

    hi..
    thank you for the good explanation about the PID .... it seems there is a 2 degree difference ( higher ) then the set temp...
    now im analyse where this offset comes from.

  • @dr.ayadianis_embeddedsyste3883
    @dr.ayadianis_embeddedsyste3883 5 лет назад

    think very much , very useful video for prctice project

  • @3dpseurope
    @3dpseurope 2 года назад

    Köszönjük!

  • @ersinerel97
    @ersinerel97 4 года назад +1

    may i ask why did you use -3 and +3 range in the integral part?
    Andwhat would happen if we use bigger range or smaller range?

  • @sixact9647
    @sixact9647 6 лет назад +5

    This is an awesome arduino projects
    Thank you for sharing
    Do you have instagram?

  • @user-xf9ml1nj6y
    @user-xf9ml1nj6y 5 лет назад

    good job thanks, مشكور

  • @nielslarsen1094
    @nielslarsen1094 6 лет назад

    I like this video.
    From many years of experience i will advise you to have a function on your coming
    soldering station controller, where it enters sleep mode, reducing temperature when not being active
    soldering.
    This is due to the fact that soldering tips are " burning out ", when standing idle with high temperature.
    Also the nickel layer is thin, especially on the chinese iron tips you are going to use as per your video..
    Kind rgds.

    • @oscargr_
      @oscargr_ 6 лет назад

      niels larsen.
      A lot of the burning of tips is due to the fact these soldering irons do *not* have a temperature controller.
      In order to not be too cold when they are working (touching new cold wire and melting tin) they are getting slightly too much power.
      Basically, in rest the temperature goes up because nothing cools it down.
      I agree it is a nice feature to add.

  • @igrewold
    @igrewold 3 года назад

    Thanks man.
    So PID control(er) stablized something, in this case it's temp(heat...)
    Interestin' probably now I know the concept behind STAC

  • @bitsurfer0101
    @bitsurfer0101 2 года назад

    Could you explain how you adjust each parameter? Do you simply adjust the P constant until the desired ramp up speed to temperature is reached for example? Once you have that determined, the D value then becomes the error constant and need to find the happy medium for that (i.e it lands on the right value and doesn't take too long to reach final value)?

  • @ismailoztas7052
    @ismailoztas7052 4 года назад +2

    Hi, Excellent study, clear explanation. thanks for sharing. I have a question. I wanted to control the 220V AC heater with SSR. I tried to do but I couldn't drive SSR with PWM. and Is banana required for the circuit? :)

  • @Volkankorkut8
    @Volkankorkut8 5 лет назад

    cool video.

  • @ryancoulson2081
    @ryancoulson2081 5 лет назад +1

    @Electronoobs can you explain why you decided to use a BJT to activate the MOSFET? I'm a novice when it comes to electronics, so I'm not saying you're wrong, I'm just curious what purpose it serves.

  • @qhriathousz734
    @qhriathousz734 3 года назад

    Thanks for science

  • @abdelaleem4026
    @abdelaleem4026 3 года назад

    Excellent video, one thing I haven't grasped clearly is the conversion between units in the code: if I read a temperature value in say celcius from the sensor feedback, and output a current value (0-2.5 A) to the hardware that drives the process; how do I convert between the two units?

  • @praveenaj6183
    @praveenaj6183 6 лет назад

    That's great but please make a video on the soldering iron version also .
    One doubt: how does the gear system improve the thrust while decreasing the speed in brushed drone ??
    Anyway this channel is so great ( I can't refrain from saying that )

  • @isettech
    @isettech 5 лет назад

    May need elaboration for more advanced engineers on the thermocouple. They DO NOT put out a voltage based on temperature. They work on a difference in temperature between a hot junction and a cold junction. The example video is OK for an elevated temperature in a temperature stable room, but would not work to control the temperature of the room because the cold and hot junctions would be at the same temperature. Great introduction, and a good place for more advanced students to learn about the hot and cold junctions and temperature measurement of the cold junction to get accurate values for the hot junction. The more advanced students and engineers can locate the cold junction in this example.

  • @arnaudgoffin
    @arnaudgoffin 5 лет назад +1

    Hi , Thank you a lot for your video. Very nice project! I would like to adapt this PID to refurbish a annealing furnace. But I want to use the MAX31855 instead of MAX6675 because I want to measure until 1200C°. Could you tell me if it's complicate to adapt ?
    Thank you in advance. :)

  • @william84293
    @william84293 5 лет назад

    Estoy llevando un curso de control clásico y me gustaría saber como hiciste el análisis en lazo cerrado del sistema para que pudieras generar el controlador digital, saludos.

  • @jasonfitzpatrick1129
    @jasonfitzpatrick1129 3 года назад +1

    Is there a reason that a BJT transistor used at the same time that a MOSFET is used to control the 12v heater? My understanding is that one or the other is needed since both are always on or off... I am confused!

  • @attamuhammad1229
    @attamuhammad1229 5 лет назад

    Good Video. Is there a way to calculate accurate P,I & D variables instead of hit and trial method?

  • @jugalmistry1726
    @jugalmistry1726 6 лет назад

    Video on Fuzzy logic ! And any diy project with it

  • @mamacrown
    @mamacrown 5 лет назад

    Is there any way to add a humidity sensor to this. Not a DH11 that just displays both temperature and humidity. I want to control a heating element just like the video but also add a humidity sensor to the arduino and display it along with the temperature on the LCD.

  • @user-yp5yx1pt7r
    @user-yp5yx1pt7r 3 года назад

    Thanks

  • @stevestickland1706
    @stevestickland1706 3 года назад +1

    Hi Electronoobs, Thanks for this excellent tutorial/demo. I have a question though - At 7:46 in your video there are several parts of the wiring that are not in your final schematic. It looks like you've added a diode on the "source" side of the Mosfet (is this connecting source to gate??, but I also see you have a negative (black) jumper looped behind the mosfet - what is that connecting to? I can't see what pin you've connected this to because the mosfet is in the way.

    • @RossOCarroll3301
      @RossOCarroll3301 Год назад

      I would also love to know this. Have you figured it out?? Would appreciate some info if you had! :D

  • @donovanpl
    @donovanpl 6 лет назад

    I have a cheap tankless water heater without a temperature controller. I'm making a temperature controller using an arduino, solid state relay and a PT100. If I implement PID, would not the tuned constants be different based on the
    1. rate of flow of water,
    2. the incoming water temperature?