Jump to content

Forumlar

  1. Genel

    1. Forum Hakkında

      Forum hakkında bilgiler, bölüm açma talepleri, şikayetler, öneriler.

      1
      ileti
    2. 1
      ileti
  2. Bilgi Alışverişi

    1. Makaleler

      "Saf bilgi" içeren yazılar. Burada yer almasını istediğiniz konuları "istekler" başlığına, var olan bir konu hakkındaki soru ve düşüncelerinizi "tartışma" başlığına yazınız.

      5
      ileti
    2. Elektronik

      Güç elektroniği, Yüksek frekans, Lojik kapılar, Sayıcılar

      • Burada henüz ileti yok
    3. Robotik

      Motorlar, Aküatörler, IMU'lar, Sensörler, Konum hesaplamaları

      • Burada henüz ileti yok
    4. Arduino

      Arduino ile ilgili sorular ve cevaplar

      3
      ileti
    5. PIC

      Mikrochip firmasının PIC ürünleri hakkında soru ve cevaplar

      • Burada henüz ileti yok
  3. Ürün İncelemeleri

    1. Tanıtım istekleri

      Malzeme tanıtım istekleri bu bölümden yapılacaktır

      1
      ileti
    2. Elektronik Malzemeler

      Her türlü elektronik malzeme

      • Burada henüz ileti yok
    3. Arduino

      Arduino'ya özel malzemeler

      • Burada henüz ileti yok
    4. Robotik Malzemeler

      Tekerlek, Gövde, Motorlar

      • Burada henüz ileti yok
    5. PIC

      Microchip PIC ve ilgili malzemeler

      • Burada henüz ileti yok
    6. Sensörler

      Sensörler ve malzemeleri

      • Burada henüz ileti yok
  4. Yazılım

    1. Yazılımlar

      Yazılımlarla ilgili bilgi alışverişi

      • Burada henüz ileti yok
  5. Öğrencilere Özel

    1. KOU Elohab

      Kocaeli Üniversitesi Elektronik ve Haberleşme bölümü ödev ve deneyler

      16
      ileti
    2. KOU Mekatronik

      Kocaeli Üniversitesi Mekatronik bölümü ödev ve deneyler

      • Burada henüz ileti yok
  • Çevrimiçi Kullanıcılar   0 Üye, 0 Kayıtsız, 2 Misafir (Tam liste)

    Şu anda bağlı kayıtlı kullanıcı bulunmuyor

  • Konular

  • İletiler

    • PID'deki bu üç harf, üç hesaplamaya karşılık gelir. Birincisi: P. Proportional'in kısaltması. Proportional kelimesi, "oransal" demek sözlüklere göre. Zaten birçok durumda PID'nin sadece P'sini kullandığımızda işimiz görülür. Odanın "sıcaklığını" sabit tutabiliriz. I ise, kapı açılıp kapandığında içerisi soğuyacak ya, istenen sıcaklığa daha "düzgün" gelmesi içindir. Önceki gönderide "hata"yı hesaplamıştık. Hesap denirse tabii Yani istenen sıcaklıktan ölçtüğümüz sıcaklığı çıkartmıştık. Bu hata ne kadar büyükse, ısıtıcımızı o kadar "güçlü" çalıştıracağız. Mesela ısıtıcıyı PWM ile ya da analog olarak çalıştırıyor olabiliriz. (PWM ve Analog nedir biliyorsunuz umarım. Bilmiyorsanız önce bunları iyice anlayın, aksi halde devamı havada kalacaktır, kafanız karışacaktır, dolayısı ile devam etmeyin, PWM'i öğrenin, Analog kontrolu öğrenin sonra buraya tekrar gelin) Isıtıcımızı her ne şekilde kontrol ediyorsak edelim, bunu bir "sayı" ile yapacağız. Bu sayının bir alt bir üst sınırı vardır. Mesela PWM ile kontrol ediyorsak bir "duty cycle", analog olarak kontrol ediyorsak bir "analog deger" vardır. Örneğin ısıtıcımıza "0" gönderirsek hiç çalışmıyor, "100" gönderirsek son gücüyle çalışıyor olsun. Kimi zaman bu değerler örneğin "0" ile "1" arasında ya da "0" ile "1023" arasında olabilir. Eğer PID'ye bir göz attıysanız, P,I ve D için "katsayılar" verilmesi gerektiğini ve bu katsayıları belirlemenin çok zor olduğunu öğrenmişsinizdir. Şimdi "hata" yı bulduğumuza göre, P değerini de vererek PID'mizin ilk kısmını yapalım. Evet, şimdi iki değer çıktı karşımıza: alt ve üst sınır. Bir de ne vardır? istenen sıcaklıkla ölçülen sıcaklık arasındaki fark, yani "hata". Üç tane değerimiz oldu. Alt ve üst sınırı neden kullanacağız? Eğer hesap sonucu alt sınırdan az ya da üst sınırdan çok çıkarsa sonucu bunlara uyduracağız: Basic kullanıyorsak:
        hata=istenen_sicaklık-olculen_sıcaklik deger=hata*P_katsayisi IF deger>UstSinir THEN deger= UstSinir END IF IF deger<AltSinir THEN deger= AltSinir END IF Ya da C kullanıyorsak:
        hata=istenen_sicaklık-olculen_sıcaklik; deger=hata*P_katsayisi; IF (deger>UstSinir) deger= UstSinir; IF (deger<AltSinir) deger=AltSinir; Sonra bu değeri ısıtıcımıza gönderiyoruz. Hepsi bu. Şimdi bu anlattıklarımızı program haline getirelim. Ama hem BASIC hem C yazmak istemiyorum, ben buraya C olarak yazacağım.
        istenen_sicaklik=25; //Odamızı 25 derece sıcaklıkta sabit tutmak istiyoruz. UstSinir=100; //Isıtıcımızı tam güç çalıştırmak için vermemiz gereken değer AltSinir=0; //Isıtıcımıza verebileceğimiz en düşük değer P_katsayisi=1; while (1) //PID döngüsü, Bu kısımları programınızda başka kolar da varsa, ana döngüye yerleştireceksiniz. { olculen_sicaklik=TermometreOku(); //Termometre okumak konumuz dışında, onu açıklamayacağız hata=istenen_sicaklık-olculen_sıcaklik; deger=hata*P_katsayisi; IF (deger>UstSinir) deger= UstSinir; IF (deger<AltSinir) deger=AltSinir; IsiticiCalistir(deger); //Isıtıcıyı PWM ya da analog ile çalıştırmak da konumuz dışında } Böylece bir P kontrolü yapmış olduk. Bu kadar basit
        (Devam Edecek)
    • PID birçok yerde kullanılsa da en iyi "bir odayı ısıtma" problemi ile tarif edilebilir. Bir odanın sıcaklığını sabit tutmak istiyorsak, bir ısıtıcı elemana, bir de sıcaklığı ölçen elemana ihtiyacımız var. Sıcaklığı ölçen elemana "termometre", ısıtıcı elemana da "ısıtıcı" diyelim. İlk akla gelen şey, eğer termometre istediğimiz sıcaklıktan az bir değer gösteriyorsa ısıtmaya başlar, istediğimiz sıcaklığa ulaşınca da ısıtmayı keseriz. Bunu hepimiz biliriz,  "termostat" bunun adı. Ama şöyle bir sıkıntı var: Eğer termometreyi hemen ısıtıcının yanına koyarsak, ısıtıcı çalışır çalışmaz termometre yüksek bir sıcaklık değeri gösterir. Çünkü ısıtıcı gerçekten sıcaktır. Ama ısıtmamız gereken ortam henüz ısınmamıştır. O halde termometreyi ısıtıcıdan uzağa koymamız gerekir. Termometreyi uzağa koyduğumuzda ortam ısınır, ama tam da istediğimiz sıcaklıkta tutamayız ortamı. Isıtıcıyı çalıştırdığımızda ısıtıcı ortamı ısıtmaya başlar, termometremiz sıcaklığı görür, istenen sıcaklığa geldiğinde ısıtıcıyı kapatırız ama ısıtıcının yüksek sıcaklığı ile ortam bir süre daha  ısınmaya devam eder, sıcaklık bizim istediğimizden daha yüksek değere çıkar. Neyse, düşene kadar bekleriz, sıcaklık sınıra geldiğinde ısıtıcıyı açarız ama bu sefer de ısıtıcı kendini ısıtana kadar ortam soğumaya devam edeceğinden bizim istediğimiz sıcaklığın altına düşer. Mesela biz 30 dereceye ayarladıysak bir 25'e düşer, bir 35'e çıkar. Eh, bu da bir şey tabii ki. Ama neden daha iyisi olmasın? Nasıl bir şey yapmalıyız ki sıcaklık tam da o derecede dursun? Aslında şöyle yapabiliriz: Isıtıcımız aç - kapa şeklinde değil de ayarlı olsa, ilk başta sonuna kadar açıp ortamı istenen sıcaklığa getirsem, sonra öyle bir şekilde kıssam ki, istediğim sıcaklıktan ne aşağı ne yukarı gitmese. Ne güzel olur değil mi? Bu mümkün aslında. Yapmamız gereken oda ne kadar ısı kaybediyorsa, ısıtıcıdan aynı miktar ısıyı ortama verirsek odanın sıcaklığı sabit kalır. Peki odanın ne kadar ısı kaybettiğini nereden bileceğiz? Bunu ölçmek zor değil mi? Bunun bir kolayı yok mu? Bunu yapmak aslında çok kolay. Isıtıcıyı öyle sonuna kadar açmayacağız. Oda sıcaklığı ile bizim istediğimiz sıcaklık arasındaki fark ne kadar büyükse o kadar çok açacağız. Tabii tam tersine istenenden daha sıcak ise, ısıtıcıyı daha çok kısacağız. Böylece tam noktasını bulabileceğiz. Termometreden gelen sıcaklık "t" olsun. İstediğimiz sıcaklık "g" olsun. Bu "g-t" değeri, bizim hatamızdır. Yani bizim sistemimiz istenen şeyi yapamamış demektir. Yani bir hatamız var demektir. Bu hata da, istenen ve ölçülen sıcaklık değerleri arasındaki farktır. Biz, bu farkın yani hatanın sıfır olmasını isteriz. Bakın bu "hata" çok mühim. PID'in kalbi bu "hata" (Devam Edecek)
    • Bu makale seneler önce ve elektronikle /bilgisayarla  ilgisi olmayan bir topluluk için yazdığım bir makaledir. Eğer onaltılı (hexadecimal) veya ikili (binary) sayı sistemleri kafanızda çok net değilse okumanızı öneririm. Sizin ihtiyacınız yoksa da aklınızın bir yerinde dursun; gerektiğinde uzun uzun anlatmak yerine burayı referans verebilirsiniz.   Asla başını atlayıp aşağıya geçmeyin. Hiç bir anlamı olmaz. Biliyorum, saçma derecede basit gelecektir ama atlamayın. Konu gerçekten bu kadar basit. Eğer kafanız karışıksa, sebebi olayın karmaşıklığı değil, sizin tahmin etmediğiniz kadar basit olması zaten. Desimal (onlu) sistem, günlük hayatta kullandığımız sayı sistemidir. Onlu sistem denmesinin sebebi, 10 tane rakamının olmasıdır. Bu rakamlar 0,1,2,3,4,5,6,7,8 ve 9 dur.
      0=sıfır, 1=bir, 2=iki, 3=üç, 4=dört, 5=beş, 6=altı, 7=yedi, 8=sekiz 9=dokuz sayılarını gösterir.
      Eğer yazacağımız sayı 10'dan küçükse bunu tek bir rakam ile yazabiliriz.
      Ama yazacağımız sayı 10 veya daha büyükse, o zaman birden fazla rakam kullanmamız gerekir.
      O zaman rakamları yanyana yazarız.
      Önce iki rakamlı bir örnek verelim:
      23
      Burada başta 2 rakamı, sonra 3 rakamı vardır.
      Onluk sayı sisteminde her basamak bir öncekinin 10 katı değerdedir.
      Bütün sayı sistemlerinde en sağdaki basamak birler basamağıdır. Sonraki basamaklar ise daima bir öncesinin on katı olur onlu sistem için. Yani onlar basamağı olur. Eğer bir üçüncü basamak olsaydı, bu da bir öncekinin (yani 10'un) on katı olacak, yüzler basamağı olacaktı.
      Örnekte verdiğim sayıyı okurken katiyyen "yirmiüç" diye okumayın. iki-üç diye okuyun. Amerikalıların telefon numaralarını söyledikleri gibi.

      Şimdi bu sayının kaç olduğunu bulalım:
      Soldaki basamak onlar basamağı demiştik. Burada 2 yazdığına göre, on ile çarparsak, 20 olur. Yani sol taraftaki 2 rakamı, "yirmi" sayısını ifade ediyor.
      Sağ tarafta ise 3 rakamı var. Burası birler basamağı olduğu için direkt olarak 3 sayısını ifade eder. Bu ikisini toplarsak yirmiüç olur.

      Üç basamaklı bir örnek verelim:
      382
      Bu sayıyı nasıl okuyacağız?
      Üç-sekiz-iki
      En sağdaki basamak bütün sayı sistemlerinde birler basamağıdır demiştik. Ortadaki bir öncekinin 10 katı olduğuna göre onlar basamağı, soldaki de bir öncekinin yani 10'un on katı, yani yüzler basamağı.
      Şimdi bu sayının kaç olduğunu bulalım:
      Yüzler basamağında 3 var. yani üçyüz (3 x 100). koyun kenara.
      Onlar basamağında ise 8 var. Bu da seksendir (8 x 10) Bunu da kenara koyun.
      Birler basamağında ise iki var.
      Şimdi bunları toplayalım:
      Üçyüz, seksen daha üçyüzseksen, iki daha üçyüzsekseniki.
      demek ki üç-sekiz-iki şeklinde yazılan sayı "üçyüzsekseniki" oluyormuş. Onlu sayı sistemini iyice anladınız mı
      Anlamadıysanız bir daha okuyun. Onluyu anlamadan buraya geçerseniz, zor öğrenirsiniz.
      Eğer yukarıdakini okuduysanız sizi burada bir sürpriz bekliyor. Çünkü şu "anlaşılmaz sır" olan onaltılı sayı sistemi onlu ile neredeyse aynı

      Heksadesimal - Hexadecimal (onaltılı) sistem, 0x00 şeklinde gösterdiğimiz sayı sistemidir. Onaltılı sistem denmesinin sebebi, 16 tane rakamının olmasıdır. Bu rakamlar 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E ve F dir.
      0=sıfır, 1=bir, 2=iki, 3=üç, 4=dört, 5=beş, 6=altı, 7=yedi, 8=sekiz 9=dokuz A=on, B=onbir, C=onkiki, D=onüç, E=Ondört, F=Onbeş sayılarını gösterir.
      Eğer yazacağımız sayı 16'dan küçükse bunu tek bir rakam ile yazabiliriz.
      Ama yazacağımız sayı 16 veya daha büyükse, o zaman birden fazla rakam kullanmamız gerekir.
      O zaman rakamları yanyana yazarız.
      Önce iki rakamlı bir örnek verelim:
      23
      Burada başta 2 rakamı, sonra 3 rakamı vardır.
      Onaltılık sayı sisteminde her basamak bir öncekinin 16 katı değerdedir.
      Bütün sayı sistemlerinde en sağdaki basamak birler basamağıdır. Sonraki basamaklar ise daima bir öncesinin onaltı katı olur onaltılı sistem için. Yani onaltılar basamağı olur. Eğer bir üçüncü basamak olsaydı, bu da bir öncekinin (yani 16'nın) onaltı katı olacak, ikiyüzellialtılar basamağı olacaktır.
      Örnekte verdiğim sayıyı okurken katiyyen "yirmiüç" diye okumayın. iki-üç diye okuyun. Amerikalıların telefon numaralarını söyledikleri gibi.

      Şimdi bu sayının kaç olduğunu bulalım:
      Soldaki basamak onaltılar basamağı demiştik. Burada 2 yazdığına göre, onaltı ile çarparsak, otuziki olur. Yani sol taraftaki 2 rakamı, "otuziki" sayısını ifade ediyor.
      Sağ tarafta ise 3 rakamı var. Burası birler basamağı olduğu için direkt olarak 3 sayısını ifade eder. Bu ikisini toplarsak otuzbeş olur.

      Üç basamaklı bir örnek verelim:
      382
      Bu sayıyı nasıl okuyacağız?
      Üç-sekiz-iki
      En sağdaki basamak bütün sayı sistemlerinde birler basamağıdır demiştik. Ortadaki bir öncekinin 16 katı olduğuna göre onaltılar basamağı, soldaki de bir öncekinin yani 16'nın onaltı katı, yani ikiyüzellialtılar basamağı.
      Şimdi bu sayının kaç olduğunu bulalım:
      İkiyüzellialtılar basamağında 3 var. yani yediyüzaltmışsekiz (3 x 256). koyun kenara.
      Onaltılar basamağında ise 8 var. Bu da yüzyirmisekiz (8 x 16) Bunu da kenara koyun.
      Birler basamağında ise iki var.
      Şimdi bunları toplayalım:
      Yediyüzaltmışsekiz, yüzyirmisekiz daha sekizyüzdoksanaltı, iki daha sekizyüzdoksansekiz.
      demek ki üç-sekiz-iki şeklinde yazılan sayı "sekizyüzdoksansekiz" oluyormuş.

      Anlaşılmadıysa baştan okuyun. Gerekirse 10'lu sistemi bir daha okuyun. Binary (İkili)  sistem,  bilgisayarların asıl kullandığı sayı sistemidir. Biri onluk, diğer onaltılık iki sistem biliyorsunuz. Üçüncüsünü öğrenmek artık zor değil. Ancak 16lık sistemi tam anlamadıysanız buraya geçmeyin. Çünkü bu daha basit olduğu için iyice karıştırabilirsiniz. Espri yapmıyorum, gerçek. Gerçekten daha basit ve ötekini anlamadıysanız gerçekten kafanızı daha fazla karıştırır.

      İKİLİ sayı sistemi olduğuna göre iki tane rakam var demektir:
      0 ve 1.
      Her basamak değeri onluk sistemde bir öncekinin on katı, onaltılık sistemde bir öncekinin 16 katı oluyordu. Bunda da doğal olarak biröncekinin iki katı olacak.
      Sayı yazarken sadece 0 ve 1 rakamları var. ne güzel
      Şimdi bir örnek yapalım:
      101
      Bir-sıfır-bir
      en sağdaki basamak birler basamağı. Burada 1 olduğuna görei "bir" i kenara koyun.
      Ortadaki basamak bir'in iki katı olan "ikiler basmağı". Burada sıfır var. sıfır kere iki sıfır olduğu için kenara koyacak bir şey yok.
      Soldaki basmak bir öncekinin (ikinin) iki katı olduğuna göre dörtler basamağıdır. Burada da "1" olduğuna göre, 1 x 4 = kenara dört koyalım.
      Hepsini toplayalım: 4+0+1=5
      demek ki ikili sistemde bir-sıfır-bir diye yazılan sayı beş oluyormuş BYTE, BIT, HEX, BIN ve karşınızdaaaa NIBBLE Binary sayı sistemi, onaltılık sistemle çok güzel uyuşur.
      Onaltılık sistemdeki bir rakam, binary (ikili) sistemdeki 4 basamaklı bir sayı ile ifade edilebilir.
      Şöyle ki:
      0=0000 8=1000
      1=0001 9=1001
      2=0010 A=1010
      3=0011 B=1011
      4=0100 C=1100
      5=0101 D=1101
      6=0110 E=1110
      7=0111 F=1111
      Belki de (belki değil, kesin) bilgisayarda onaltılı sayı sistemi kullanılmasının sebebi bu...
      Burada 4 basamaklı bir ikili sistem sayıdan oluşan ve bir onaltılı "rakam" ı (tek basamaklı sayı yani) ifade eden gruba, "nibble" denir.

      İki rakamlı bir HEX sayıya bir Byte denir. Yani bir Byte, 4+4 = 8 tane ikili rakamdan oluşan bir sayı ile ifade edilir. İkili sistemin rakamlarının özel bir adı daha vardır : BIT yani "en küçük parça" anlamında kullanılır.
      En basit şekli ile anlatmaya çalıştım. Yine de bir hata veya eksiklik ya da anlaşılmayan bir nokta varsa tartışma bölümüne yazabilirsiniz.
    • Bu bölümdeki makalelerle ilgili tartışmalar bu başlık altında yapılacaktır. Makalelerde gördüğünüz hata veya eksiklikleri burada bildirirseniz, yöneticiler sizin isminizle gerekli düzeltmeyi yapacaktır.
    • Bu bölümde yer almasını istediğiniz konuları buradan yazabilirsiniz. Burada yer almayan bir konuda bir makale yazıp burada paylaşırsanız, yöneticiler makalenizi sizin adınızla müstakil bir başlık olarak ayrıcaktır.
  • Üye İstatistikleri

    • Toplam Üye
      17
    • Çevrimiçi Rekoru
      14

    En Yeni Üye
    Haluk Şimşek
    Kayıt tarihi
  • Forum İstatistikleri

    • Toplam Konu
      11
    • Toplam İleti
      27
×

Önemli Bilgilendirme

Facebook / Twitter / Google hesabınızla kolayca kaydolup cevap verebilir, soru sorabilir, istekte bulunabilirsiniz.
Devam etmeniz, forum kurallarını kabul ettiğiniz anlamına gelir.            Forum Kuralları