T.C. RC SERVO MOTOR KONTROLÜ



Benzer belgeler
Yazılan programın simülasyonu için; (A<B), (A>B) ve (A=B) durumunu sağlayacak 2 şer tane değeri girerek modelsimde oluşan sonuçları çiziniz.

2019

VHDL. Ece Olcay Güneş & S. Berna Örs

FPGA ile Gömülü Sistem Tasarımına Giriş

Servus Latince kökenli,

Tek Vuruşluk Đşlemci. -- Company : Ege Universitesi, Elektrik-Elektronik Mühendisliği

Şekil1. Geri besleme eleman türleri

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM223 SAYISAL MANTIK TASARIMI : QUARTUS II TASARIM ORTAMI: TEMEL VHDL KULLANIMI

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları / Dr. Serkan DİŞLİTAŞ

EK A VHDL DONANIM TANIMLAMA DİLİ

ABSOLUTE ROTARY ENKODER Tek Turlu Absolute Enkoder, Manyetik Ölçüm GENEL ÖZELLİKLER

FPGA İLE UYGULAMA ÖRNEKLERİ

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

Robotik AKTUATÖRLER Motorlar: Çalışma prensibi

İÇİNDEKİLER ASD-B2 Serisi Sürücü Konnektör ve Terminal Bağlantıları

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

NES DC.DRV.200 Tanıtım Dokümanı

SERVOMOTOR HIZ VE POZİSYON KONTROLÜ

ELEKTRİKSEL EYLEYİCİLER

SÜLEYMAN DEMİREL ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ MEKATRONİK EĞİTİMİ BÖLÜMÜ BİLGİSAYAR DESTEKLİ İMALAT SERVO VE STEP MOTORLAR

ABSOLUTE ROTARY ENKODER Çok Turlu Absolute Enkoder, Manyetik Ölçüm GENEL ÖZELLİKLER

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Digital Design HDL. Dr. Cahit Karakuş, February-2018

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Çizgi İzleyen Robot Yapımı

Altera ile proje hazırlama. Quarturs programı üzerinde Altera De0 kartı için proje hazırlama

Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B)

Deney 10: Analog - Dijital Dönüştürücüler (Analog to Digital Converters - ADC) Giriş

FPGA İLE UYGULAMA ÖRNEKLERİ

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

FRENIC MULTİ ÖZET KULLANIM KLAVUZU

DC motorların sürülmesi ve sürücü devreleri

FRENIC MEGA ÖZET KULLANIM KLAVUZU

DENEY 10-A : PIC 16F877 ile DARBE GENİŞLİK MODÜLASYONU (PWM) SİNYAL KONTROL UYGULAMASI

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

KONTROL SİSTEMLERİ TASARIMI LABORATUARINA GİRİŞ

İçindekiler. Sinyal İşleme Donanımları FPGA FPGA ile Tasarım VHDL Uygulama Gerçekleştirme Kart Üzerinde Çalıştırma

FRENIC MEGA ÖZET KULLANIM KLAVUZU

Online teknik sayfa SEM70-HN025AK22 SES/SEM70 MOTOR FEEDBACK SISTEMLERI ROTATIF HIPERFACE

FPGA ile Gömülü Sistem Tasarımına Giriş Bilgisayar Bil. Müh. Selçuk BAŞAK

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

ABSOLUTE ROTARY ENCODER

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

Analog Sayısal Dönüşüm

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

IR Modülü. Kart Özellikleri Çalısma Frekansı: 38KHz Mesafe: 6 Metre Çalısma Voltajı: 3.3-5V Kart Boyutları: 20 mm x 20 mm

OTOMATİK KONTROL SİSTEMLERİ TEMEL KAVRAMLAR VE TANIMLAR

PULSE ÇIKIŞI İLE SERVO MOTOR KONTROLÜ. Giriş PLS2 Komutunun Açıklanması CP1H ve Smart Step 2 Kablo Bağlantıları Sonuç

Y Fiber Optik Haberleşme Eğitim Seti Fiber Optic Communication Training Set

Eyleyiciler. July 2, 2001

C-Serisi PLC İleri Seviye Eğitim

Accurax G5 Serisi Dahili Pozisyonlama

Bölüm 13 FSK Modülatörleri.

Makina sürücüleri uygulamaları ACS150- ACS355. LV AC drives RoadShow ABB Oy - 1 -

Proje Teslimi: güz yarıyılı ikinci ders haftasında teslim edilecektir.

FPGA KULLANILARAK DİŞ PROTEZ PİŞİRME FIRINLARININ ESNEK VE HASSAS DENETİMİNİ SAĞLAYAN BİR KONTROL KARTININ TASARIMI VE GERÇEKLEŞTİRİLMESİ

