www.elektrovadi.com
Transkript
www.elektrovadi.com
ROBOTECH-10 ARDUINO UYGULAMA KARTI SENSÖR ve ROBOT TEKNOLOJİLERİ GELİŞTİRME KARTI m o .i c d a v o r t k 1. Genel Tanım Robotech-10 kartı, Teknik okullarda, üniversitelerde ve robot kulüpleri olan liseler ile bu işi hobi olarak yapan kullanıcılar için robot teknolojinin ve çeşitli sensörlerin kullanımının öğrenilmesini kolaylaştırmak amacı ile tasarlanmış bir karttır. Amaç, robot tasarımlarında kullanılan giriş (sensörler) ve çıkış (motorlar) birimlerinin kontrollerinin öğrenilmesi için gereken donanımı hazır olarak sağlamaktır. Böylelikle kullanıcıların direk olarak yazılım üzerine yoğunlaşması sağlanmış olur. e l e . w Kart üzerinde Arduino Uno R3 Mikrodenetleyici kartı vardır. Mikrodenetleyici kartının analog girişleri için 5 adet analog sensör, dijital girişleri için iki adet dijital sensör ve Ultrasonik sensör, çıkışlar için ise bir adet DC motor ile bir adet servo motor bağlanmıştır. Tüm bağlantılar dip-anahtar ile aktif ya da pasif hale getirilebilir. w w www.elektrovadi.com Sayfa 1 2. KONTROL KARTI 2.1. Arduino Uno R3 kartı Mikrodenetleyici kartı olarak Arduino UNO R3 kartı kullanılmıştır. RoboTech-10 kartındaki tüm uygulamalar bu karta göre yazılmıştır. Kullanıcılar Arduino uyumlu her türlü kartı Robotech-10 kartına bağlayarak kullanabilirler. 2.2. PICardu kartı (Opsiyonel) PICardu kartı Arduino pin yapısına sahip olup, üzerinde PIC18F46K22 microcontroller bulunduran bir karttır. Üzerindeki MCP2200 USB köprü entegresi sayesinde bootloader ile kolayca programlanabilir ve uygulamalarınızda bilgisayarınızdan açacağınız seri haberleşme terminalini kolayca kullanabilirsiniz. ISP programlama portları sayesinde ISP programlayıcılarla da kullanılabilir. Kart gücünü kullanıcı seçimine bağlı olarak USB’den veya 5-15v harici güç kaynağından alabilir. m o .i c d a v o r t k e l e . w w w PICardu kartının şeması, programlama prosedürü ve örnek kodları için tıklayınız. www.elektrovadi.com Sayfa 2 3. ANALOG SENSÖRLER 3.1. GP2Y0A21 3.1.1.Sensör Bilgisi Sharp GP2Y0A21 Mesafe Algılayıcı birimi, robotik uygulamalarda ve projelerde en çok tercih edilen mesafe algılayıcı birimidir. Algılayıcı sürekli olarak mesafe okuması alır ve aldığı mesafe okumasını analog voltaj değeri olarak iletir. Ölçüm aralığı 10-80cm olan algılayıcı, 5V besleme voltaj seviyesine sahiptir. Labirent Çözen, Yangın Söndüren, Sumo , Devriye Robotu gibi orta mesafede engel algılaması gereken robot projelerinde kullanılabilir. m o .i c Teknik Özellikler: Çalışma Voltajı: 4.5 V to 5.5 V Akım: 30 mA (ortalama) Algılama Mesafesi: 10 cm - 80 cm (4" - 32") Çıkış: Analog çıkış (çıkış voltajı ölçülen mesafeyle oranlıdır) Tepki Süresi: 38 ± 10 ms Ağırlık: 3.5 g (0.12 oz) d a v o r t k 3.1.2.Sensör Nasıl Çalışır e l e . w w w SHARP sensörün yaydığı IR ışık engele çarpıp geri yansır ve yansıyan IR ışık SHARP sensörün alıcısı tarafından algılanır. Engel ile SHARP sensör arasındaki mesafeye bağlı olarak IR ışığın yansıma açısı ve ışığın dedektör üzerinde düştüğü nokta değişir. Dedektör bu veriyi okur ve analog voltaj değeri olarak çıkış verir. Bu değer kontrol kartı tarafından işlenerek mesafe hesabı yapılır. www.elektrovadi.com Sayfa 3 m o .i c d a v o 3.1.3.Robotech-10 kartı bağlantısı Arduino kartının Analog girişi olan A4 pinine bağlıdır. r t k e l e . w w w Analog Sensörler DipSwitch konumu www.elektrovadi.com Sayfa 4 3.1.4.Örnek uygulama kodu //Analog uzaklık sensörü deneyi //Sensörün bağlandığı giriş pini int analogInPin4 = A4; // Analog input pin4 //Değişkenler float sharp_volts,sharp_distance; //sharp analog void setup() { Serial.begin(9600); } m o .i c void loop() { sharp_volts = analogRead(analogInPin4)*0.0048828125; // sensörden değeri oku ve sharp_distance = 65*pow(sharp_volts, -1.10); // uzaklığa çevir. d a v o // uzaklığı yazdır Serial.print("uzaklik="); Serial.print(sharp_distance); Serial.println("cm"); } r t k e l e 3.2. Kontrast Sensörleri 3.2.1.CNY70 3.2.1.1. Sensör Bilgisi . w w w CNY 70 basitçe, çoğu kontrast sensöründe olduğu gibi, ışık yayan ve yaydığı ışığın yansıyıp yansımadığını kontrol etme prensibiyle siyah ve beyazı ayırt eder. Yansıma prensibini kullandığı için kısa mesafelerde cisim varlığını belirlemekte de kullanılabilir. Bu özellikler CNY70 sensörünü; çizgi izleyen, mini sumo, sumo ve özel projeler için ideal bir sensör haline getirir. www.elektrovadi.com Sayfa 5 3.2.1.2. Sensör Nasıl Çalışır m o CNY70’in anod ve katot(A-C) pinlerinden güç verildiğinde gönderilen ışık yansıtıcı yüzeyden geri yansır ve sensörün yapısındaki fototransistör (C-E)tarafından algılanır. Eğer cisim siyah ya da koyu renkli ise ışığı soğuracağı için fototransistör tarafından algılanmaz. Eğer cisim beyaz ya da açık renkli ise ışık geri yansıyacağından fototransistör tarafından algılanır. Yüzeyin yansıtıcılık miktarına göre fototransistörün algıladığı ışık miktarı değişeceği için, yüzeyin yansıtıcılığına göre farklı voltaj değerleri verir. Hazırladığınız devreye göre, istediğiniz renk için(siyah-beyaz), farklı voltaj değerleri (5v-0v) alabilirsiniz. .i c d a v o r t k e l e . w w w www.elektrovadi.com Sayfa 6 3.2.1.3. Robotech-10 kartı bağlantısı m o Analog Sensörler DipSwitch konumu .i c d a v o 3.2.2.TCRT5000 3.2.2.1. Sensör Bilgisi r t k e l e . w w w Çalışma prensibi, çoğu kontrast sensöründe olduğu gibi, yansıyan ışığı algılamaya dayanır. TCRT5000 sensörü, çizgi ve cisim sensörü olarak çizgi izleyen, sumo, mini sumo başta olmak üzere birçok robotik ve elektronik projede kullanabileceğiniz bir kontrast sensörüdür. Algılama mesafesi CNY 70’ten bir miktar daha fazladır. TCRT5000 0,2mm ile 15mm arasında sağlıklı şekilde çalışmaktadır. www.elektrovadi.com Sayfa 7 3.2.2.2. Sensör Nasıl Çalışır m o .i c TCRT5000’in anod ve katot(A-C) pinlerinden güç verildiğinde gönderilen ışık yansıtıcı yüzeyden geri yansır ve sensörün yapısındaki fototransistör (C-E)tarafından algılanır. Yüzeyin yansıtıcılık miktarına göre fototransistörün algıladığı ışık miktarı değişeceği için, yüzeyin yansıtıcılığına göre farklı voltaj değerleri verir. Hazırladığınız devreye göre, istediğiniz renk için(siyah-beyaz), farklı voltaj değerleri (5v-0v) alabilirsiniz. d a v o r t k e l e . w w w www.elektrovadi.com Sayfa 8 3.2.2.3. Robotech-10 kartı bağlantısı m o Analog Sensörler DipSwitch konumu .i c d a v o r t k e l e 3.2.3. QRD1114 3.2.3.1. Sensör Bilgisi . w w w www.elektrovadi.com Çalışma prensibi, çoğu kontrast sensöründe olduğu gibi, yansıyan ışığı algılamaya dayanır. QRD1114 sensörü, çizgi ve cisim sensörü olarak çizgi izleyen, sumo, mini sumo başta olmak üzere birçok robotik ve elektronik projede kullanabileceğiniz bir kontrast sensörüdür. Dış ortamdan etkilenmeme açısından CNY 70’ten daha avantajlıdır. TCRT5000 0,2mm ile 15mm arasında sağlıklı şekilde çalışmaktadır. Sayfa 9 3.2.3.2. Sensör Nasıl Çalışır QRD1114 anod ve katot(Pin3 ve Pin4) pinlerinden güç verildiğinde gönderilen ışık yansıtıcı yüzeyden geri yansır ve sensörün yapısındaki fototransistör (Pin1 ve Pin2) tarafından algılanır. Yüzeyin yansıtıcılık miktarına göre fototransistörün algıladığı ışık miktarı değişeceği için, yüzeyin yansıtıcılığına göre farklı voltaj değerleri verir. Hazırladığınız devreye göre, istediğiniz renk için(siyah-beyaz), farklı voltaj değerleri (5v-0v) alabilirsiniz. m o .i c d a v o r t k e l e . w w w www.elektrovadi.com Sayfa 10 3.2.3.3. Robotech-10 kartı bağlantısı m o Analog Sensörler DipSwitch konumu .i c d a v o 3.2.4. QRT-1A 3.2.4.1. Sensör Bilgisi r t k e l e . Çalışma prensibi, çoğu kontrast sensöründe olduğu gibi, yansıyan ışığı algılamaya dayanır. QRT-1A sensörü, çizgi ve cisim sensörü olarak çizgi izleyen, sumo, mini sumo başta olmak üzere birçok robotik ve elektronik projede kullanabileceğiniz bir kontrast sensörüdür. Kompakt yapısı sayesinde encoder uygulamalarında da sıklıkla tercih edilmektedir. w w w Tekerlek encoder şablonu www.elektrovadi.com Sayfa 11 3.2.4.2. Sensör Nasıl Çalışır QRT-1A anod ve katot(Pin1 ve Pin2) pinlerinden güç verildiğinde gönderilen ışık yansıtıcı yüzeyden geri yansır ve sensörün yapısındaki fototransistör (Pin3 ve Pin4) tarafından algılanır. Yüzeyin yansıtıcılık miktarına göre fototransistörün algıladığı ışık miktarı değişeceği için, yüzeyin yansıtıcılığına göre farklı voltaj değerleri verir. Hazırladığınız devreye göre, istediğiniz renk için(siyah-beyaz), farklı voltaj değerleri (5v-0v) alabilirsiniz. m o 3.2.4.3. .i c d a Robotech-10 kartı bağlantısı v o r t k . e l e w Analog Sensörler DipSwitch konumu w w www.elektrovadi.com Sayfa 12 3.2.5. Örnek uygulama kodu //kontrast sensörleri deneyi int analogInPin0 = A0; int analogInPin1 = A1; int analogInPin2 = A2; int analogInPin3 = A3; // Analog giriş pin0 // Analog giriş pin1 // Analog giriş pin2 // Analog giriş pin3 int sensorValue = 0; void setup() { Serial.begin(9600); } m o void loop() { .i c // AN0 okunuyor.. sensorValue = analogRead(analogInPin0); Serial.print("sensor0 = " ); Serial.print(sensorValue); Serial.print(" && "); // AN1 okunuyor.. sensorValue = analogRead(analogInPin1); Serial.print("sensor1 = " ); Serial.print(sensorValue); Serial.print(" && "); d a v o r t k e l e // AN2 okunuyor.. sensorValue = analogRead(analogInPin2); Serial.print("sensor2 = " ); Serial.print(sensorValue); Serial.print(" && "); . w w // AN3 okunuyor.. sensorValue = analogRead(analogInPin3); Serial.print("sensor3 = " ); Serial.println(sensorValue); } w www.elektrovadi.com Sayfa 13 4. Dijital Sensörler 4.1. GP2Y0D340K 4.1.1.Sensör Bilgisi Küçük boyutlardaki bu dijital sensör 1 ile 40 cm aralığındaki cisimlerin varlığını algılayabilmeniz için kullanabileceğiniz hızlı tepki süresine ve düşük güç tüketimine sahip sensördür. Menzili içinde bir cisim varsa Başta mini sumo olmak üzere, birçok robotik projede sıklıkla kullanılmaktadır. Bununla beraber çeşitli endüstriyel uygulamalarda ve hobi çalışmalarında da kullanılabilir. m o 4.1.2.Sensör Nasıl Çalışır .i c GP2Y0D340K, dahili pozisyon dedektörü, Infrared LED ve sinyal işleme birimi barındıran bir sensördür. Nesnelerin yansıtıcılık özelliklerinden, ortam sıcaklığından ve çalışma süresinden etkilenmez. Belirtilen menzilde bir nesne olması durumunda sensör çıkışı LOW (0v) seviyesinde kalır. 40 cm’lik menzilde nesne bulunmaması durumunda sensör çıkışı HIGH (5V) seviyesinde kalır. d a v o r t k e l e . w w w www.elektrovadi.com Sayfa 14 4.1.3.Robotech-10 kartı bağlantısı Dijital I/O DipSwitch konumu m o .i c d a 4.1.4.Örnek uygulama kodu //sayısal sharp sensor int sayisal_sharp=4; int led = 13; r t k int sayisal_sharp_state =0; //sayisal sharp void setup() { v o e l e Serial.begin(9600); pinMode(led, OUTPUT); pinMode(sayisal_sharp, INPUT); } void loop() { // giriş pinini oku sayisal_sharp_state = digitalRead(sayisal_sharp); . w w w if (!sayisal_sharp_state)//cisim var! { digitalWrite(led, HIGH); Serial.println("cisim var..."); } else//cisim yok! { digitalWrite(led, LOW); Serial.println("cisim yok..."); } } www.elektrovadi.com Sayfa 15 4.2. MOTION SENSÖR (PIR) 4.2.1.Sensör Bilgisi PIR sensörleri cisimlerin yaydığı orta frekanstaki infrared ışınlara duyarlıdır. Sensörden herhangi bir enerji çıkışı olmaz. Bu sebepten dolayı Pasif InfraRed ismini almıştır. Alıcı ve verici gibi bir gereksinimi olmadığı için güvenlik uygulamaları için idealdir. m o 4.2.2.Sensör Nasıl Çalışır .i c d a Pır sensörleri etki alanını genişletmek için Fresnel Lens ile kullanılırlar. Lensten geçen ışınlar sensöre düştükten sonra küçük genlikte bir sinyal oluşturur. Sensör kartı üzerindeki yükselteçler sayesinde sinyal okunabilir bir hale dönüştürülür. Yükseltilmiş sinyal, sensör kartı üzerindeki karşılaştırıcı devrelerde eşik değeri ile karşılaştırılır ve cismin olup olmadığına karar verilir. Karşılaştırıcıların çıkışına göre dijital bir çıkış verilir. v o r t k e l e . 4.2.3.Robotech-10 kartı bağlantısı w w w Dijital I/O DipSwitch konumu www.elektrovadi.com Sayfa 16 4.2.4.Örnek uygulama kodu //pır_detector_deneyi int pir_detector = 2; int led = 13; int pir_detector_state = 0; void setup() { Serial.begin(9600); pinMode(pir_detector, INPUT); } void loop(){ // giriş pinini oku pir_detector_state = digitalRead(pir_detector); if (pir_detector_state)//cisim var! { digitalWrite(led, HIGH); Serial.println("cisim var..."); } else//cisim yok! { digitalWrite(led, LOW); Serial.println("cisim yok..."); } m o .i c d a v o r t k e l e } 4.3. HC-SR04 ULTRASONIC SENSOR 4.3.1.Sensör Bilgisi Ses dalgaları sınıflandırılmasında 20Khz-1Ghz aralığındaki ses sinyalleri ultrasonik ses olarak tanımlanmıştır. HS-SR04 sensörü 40Khz frekansında ultrasonik ses üretmektedir. Ultrasonik Sensörler yüksek frekansta ses dalgası gönderip, cisimden yansıyan dalganın geri gelme süresini hesaplayarak uzaklığına karar verir. . w w w 4.3.2.Sensör Nasıl Çalışır Sensör üzerinde vcc,gnd,trig,echo isminde 4 adet pin bulunur. Sensör 40Khz frekansında bir sinyal üretip 8 adet palsı ses üretecine gönderir. Ses dalgası bir cisme çarpıp geri dönene kadar echo pini HIGH seviyesinde kalır. Kullandığımız işlemci ile echo pininin HIGH seviyesinde kalma süresini ölçerek basit matematiksel işlemlerle cismin uzaklığını bulabiliriz. www.elektrovadi.com Sayfa 17 4.3.3.Robotech-10 kartı bağlantısı Dijital I/O DipSwitch konumu m o .i c d a 4.3.4.Örnek uygulama kodu //ultrasonik int ultrasonik_trigPin= 6; int ultrasonik_echoPin=5; long ultrasonik_duration, ultrasonik_distance; //ultrasonik v o r t k void setup() { e l e Serial.begin(9600); pinMode(ultrasonik_trigPin, OUTPUT); pinMode(ultrasonik_echoPin, INPUT); . w } w void loop() { w digitalWrite(ultrasonik_trigPin, LOW); delayMicroseconds(2); digitalWrite(ultrasonik_trigPin, HIGH); delayMicroseconds(10); digitalWrite(ultrasonik_trigPin, LOW); ultrasonik_duration = pulseIn(ultrasonik_echoPin, HIGH); ultrasonik_distance = (ultrasonik_duration/2) / 29.1; Serial.print("uzaklik="); Serial.print(ultrasonik_distance); Serial.println(" cm"); } www.elektrovadi.com Sayfa 18 5. MOTORLAR 5.1. DC MOTOR 5.1.1.Motor Bilgisi Robotik uygulamalarda sıkça kullanılan bu küçük motorlar, 3-9V arasında rahatça çalışabilirler. Küçük voltajlar motoru fazla etkilemese de, yüksek voltajlar motorun ömrünü kısaltmaktadır. Motorun sunduğu hızı veya torku kullanım amacına göre arttırıp azaltmak için motorların miline küçük metal dişlilerden oluşan dişli kutuları eklenir. Bu dişli kutuları 5:1 oranından 1000:1 oranına kadar geniş bir yelpazede üretilmektedir. m o .i c Motor özellikleri: Çalışma Voltajı: 6V Hız: 350Rpm Boşta Çektiği Akım: 60mA Zorlanma Akımı: 1.5A Gücü: 9W Motor Çapı: 12-10mm Redüktör Çapı: Kare 12x10mm Mil: 3mm D Şaft Ortadan Çıkışlı Mil Uzunluğu: 9mm Uçtan Uca Uzunluk: 36mm Ağırlık: 12 gr d a v o r t k e l e . w w 5.1.2.Motor nasıl çalışır w www.elektrovadi.com Manyetik alan içinde kalmış bir iletken tel üzerinden akım geçirildiğinde iletken tel üzerinde bir kuvvet oluşumu gözlemlenir. DC motorların elde ettiği hareket enerjisi bu temel prensibe bağlıdır. Motorun dönen kısmı olan rotorun üzerinde belli açılarla sarılmış iletkenlerin üzerinden, fırçaların kollektöre temas etmesiyle akım geçirilir. Üzerinden akım geçen iletken, statorun üzerindeki sabit mıknatısların oluşturduğu manyetik alan sayesinde belirli bir yönde kuvvete maruz kalır. Bu işlem sıra ile bütün açı dilimlerindeki sarımlar için gerçekleşir ve sürekli bir dönme sağlanır. Sayfa 19 5.1.3.Robotech-10 kartı bağlantısı m o .i c d a r t k 5.1.4.Örnek uygulama kodu //dc_motor kontrol int mtr_ctrl_1 = 8; int mtr_ctrl_2 = 9; int mtr_pwm = 10; v o e l e . w void setup() { pinMode(mtr_pwm,OUTPUT); pinMode(mtr_ctrl_1,OUTPUT); pinMode(mtr_ctrl_2,OUTPUT); } w w Dijital I/O DipSwitch konumu void loop() { digitalWrite(mtr_ctrl_1,LOW); digitalWrite(mtr_ctrl_2,HIGH); digitalWrite(mtr_pwm,HIGH); delay(1000); digitalWrite(mtr_pwm,LOW); delay(1000); } www.elektrovadi.com Sayfa 20 5.2. SERVO MOTOR 5.2.1.Servo Bilgisi Servo motorlar; DC elektrik motor, sürücü ve kontrol devresi, potansiyometre, dişli çarklar ve hareket kolu gibi sistemleri bir arada bulundururlar. Servo motorlar, giriş olarak verilen açı değeri ile anlık açı değeri arasındaki farklı algılayarak kontrol devresi sayesinde hatayı gideren sistemlerdir. Hassasiyeti ve kolay kullanımı sebebi ile robotik kol uygulamalarında en çok tercih edilen motorlardır. 3.7 gramlık mikro servolardan, 1000 HP’lik devasa boyutlarda servo motorlara kadar geniş bir yelpazede üretilirler. m o SUPER LIGHT 3.7G MICRO SERVO Özellikleri Çalışma Voltajı : 4.8~6.0V Çalışma Akımı : 100mA Çalışma Hızı : 0.12sec/60degree (4.8V) TTork : 0.7kg/cm (4.8V)~0.8kg/cm (6.0V) Sıcaklık Aralığı : -30~+60℃ Servo Tipi : Analog Servo w www.elektrovadi.com v o e l e . w d a r t k 5.2.2.Servo nasıl çalışır w .i c Servo motorların içerisinde hareket sağlamak için DC motor, pozisyon algılamak için potansiyometre, motora güç kazandırmak için redüktör mekanizması ve kontrol için sürücü / mikrodenetleyici bileşenleri bulunur. Sinyal girişinden verilen PWM dalgasının döngü uzunluğuna göre referans açı değeri alınır. Sayfa 21 Kontrol devresi, potansiyometreden alınan açı bilgisi ile sinyal girişinden verilen referans açı değeri arasındaki hatayı yok edecek şekilde DC mtoru çalıştırır ve servo motor kolu istenilen açı değerine gelir. m o .i c 5.2.3.Robotech-10 kartı bağlantısı d a v o r t k e l e . w w w www.elektrovadi.com Dijital I/O DipSwitch konumu Sayfa 22 5.2.4.Örnek uygulama kodu #include <Servo.h> Servo myservo; int srv = 11; int sensorValue = 0; void setup() { myservo.attach(srv);// servo bağlantısı/ } m o void loop() { myservo.writeMicroseconds(500); // set servo to 0-point delay(1000); myservo.writeMicroseconds(1450); // set servo to mid-point delay(1000); myservo.writeMicroseconds(2400); // set servo to 180-point delay(1000); .i c d a v o r t k } e l e . w w w www.elektrovadi.com Sayfa 23
Benzer belgeler
www.elektrovadi.com
Serial.print("uzaklik="); Serial.print(ultrasonik_distance); Serial.println(" cm");
Detaylıkillswich
çok sık şekilde ivmelenme ve yavaşlama işlemlerine maruz kaldıklarından dolayı, maksimum moment değeri anma momentlerinin katlarca fazlası olmalıdır. D.C. servo motorlarda anma momentlerinin aşılma...
Detaylı- cobanoglu
çalışmaya başlamasından bu ana kadar ki geçen zaman. delay (ms) : unsigned long ms tipinde Milisaniye cinsinden gecikme delayMicroseconds(us): Mikrosaniye cinsinden gecikme
Detaylı