asmk

Upload: mustafa-turker-gultepe

Post on 04-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 asmk

    1/13

    ARDUINO UNO ILE SICAKLIK VE MOTOR KONTROL SSTEMNN TASARIMI

    VE

    UYGULAMASI

    Mustafa Trker GLTEPE

    www.mturkergultepe.com

    zet

    Endstriyel ortamlarda en sk kullanlan sistemler scaklk kontrol ve motor kontrol sistemleridir.Tesisler iin scaklk kontrolnn kaybedilmesi makinelerde ciddi hasarlara, personelde aryaralanmalara ve hatta yaam kayplarna neden olabilir. Ayn husus motor kontrol iin de geerlidir.Kontrol edilmeyen motor ar snmaya, kullanm mrnn azalmasna, hatta kontrolden karak

    yaralanmalara ve lmlere sebep olabilir.

    Bu almada endstriyel bir ortamda, ortamn ssna bal olarak motorun almas veya durmasmodellenmeye allmtr. Bu proje iin kullanlan materyaller; Arduino Uno kiti, bilgisayarhaberlemesi iin USB kablosu, DC motor ve DHT11 scaklk ve nem sensrdr. Tasarm yaplandevre denenmi ve hedeflenen lmlere ulalmtr.

    1.GR

    Dnyamzda artk lmlerle ilgili sonular almak, bunlar deerlendirmek ve kontrol etmekbilgisayarlarla ve elektronik devrelerle yaplmaktadr. Bu yolla alnan bilgiler daha hzl daha kolay vekyaslama imkan getirmektedir. Literatrde bu anlamdahem teoride hemde uygulamada bir okalma sz konusudur.

    Sistem dizayn Fritzing tasarm program ile yaplmtr. Fritzing ile devrenin tasarm yaplm,ematii karlm ve gerekli olmas durumunda PCB bask devre iin de ayrca devre hazrlanmtr.

    Scakl llmek istenen ortama konulan DHT11 Nem ve Scaklk Sensr sayesinde nem ve scaklkbilgisi alnm, bu bilgi digital olarak Arduino'ya gnderilmitir. Arduino ierisinde veriler ilenerekyazlmla beraber scaklk ve nem kontrol yaplmtr. Yaplan projenin temel amac scaklk kontrololduu iin yazlmda da temel ama, belirlenen bir scaklk deerine kadar motorun altrlmamas,scaklk belirlenen deeri getii zaman motorun altrlmas amalanmtr. Arduino zerindeki

  • 7/29/2019 asmk

    2/13

    ATMEL 1153 mikroilemcisinde ilenen veri daha sonra DC motoru altrmak iin iletilmitir. DCmotorun altrlmas iin genel devrese L293D motor srcs ile devresi tasarlanm, bu sistemlemotor srlmtr.

    ekil 1 . Scaklk ve Motor Kontrol Genel Blok emas

    2. PROJEDE KULLANILAN ELEMANLAR

    2.1 ARDUINO UNO

    Arduino, talyan elektronik mhendisleri tarafndan gelitirilen ak kaynak kodlu, projelerin zgrce

    paylalabildii, isteyen herkesin katkda bulunabilecei bir elektonik prototip platformudur. Dileyenherkes, eer isterse Arduino'nun k dizaynl kitlerinden temin edebilir. Bu kitlerden bazlarnn isimleri;Arduino Uno, Arduino Due, Arduino Duemillanove, Arduino Leonardo, Arduino Wifi Shield, Arduino

    Mega 2560'tr. Arduino zerinde barndrd ATMEL mikroilemcilerle, DAC, ADC, Clock iinKristal ve kapasitr, I/O pinleri iin header devre beslemesi iin uygun malzemeler v.s. ile btnleikbir sistem sunar. Ve asl yaplmas istenen ie kullancnn younlamasn salar.

    Bu projede Arduino Uno R3 kullanlmtr.

    Bilgisayar

    Arduino Uno

    DC Motor

    Motor Src

    Devresi DHT11

    Nem &

    Scaklk

  • 7/29/2019 asmk

    3/13

    Teknik zellikler:

    ATmega328 mikrokontrolr alma gerilimi 5 V Besleme gerilimi7-12V Besleme gerilimi - 6-20V (limit deerler) 14 Dijital I/O Pin (6 PWM k) I/O pinleri iin 40 mA akm 6 Analog Giri 32kB Flash Bellek (0.5 kB bootloader iin) 1KB EEPROM

    2KB SRAM

    16MHz Saat HzArduino Uno R3 ematii:

    ekil 2. Arduino Uno R3 Yaps

  • 7/29/2019 asmk

    4/13

    Donanmdan bahsedecek olursak, Arduinokartlarnda Atmel ilemcilerini kullanmaktadr.Mikrodenetleyicimiz nceden Bootloader program iine atlm ekilde geldiinden dolay harici birprogramlama cihazna ihtiya duymaz. Bu da bizim iin ok byk bir avantaj, yani ek birprogramlayc gereksinimini ortadan kaldrr.

    Arduino'yu kullanrken programlamasndan da bahsetmemiz gerekir. Arduino'yu programlarkenArduino Programlama Dili kullanlr. Bu dil Wiring tabanldr. Kullanm olduka basittir. Temel Cprogramlama bilgisine sahip olan birisi rahatlkla Arduino mikroilemcisini programlayabilir.Mhendislik eitimi alm birisi iin de C Programlama Dili uzak bir terim deildir.

    Arduino'yu programlamak iin Arduino IDE adl kendi platformu tm programlama hamleleri iin

    yeterlidir. Bu IDE'nin ierisinde birok ktphane bulunur ve bu ktphaneler srekligncellenmektedir. Arduino IDE tm platformlarda alr (Windows, MacOs, Linux). Bu da bizeplatform zgrl sunar. Kulanclar alkn olduklar platformda Arduino ile projelerini gelitirirler.

    Bu projede Arduino Uno, USB kablosuyla beraber, Arduino IDE 1.0.1 Linux/Ubuntu 12.10 iletimsistemi ile birlikte kullanlmtr.

    2.2 DHT11 Nem & Scaklk Sensr

    DHT11 scaklk ve nem alglayc kalibre edilmi dijital sinyal k veren gelimi bir alglaycbirimidir. Yksek gvenilirliktedir ve uzun dnem almalarda dengelidir. 8 bit mikroilemci ierir,hzl ve kaliteli tepki verir. 0 ile 50C arasnda 2C hata pay ile scaklk len birim, 20-90% RHarasnda 5% RH hata pay ile nem ler. alma aral 35.5V arasdr.

    Komponentte 4 pin mevcuttur.

  • 7/29/2019 asmk

    5/13

    Teknik zellikler:

  • 7/29/2019 asmk

    6/13

    DHT11'in Uygulamas:

    Elektriksel Karakterislii:

    2.3 L293D Motor Srcs

    L293D, denetim kartlarnn yksek voltaj ve akm gereksinimi olan elemanlar (motor, rle) kontroletmesi iin kullanlr. Motorun ihtiya duydu u akm, denetim kartnn verebilece inden fazla olduundan, voltaj ve akm artrmak iin src devreleri kullanlmaldr, aksi takdirde denetim kartnnyanmasna sebep olunabilir. 16 pinli yapda, 2 kanall motor srcdr. Motorlara 5-36 V ve motorbana 0.6A akm verir. Zorlama akm 1.2A dir. L293D, sa ve sol tarafn bamsz altrabilir. 1adet L293D iki motoru ift ynl kontrol edebilir.

  • 7/29/2019 asmk

    7/13

    L293D Balant ematii:

    ENABLE1 pini motor srcnn sol ksmn aktif hale getirir. Yani buraya verdiimiz high sinyali ilebu ksm aktif etmi oluruz. INPUT1 ve INPUT2 pinlerimotorlara gndereceimiz sinyalin giriksmlardr. Arduino zerinden bu pinlere vereceimiz sinyaller yoluyla OUTPUT1 ve OUTPUT2pinlerinden k alp motoru sreriz. L293D simetrik bir yapda olduundan sol taraf iin anlatlanlarsa taraf iin de geerlidir.

    Bu projede L293D'nin motordan nce kullanlmasnn nedeni; normalde Arduino Uno R3'n k gcDC motoru srmeye yetmez. k sinyalinin ykseltilmesi gereklidir. Bu sebepten dolay L293Dkullanlmtr.

    3. SSTEM TASARIMI

    Sistemi tasarlarken Fritzing tasarm program kullanlmtr. Fritzing 3 platformda da alan (Windows,MacOs, Linux) bir devre tasarm, izim programdr. Kullanm ok basittir, topluluk destei vardr veak kaynak kodludur. Komponent ktphanelerine hergn bir yenisi eklenmektedir. Nitekim

    programn ilk yklenmesinde gelmeyen DHT11 eleman ktphanesi, yaptm 1-2 dakikalk aratrmaile hemen bulunmu ve programa dahil edilmitir.

  • 7/29/2019 asmk

    8/13

    Fritzing ile tasarm yaplan sistemin breadboard grnm:

  • 7/29/2019 asmk

    9/13

    Sistemin ematik dizayn:

  • 7/29/2019 asmk

    10/13

    4. MIKROLEMCYE GNDERLEN PROGRAM

    Programlama yaparken ncelikli ama, doru scaklk ve nem bilgisinin okunmasdr. Proje scaklklailgili olmasna ramen DHT11 ortam nemini de lt iin bu bilgi de ek olarak kullanlmtr. Doruscaklk bilgisi DHT11'den digital olarak alndktan sonra mikroilemcide belirlenen eik deerine gre

    motora dn bilgisinin gnderilmesi amalanmtr. Motor src devresi yardm ile 3. ve 6.bacaklara balanan motor dndrlmtr.

    Yazlan programn algoritmas:

    Hayr

    Evet

    Scaklk & nem

    bilgisini al

    Scaklk270C'den

    yksek mi?

    Motoru altr

    Motoru durdur

  • 7/29/2019 asmk

    11/13

    Program:

    #define dht11_pin 14 //Analog port 0 on Arduino Uno

    int switchPin = 2; // buttonint motor1Pin = 4; // motorun srcnn 7. (input 2) bacaint motor2Pin = 5; // motorun srcnn 2. (input1) bacaint enablePin = 12; // motorun srcnn 1. (enable 1) baca

    byte read_dht11_dat(){byte i = 0;byte result=0;for(i=0; i< 8; i++){while (!digitalRead(dht11_pin));delayMicroseconds(30);if (digitalRead(dht11_pin) != 0 )bitSet(result, 7-i);

    while (digitalRead(dht11_pin));}return result;

    }

    void setup(){pinMode(switchPin, INPUT);

    pinMode(motor1Pin, OUTPUT);pinMode(motor2Pin, OUTPUT);pinMode(enablePin, OUTPUT);pinMode(dht11_pin, OUTPUT);

    digitalWrite(dht11_pin, HIGH);digitalWrite(enablePin, HIGH);

    Serial.begin(9600);Serial.println("Ready");

    }

    void loop()

    { byte dht11_dat[5];byte dht11_in;byte i;// start condition

    digitalWrite(dht11_pin, LOW);delay(18);digitalWrite(dht11_pin, HIGH);delayMicroseconds(1);pinMode(dht11_pin, INPUT);delayMicroseconds(40);

  • 7/29/2019 asmk

    12/13

    if (digitalRead(dht11_pin)){Serial.println("dht11 start condition 1 not met"); // wait for DHT response

    signal: LOWdelay(1000);return;

    }delayMicroseconds(80);if (!digitalRead(dht11_pin)){Serial.println("dht11 start condition 2 not met"); //wait for second

    response signal:HIGHreturn;

    }

    delayMicroseconds(80);// now ready for data receptionfor (i=0; i 25){digitalWrite(motor1Pin, HIGH);digitalWrite(motor2Pin, LOW);

    }}

  • 7/29/2019 asmk

    13/13

    5. SONU

    Bu projede scakl kontrol eden ve buna bal olarak bir DC motoru altrp durduran bir sistemmodellenmitir. Modellenen bu sistem farkl yntemler kullanlarak fiziksel olarak ta tasarlanm,baarya ulamtr. Sistem salkl bir ekilde scakl alp, motorun almasn ayarlamaktadr. Buna

    ek olarak ortamn nem bilgisi de alnmtr.

    Sistemde kullanlan elemanlarn farkl olmasna zen gsterilmi ve bunlarn kullanmn renmek anahedefime ulamamn yannda amaladm ikinci almayd. Bir mhendisin Linux sistemlerinikullanmas gerektiini savunduum iin proje Linux/Ubuntu 12.10 srm zerinde gerekletirilmitir.Ayrca Windows ve MacOs ortamlarnda da almak isteyenler iin de bu projede kullandm tmprogramlar, kitler salkl almaktadr. Kullandm Arduino Uno R3'n bilgisayar USB'si zerindenhaberlemesi, projeyi birok kiinin kendi bilgisayarnda sorunsuz denemesini ve zerindealabilmesini kolaylatracaktr. Sistemin bu elemanlarla kurulmas, altrlmas kstl zaman

    aralnda bana hz kazandrm, sonuca odaklanmam salamtr.

    Proje gerekletirilirken oluan masraf, laboratuvar ortamnda mikroilemcili set ile gerekletirmeyekyasla Arduino kitini alma aamasnda pahal gzkse de, almalarn laboratuvar dna kmas,zaman kazandrmas ve labaratuvar cihazlarna bamsz, kiinin kendi sistemi kurmas asndan karlbir yatrm olmutur.

    Bu projenin bir sonraki aamas olarak motorun belirli scaklk deerlerinde yava hzda, orta hzda ve

    yksek hzda dnmesinin salanmas zerinde allabilir. Nem kontrol de sisteme dahil edilebilir.