PWM (Pulse Width Modulation- Sinyal Genişlik Modülasyonu)

Slides:



Advertisements
Benzer bir sunumlar
SAYISAL MODÜLASYON Bir haberleşme sisteminde iki veya daha fazla nokta arasında dijital olarak modüle edilen analog sinyallerin iletimidir. Analog sisteme.
Advertisements

Hazırlayan ve Sunan Ali Yasin Çakılcı HUNROBOTX
TEMEL ELEKTRONİK EĞİTİMİ
OP-AMP PWM.
3. EGITIM CNY 70 SHARP SENSÖRLER ULTRASONİK SENSÖRLER LDR.
HACETTEPE ROBOT TOPLULUĞU TEMEL ELEKTRİK-ELEKTRONİK DERSİ
Ders 5 AKTUATÖRLER.
INVERTER NEDİR? NASIL ÇALIŞIR?
KIZILÖTESİ (INFRARED) ve KIZILÖTESİ ALGILAYICILAR
DIGITAL SCROLL VE DC INVERTER KOMPRESÖRLER ARASINDAKİ FARKLAR
DC-AC DÖNÜŞTÜRÜCÜLER / İNVERTERLER
ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
ORT – 104 Hoş Geldiniz.
5. EGITIM Mikrodenetleyiciler PIC16F628 – PIC16F877
Konular Genel kavramlar Pasif devre elemanları Aktif devre elemanları
SENSÖRLER VE ÇEŞİTLERİ
ARDUINO İLE ANALOG ÇIKIŞ VERMEK
ARDUINO DİJİTAL PİN KONTROLÜ
ARDUINO.
ARDUINO DİJİTAL GiRİŞ KONTROLÜ
ARDUINO RÖLE KONTROLÜ.
MİKRODENETLEYİCİ İLE DİJİTAL GİRİŞ KONTROLÜ
ARDUINO İLE SERVO MOTOR KONTROLÜ
DİJİTAL ÇIKIŞ KOMUTLARI
TEMEL ELEKTRONİK 1.Giriş a. Analog ve Sayısal (Dijital) Sinyal
CCS C İLE PIC PROGRAMLAMA DERS-4-
Şekil 13. 8B’de verici ve alıcı ayrı, ayrı yerlerdedir
ARDUINO DİJİTAL PİN KONTROLÜ
CCS C İLE PIC PROGRAMLAMA DERS-3-
Seri Port ile İletişim.
ARDUINO SENSÖR KONTROLÜ
ARDUINO DİJİTAL GiRİŞ KONTROLÜ
ARDUINO İLE SAYAÇ UYGULAMASI
AB’15 Arduino ile sensörler dersi
Pspice
Sensörler Ders2 Aslı Ergün.
Sensörler Aslı Ergün. Basınç Sensörleri Üzerlerine düşen basınçla orantılı olarak fiziki yapılarında meydana gelen değişimden dolayı basınç seviyesini.
Sensorler Ders4 Aslı Ergün.
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Bluetooth İle Haberleşme
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
ASENKRON MOTOR SÜRÜŞ SİSTEMLERİ, SENKRON MOTOR SÜRÜŞ SİSTEMLERİ ve GÜÇ ELEKTRONİĞİNİN DİĞER UYGULAMALARI.
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
Motor Sürücü Devresi ile Kontrol
ARDUİNO Arduino Eğitimleri Bölüm 6 Analog Giriş – Çıkış İşlemleri
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Arduino ve Gaz Sensörü.
Sensörler Ders 8 Aslı Ergün.
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
Arduino Uno R3 ile Merhaba Dünya Yrd. Doç. Dr. Deniz DAL
MİkroİŞlemcİler ve programlanmasI Mekatronik Mühendisliği Bölümü
DERS 1 Gömülü Sistemlere Giriş
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
ARDUİNO Arduino Eğitimleri Bölüm 6 Analog Giriş – Çıkış İşlemleri
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Arduino Eğitimleri Bölüm 5 Dijital Giriş – Çıkış İşlemleri
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
MBLOCK ile Arduino ve Robotik Kodlama
ARDUİNO Arduino Eğitimleri Bölüm 2 Arduino’ya Giriş
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
MBLOCK ile Arduino ve Robotik Kodlama
Konu: EĞİTİM AMAÇLI BLDC MOTOR HIZININ PID KONTROLÜ
Arduino Uno R3 ile Merhaba Dünya Dr. Öğr. Üyesi Deniz DAL
(Dr. Öğr. Üyesi Deniz Dal)
Bilişim Teknolojileri Öğrt.
Marmara Üniversitesi Mekatronik Tezli YL Programı
Eğitsel Robotların Bileşenleri-2
MBLOCK ile Arduino ve Robotik Kodlama
Sunum transkripti:

PWM (Pulse Width Modulation- Sinyal Genişlik Modülasyonu) PWM bir sinyal modülasyon tekniği olarak tanımlanabilir. Sinyal bilgisinin aktarım için uygun hale çevirilmesi amacının yanı sıra güç kontrolü sağlamak ve elektrik makineleri, güneş pili şarj üniteleri gibi özel devrelere destek olmak amacı da taşır.