Fatih Üniversitesi Elektrik ve Elektronik Mühendisliği Bölümü EEM 316 Haberleşme I LAB SINAVI DARBE GENLİK MODÜLASYONU (PWM)

Bölüm 9 A/D Çeviriciler

ÖZEL EGE LİSESİ FİLTREN DÖNDÜKÇE ELEKTRİK ELDE ET

ZM-2H2080 İki Faz Step. Motor Sürücüsü. Özet

BALIKESİR ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ S EĞİTİM SETİ DENEY KİTAPÇIĞI

DELTA PLC EĞİTİM SETİ KİTAPÇIĞI

Online teknik sayfa AFM60E-THAK AFS/AFM60 SSI MUTLAK ENKODER

FUJI MICRO HIZLI DEVREYE ALMA KILAVUZU

SSM - 4 ORANSAL SERVOMOTOR SSM 4 TANITIM BİLGİLERİ :

SABİT MIKNATISLI MOTORLAR ve SÜRÜCÜLERİ

SANAEM RFQ (SPP) HIZLANDIRICISI GÜÇ KAYNAKLARI VE ÖLÇME KUTUSU KONTROL SİSTEMİ. Aydın ÖZBEY İstanbul Üniversitesi

ZM-2H504 İki Faz Step. Motor Sürücüsü. Özet

ALİ ÇETİNKAYA Tuğba SARAY DERS DANIŞMANI PROF. DR. MEHMET BAYRAK

R-2R LADDER SWITCHES 8-BIT DAC SUCCESSIVE APPROXIMATION REGISTER 3-STATE BUFFERS

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

Mentor II DC sürücüler için Pratik Devreye Alma Klavuzu

İ İŞİ BÖLÜM ROBOTİK KODLAMA ÖĞRENME ALANLARI BASİT ELEKTRONİK DEVRELERE GİRİŞ AKILLI CİHAZ TASARIMINA GİRİŞ ROBOTİĞE GİRİŞ

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ

ELK2016 SAYISAL TASARIM DERSİ LABORATUVARI DENEY NO: 4 DENEYİN ADI: JK, RS, T VE D TİPİ FLİP-FLOPLARIN İNCELENMESİ

ASDA-B SERĐSĐ SERVOLARDA DĐJĐTAL GĐRĐŞLER. -Örnek Giriş Şeması- SON = 01 (SERVO ON)

TECO N3 SERİSİ HIZ KONTROL CİHAZLARI

Servo Motor ile 2-Eksenli Robot Kolunun Kontrolü

ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY 6 ANALOG/DİGİTAL DÖNÜŞTÜRÜCÜ. Grup Numara Ad Soyad RAPORU HAZIRLAYAN:

USB 10 IN-OUT. Usb portundan, 10 adet giriş ve çıkış yapabilen, Opto izolasyonlu digital otomasyon devresi.

ROBOTECH-10 ARDUINO UYGULAMA KARTI. SENSÖR ve ROBOT TEKNOLOJİLERİ GELİŞTİRME KARTI

Programlanabilir Devreler

İçerik. Ürün no.: SLS46CI-70.K28-M12 Güvenlik tek ışın fotoelektrik sensör verici

Deney 6: Ring (Halka) ve Johnson Sayıcılar

METSİM SİSTEM MÜHENDİSLİK

ANKARA ÜNİVERSİTESİ GAMA MESLEK YÜKSEKOKULU ELEKTRİK VE ENERJİ BÖLÜMÜ ALTERNATİF ENERJİ KAYNAKLARI TEKNOLOJİSİ ELEKTRİK MAKİNALARI 12.

0 Giriş kontağı ile Servo On 1 Giriş kontağı aktif değil Powerda Servo On

Bölüm 16 CVSD Sistemi

ANAHTARLI RELÜKTANS MOTORUN SAYISAL HIZ KONTROLÜ

İçindekiler. Teknik Özellikler 6. Parametre Tablosu 8. Kullanıcı Arabirimi 10. Montaj 16. Ürün Seçimi 20

CEP TELEFONU ĐLE SĐSTEMĐN UZAKTAN KONTROLÜ REMOTE CONTROL SYSTEM WĐTH MOBĐLE PHONE

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

İçerik. Ürün no.: SLE46C-40.K2/4P-M12 Güvenlik tek ışın fotoelektrik sensör alıcı

CW ve CCW yönü için Hız preset devri (rpm)

Robot Bilimi. Robot Aktüatörler (Çıkış Elemanları, Uygulayıcılar) Öğr. Gör. M. Ozan AKI. r1.0

Bölüm 1 Ürüne Genel Bakış

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ (TÜRKÇE) BLGM223 SAYISAL MANTIK TASARIMI

Transkript:

T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ RC SERVO MOTOR KONTROLÜ İBRAHİM ALİ METİN BİLECİK 30 Mart 2015

