SlideShare a Scribd company logo
T.C.
B˙ILEC˙IK ¸SEYH EDEBAL˙I ÜN˙IVERS˙ITES˙I
MÜHEND˙ISL˙IK FAKÜLTES˙I
B˙ILG˙ISAYAR MÜHEND˙ISL˙I ˘G˙I BÖLÜMÜ
RC SERVO MOTOR KONTROLÜ
˙IBRAH˙IM AL˙I MET˙IN
B˙ILEC˙IK
30 Mart 2015
T.C.
B˙ILEC˙IK ¸SEYH EDEBAL˙I ÜN˙IVERS˙ITES˙I
MÜHEND˙ISL˙IK FAKÜLTES˙I
B˙ILG˙ISAYAR MÜHEND˙ISL˙I ˘G˙I BÖLÜMÜ
RC SERVO MOTOR KONTROLÜ
˙IBRAH˙IM AL˙I MET˙IN
B˙ILEC˙IK
30 Mart 2015
ÖZET
Ödevin Amacı
Bu projemizde, FPGA kiti ile 1 adet PWM modul tasarlayaca˘gız. PWM modülümüzü, RC
Servo motor sürmek için kullanaca˘gız. RC Servo motorlar model hobide kullanılan mo-
torlardır.RC (radio Control) Hobi 2 yıldır ilgilendi˘gim birçok model kullandı˘gım tavsiye
edebilece˘gim çok güzel bir u˘gra¸stır.
Ödevin Kapsamı
Projem FPGA kitinde pwm modülü olu¸sumunu, 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˘glı 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
˙Içindekiler
ÖZET ii
ABSTRACT iii
¸SEK˙IL L˙ISTES˙I 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 ˘GLANTILARIM 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
¸Sekil 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˘glantıları . . . . . . . . . . . . . . . . . . . . . . . . . . 6
9 Vcc , GND ve PWM ba˘glantısı . . . . . . . . . . . . . . . . . . . . . . . 6
v
1 RC SERVO MOTOR
R/C Servo Motor dedi˘gimiz ¸sey dc akımla çalı¸san ve istenilen açı aralı˘gında dönen moto-
rardır. R/C , Radio Controlled anlamına gelir. Servco motorlar DC Motorların temel man-
tı˘gını kullanırlar. Fakat buna kar¸sın elektronik pozisyon kontrol devresi ve elektronik ¸saft
gibi ekstra bile¸senleri vardır. Servo motor ¸saftın kaç derece ve hangi hızda döndü˘günü al-
gılar ve giri¸se bunu geri besleme olarak verir. Motorun pozisyonunu algılamak için rotora
takılı bir potansiyometre bulunur. Bu potansiyometreden gelen analog de˘ger ile inputtaki
sinyal kar¸sıla¸stırılır ve output olarak motorun yeni pozisyonu kontrol edilir.[1]
¸Sekil 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˘gi¸s-
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˘gi dereceyi hesaplar. PWM
sinyalinin çevrim süresi aynı kaldı˘gı müddetçe motor pozisyon de˘gi¸stirmez.
¸Sekil 2: PWM Modülü
1
Yalnız önemli olan nokta ¸sudur ki; servo motorda dönmenin gerçekle¸sebilmesi 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¸sir. PWM sinyalinin 1 ms görev çevrim süresi için servo motor
0 derecelik pozisyondadır. ¸Semadan da görüldü˘gü gibi 0.5 ms lik ve 2 ms lik çevrim
sürelerinde servo motorun pozisyonu 90 derece de˘gi¸sir.
Servo motorların supply voltajı 4.5 volt ile 6 volt arasında de˘gi¸sir. Bu voltaj de˘gerleri
motorun tork’una göre de˘gi¸skenlik gösterir. R/C servo motorların digital olanlarıda vardır.
Bu motorlar normale göre daha hassas açı ile dönerler.
¸Sekil 3: Servo Motor Açısal Pozisyonu
1.1 Servo Motorun Özellikleri
- Di˘ger motor türlerine göre daha hassastır.
- Açısal dönme yöntemi (yani encoder) ile çalı¸smaktadır.
- Bir sürücü ile kontrol edilirler.
- Endüstride çok yaygın bir ¸sekilde kullanılmaktadır.
- Mikrobilgisayarlar tarafından kolayca kontrol edilebilirler.
- Dönme esnasında olu¸san 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¸sıma sistemlerini örnek verebiliriz. Servo motorlar da çıkı¸s; mekaniksel konum, hız veya
ivme gibi parametrelerin kontrol edildi˘gi bir düzenektir.
2 VHDL ile SERVO MOTOR KONTROLÜ
Quartus2 11.0 programını kullanarak Vhdl programlama dilince kodlamalarımızı gerçekle¸stirdik.[?]
¸Sekil 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˘gırıyoruz.
3
¸Sekil 5: Vhdl Clock Sinyali
Bu vhdl kodlarımızda devremizin çalı¸sması için kendi içinde gerekli olan 50Mhz’lik clock
sinyalinin çalı¸sması için gereli kodlar yazılıyor.
¸Sekil 6: Vhdl Pwm Üretici
Programımızda, peryodu 20 ms olan bir adet PWM sinyali üretmemiz gerekecek.
Biz Geli¸stirme bourdumuzda 50 MHz’lik (20 ns) bir clk sinyali kullanaca˘gımız. 20 ms pe-
riodunda bir sinyal üretmek için, programımızda 1 adet counter de˘gi¸skeni tanımlayaca˘gız
4
ve Counter’ın üst sınırını ise (20ms/20ns) 1000 000 olarak belirleyece˘giz.
¸Sekil 7: Pin Planer
burada ise kitimizde ki giri¸s ve çıkı¸slarımızı ilgili pinlere atama i¸slemi gerçekle¸stiriliyor.
Kodlama ve pin atama i¸slemimizi bu ¸sekilde gerçekle¸stirdiktan sonra programımızın ça-
lı¸smasını test edelim.
5
3 ALTERA ile RC SERVO BA ˘GLANTILARIM
¸Sekil 8: Servo Motor Ba˘glantıları
¸Sekil 9: Vcc , GND ve PWM ba˘glantısı
6
4 DENEYSEL SONUÇLAR
Çalı¸smamı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

