mBlock Dersleri-37 mBlock İle Servo Motor Uygulamaları

mBlock 5 serisi ile Arduino uygulamalarına devam ediyoruz. Bu yazımızda mBlock İle Servo Motor Uygulamaları yapacağız. Servo Motor Nedir? Nasıl çalışır? Servo motor iç yapısı nasıldır? Servo motor ile ne kadar yük kaldırılır? Servo motor nerelerde kullanılır? bunlar hakkında bilgilendirme yapacağım.

mBlock programı blok kısmı, devre montaj şeması, devre kurulumu detaylı anlatım ve devre çalışma videosu şu şekildedir.

Servo Motor:SG90 Servo motor

Servo motorlar, 0 ila 180 derece arasında 1 derece hassasiyetle dönebilen motorlardır. DC motorlardan farklı olarak istediğimiz pozisyonda sabit kalacak şekilde tasarlanmış motorlardır. Bu özellikleri nedeniyle birçok projede kullanılmaktadır. Servo motorlar, robot teknolojilerinde en çok kullanılan motor çeşidi olmakla birlikte, RC (Radio Control) uygulamalarda da kullanılmaktadırlar. Uzaktan kumandalı arabamızın direksiyonunda, dronların pervanelerine açı vermede, 3D yazıcılarda ve robot kolların hareket ettirilmesinde sıklıkla kullanılırlar.

Servo Motor Çalışma Prensibi:

Servo Motor İç Yapısı

Servo motorların içerisinde motorun hareketini sağlayan bir DC motor bulunmaktadır. Bu motorun dış kısmında bir dişli mekanizması, potansiyometre ve bir motor sürücü devresi vardır. Potansiyometre, motor milinin dönüş miktarını ölçmektedir. Servo içerisindeki DC motor hareket ettikçe potansiyometre döner ve kontrol devresi motorun bulunduğu pozisyon ile istenilen pozisyonu karşılaştırarak motoru döndürme işlemi yapar. Yani, servo motorlar, diğer motorlar gibi harici bir motor sürücüye ihtiyaç duymadan çalışmaktadırlar. DC motorun ucuna bağlı dişli sisteminin yardımıyla servo mili daha fazla yük kaldırabilmektedir. Bu işlem sırasında servo motorun dönüş hızı da yavaşlamış olur. Kullanılan dişli sistemine göre servo motorların kaldırabileceği yük değişir.

Servo motorların kaldırabileceği yük, tork gücü olarak ifade edilir. Servo motorların torku, motor miline bağlı 1 cm uzunluğundaki çubuğun kaldırabileceği maksimum yük miktarını ifade eder. Arduino için piyasada bulunan servo motorlar genellikle 1.3 kg/cm torka sahiptir. Bu şunu ifade eder. Motor miline bağlı 1 cm uzunluğundaki çubuğun ucuna bağlı yük en fazla 1,3 kilogram olacaktır. 1,3 kilogram üzeri motorun gücü, mili döndürmeye yetmez. Eğer mile bağlı çubuğun uzunluğu 10 cm ise en fazla 130 gram yük kaldırabilirsiniz diyebiliriz.

Servo motorların dönme açıları 180 derece ile sınırlıdır fakat 360 derece çalışma açısına sahip özel amaçlı servo motorlar da vardır. Servo motorlar genellikle 4.8 – 6V gerilim ile çalışmaktadırlar. 7.4V ve daha yüksek gerilimle çalışan servo motorlar da bulunmaktadır.
Motorun yazılımsal olarak dönme açısı, PWM (Pals Genişliği Modülasyonu) adı verilen özel kare dalga sinyalleri ile belirlenir. Kare dalga 1 konumunda iken (5 Volt) motora güç gider. 0 konumuna geldiğinde ise (o volt) motora güç gitmez ve olduğu konumda sabit kalır. Kara dalga sinyalin 5 Volt süresi, 1 ms ile 2 ms arasındaki değişim gösterdiğinde servo motorda bu değişim 0° ile 180° arasındaki açıya denk gelmektedir. Servo motor boşta enerjili iken 10 mA, hareket hâlindeyken 100 mA ila 250 mA arası akım çeker.Servo Motor PWM Sinyal Seviyeleri ve Motor Dönme Açıları