T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ RC SERVO MOTOR KONTROLÜ İBRAHİM ALİ METİN BİLECİK 30 Mart 2015

ÖZET Ödevin Amacı Bu projemizde, FPGA kiti ile 1 adet PWM modul tasarlayacağız. PWM modülümüzü, RC Servo motor sürmek için kullanacağız. RC Servo motorlar model hobide kullanılan motorlardır.rc (radio Control) Hobi 2 yıldır ilgilendiğim birçok model kullandığım tavsiye edebileceğim çok güzel bir uğraştır. Ödevin Kapsamı Projem FPGA kitinde pwm modülü oluşumunu, kendi içinde üretilen clock sinyalinin motorun hareketinde kullanımı hakkında ki genel yapıyı içermektedir. Sonuçlar Sonuç olarak FPGA kitimize bağlı olan servo motorlarımız belirli bir açı süpürmektedir. ii

ABSTRACT Homework Objective In this project, one with FPGA device we designed PWM module. Our PWM module, we will use the RC servo motor to drive. Scope of Homework My project FPGA device formation PWM module contains general structure on the use of clock signals generated by the movement of the engine itself. Results In conclusion, our servo motor connected to the FPGA device sweeps a certain angle. iii

İçindekiler ÖZET ABSTRACT ŞEKİL LİSTESİ ii iii v 1 RC SERVO MOTOR 1 1.1 Servo Motorun Özellikleri......................... 2 2 VHDL ile SERVO MOTOR KONTROLÜ 3 3 ALTERA ile RC SERVO BAĞLANTILARIM 6 4 DENEYSEL SONUÇLAR 7 5 EKLER 8 5.1 RC Servo Motor Kontrol Kodlarım..................... 8 5.1.1 pwmtop.vhd............................. 8 5.1.2 clk64khz.vhd............................ 8 5.1.3 pwm.vhd.............................. 9 6 KAYNAKLAR 11 iv

Şekil Listesi 1 Servo Motor................................. 1 2 PWM Modülü................................ 1 3 Servo Motor Açısal Pozisyonu....................... 2 4 Vhdl Ana Ekranımız............................ 3 5 Vhdl Clock Sinyali............................. 4 6 Vhdl Pwm Üretici.............................. 4 7 Pin Planer.................................. 5 8 Servo Motor Bağlantıları.......................... 6 9 Vcc, GND ve PWM bağlantısı....................... 6 v

1 RC SERVO MOTOR R/C Servo Motor dediğimiz şey dc akımla çalışan ve istenilen açı aralığında dönen motorardır. R/C, Radio Controlled anlamına gelir. Servco motorlar DC Motorların temel mantığını kullanırlar. Fakat buna karşın elektronik pozisyon kontrol devresi ve elektronik şaft gibi ekstra bileşenleri vardır. Servo motor şaftın kaç derece ve hangi hızda döndüğünü algılar ve girişe bunu geri besleme olarak verir. Motorun pozisyonunu algılamak için rotora takılı bir potansiyometre bulunur. Bu potansiyometreden gelen analog değer ile inputtaki sinyal karşılaştırılır ve output olarak motorun yeni pozisyonu kontrol edilir.[1] Şekil 1: Servo Motor R/C servo motorun pozisyonunu kontrol etmek için PWM sinyali kullanılır. Motoru un inputuna gelen PWM sinyalinin görev çevrimine(duty cycle) göre motor, pozisyon değiştirir. R/C Servo Motorlarda pozisyon açısal derece esasına göre kontrol edilir. Pozisyon kontrol devresi PWM sinyalinin görev çevrimine göre döneceği dereceyi hesaplar. PWM sinyalinin çevrim süresi aynı kaldığı müddetçe motor pozisyon değiştirmez. Şekil 2: PWM Modülü 1

Yalnız önemli olan nokta şudur ki; servo motorda dönmenin gerçekleşebilmesi için PWM siyalinin frekansı 50 Hz olmalıdır. Yani kontrol sinyalinin periodu 20 ms olmalıdır. 0 ve 180 derece arasındaki pozisyonlar PWM sinyalinin görev çevrimi süresinin 1 ms ile 2 ms arasında gerçekleşir. PWM sinyalinin 1 ms görev çevrim süresi için servo motor 0 derecelik pozisyondadır. Şemadan da görüldüğü gibi 0.5 ms lik ve 2 ms lik çevrim sürelerinde servo motorun pozisyonu 90 derece değişir. Servo motorların supply voltajı 4.5 volt ile 6 volt arasında değişir. Bu voltaj değerleri motorun tork una göre değişkenlik gösterir. R/C servo motorların digital olanlarıda vardır. Bu motorlar normale göre daha hassas açı ile dönerler. Şekil 3: Servo Motor Açısal Pozisyonu 1.1 Servo Motorun Özellikleri - Diğer motor türlerine göre daha hassastır. - Açısal dönme yöntemi (yani encoder) ile çalışmaktadır. - Bir sürücü ile kontrol edilirler. - Endüstride çok yaygın bir şekilde kullanılmaktadır. - Mikrobilgisayarlar tarafından kolayca kontrol edilebilirler. - Dönme esnasında oluşan hata sadece adım hatasıdır. 2