More Related Content

What's hot

Thesis presentation on inverted pendulum
Thesis presentation on inverted pendulum Thesis presentation on inverted pendulum
Thesis presentation on inverted pendulum
Nowab Md. Aminul Haq
 
Ingeniería de control: análisis del lugar geométrico de la raíces
Ingeniería de control: análisis del lugar geométrico de la raícesIngeniería de control: análisis del lugar geométrico de la raíces
Ingeniería de control: análisis del lugar geométrico de la raíces
SANTIAGO PABLO ALBERTO
 
El método del lugar de las raíces
El método del lugar de las raícesEl método del lugar de las raíces
El método del lugar de las raíces
Brady Martinez
 
Método Denavit-Hartenberg
Método   Denavit-HartenbergMétodo   Denavit-Hartenberg
Método Denavit-Hartenberg
Raquel Torres
 
Seccion 3.1 Transformada Z bilateral
Seccion 3.1 Transformada Z bilateralSeccion 3.1 Transformada Z bilateral
Seccion 3.1 Transformada Z bilateral
Juan Palacios
 
Aplicações Assíncronas no Android com Coroutines e Jetpack
Aplicações Assíncronas no Android com Coroutines e JetpackAplicações Assíncronas no Android com Coroutines e Jetpack
Aplicações Assíncronas no Android com Coroutines e Jetpack
Nelson Glauber Leal
 
laplace transform and inverse laplace, properties, Inverse Laplace Calculatio...
laplace transform and inverse laplace, properties, Inverse Laplace Calculatio...laplace transform and inverse laplace, properties, Inverse Laplace Calculatio...
laplace transform and inverse laplace, properties, Inverse Laplace Calculatio...
Waqas Afzal
 
STate Space Analysis
STate Space AnalysisSTate Space Analysis
STate Space Analysis
Hussain K
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Amr E. Mohamed
 
