SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology TutorialArrow Devices
 
Verilog hdl by samir palnitkar for verilog know how
Verilog hdl   by samir palnitkar for verilog know howVerilog hdl   by samir palnitkar for verilog know how
Verilog hdl by samir palnitkar for verilog know howSyed Ghufran Hassan
 
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Microsemi FPGA はいいぞ,FPGAの紹介とおさそいMicrosemi FPGA はいいぞ,FPGAの紹介とおさそい
Microsemi FPGA はいいぞ,FPGAの紹介とおさそいTakayasu Shibata
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelDVClub
 
UVM REF GUIDE (1).pdf
UVM REF GUIDE (1).pdfUVM REF GUIDE (1).pdf
UVM REF GUIDE (1).pdfsauryakumar3
 
Verilog Tasks & Functions
Verilog Tasks & FunctionsVerilog Tasks & Functions
Verilog Tasks & Functionsanand hd
 
ANSYS RedHawk-CPA: New Paradigm for Faster Chip-Package Convergence
ANSYS RedHawk-CPA: New Paradigm for Faster Chip-Package ConvergenceANSYS RedHawk-CPA: New Paradigm for Faster Chip-Package Convergence
ANSYS RedHawk-CPA: New Paradigm for Faster Chip-Package ConvergenceAnsys
 
Fpga 10-bcd-to-excess-3-converter-manchester-encoding
Fpga 10-bcd-to-excess-3-converter-manchester-encodingFpga 10-bcd-to-excess-3-converter-manchester-encoding
Fpga 10-bcd-to-excess-3-converter-manchester-encodingMalik Tauqir Hasan
 
Cisco catalyst 3850 switch stacking
Cisco catalyst 3850 switch stackingCisco catalyst 3850 switch stacking
Cisco catalyst 3850 switch stackingIT Tech
 
Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesNirav Desai
 
Session 6 sv_randomization
Session 6 sv_randomizationSession 6 sv_randomization
Session 6 sv_randomizationNirav Desai
 
AMBA 3 APB Protocol
AMBA 3 APB ProtocolAMBA 3 APB Protocol
AMBA 3 APB ProtocolSwetha GSM
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS VerificationDVClub
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coveragerraimi
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentestersAleksandr Timorin
 

Tendances (20)

SystemC Ports
SystemC PortsSystemC Ports
SystemC Ports
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
 
system verilog
system verilogsystem verilog
system verilog
 
Verilog hdl by samir palnitkar for verilog know how
Verilog hdl   by samir palnitkar for verilog know howVerilog hdl   by samir palnitkar for verilog know how
Verilog hdl by samir palnitkar for verilog know how
 
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Microsemi FPGA はいいぞ,FPGAの紹介とおさそいMicrosemi FPGA はいいぞ,FPGAの紹介とおさそい
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
 
Eliptik Eğri Şifreleme
Eliptik Eğri ŞifrelemeEliptik Eğri Şifreleme
Eliptik Eğri Şifreleme
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC Level
 
UVM REF GUIDE (1).pdf
UVM REF GUIDE (1).pdfUVM REF GUIDE (1).pdf
UVM REF GUIDE (1).pdf
 
Verilog Tasks & Functions
Verilog Tasks & FunctionsVerilog Tasks & Functions
Verilog Tasks & Functions
 
ANSYS RedHawk-CPA: New Paradigm for Faster Chip-Package Convergence
ANSYS RedHawk-CPA: New Paradigm for Faster Chip-Package ConvergenceANSYS RedHawk-CPA: New Paradigm for Faster Chip-Package Convergence
ANSYS RedHawk-CPA: New Paradigm for Faster Chip-Package Convergence
 
Fpga 10-bcd-to-excess-3-converter-manchester-encoding
Fpga 10-bcd-to-excess-3-converter-manchester-encodingFpga 10-bcd-to-excess-3-converter-manchester-encoding
Fpga 10-bcd-to-excess-3-converter-manchester-encoding
 
Cisco catalyst 3850 switch stacking
Cisco catalyst 3850 switch stackingCisco catalyst 3850 switch stacking
Cisco catalyst 3850 switch stacking
 
Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfaces
 
Session 6 sv_randomization
Session 6 sv_randomizationSession 6 sv_randomization
Session 6 sv_randomization
 
UVM TUTORIAL;
UVM TUTORIAL;UVM TUTORIAL;
UVM TUTORIAL;
 
AMBA 3 APB Protocol
AMBA 3 APB ProtocolAMBA 3 APB Protocol
AMBA 3 APB Protocol
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
 
Tout atm
Tout atmTout atm
Tout atm
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coverage
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentesters
 

Similaire à 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.pptxordulu1
 
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
 
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ızBerh 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 Sistemiumutmuratgok
 
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İ.pdfYcelToksz
 
Abb drive plc_motor_fiyat_listesi
Abb drive plc_motor_fiyat_listesiAbb drive plc_motor_fiyat_listesi
Abb drive plc_motor_fiyat_listesiAsghar Khan
 
Zybo with Pmod Modules
Zybo with Pmod ModulesZybo with Pmod Modules
Zybo with Pmod ModulesMelek 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ü sistemleriRamazan Tunçer
 

Similaire à 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
 

Plus de 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ğiAliMETN
 
Matlab Neural Network Toolbox
Matlab Neural Network ToolboxMatlab Neural Network Toolbox
Matlab Neural Network ToolboxAliMETN
 
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 AlgorithmAliMETN
 

Plus de 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