- Hızı programlama yoluyla ayarlanabilir. Uygulama alanlarına örnek verecek olursak CNC makineler, robot kolları, endüstriyel taşıma sistemlerini örnek verebiliriz. Servo motorlar da çıkış; mekaniksel konum, hız veya ivme gibi parametrelerin kontrol edildiği bir düzenektir. 2 VHDL ile SERVO MOTOR KONTROLÜ Quartus2 11.0 programını kullanarak Vhdl programlama dilince kodlamalarımızı gerçekleştirdik.[?] Şekil 4: Vhdl Ana Ekranımız burada diger vhdl sayfalarında kodladıgımız clock sinyalini ve pwm modül kodlamalarımız çağırıyoruz. 3

Şekil 5: Vhdl Clock Sinyali Bu vhdl kodlarımızda devremizin çalışması için kendi içinde gerekli olan 50Mhz lik clock sinyalinin çalışması için gereli kodlar yazılıyor. Şekil 6: Vhdl Pwm Üretici Programımızda, peryodu 20 ms olan bir adet PWM sinyali üretmemiz gerekecek. Biz Geliştirme bourdumuzda 50 MHz lik (20 ns) bir clk sinyali kullanacağımız. 20 ms periodunda bir sinyal üretmek için, programımızda 1 adet counter değişkeni tanımlayacağız 4

ve Counter ın üst sınırını ise (20ms/20ns) 1000 000 olarak belirleyeceğiz. Şekil 7: Pin Planer burada ise kitimizde ki giriş ve çıkışlarımızı ilgili pinlere atama işlemi gerçekleştiriliyor. Kodlama ve pin atama işlemimizi bu şekilde gerçekleştirdiktan sonra programımızın çalışmasını test edelim. 5

3 ALTERA ile RC SERVO BAG LANTILARIM S ekil 8: Servo Motor Bag lantıları S ekil 9: Vcc, GND ve PWM bag lantısı 6

4 DENEYSEL SONUÇLAR Çalışmamın uygulamasını https://www.youtube.com/watch?v=cqo3goueqei linkindeki kanalımdan izleyebilirsiniz. 7

5 EKLER 5.1 RC Servo Motor Kontrol Kodlarım 5.1.1 pwmtop.vhd library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_unsigned.all; ----------------------------------------------------- entity pwm_top is port( clr : in std_logic; clk : in std_logic; duty : in std_logic_vector (7 downto 0); pwm : out std_logic ); end pwm_top; ----------------------------------------------------- architecture pwm_top of pwm_top is signal new_clock : std_logic; begin clk_div: entity work.clk64khz port map( clk => clk, reset => 0, clk_out => new_clock); Pulse: entity work.pwm port map( clr => clr, clk => new_clock, duty => duty, period => "11001000", pwm => pwm); end pwm_top; 5.1.2 clk64khz.vhd library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity clk64khz is Port ( clk : in STD_LOGIC; reset : in STD_LOGIC; clk_out: out STD_LOGIC ); end clk64khz; architecture Behavioral of clk64khz is signal temporal: STD_LOGIC; signal counter : integer range 0 to 4999 := 0; 8

begin freq_divider: process (reset, clk) begin if (reset = 1 ) then temporal <= 0 ; counter <= 0; elsif rising_edge(clk) then if (counter = 4999) then temporal <= NOT(temporal); counter <= 0; else counter <= counter + 1; end if; end if; end process; clk_out <= temporal; end Behavioral; 5.1.3 pwm.vhd library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_unsigned.all; ----------------------------------------------------- entity pwm is port( clr : in std_logic; clk : in std_logic; duty : in std_logic_vector (7 downto 0); period : in std_logic_vector (7 downto 0); pwm : out std_logic ); end pwm; ----------------------------------------------------- architecture pwm of pwm is signal count : std_logic_vector(7 downto 0); begin cnt: process(clk, clr) -- 4 bit counter begin if clr = 1 then count <= "00000000"; elsif clk event and clk = 1 then if count = period -1 then count <= "00000000"; else count <= count +1; end if; end if; end process cnt; pwmout: process(count, duty) begin if count < duty then 9

pwm <= 1 ; else pwm <= 0 ; end if; end process pwmout; end pwm; 10

6 KAYNAKLAR Kaynaklar [1] http://elektroprog.org/?p=5638 11