Design of FFT Processor
Design of FFT ProcessorDesign of FFT Processor
Design of FFT Processor
Rohit Singh
 
Parseval's Theorem
Parseval's TheoremParseval's Theorem
Parseval's Theorem
COMSATS Abbottabad
 
Lec 4 design via frequency response
Lec 4 design via frequency responseLec 4 design via frequency response
Lec 4 design via frequency response
Behzad Farzanegan
 
PLC: Programación y Automatización de PLC Siemens S7-200
PLC: Programación y Automatización de PLC Siemens S7-200PLC: Programación y Automatización de PLC Siemens S7-200
PLC: Programación y Automatización de PLC Siemens S7-200
SANTIAGO PABLO ALBERTO
 
Top 10 RxJs Operators in Angular
Top 10 RxJs Operators in Angular Top 10 RxJs Operators in Angular
Top 10 RxJs Operators in Angular
Jalpesh Vadgama
 
Membangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvcMembangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvc
Eko Kurniawan Khannedy
 
State equations for physical systems
State equations for physical systemsState equations for physical systems
State equations for physical systemsSarah Krystelle
 
Block Reduction Method
Block Reduction MethodBlock Reduction Method
Block Reduction Method
Smit Shah
 
The Controller Design For Linear System: A State Space Approach
The Controller Design For Linear System: A State Space ApproachThe Controller Design For Linear System: A State Space Approach
The Controller Design For Linear System: A State Space Approach
Yang Hong
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Amr E. Mohamed
 

What's hot (20)

Thesis presentation on inverted pendulum
Thesis presentation on inverted pendulum Thesis presentation on inverted pendulum
Thesis presentation on inverted pendulum
 
Ingeniería de control: análisis del lugar geométrico de la raíces
Ingeniería de control: análisis del lugar geométrico de la raícesIngeniería de control: análisis del lugar geométrico de la raíces
Ingeniería de control: análisis del lugar geométrico de la raíces
 
El método del lugar de las raíces
El método del lugar de las raícesEl método del lugar de las raíces
El método del lugar de las raíces
 
Método Denavit-Hartenberg
Método   Denavit-HartenbergMétodo   Denavit-Hartenberg
Método Denavit-Hartenberg
 
Seccion 3.1 Transformada Z bilateral
Seccion 3.1 Transformada Z bilateralSeccion 3.1 Transformada Z bilateral
Seccion 3.1 Transformada Z bilateral
 
Aplicações Assíncronas no Android com Coroutines e Jetpack
Aplicações Assíncronas no Android com Coroutines e JetpackAplicações Assíncronas no Android com Coroutines e Jetpack
Aplicações Assíncronas no Android com Coroutines e Jetpack
 
laplace transform and inverse laplace, properties, Inverse Laplace Calculatio...
laplace transform and inverse laplace, properties, Inverse Laplace Calculatio...laplace transform and inverse laplace, properties, Inverse Laplace Calculatio...
laplace transform and inverse laplace, properties, Inverse Laplace Calculatio...
 
camlift-hydraulic-pumping-unit-ps
camlift-hydraulic-pumping-unit-pscamlift-hydraulic-pumping-unit-ps
camlift-hydraulic-pumping-unit-ps
 
STate Space Analysis
STate Space AnalysisSTate Space Analysis
STate Space Analysis
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
 
Design of FFT Processor
Design of FFT ProcessorDesign of FFT Processor
Design of FFT Processor
 
Parseval's Theorem
Parseval's TheoremParseval's Theorem
Parseval's Theorem
 
Lec 4 design via frequency response
Lec 4 design via frequency responseLec 4 design via frequency response
Lec 4 design via frequency response
 
PLC: Programación y Automatización de PLC Siemens S7-200
PLC: Programación y Automatización de PLC Siemens S7-200PLC: Programación y Automatización de PLC Siemens S7-200
PLC: Programación y Automatización de PLC Siemens S7-200
 
Top 10 RxJs Operators in Angular
Top 10 RxJs Operators in Angular Top 10 RxJs Operators in Angular
Top 10 RxJs Operators in Angular
 
Membangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvcMembangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvc
 
State equations for physical systems
State equations for physical systemsState equations for physical systems
State equations for physical systems
 
Block Reduction Method
Block Reduction MethodBlock Reduction Method
Block Reduction Method
 
The Controller Design For Linear System: A State Space Approach
The Controller Design For Linear System: A State Space ApproachThe Controller Design For Linear System: A State Space Approach
The Controller Design For Linear System: A State Space Approach
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
 

Similar to FPGA ile RC Servo Kontrolü

MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptxMİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
ordulu1
 
Siemens Otomasyon Aralık 2015 Fiyat Listesi
Siemens Otomasyon Aralık 2015 Fiyat ListesiSiemens Otomasyon Aralık 2015 Fiyat Listesi
Siemens Otomasyon Aralık 2015 Fiyat Listesi
Berh Elektromekanik Otomasyon
 
Siemens Endüstriyel Otomasyon ve Sürücü Teknolojileri Fiyat Listesi 2014 Mart
Siemens Endüstriyel Otomasyon ve Sürücü Teknolojileri Fiyat Listesi 2014 MartSiemens Endüstriyel Otomasyon ve Sürücü Teknolojileri Fiyat Listesi 2014 Mart
Siemens Endüstriyel Otomasyon ve Sürücü Teknolojileri Fiyat Listesi 2014 MartBerh Elektromekanik Otomasyon
 
Siemens Otomasyon 2015 Fiyat Listesi
Siemens Otomasyon 2015 Fiyat Listesi Siemens Otomasyon 2015 Fiyat Listesi
Siemens Otomasyon 2015 Fiyat Listesi
Berh Elektromekanik Otomasyon
 
Temel plc komutlarına giriş
Temel plc komutlarına girişTemel plc komutlarına giriş
Temel plc komutlarına giriş
EmreYlmaz84
 
Tolga Saglam - ISITMA/HAVALANDIRMA OTOMASYONUN NOVAPROOPEN SCADA İLE GERÇEKLE...
Tolga Saglam - ISITMA/HAVALANDIRMA OTOMASYONUN NOVAPROOPEN SCADA İLE GERÇEKLE...Tolga Saglam - ISITMA/HAVALANDIRMA OTOMASYONUN NOVAPROOPEN SCADA İLE GERÇEKLE...
Tolga Saglam - ISITMA/HAVALANDIRMA OTOMASYONUN NOVAPROOPEN SCADA İLE GERÇEKLE...
tolgasaglam
 
Led'lerle havaya yazı yazma
Led'lerle havaya yazı yazmaLed'lerle havaya yazı yazma
Led'lerle havaya yazı yazmaProje Okulu
 
ABB Otomasyon Ürünleri Fiyat Listesi- En İyi İskontolar İçin Arayınız
ABB Otomasyon Ürünleri Fiyat Listesi- En İyi İskontolar İçin ArayınızABB Otomasyon Ürünleri Fiyat Listesi- En İyi İskontolar İçin Arayınız
ABB Otomasyon Ürünleri Fiyat Listesi- En İyi İskontolar İçin Arayınız
Berh Elektromekanik Otomasyon
 
Adeon Titreşim Akustik Verilere Dayalı Kalite Kontrol Test Sistemi
Adeon Titreşim Akustik Verilere Dayalı Kalite Kontrol Test SistemiAdeon Titreşim Akustik Verilere Dayalı Kalite Kontrol Test Sistemi
Adeon Titreşim Akustik Verilere Dayalı Kalite Kontrol Test Sistemi
umutmuratgok
 
ASANSÖR SİSTEMLERİ KONTAKTÖR SEÇİMİ.pdf
ASANSÖR SİSTEMLERİ KONTAKTÖR SEÇİMİ.pdfASANSÖR SİSTEMLERİ KONTAKTÖR SEÇİMİ.pdf
ASANSÖR SİSTEMLERİ KONTAKTÖR SEÇİMİ.pdf
YcelToksz
 