Servo motorun üç adet bağlantı kablosu bulunmaktadır. Bu kablolar genellikle kırmızı, turuncu (bazen sarı) ve kahverengi (bazen siyah) olmaktadır. Kırmızı renk kablo Arduino’nun 5V pinine, kahverengi kablo Arduino’nun GND pinine, turuncu kablo ise Arduino’nun PWM çıkışları olan 3, 5, 6, 9, 10 veya 11 numaralı pinlerinden birisine bağlanır.

Servo Motor Bağlantı Uçları

SERVO MOTORU 90 DERECE DÖNDÜRME:

MBLOCK PROGRAMI BLOK ŞEMASI:

mBlock Servo Motoru 90 Derece Döndürme   

DEVRENİN ÇALIŞMASI:

Devreye enerji verdiğimizde servo motor bulunduğu konumdan 90 derece hareket edecektir. Burada 90 değeri yerine 0 -180 arasında sayı değerleri girerek devrenin çalışmasını bu şekilde de test edebilirsiniz.

DEVRE MONTAJ ŞEMASI:

mBlock İle Servo Motor Uygulamaları - Servo Motor Arduino Bağlantısı

DEVRE KURULUMU:

Malzemeler:

Arduino Uno
1 adet SG90 Servo Motor
3 adet iki ucu erkek jumper kablo

Servo motorun kırmızı uç çıkışına (+), jumper kablo bağlanarak kablonun diğer ucu Arduino’nun +5 Volt pinine, servo motorun kahverengi uç çıkışına (-), jumper kablo bağlanarak kablonun diğer ucu Arduino’nun GND pinine, servo motorun turuncu uç çıkışına (data) jumper kablo bağlanarak kablonun diğer ucu Arduino’nun 9 numaralı PWM dijital girişine bağlanarak devre tamamlanır.

SERVO MOTORU 0 – 90 – 180 DERECE DÖNDÜRME

MBLOCK PROGRAMI BLOK ŞEMASI:

mBlock Servo Motoru 0 - 90 - 180 Derece Döndürme   

DEVRENİN ÇALIŞMASI:

Devreye enerji verdiğimizde servo motor 1 sn aralıklarla 0 – 90 – 180 derece hareket edecektir.

DEVRE MONTAJ ŞEMASI:

Devre bağlantı şeması olarak yukarıdaki devre şemasını kullanabilirsiniz.

SERVO MOTORU 180 DERECE SAĞA SOLA DÖNDÜRME

MBLOCK PROGRAMI BLOK ŞEMASI:

mBlock Servo Motoru 180 Derece Sağa Sola Döndürme   

Blok şemasında motor isimli bir değişken tanımladık. Değişken nasıl tanımlanır? öğrenmek istiyorsanız aşağıdaki bağlantıyı tıklayıp inceleyebilirsiniz. 

https://egitim.ahmetcandemir.com.tr/mblock-dersleri-13-mblock-degisken-olusturma/

DEVRENİN ÇALIŞMASI:

Devreye enerji verdiğimizde servo motor 30 milisaniye aralıklarla 0’dan 180 dereceye 1′ er derecelik açılarla hareket edecek ve tekrar 180 dereceden 0’a kadar 1′ er derecelik açılarla ters hareketine devam edecektir.

DEVRE MONTAJ ŞEMASI:

Devre bağlantı şeması olarak yukarıdaki devre şemasını kullanabilirsiniz.

SERVO MOTORU POTANSİYOMETRE İLE 180 DERECE DÖNDÜRME

MBLOCK PROGRAMI BLOK ŞEMASI:

mBlock Servo Motoru Potansiyometre İle 180 Derece Sağa Sola Döndürme   

mBlock Canlı Mod Servo Motoru Potansiyometre İle Döndürme Devresi

Devreyi Canlı modda kurup aynı zamanda sensörün durumunu sahne üzerinde pandaya yazılı olarak söyletmek istersek yukarıdaki blok şemasını Aygıtlar sekmesinde kurabilirsiniz. Aygıtlar sahnesinde motor değişkeninden aldığımız değeri yükleme modu iletisi bloğu ile kukla sahnesine gönderiyoruz. Kukla sahnesinde ise aygıtlar sahnesinden gelen değeri yükleme modu mesajı ile Panda üzerindeki değer göstergesinden okuyoruz.