PWM Digital sinyaller Evet(1) ya da Hayır(0) gibi sadece kesin sonuç verir. Analog sinyaller sinyal değerinin şiddetini ifade eder. (Işık parlaklığı, motor hızı gibi.) Arduino ile Analog sinyaller gönderemeyiz ama Analog sinyalleri taklit eden Dijital sinyaller gönderebiliriz. Bu yönteme PWM (Pulse-Width Modulation) yöntemi denir.

PWM Çalışma Prensibi PWM sinyaller kare dalga sinyallerdir. Arduinonun çalışma gerilimi olan 5 Voltu belirli aralıklarla gönderip – keserek 5 Volttan daha küçük gerilimlerin elde edilmesi sağlanır. Bu yöntemle dijital sinyaller kullanılarak analog sinyaller taklit edilmiş olur.

Arduino ile yanıp sönen bir LED devresi kurmak veya Arduino ile DC motor kontrolü gerçekleştirmek için PWM tekniğini kullanmamız gerekiyor. Bu teknik de Arduino'ya gömülen yazılımda yatıyor. "analogWrite(...)" fonksiyonu ile görev döngüsünün miktarı belirleniyor ve kare dalga elde ediliyor.

PWM dalgasını elde etmenin yöntemleri ♦ Delta: Delta modülasyonlu PWM sinyali, integral alıcı ve limitleyici devre yapıları ile elde edilir. İntegral sonucunun limitlere değmesi "off", diğer durumlarda "on" durumu oluştuğu için kare dalga oluşur. ♦ Sigma - Delta: Bu modülasyonda ise çıkış sinyali, referans alınan sinyalden çıkartılır. Böylece hata sinyali elde edilmiş olur. Hata sinyalinin integralinin sonucuna göre eğer limite değiyorsa "off", değmiyorsa "on" durumu oluşturularak kare dalga elde edilir. ♦ Boşluk - Vektör: 3 fazlı AC uygulamalar için algoritma kullanılarak kare dalga elde edilir. ♦ Direkt Tork Kontrol (DTC): AC motorlarda kullanılmak üzere geliştirilen bir PWM tekniğidir. Delta modülasyon tekniğinden üretilmiştir. Motora gönderilen sinyal belirli bir filtreden geçirilir ve motorun torku ile manyetik akı kontrol altında tutulur. ♦ Zaman Bölücü: Özellikle mikroişlemcilerin PWM çıkışları tarafından kullanılırlar. Değişken görev döngüsüne sahip devrelerde de kullanılabilirler.

PWM Uygulama Alanları Haberleşme Sistemleri Güç Aktarımı ve Elektrik Makineleri Voltaj Regülatör Devreleri Ses Efektleri ve Yükselticiler Güneş enerji sistemlerinde ve rüzgar enerjisi sistemleri Robotik devrelerde ve servo motor devreleri

DC Motor – H bridge L293D ile Kontrolü /* Adafruit Arduino - Lesson 15. Bi-directional Motor */ int enablePin = 11; int in1Pin = 10; int in2Pin = 9; int switchPin = 7; int potPin = 0; void setup() { pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); pinMode(enablePin, OUTPUT); pinMode(switchPin, INPUT_PULLUP); } void loop() int speed = analogRead(potPin) / 4; boolean reverse = digitalRead(switchPin); setMotor(speed, reverse); void setMotor(int speed, boolean reverse) analogWrite(enablePin, speed); digitalWrite(in1Pin, ! reverse); digitalWrite(in2Pin, reverse);

Servo Motor /* Adafruit Arduino - Lesson 14. Sweep */ #include <Servo.h> int servoPin = 9; Servo servo; int angle = 0; // servo position in degrees void setup() { servo.attach(servoPin); } void loop() // scan from 0 to 180 degrees for(angle = 0; angle < 180; angle++) servo.write(angle); delay(15); // now scan back from 180 to 0 degrees for(angle = 180; angle > 0; angle--)

Servo Potansiyometre ile Kontrolü /* Adafruit Arduino - Lesson 14. Knob */ #include <Servo.h> int potPin = 0; int servoPin = 9; Servo servo; void setup() { servo.attach(servoPin); } void loop() int reading = analogRead(potPin); // 0 to 1023 int angle = reading / 6; // 0 to 180-ish servo.write(angle);

Servo Motor Ultrasonic Sensor Kontrolü #include <Servo.h> Servo myservo; #define trigPin 3 #define echoPin 2 void setup(){ myservo.attach(9); myservo.write(0); Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop(){ int duration, distance; digitalWrite(trigPin, HIGH); delayMicroseconds(100); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; Serial.print(distance); Serial.println(" cm"); int thisPitch = map(distance, 0, 200, 2093, 22); tone(4, thisPitch); delay(50); noTone(4); if (distance < 50) { //Distance in cm myservo.write(40); // angle of the servo arm delay (700); delay (2000);