Abb drive plc_motor_fiyat_listesi
Abb drive plc_motor_fiyat_listesiAbb drive plc_motor_fiyat_listesi
Abb drive plc_motor_fiyat_listesi
Asghar Khan
 
Zybo with Pmod Modules
Zybo with Pmod ModulesZybo with Pmod Modules
Zybo with Pmod Modules
Melek Sönmez
 
Hıza duyarlı kasis sunum
Hıza duyarlı kasis sunumHıza duyarlı kasis sunum
Hıza duyarlı kasis sunumgokhan1985
 
Plc dokumani
Plc dokumaniPlc dokumani
Plc dokumanisersld91
 
Emotron Hız Kontrol Cihazı
Emotron Hız Kontrol CihazıEmotron Hız Kontrol Cihazı
Emotron Hız Kontrol CihazıSERKANTAMTURK
 
EMOTRON HIZ KONTROL CİHAZI
EMOTRON HIZ KONTROL CİHAZIEMOTRON HIZ KONTROL CİHAZI
EMOTRON HIZ KONTROL CİHAZISERKANTAMTURK
 
FPGA Tabanlı 3D Modelleme Cihazı Tasarımı
FPGA Tabanlı 3D Modelleme Cihazı TasarımıFPGA Tabanlı 3D Modelleme Cihazı Tasarımı
FPGA Tabanlı 3D Modelleme Cihazı Tasarımı
Ömer Faruk Akgül
 
St1000 ve st2000 plus otopilot kullanma kılavuzu
St1000 ve st2000 plus otopilot kullanma kılavuzuSt1000 ve st2000 plus otopilot kullanma kılavuzu
St1000 ve st2000 plus otopilot kullanma kılavuzusyhayta
 
Altivar process yeni nesil sürücü sistemleri
Altivar process yeni nesil sürücü sistemleriAltivar process yeni nesil sürücü sistemleri
Altivar process yeni nesil sürücü sistemleri
Ramazan Tunçer
 

Similar to FPGA ile RC Servo Kontrolü (20)

MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptxMİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
 
Siemens Otomasyon Aralık 2015 Fiyat Listesi
Siemens Otomasyon Aralık 2015 Fiyat ListesiSiemens Otomasyon Aralık 2015 Fiyat Listesi
Siemens Otomasyon Aralık 2015 Fiyat Listesi
 
Siemens Endüstriyel Otomasyon ve Sürücü Teknolojileri Fiyat Listesi 2014 Mart
Siemens Endüstriyel Otomasyon ve Sürücü Teknolojileri Fiyat Listesi 2014 MartSiemens Endüstriyel Otomasyon ve Sürücü Teknolojileri Fiyat Listesi 2014 Mart
Siemens Endüstriyel Otomasyon ve Sürücü Teknolojileri Fiyat Listesi 2014 Mart
 
Siemens Otomasyon 2015 Fiyat Listesi
Siemens Otomasyon 2015 Fiyat Listesi Siemens Otomasyon 2015 Fiyat Listesi
Siemens Otomasyon 2015 Fiyat Listesi
 
Temel plc komutlarına giriş
Temel plc komutlarına girişTemel plc komutlarına giriş
Temel plc komutlarına giriş
 
Tolga Saglam - ISITMA/HAVALANDIRMA OTOMASYONUN NOVAPROOPEN SCADA İLE GERÇEKLE...
Tolga Saglam - ISITMA/HAVALANDIRMA OTOMASYONUN NOVAPROOPEN SCADA İLE GERÇEKLE...Tolga Saglam - ISITMA/HAVALANDIRMA OTOMASYONUN NOVAPROOPEN SCADA İLE GERÇEKLE...
Tolga Saglam - ISITMA/HAVALANDIRMA OTOMASYONUN NOVAPROOPEN SCADA İLE GERÇEKLE...
 
Led'lerle havaya yazı yazma
Led'lerle havaya yazı yazmaLed'lerle havaya yazı yazma
Led'lerle havaya yazı yazma
 
