{"id":2655,"date":"2023-09-12T16:51:25","date_gmt":"2023-09-12T13:51:25","guid":{"rendered":"https:\/\/www.mikrobotik.com\/wp2\/?p=2655"},"modified":"2023-09-12T17:00:42","modified_gmt":"2023-09-12T14:00:42","slug":"pid-kontrol-ve-geri-bildirim-kontrol","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2023\/09\/12\/pid-kontrol-ve-geri-bildirim-kontrol\/","title":{"rendered":"PID Kontrol ve Geri Bildirim Kontrol"},"content":{"rendered":"<p style=\"text-align: center;\"><strong>PID KONTROL\u00dc ve GER\u0130 B\u0130LD\u0130R\u0130M D\u00dcZELTME S\u0130STEM\u0130<\/strong><\/p>\n<p>\u00d6ncelikle PID nedir ona bakal\u0131m. Sonras\u0131nda ger\u00e7ekten hangi \u015fartlarda bunun kullan\u0131lmas\u0131 laz\u0131m buna bakaca\u011f\u0131z.<br \/>\nACABA GEREKL\u0130M\u0130? Buna karar verece\u011fiz. Bunun yan\u0131 s\u0131ra benzer d\u00fc\u015f\u00fcnceyi nas\u0131l olu\u015fturabiliriz.<\/p>\n<p>PID kontrol dedi\u011fimizde P,I,D gibi 3 terimli bir kontrol anl\u0131yoruz. Bu kontrolde ORANSAL, \u0130NTEGRAL, T\u00dcREV\u00a0 birle\u015fimi oluyor.\u00a0 Tabii ki BU bir GER\u0130 B\u0130LD\u0130R\u0130M d\u00fczenleme kontrol\u00fcd\u00fcr. Bu PID kontrol, s\u00fcrekli kontrol gerektiren bir sistemde geri bildirim ile sistem \u00e7\u0131k\u0131\u015f\u0131n\u0131 d\u00fczenlemeye yarar.<\/p>\n<p>\u25baP (Proportional) Oransal<br \/>\n\u25baI (Integral) \u0130ntegral<br \/>\n\u25baD (Derivative) T\u00fcrevsel<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/PID_CONTROL\/picture\/PID_sema.png?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/PID_CONTROL\/picture\/PID_sema.png?raw=true\" alt=\"\" width=\"500\" height=\"333\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 500px; --smush-placeholder-aspect-ratio: 500\/333;\" \/><\/a><\/p>\n<p>Bunun yap\u0131labilmesi i\u00e7in <span style=\"color: #ff0000;\"><strong>zamana<\/strong><\/span> g\u00f6re de\u011fi\u015fen bir de\u011fi\u015fken gerekir. PID denet\u00e7isi s\u00fcrekli HATA kontrol\u00fc yapar ve bu hatay\u0131 hesaplayarak, d\u00fczeltilecek bilgiyi \u00fcretir. Devreye bu bilgiyi iletir ve \u00e7\u0131k\u0131\u015f\u0131n istenen seviyeye gelmesini sa\u011flar.<\/p>\n<p>PID denet\u00e7isi bir Set noktas\u0131 ile \u00f6l\u00e7\u00fclen de\u011fer aras\u0131ndaki fark\u0131 g\u00f6zeterek, istenen SET noktas\u0131na uygun hale gelmesini sa\u011flar.<\/p>\n<p><span style=\"color: #ff6600;\">\u015eunu da akl\u0131m\u0131zda bulundural\u0131m.<\/span> \u0130llaki PID hesaplama yapaca\u011f\u0131z diye d\u00fc\u015f\u00fcnmeyin. Bazen PI olarak da hesaplama yetebilir. T\u00fcrevsel de\u011fi\u015fkeni 0 olarak kabul edebiliriz.<\/p>\n<p>Bu kadar teorik bilgiden sonra anla\u015f\u0131l\u0131r bir \u00f6rnek vereyim. O zaman daha iyi anlayabilirsiniz.<br \/>\nBir ortam s\u0131cakl\u0131\u011f\u0131 kontrol sistemine bu devreyi koyduk. Ortam s\u0131cakl\u0131\u011f\u0131n\u0131n tam 30 derece olmas\u0131n\u0131 istediniz. O zaman ortamda bir klima kontrol\u00fc ile ortam s\u0131cakl\u0131\u011f\u0131 kontrol ediliyor olarak d\u00fc\u015f\u00fcnelim.<\/p>\n<p>Ortam s\u0131cakl\u0131\u011f\u0131, yaz\u0131n 30 derecenin \u00fczerine \u00e7\u0131kt\u0131. Otomatik olarak bir klima \u00e7al\u0131\u015fmaya ba\u015flar. <span style=\"color: #ff6600;\">Bu klima ortam s\u0131cakl\u0131\u011f\u0131 31 derece ise yava\u015f bir \u015fekilde ba\u015flas\u0131n. Fakat 35 derece ise daha h\u0131zl\u0131 bir \u015fekilde ortam\u0131 so\u011futsun istiyoruz.<\/span><br \/>\nProgram\u0131m\u0131z\u0131 yaparken PID sistemini de devreye ald\u0131\u011f\u0131m\u0131zda, klima 31 derecede yava\u015f bir \u015fekilde \u00e7al\u0131\u015f\u0131r. \u015eayet a\u00e7\u0131ld\u0131\u011f\u0131nda, 35 derecelik bir ortam s\u0131cakl\u0131\u011f\u0131 varsa o zaman h\u0131zl\u0131 bir \u015fekilde \u00e7al\u0131\u015farak ortam\u0131 hemen so\u011futacakt\u0131r. Bu hesaplamay\u0131 da PID hesaplamas\u0131ndan al\u0131r. Ortam s\u0131cakl\u0131\u011f\u0131 ise 29 dereceye geldi\u011finde klima durur. Fakat bunu durmak olarak alg\u0131lamayal\u0131m hala PID kontrol devam etmektedir. Bunu yaparken yine de hemen kendini kapatmaz yine hesaplamayla \u00e7\u0131kan sonuca g\u00f6re yava\u015flayarak durur. Bu tip bir \u00e7al\u0131\u015fma ANALOG bir kontrol gerektirir. Analog dedi\u011fimiz de<br \/>\n<span style=\"color: #ff6600;\">t s\u00fcresince<\/span> de\u011fi\u015fmesini anlatmak istiyoruz. <span style=\"color: #ff6600;\">Sadece kapat\u0131p a\u00e7mak olarak alg\u0131lamay\u0131n.<\/span> PID analog geri bildirim ve analog d\u00fczeltme olarak kullan\u0131l\u0131r. Yukar\u0131daki \u00f6rnek de ise Kliman\u0131n a\u00e7\u0131l\u0131p kapanmas\u0131 de\u011fil PWM ile de\u011fi\u015fimin uygulanmas\u0131 belirtilmektedir.<\/p>\n<p><span style=\"color: #ff6600;\">Arduino ile bunu nas\u0131l yapar\u0131z derseniz<\/span> Proteus \u00fczerinde kurdu\u011fum devreyi videoda izleyebilirsiniz.<br \/>\n1. \u00d6rnek video bunu g\u00f6stermektedir. PID k\u00fct\u00fcphanesi ise verece\u011fim dok\u00fcmanlar aras\u0131nda yer alacakt\u0131r. \u00a0Videoda g\u00f6rece\u011finiz devre Proteus \u00fczerinde bir POT ile ortam s\u0131cakl\u0131\u011f\u0131 de\u011fi\u015ftirilir ve bu de\u011fi\u015fikli\u011fe g\u00f6re bir ISITICI devresi \u00e7al\u0131\u015f\u0131r ya da durur. <span style=\"color: #ff6600;\">Ben burada ISITICI\u00a0 yerine LED koydum fakat Terminal ekran\u0131nda ISITICI pwm de\u011ferini takip edebilirsiniz.<br \/>\n<\/span>PID devre mant\u0131\u011f\u0131na g\u00f6re bakarsan\u0131z ki videoda g\u00f6receksiniz. \u00c7al\u0131\u015fma \u015fekli \u015fu \u015fekildedir. SET de\u011feri 100 olacak \u015fekilde bakarsak 99 a d\u00fc\u015ft\u00fc\u011f\u00fcnde motor h\u0131z\u0131 0.5 artarken, 95 de\u011ferine d\u00fc\u015ft\u00fc\u011f\u00fcnde 2.5 olarak artmaya ba\u015flar. Hesaplamada ne kadar uzak ise o kadar h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131 ve \u00e7abuk bir \u015fekilde o de\u011fere ula\u015fmas\u0131 hedeflenir. Fakat hedefe yakla\u015f\u0131ld\u0131\u011f\u0131nda ise h\u0131zl\u0131 bir \u015fekilde hedefe yakla\u015f\u0131ld\u0131\u011f\u0131nda SET de\u011ferini ge\u00e7ebilece\u011fi i\u00e7in ad\u0131m say\u0131s\u0131 azalt\u0131larak yava\u015flama ivmesi yarat\u0131l\u0131r. Bu \u015fekilde SET de\u011ferini ge\u00e7memesi sa\u011flan\u0131r. Yoksa her defas\u0131nda SET de\u011ferini ge\u00e7erek ortam \u0131s\u0131tma ya da so\u011futmay\u0131 ayr\u0131ca devreye almak zorunda kal\u0131r. Bunun yerine yakla\u015ft\u0131\u011f\u0131nda yava\u015flama yaparak SET de\u011ferinin a\u015f\u0131lmamas\u0131n\u0131 sa\u011flar. BU yap\u0131lmaz ise dengesizlik olaca\u011f\u0131ndan SET noktas\u0131n\u0131n \u00e7evresinde bir karma\u015fa ya\u015fanabilir.<\/p>\n<p><strong>Hangi \u015fartlarda kullan\u0131lmal\u0131<\/strong>. <span style=\"color: #ff6600;\">S\u00fcreklilik arz eden bir kontrold\u00fcr.<\/span> Mesela arabay\u0131 h\u0131zland\u0131rmak i\u00e7in Gaza bas\u0131p sonra hemen frene bas\u0131yorsan\u0131z burada s\u00fcreklilik yoktur. Burada kullanamay\u0131z.<br \/>\nEnd\u00fcstri de FIRIN kontrolleri s\u00fcreklilik arz eder. T\u00fcm f\u0131r\u0131n b\u00f6lgelerinde s\u0131cakl\u0131klar SET edilir ve o s\u0131cakl\u0131klarda sabit kalmas\u0131 istenir. Bunun i\u00e7in PWM ile kontrol edilebilen bir ISITICI sistemi kullan\u0131rsak \u0131s\u0131t\u0131c\u0131lar\u0131 PWM\u00a0 ve PID ile kontrol ederek o b\u00f6lgelerin ortam s\u0131cakl\u0131klar\u0131n\u0131n sabit kalmas\u0131n\u0131 sa\u011flayabiliriz.<\/p>\n<p><strong>Acaba<\/strong> <strong>gereklimi<\/strong> sorusuna da yan\u0131t\u0131 kendiniz vereceksiniz. PID kullanaca\u011f\u0131m diye kendinizi s\u0131n\u0131rland\u0131rmaman\u0131z gerekir. \u0130\u015finizi yaparken <span style=\"color: #ff6600;\">GER\u0130 B\u0130LD\u0130R\u0130M<\/span> i\u015flemeniz gerekiyorsa bunu farkl\u0131 yollarla da yapabilirsiniz.<\/p>\n<p>K\u0131sacas\u0131, PID sistemi, \u00c7IKI\u015e bilgisini alarak, G\u0130R\u0130\u015e bilgisini hesaplad\u0131\u011f\u0131m\u0131z de\u011ferlerle de\u011fi\u015ftirerek, \u00e7\u0131k\u0131\u015f\u0131n do\u011frulu\u011funu sa\u011flamak diye d\u00fc\u015f\u00fcn\u00fcrsek.<br \/>\n\u0130llaki integral, t\u00fcrev gibi hesaplamalara ihtiyac\u0131n\u0131z olmayabilir.<br \/>\nKendi GER\u0130 B\u0130LD\u0130R\u0130M mekanizmam\u0131z\u0131 ortaya koyacak \u015fekilde programlayabiliriz.<\/p>\n<p>Buna ili\u015fkin \u00f6rnek ise <span style=\"color: #ff6600;\">2. Videoda veriliyor.<\/span> Bu \u00f6rnekte yine PROTEUS \u00fczerinde 2 motor var.<br \/>\n1. Motor h\u0131z\u0131 POT ayar\u0131yla ayarlan\u0131yor.<br \/>\n2. Motor ise bu motorun h\u0131z\u0131na g\u00f6re kendini ayarl\u0131yor.<br \/>\nBunu yaparken ger\u00e7ek ortamda motorun devrini bilmemiz gerekiyor. Ger\u00e7ek ortamda olsa, bir optik devir sayac\u0131 ile bu devir say\u0131s\u0131na g\u00f6re di\u011fer motorun devri ayarlanacak.<br \/>\nFakat Proteus da devir \u00f6\u011frenme yeri olmad\u0131\u011f\u0131 i\u00e7in 1. Motorun PWM sinyalini PULSE IN komutuyla \u00f6l\u00e7erek hangi devirde oldu\u011funu \u00f6\u011frenerek, 2. Motoru ayarlad\u0131m.<br \/>\n2. Motoru ayarlarken sabit bir art\u0131\u015f olmad\u0131\u011f\u0131 i\u00e7in her 10 pwm i\u00e7in olan s\u00fcreleri bularak bu s\u00fcreleri ARRAY i\u00e7inde tan\u0131mlad\u0131m. PULSE IN komutuyla bulunan pwm s\u00fcresi, array i\u00e7erisindeki PWM s\u00fcreleri ile kontrol edilir. Hangi aral\u0131ktaysa o pwm bulunur ve sonras\u0131nda ara de\u011fer de bulunarak 2. Motora g\u00f6nderilir.<\/p>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, bir \u015fekilde GER\u0130 bildirim alarak bir \u015feyler \u00e7\u00f6z\u00fclebiliyor.<br \/>\n<span style=\"color: #ff6600;\">Fakat HASSAS durumlarda PID kullanmak de daha iyi olacakt\u0131r. \u00c7\u00fcnk\u00fc \u00e7ok daha ince hesaplar kullan\u0131l\u0131yor \u00e7ok daha do\u011fru sonu\u00e7lar olu\u015facakt\u0131r.<\/span><\/p>\n<p>\u00d6nemli olan Projelerinizde <strong>GER\u0130 B\u0130LD\u0130R\u0130M Y\u00d6NET\u0130M\u0130 <\/strong>dir.<\/p>\n<p>Zaman i\u00e7erisinde bunun \u00f6nemini vurgulayan yaz\u0131lar yazm\u0131\u015ft\u0131m.<br \/>\nEn basitinden bir R\u00d6LE DEVRES\u0130 YAPTINIZ. \u00c7ok iyi bir \u015fekilde R\u00d6LE ile bir devreyi a\u00e7t\u0131n\u0131z kapatt\u0131n\u0131z.<br \/>\nFakat R\u00d6LE kontaklar\u0131 bir s\u00fcre sonra <span style=\"color: #ff6600;\">YAPI\u015eIK<\/span> kald\u0131. Siz istedi\u011finiz kadar R\u00d6LEY\u0130 program yoluyla kapat\u0131n r\u00f6le a\u00e7\u0131k kalacakt\u0131r. Bu \u015fekilde r\u00f6lenin kontrol etti\u011fi devre i\u015flemini bitirmedi\u011fi i\u00e7in kendi ba\u015f\u0131na \u00e7al\u0131\u015fmaya devam edecektir.<br \/>\n<span style=\"color: #ff6600;\">Basit R\u00d6LE devreleri yapsan\u0131z bile sonu\u00e7lar\u0131n\u0131 geri bildirim olarak almal\u0131s\u0131n\u0131z.<\/span><br \/>\nBu kimi zaman bir su a\u00e7ma vanas\u0131 olabilir. Bu a\u00e7ma vanas\u0131n\u0131n a\u00e7\u0131k kalmas\u0131 su basmas\u0131na sebep olabilir ya da su sarfiyat\u0131na sebep olabilir. O zaman bir nem sens\u00f6r\u00fc ile bu geri bildirimi al\u0131p i\u015flemeniz gerekir. Ya da R\u00d6LE i\u00e7erisindeki bir konta\u011f\u0131 r\u00f6lenin do\u011fru durumda oldu\u011funu kontrol etmek i\u00e7in kullanabilirsiniz.<\/p>\n<p>Bunlar\u0131n hepsi D\u0130J\u0130TAL GER\u0130 B\u0130LD\u0130R\u0130MD\u0130R. Bunlarda devreyi a\u00e7 kapat yapman\u0131z yeter. Fakat Analog geri bildirim yapman\u0131z gerekiyorsa, s\u00fcrekli kontrol gerektirdi\u011finden PID kontrole ihtiyac\u0131n\u0131z daha da \u00e7ok olacakt\u0131r.<\/p>\n<p>PID kontrol\u00fc kulland\u0131\u011f\u0131n\u0131zda D\u0130J\u0130TAL kontrol gibi kullanabilirsiniz ama bu hi\u00e7 de PID mant\u0131\u011f\u0131na uymaz.<br \/>\n<strong><span style=\"color: #ff6600;\">PID mant\u0131\u011f\u0131, s\u00fcrekli kontrol etti\u011fi bilginin de\u011fi\u015fkenli\u011fine g\u00f6re bir analog etkileyici olarak d\u00fc\u015f\u00fcn\u00fclmeli.<\/span>\u00a0<\/strong><\/p>\n<p>Mesela bir depoyu suyla dolduracaks\u0131n\u0131z. \u00d6nce \u00e7ok tazyikli bir \u015fekilde doldurursunuz daha sonra ta\u015fma noktas\u0131na gelmek \u00fczereyken suyu biraz daha k\u0131sman\u0131z gerekecektir. Son k\u0131sma geldi\u011finizde de su tamamen kapanacakt\u0131r.<br \/>\nEn h\u0131zl\u0131dan en yava\u015fa bir anda ge\u00e7emezsiniz. Mutlaka bir s\u00fcre\u00e7 olmal\u0131. Araban\u0131n frenine bast\u0131\u011f\u0131n\u0131zda hemen durmad\u0131\u011f\u0131 gibi d\u00fc\u015f\u00fcn\u00fcn. Bunun i\u00e7in bir <span style=\"color: #ff6600;\">ivme<\/span> gereklidir.<\/p>\n<p><span style=\"color: #ff6600;\">PID bunu sa\u011flayacakt\u0131r.\u00a0 Bir \u00e7\u0131k\u0131\u015f ivmesi bir de ini\u015f ivmesi vard\u0131r. PID bunu uygulamaktad\u0131r.<\/span><\/p>\n<p><strong><span style=\"color: #ff6600;\">PID yi anlat\u0131rken bir \u00e7ok yerde g\u00f6rd\u00fc\u011f\u00fcm gibi derinlemesine anlatmak istemedim.<\/span><\/strong><br \/>\nNe oldu\u011funu bilelim. Bununla ilgili bir Arduino K\u00fct\u00fcphanesi oldu\u011funu bilelim ve daha \u00e7ok nerelerde kullanabiliriz ve nas\u0131l kullanabiliriz. Diye d\u00fc\u015f\u00fcnerek anlatmaya \u00e7al\u0131\u015ft\u0131m.<br \/>\n<span style=\"color: #ff6600;\">PID \u00f6yle bir kontrold\u00fcr ki,<\/span> bir sisteme entegre edildi\u011finde o sisteme \u00f6zg\u00fc olur. Temel prensip ayn\u0131 g\u00f6r\u00fcnse de her sisteme ayn\u0131 \u015fekilde uymaz. Bu kontrol\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in belirlemeniz gereken 3 parametre vard\u0131r. Bu parametreler haz\u0131rlad\u0131\u011f\u0131n\u0131z projeye g\u00f6re de\u011fi\u015fecektir. Bu parametrelerin ayar\u0131 da hi\u00e7 de kolay de\u011fildir. \u0130stedi\u011finiz g\u00f6rev ve istedi\u011finiz de\u011fi\u015fken de\u011ferleri sadece o devreye \u00f6zel olacakt\u0131r. Bunu da videoda g\u00f6rebilirsiniz.<br \/>\n<strong>Nedir bu 3 parametre<\/strong>: <strong><span style=\"color: #ff0000;\">Kp, Ki ve Kd parametreleri<\/span><\/strong>, Oransal(p), \u0130ntegral(i), T\u00fcrev(d) ile belirtilir. Bunlar birer sabit say\u0131d\u0131r. Bunlar\u0131 ayarlayarak PID nin do\u011frulu\u011funu sa\u011flar\u0131z. Daha \u00f6nce belirtti\u011fim gibi her devrede ayn\u0131 olamaz. Bunun yan\u0131 s\u0131ra benzer devre olsa bile, boyutlar ya da a\u011f\u0131rl\u0131k gibi \u015fartlar hatta y\u00fczeysel de\u011fi\u015fkenlere g\u00f6re bile de\u011ferler farkl\u0131la\u015fabilir.<br \/>\nKp, ge\u00e7ici tepki y\u00fckselme s\u00fcresini ve yerle\u015fme s\u00fcresini iyile\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Ki, kararl\u0131 durum yan\u0131t\u0131n\u0131 iyile\u015ftirmek i\u00e7in \u00e7al\u0131\u015f\u0131yor. Kd gelecekte olu\u015facak hatalar\u0131 tahmin ederek ge\u00e7ici yan\u0131t\u0131 iyile\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Bu de\u011ferlerin sebep oldu\u011fu de\u011fi\u015fiklikler 3. Videoda gayet a\u00e7\u0131k bir \u015fekilde g\u00f6r\u00fcnmektedir. \u00a0\u00a0 <span style=\"color: #ff6600;\">Bu sabitlerin projede nas\u0131l bir tepki verdi\u011fini<strong> 3.<\/strong> <strong>Videoda ve 4. videoda\u00a0<\/strong> g\u00f6rebilirsiniz.<\/span><\/p>\n<p><span style=\"color: #0000ff;\">A\u015fa\u011f\u0131daki sayfa ile de Kp, Ki, Kd de\u011ferlerini kontrol edebilirsiniz ayr\u0131ca PID Arduino k\u00fct\u00fcphanelerine ula\u015fabilirsiniz.<\/span><\/p>\n<p><strong><a href=\"http:\/\/grauonline.de\/alexwww\/ardumower\/pid\/pid.html\" target=\"_blank\" rel=\"noopener\">http:\/\/grauonline.de\/alexwww\/ardumower\/pid\/pid.html<\/a><\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>K\u0131saca bir \u00f6rnek ile PID konusunu kapatal\u0131m. <\/strong><\/span><\/p>\n<p>Yukar\u0131da bir \u00f6rnek verdik. Bir s\u0131cakl\u0131k \u00f6l\u00e7er, bir klima ile ortam s\u0131cakl\u0131\u011f\u0131n\u0131n durumuna g\u00f6re \u00e7al\u0131\u015fs\u0131n.<\/p>\n<p>Bunun program\u0131n\u0131 \u015f\u00f6yle yapal\u0131m desem PID gibi olur mu?<\/p>\n<p>Mesela ortam s\u0131cakl\u0131\u011f\u0131 SET edilsin. Sonras\u0131nda bir r\u00f6le ile klima a\u00e7\u0131larak ve kapat\u0131larak ortam s\u0131cakl\u0131\u011f\u0131nda sabit kalmas\u0131 sa\u011flans\u0131n. Bu s\u0131cakl\u0131k 2 derece a\u015fa\u011f\u0131 d\u00fc\u015ft\u00fc\u011f\u00fcnde devreye girsin 2 derece \u00fcste \u00e7\u0131kt\u0131\u011f\u0131nda dursun.<br \/>\n<span style=\"color: #ff6600;\">Bence PID benzeri olmaz.<\/span> Bu normal \u0130F c\u00fcmlesiyle yapaca\u011f\u0131n\u0131z basit bir program.<br \/>\nPID ise nas\u0131l \u00e7al\u0131\u015fmal\u0131. Ortam s\u0131cakl\u0131\u011f\u0131 SET edilir. Parametreler hesaplan\u0131r ve programa girilir. Klima kumandas\u0131ndaki gibi h\u0131zl\u0131 yava\u015f fan de\u011ferleri gibi mesela 20 dereceye set edildiyse ve ortam s\u0131cakl\u0131\u011f\u0131 15 derece ise bunu 20 dereceye \u00e7\u0131karmak i\u00e7in maksimum seviyede \u00e7al\u0131\u015fmaya ba\u015flar sonras\u0131nda SET de\u011ferine yakla\u015f\u0131ld\u0131k\u00e7a yava\u015f se\u00e7ene\u011fine ge\u00e7er ve SET de\u011ferine ula\u015ft\u0131\u011f\u0131nda durdurur. Sonras\u0131nda s\u0131cakl\u0131k d\u00fc\u015fmeye ba\u015flad\u0131\u011f\u0131nda yava\u015f bir \u015fekilde \u00e7al\u0131\u015f\u0131p durarak sistemi dengede tutar.<br \/>\n<span style=\"color: #ff6600;\">Bu her ne kadar PID i\u00e7in kaba bir \u00f6rnek olsa da PID nin \u00e7al\u0131\u015fma \u015fekli i\u00e7in size fikir verecektir.<\/span><\/p>\n<p>Bundan dolay\u0131 PID analog geri bildirim sistemlerde kullan\u0131l\u0131r. Analog dedi\u011fimizde ise a\u015fa\u011f\u0131daki sinyallere bakabilirsiniz.<br \/>\nA\u015fa\u011f\u0131daki resme bak\u0131n. Analog sinyal zamana g\u00f6re s\u00fcreklilik arz edecek \u015fekilde de\u011fi\u015fir. Dijital sinyal ise Ya HIGH ya da LOW olarak devam eder. Aradaki de\u011ferler olmayaca\u011f\u0131 i\u00e7in PID de pek kullan\u0131lmaz. Dijital sistemlere A\u00c7-KAPAT sistemler \u00f6rnek verilebilir. Yukar\u0131da r\u00f6leli \u00f6rnek b\u00f6yle bir devredir.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/PID_CONTROL\/picture\/Analog-digital-Signals.png?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/PID_CONTROL\/picture\/Analog-digital-Signals.png?raw=true\" alt=\"\" width=\"500\" height=\"333\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 500px; --smush-placeholder-aspect-ratio: 500\/333;\" \/><\/a><\/p>\n<p>A\u015fa\u011f\u0131daki grafik ise PID grafi\u011fidir. Kp, Ki,Kd de\u011ferlerinin uygun olmas\u0131 durumunda \u00c7\u0131k\u0131\u015f istenen b\u00f6lgede sabit kalacakt\u0131r. Ye\u015fil olan \u00c7\u0131k\u0131\u015f\u0131 temsil eder. K\u0131rm\u0131z\u0131 ise geri bildirimi g\u00f6sterir.<br \/>\n<a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/PID_CONTROL\/picture\/PID%20grafik1.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/PID_CONTROL\/picture\/PID%20grafik1.PNG?raw=true\" alt=\"\" width=\"653\" height=\"188\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 653px; --smush-placeholder-aspect-ratio: 653\/188;\" \/><\/a><\/p>\n<p><span style=\"color: #ff6600;\">Dijital olarak kontrol etmemiz durumda, Arada ne fark var derseniz,<\/span><br \/>\n2 derece a\u015fa\u011f\u0131ya d\u00fc\u015ft\u00fc\u011f\u00fcnde tam kapasite, klimay\u0131 \u00e7al\u0131\u015ft\u0131r\u0131yorsunuz. Hem tasarruf yapam\u0131yorsunuz. Hem de konfordan vazge\u00e7mi\u015f oluyorsunuz.\u00a0 PID olsayd\u0131 \u00e7ok daha hassas ayarlar, hatta gerekti\u011fi kadar h\u0131zl\u0131 ya da yava\u015f \u00e7al\u0131\u015fma yapaca\u011f\u0131ndan tasarruf s\u00f6z konusu olacak. Tam kapasite \u00e7al\u0131\u015fmad\u0131\u011f\u0131 i\u00e7in ortamda konforu sa\u011flayacakt\u0131r.<br \/>\n<span style=\"color: #ff6600;\">Dedi\u011fim gibi bu sizin proje se\u00e7eneklerinize ba\u011fl\u0131.<\/span> Ben olsam \u00e7ok hassas kontrol gerektirmiyorsa kendi <span style=\"color: #ff6600;\">GER\u0130 B\u0130LD\u0130R\u0130M<\/span> uygulamam\u0131 yapar\u0131m. \u015eayet daha hassas olmas\u0131n\u0131 istiyorsam o zaman PID\u00a0 i\u00e7in u\u011fra\u015f\u0131r\u0131m.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>Bir soru ile bu konuyu daha iyi peki\u015ftirece\u011finizi d\u00fc\u015f\u00fcn\u00fcyorum.\u00a0<\/strong><\/span><br \/>\n<strong><span style=\"color: #0000ff;\">Bir enkoderli motor olsa ve bu motorun encoder bilgisini kullan\u0131p PID kontrol yap\u0131labilir mi?<\/span><\/strong><br \/>\nBurada PID nin s\u00fcreklilik arz etti\u011fini ve dijital sinyallerde bunu alg\u0131layamayaca\u011f\u0131m\u0131z\u0131 hat\u0131rlatarak, bu sorunun <strong><span style=\"color: #ff6600;\">yan\u0131t\u0131n\u0131 d\u00fc\u015f\u00fcnmenizi ve nas\u0131l yap\u0131labilece\u011fini yorum k\u0131sm\u0131na b\u0131rakman\u0131z\u0131 rica edece\u011fim.<\/span><\/strong><\/p>\n<p><span style=\"color: #ff6600;\">Bir s\u00fcre sonra yorumlar\u0131n alt\u0131na bir video b\u0131rakaca\u011f\u0131m. Cevap burada olacak.<\/span><\/p>\n<h2><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/tree\/main\/PID_CONTROL\" target=\"_blank\" rel=\"noopener\"><strong>T\u00fcm dosyalara buradan ula\u015fabilirsiniz.\u00a0<\/strong><\/a><\/h2>\n<p><strong><span style=\"color: #ff0000;\">NOT:<\/span><\/strong> Ba\u015fta da dedi\u011fim gibi PID hesaplamas\u0131na girmeden pratik olarak ne oldu\u011funu ve nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlatmaya \u00e7al\u0131\u015ft\u0131m. PID dedi\u011finizde internette o kadar \u00e7ok anlat\u0131m var ki, T\u00fcrk\u00e7e ve yabanc\u0131 dilde. Bunlar\u0131n hangisini okusan\u0131z derinlemesine dal\u0131p anlat\u0131yorlar. Ne oldu\u011funu anlamay\u0131 b\u0131rak\u0131n nas\u0131l kullanabilece\u011finizi bile anlayam\u0131yorsunuz. Ben de burada \u00f6nce konuyu alg\u0131laman\u0131z\u0131 istedim. Zaten gerekli k\u00fct\u00fcphanelerle bu konuyu denedik\u00e7e \u00e7\u00f6zebileceksiniz. Kendi projelerinizde kullanabilece\u011finiz alternatif bir \u00f6rnek de vermek istedim. PID olmazsa olmaz demeniz i\u00e7in \u00c7ok hassas ayar gerektiren proje olmas\u0131 gerek. Mesela dengede kalma projeleri ya da drone projeleri.<\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #ff0000;\">Video 1:<\/span><\/strong> Arduino PID k\u00fct\u00fcphanesi Proteus \u00f6rne\u011fi.<\/p>\n<p><iframe title=\"PID Kontrol ve Geri Bildirim Kontrol_1\" data-src=\"https:\/\/www.youtube.com\/embed\/PvB7reK2zqk\" width=\"988\" height=\"531\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/p>\n<p><strong><span style=\"color: #ff0000;\">Video 2:<\/span> <\/strong>Proteus \u00fczerinde PID benzeri bir geri bildirim kontrol\u00fc.<\/p>\n<p><iframe title=\"PID Kontrol ve Geri Bildirim Kontrol_2\" data-src=\"https:\/\/www.youtube.com\/embed\/ItwF2VEuJd0\" width=\"988\" height=\"531\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/p>\n<p><strong><span style=\"color: #ff0000;\">Video 3:<\/span><\/strong> PID nedir deney seti \u00fczerinde anlatma ve Kp, Ki, Kd parametrelerinin projede de\u011fi\u015fmesi ne ifade eder.<br \/>\n<span style=\"color: #ff6600;\">Bazen bir bilgiyi anlatmak yerine, do\u011fru bir \u015fekilde anlatan birine kulak vermek de daha iyi olabilir.\u00a0<\/span><br \/>\n<span style=\"color: #ff6600;\">Yazd\u0131klar\u0131m\u0131 deney \u00fczerinde g\u00f6steren bu ki\u015fi anlaman\u0131za benden daha fazla yard\u0131m edebilir.\u00a0<\/span><iframe title=\"B\u00f6l\u00fcm 6 - Arduino PID Kontrol\" data-src=\"https:\/\/www.youtube.com\/embed\/SX5V_52DTSA\" width=\"944\" height=\"531\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/p>\n<p><span style=\"color: #ff0000;\"><strong>Video 4:<\/strong><\/span> Kp, Ki, Kd parametrelerinin projede de\u011fi\u015fmesi ne ifade eder.<br \/>\n<span style=\"color: #ff6600;\">Bazen bir bilgiyi anlatmak yerine, do\u011fru bir \u015fekilde anlatan birine kulak vermek de daha iyi olabilir.\u00a0<\/span><br \/>\n<span style=\"color: #ff6600;\">Yazd\u0131klar\u0131m\u0131 deney \u00fczerinde g\u00f6steren bu ki\u015fi anlaman\u0131za benden daha fazla yard\u0131m edebilir.\u00a0<\/span><iframe title=\"How to Balance Robot PID tutorial in under 2 minutes! #BalanceBot\" data-src=\"https:\/\/www.youtube.com\/embed\/uyHdyF0_BFo\" width=\"944\" height=\"531\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PID KONTROL\u00dc ve GER\u0130 B\u0130LD\u0130R\u0130M D\u00dcZELTME S\u0130STEM\u0130 \u00d6ncelikle PID nedir ona bakal\u0131m. Sonras\u0131nda ger\u00e7ekten hangi \u015fartlarda bunun kullan\u0131lmas\u0131 laz\u0131m buna bakaca\u011f\u0131z. ACABA GEREKL\u0130M\u0130? Buna karar verece\u011fiz. Bunun yan\u0131 s\u0131ra benzer&#8230; <\/p>\n","protected":false},"author":1,"featured_media":2668,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,20,21],"tags":[],"class_list":["post-2655","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino_pic_digerleri","category-elo","category-proteus"],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/comments?post=2655"}],"version-history":[{"count":3,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2655\/revisions"}],"predecessor-version":[{"id":2667,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2655\/revisions\/2667"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media\/2668"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=2655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=2655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=2655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}