Aşağıdaki blok şemasını ise Kuklalar sahnesinde oluşturacağız.

mBlock Servo Motoru Potansiyometre İle 180 Derece Sağa Sola Döndürme Kuklalar

Daha sonra Aygıtlar sahnesine gelerek kodları Arduino kartına gönderip kukla üzerinden gelen veriyi Panda üzerinde okuyabiliriz.

mBlock Servo Motoru Potansiyometre İle 180 Derece Sağa Sola Döndürme Sahne

Devrede motor değişkeninden aldığımız değeri 5.7 sayısına böldük. Bunun anlamı şudur. Potansiyometreden analog değer olarak 0-1023 arasında bir değer alırız. Servo motoru ise 0 -180 derece arasında döndürmek istiyoruz. 1023 değerini 180 değerine indirgememiz gerekiyor. 1023 değeri, 180 değerinin yaklaşık 5.7 katı olduğu için burada 1023 değerini 5.7 değerine bölerek 0 -180 derece arasında bir değer elde etmiş oluruz.

Blok şemasında motor isimli bir değişken tanımladık. Değişken nasıl tanımlanır? öğrenmek istiyorsanız aşağıdaki bağlantıyı tıklayıp inceleyebilirsiniz. 

https://egitim.ahmetcandemir.com.tr/mblock-dersleri-13-mblock-degisken-olusturma/

DEVRENİN ÇALIŞMASI:

Devrede potansiyometreyi bir yöne çevirdiğimizde servo motor 0’dan 180 dereceye kadar hareket edecektir. Potansiyometreyi ters yönde çevirdiğimizde ise servo motor 180 dereceden 0’a kadar hareket edecektir.

DEVRE MONTAJ ŞEMASI:

Servo Motor Potansiyometre İle Kontrolü

DEVRE KURULUMU:

Malzemeler:

Arduino Uno
1 adet SG90 Servo Motor
1 adet 10 KΩ potansiyometre
8 adet iki ucu erkek jumper kablo

Breadboard üzerinde boş bir alana potansiyometre yerleştirilir. Potansiyometrenin baştaki uçlarından bir tanesi breadboard’un alt şeridindeki artı bağlantı sırasına bağlanır. Potansiyometrenin diğer baştaki ucu, breadboard’un alt şeridindeki eksi bağlantı sırasına bağlanır. Potansiyometrenin orta ucu ise, Arduino üzerinde yer alan analog girişlerden A0 girişine bağlanır.

Servo motorun kırmızı uç çıkışına (+), jumper kablo bağlanarak kablonun diğer ucu breadboard’un alt şeridindeki artı bağlantı sırasına bağlanır. Servo motorun kahverengi uç çıkışına (-), jumper kablo bağlanarak kablonun diğer ucu breadboard’un alt şeridindeki eksi bağlantı sırasına bağlanır. Servo motorun turuncu uç çıkışına (data) jumper kablo bağlanarak kablonun diğer ucu Arduino’nun 9 numaralı PWM dijital girişine bağlanır. Breadboard artı şeridine bir kablo bağlanarak kablonun diğer ucu Arduino’nun +5 Volt pinine, breadboard eksi şeridine bir kablo bağlanarak kablonun diğer ucu Arduino’nun GND pinine bağlanarak devre tamamlanır.

mBlock İle Servo Motor Uygulamaları

Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda devremizin kurulumunu izleyebilirsiniz. Ayrıca kanalımızda mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.

https://www.youtube.com/@candemirahmet 

Oval@3x 2

Bu ipuçlarını kaçırmayın!

Kayıt butonuna bastıktan sonra e-postanız gelen kutunuza giderek gelen e-postayı onaylamayı unutmayınız. Gelen kutusunda görülmeyen postalar için Önemsiz -Spam klasörünü kontrol edebilirsiniz. Eğer kayıt e-postası ulaşmadıysa iletişim menüsünden bu durumu bildirebilirsiniz.

Yazan: Ahmet Candemir
Teknik Öğretmen - Cisco Instructor - Microsoft MCP - ECDL MS Office Advanced Expert - Adobe Eğitmeni - MEB Fatih Projesi Koordinatörü - Robotik Kodlama Eğitmeni