ABB Otomasyon Ürünleri Fiyat Listesi- En İyi İskontolar İçin Arayınız
ABB Otomasyon Ürünleri Fiyat Listesi- En İyi İskontolar İçin ArayınızABB Otomasyon Ürünleri Fiyat Listesi- En İyi İskontolar İçin Arayınız
ABB Otomasyon Ürünleri Fiyat Listesi- En İyi İskontolar İçin Arayınız
 
Adeon Titreşim Akustik Verilere Dayalı Kalite Kontrol Test Sistemi
Adeon Titreşim Akustik Verilere Dayalı Kalite Kontrol Test SistemiAdeon Titreşim Akustik Verilere Dayalı Kalite Kontrol Test Sistemi
Adeon Titreşim Akustik Verilere Dayalı Kalite Kontrol Test Sistemi
 
ASANSÖR SİSTEMLERİ KONTAKTÖR SEÇİMİ.pdf
ASANSÖR SİSTEMLERİ KONTAKTÖR SEÇİMİ.pdfASANSÖR SİSTEMLERİ KONTAKTÖR SEÇİMİ.pdf
ASANSÖR SİSTEMLERİ KONTAKTÖR SEÇİMİ.pdf
 
Abb drive plc_motor_fiyat_listesi
Abb drive plc_motor_fiyat_listesiAbb drive plc_motor_fiyat_listesi
Abb drive plc_motor_fiyat_listesi
 
Zybo with Pmod Modules
Zybo with Pmod ModulesZybo with Pmod Modules
Zybo with Pmod Modules
 
Hıza duyarlı kasis sunum
Hıza duyarlı kasis sunumHıza duyarlı kasis sunum
Hıza duyarlı kasis sunum
 
Kaydediciler
KaydedicilerKaydediciler
Kaydediciler
 
Plc dokumani
Plc dokumaniPlc dokumani
Plc dokumani
 
Emotron Hız Kontrol Cihazı
Emotron Hız Kontrol CihazıEmotron Hız Kontrol Cihazı
Emotron Hız Kontrol Cihazı
 
EMOTRON HIZ KONTROL CİHAZI
EMOTRON HIZ KONTROL CİHAZIEMOTRON HIZ KONTROL CİHAZI
EMOTRON HIZ KONTROL CİHAZI
 
FPGA Tabanlı 3D Modelleme Cihazı Tasarımı
FPGA Tabanlı 3D Modelleme Cihazı TasarımıFPGA Tabanlı 3D Modelleme Cihazı Tasarımı
FPGA Tabanlı 3D Modelleme Cihazı Tasarımı
 
St1000 ve st2000 plus otopilot kullanma kılavuzu
St1000 ve st2000 plus otopilot kullanma kılavuzuSt1000 ve st2000 plus otopilot kullanma kılavuzu
St1000 ve st2000 plus otopilot kullanma kılavuzu
 
Altivar process yeni nesil sürücü sistemleri
Altivar process yeni nesil sürücü sistemleriAltivar process yeni nesil sürücü sistemleri
Altivar process yeni nesil sürücü sistemleri
 

More from AliMETN

Bulut Bilişiminde Güvenlik Tehditleri
Bulut Bilişiminde Güvenlik TehditleriBulut Bilişiminde Güvenlik Tehditleri
Bulut Bilişiminde Güvenlik TehditleriAliMETN
 
Netsh Komutları
Netsh KomutlarıNetsh Komutları
Netsh KomutlarıAliMETN
 
Yazılım Mühendisliği
Yazılım MühendisliğiYazılım Mühendisliği
Yazılım Mühendisliği
AliMETN
 
Matlab Neural Network Toolbox
Matlab Neural Network ToolboxMatlab Neural Network Toolbox
Matlab Neural Network Toolbox
AliMETN
 
FPGA MİMARİSİ ve TARİHİ GELİŞİMİ
FPGA MİMARİSİ ve TARİHİ GELİŞİMİFPGA MİMARİSİ ve TARİHİ GELİŞİMİ
FPGA MİMARİSİ ve TARİHİ GELİŞİMİ
AliMETN
 
WEB SERVİCE
WEB SERVİCE WEB SERVİCE
WEB SERVİCE
AliMETN
 
Clonal Selection Algorithm
Clonal Selection AlgorithmClonal Selection Algorithm
Clonal Selection Algorithm
AliMETN
 

More from AliMETN (7)

Bulut Bilişiminde Güvenlik Tehditleri
Bulut Bilişiminde Güvenlik TehditleriBulut Bilişiminde Güvenlik Tehditleri
Bulut Bilişiminde Güvenlik Tehditleri
 
Netsh Komutları
Netsh KomutlarıNetsh Komutları
Netsh Komutları
 
Yazılım Mühendisliği
Yazılım MühendisliğiYazılım Mühendisliği
Yazılım Mühendisliği
 
Matlab Neural Network Toolbox
Matlab Neural Network ToolboxMatlab Neural Network Toolbox
Matlab Neural Network Toolbox
 
FPGA MİMARİSİ ve TARİHİ GELİŞİMİ
FPGA MİMARİSİ ve TARİHİ GELİŞİMİFPGA MİMARİSİ ve TARİHİ GELİŞİMİ
FPGA MİMARİSİ ve TARİHİ GELİŞİMİ
 
WEB SERVİCE
WEB SERVİCE WEB SERVİCE
WEB SERVİCE
 
Clonal Selection Algorithm
Clonal Selection AlgorithmClonal Selection Algorithm
Clonal Selection Algorithm
 

FPGA ile RC Servo Kontrolü

  • 1. T.C. B˙ILEC˙IK ¸SEYH EDEBAL˙I ÜN˙IVERS˙ITES˙I MÜHEND˙ISL˙IK FAKÜLTES˙I B˙ILG˙ISAYAR MÜHEND˙ISL˙I ˘G˙I BÖLÜMÜ RC SERVO MOTOR KONTROLÜ ˙IBRAH˙IM AL˙I MET˙IN B˙ILEC˙IK 30 Mart 2015
  • 2. T.C. B˙ILEC˙IK ¸SEYH EDEBAL˙I ÜN˙IVERS˙ITES˙I MÜHEND˙ISL˙IK FAKÜLTES˙I B˙ILG˙ISAYAR MÜHEND˙ISL˙I ˘G˙I BÖLÜMÜ RC SERVO MOTOR KONTROLÜ ˙IBRAH˙IM AL˙I MET˙IN B˙ILEC˙IK 30 Mart 2015
  • 3. ÖZET Ödevin Amacı Bu projemizde, FPGA kiti ile 1 adet PWM modul tasarlayaca˘gız. PWM modülümüzü, RC Servo motor sürmek için kullanaca˘gız. RC Servo motorlar model hobide kullanılan mo- torlardır.RC (radio Control) Hobi 2 yıldır ilgilendi˘gim birçok model kullandı˘gım tavsiye edebilece˘gim çok güzel bir u˘gra¸stır. Ödevin Kapsamı Projem FPGA kitinde pwm modülü olu¸sumunu, 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˘glı olan servo motorlarımız belirli bir açı süpürmektedir. ii
  • 4. 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
  • 5. ˙Içindekiler ÖZET ii ABSTRACT iii ¸SEK˙IL L˙ISTES˙I 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 ˘GLANTILARIM 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
  • 6. ¸Sekil 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˘glantıları . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 Vcc , GND ve PWM ba˘glantısı . . . . . . . . . . . . . . . . . . . . . . . 6 v
  • 7. 1 RC SERVO MOTOR R/C Servo Motor dedi˘gimiz ¸sey dc akımla çalı¸san ve istenilen açı aralı˘gında dönen moto- rardır. R/C , Radio Controlled anlamına gelir. Servco motorlar DC Motorların temel man- tı˘gını kullanırlar. Fakat buna kar¸sın elektronik pozisyon kontrol devresi ve elektronik ¸saft gibi ekstra bile¸senleri vardır. Servo motor ¸saftın kaç derece ve hangi hızda döndü˘günü al- gılar ve giri¸se bunu geri besleme olarak verir. Motorun pozisyonunu algılamak için rotora takılı bir potansiyometre bulunur. Bu potansiyometreden gelen analog de˘ger ile inputtaki sinyal kar¸sıla¸stırılır ve output olarak motorun yeni pozisyonu kontrol edilir.[1] ¸Sekil 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˘gi¸s- 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˘gi dereceyi hesaplar. PWM sinyalinin çevrim süresi aynı kaldı˘gı müddetçe motor pozisyon de˘gi¸stirmez. ¸Sekil 2: PWM Modülü 1
  • 8. Yalnız önemli olan nokta ¸sudur ki; servo motorda dönmenin gerçekle¸sebilmesi 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¸sir. PWM sinyalinin 1 ms görev çevrim süresi için servo motor 0 derecelik pozisyondadır. ¸Semadan da görüldü˘gü gibi 0.5 ms lik ve 2 ms lik çevrim sürelerinde servo motorun pozisyonu 90 derece de˘gi¸sir. Servo motorların supply voltajı 4.5 volt ile 6 volt arasında de˘gi¸sir. Bu voltaj de˘gerleri motorun tork’una göre de˘gi¸skenlik gösterir. R/C servo motorların digital olanlarıda vardır. Bu motorlar normale göre daha hassas açı ile dönerler. ¸Sekil 3: Servo Motor Açısal Pozisyonu 1.1 Servo Motorun Özellikleri - Di˘ger motor türlerine göre daha hassastır. - Açısal dönme yöntemi (yani encoder) ile çalı¸smaktadır. - Bir sürücü ile kontrol edilirler. - Endüstride çok yaygın bir ¸sekilde kullanılmaktadır. - Mikrobilgisayarlar tarafından kolayca kontrol edilebilirler. - Dönme esnasında olu¸san hata sadece adım hatasıdır. 2
  • 9. - Hızı programlama yoluyla ayarlanabilir. Uygulama alanlarına örnek verecek olursak CNC makineler, robot kolları, endüstriyel ta¸sıma sistemlerini örnek verebiliriz. Servo motorlar da çıkı¸s; mekaniksel konum, hız veya ivme gibi parametrelerin kontrol edildi˘gi bir düzenektir. 2 VHDL ile SERVO MOTOR KONTROLÜ Quartus2 11.0 programını kullanarak Vhdl programlama dilince kodlamalarımızı gerçekle¸stirdik.[?] ¸Sekil 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˘gırıyoruz. 3
  • 10. ¸Sekil 5: Vhdl Clock Sinyali Bu vhdl kodlarımızda devremizin çalı¸sması için kendi içinde gerekli olan 50Mhz’lik clock sinyalinin çalı¸sması için gereli kodlar yazılıyor. ¸Sekil 6: Vhdl Pwm Üretici Programımızda, peryodu 20 ms olan bir adet PWM sinyali üretmemiz gerekecek. Biz Geli¸stirme bourdumuzda 50 MHz’lik (20 ns) bir clk sinyali kullanaca˘gımız. 20 ms pe- riodunda bir sinyal üretmek için, programımızda 1 adet counter de˘gi¸skeni tanımlayaca˘gız 4
  • 11. ve Counter’ın üst sınırını ise (20ms/20ns) 1000 000 olarak belirleyece˘giz. ¸Sekil 7: Pin Planer burada ise kitimizde ki giri¸s ve çıkı¸slarımızı ilgili pinlere atama i¸slemi gerçekle¸stiriliyor. Kodlama ve pin atama i¸slemimizi bu ¸sekilde gerçekle¸stirdiktan sonra programımızın ça- lı¸smasını test edelim. 5
  • 12. 3 ALTERA ile RC SERVO BA ˘GLANTILARIM ¸Sekil 8: Servo Motor Ba˘glantıları ¸Sekil 9: Vcc , GND ve PWM ba˘glantısı 6
  • 13. 4 DENEYSEL SONUÇLAR Çalı¸smamın uygulamasını https://www.youtube.com/watch?v=CqO3goueqEI linkindeki kanalımdan izleyebilirsiniz. 7
  • 14. 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
  • 15. 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
  • 16. pwm <= ’1’; else pwm <= ’0’; end if; end process pwmout; end pwm; 10